/[MITgcm]/MITgcm/pkg/thsice/thsice_ini_vars.F
ViewVC logotype

Annotation of /MITgcm/pkg/thsice/thsice_ini_vars.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.6 - (hide annotations) (download)
Thu May 25 18:03:24 2006 UTC (17 years, 11 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint58h_post, checkpoint58j_post, checkpoint58f_post, checkpoint58i_post, checkpoint58g_post
Changes since 1.5: +10 -7 lines
- put i,j loops inside S/R: THSICE_ALBEDO, THSICE_SOLVE4TEMP, THSICE_EXTEND
   and THSICE_CALC_THICKN
- split thsice_step_fwd.F in 2 S/R: thsice_step_temp.F & thsice_step_fwd.F

1 jmc 1.6 C $Header: /u/gcmpack/MITgcm/pkg/thsice/thsice_ini_vars.F,v 1.5 2005/11/04 01:34:35 jmc Exp $
2 jmc 1.1 C $Name: $
3    
4     #include "THSICE_OPTIONS.h"
5    
6 jmc 1.2 CBOP
7     C !ROUTINE: THSICE_INI_VARS
8     C !INTERFACE:
9 jmc 1.1 SUBROUTINE THSICE_INI_VARS( myThid )
10 jmc 1.2
11     C !DESCRIPTION: \bv
12 jmc 1.1 C *==========================================================*
13 jmc 1.2 C | S/R THSICE_INI_VARS
14 jmc 1.1 C | o initialize THermo_SeaICE variables
15     C *==========================================================*
16 jmc 1.2 C \ev
17    
18     C !USES:
19 jmc 1.1 IMPLICIT NONE
20    
21     C === Global variables ===
22     #include "SIZE.h"
23     #include "EEPARAMS.h"
24     #include "PARAMS.h"
25     #include "GRID.h"
26 jmc 1.2 c #include "DYNVARS.h"
27 jmc 1.1 #include "THSICE_PARAMS.h"
28 jmc 1.2 #include "THSICE_VARS.h"
29 jmc 1.1
30 jmc 1.2 C !INPUT/OUTPUT PARAMETERS:
31 jmc 1.1 C == Routine arguments ==
32     C myThid - Number of this instance of INI_RBCS
33     INTEGER myThid
34 jmc 1.2 CEOP
35 jmc 1.1
36     #ifdef ALLOW_THSICE
37     C == Local variables ==
38 jmc 1.2 C bi,bj :: Loop counters
39     C i,j :: Loop counters
40 jmc 1.1 INTEGER bi, bj
41     INTEGER I, J
42     INTEGER prec
43 jmc 1.5 c CHARACTER*(MAX_LEN_FNAM) fn
44 jmc 1.2 _RL v2Loc
45 jmc 1.1
46    
47     c set up ice arrays to zero if starting ice
48     DO bj = myByLo(myThid), myByHi(myThid)
49     DO bi = myBxLo(myThid), myBxHi(myThid)
50 jmc 1.2 C- state variables :
51 jmc 1.6 DO j=1-OLy,sNy+OLy
52     DO i=1-OLx,sNx+OLx
53 jmc 1.2 iceMask(i,j,bi,bj) = 0. _d 0
54     iceHeight(i,j,bi,bj)= 0. _d 0
55 jmc 1.1 snowHeight(i,j,bi,bj)=0. _d 0
56 jmc 1.2 Tsrf(i,j,bi,bj) = 0. _d 0
57     Tice1(i,j,bi,bj) = 0. _d 0
58     Tice2(i,j,bi,bj) = 0. _d 0
59     Qice1(i,j,bi,bj) = 0. _d 0
60     Qice2(i,j,bi,bj) = 0. _d 0
61     snowAge(i,j,bi,bj) = 0. _d 0
62     ENDDO
63     ENDDO
64     C- fluxes :
65 jmc 1.6 DO j=1-OLy,sNy+OLy
66     DO i=1-OLx,sNx+OLx
67 jmc 1.2 sHeating(i,j,bi,bj) = 0. _d 0
68     flxCndBt(i,j,bi,bj) = 0. _d 0
69     snowPrc(i,j,bi,bj) = 0. _d 0
70 jmc 1.4 siceAlb(i,j,bi,bj) = 0. _d 0
71 jmc 1.1 #ifdef COUPLE_MODEL
72 jmc 1.2 dFdT(i,j,bi,bj) = 0. _d 0
73 jmc 1.1 #endif
74 jmc 1.6 icFlxSW (i,j,bi,bj) = 0. _d 0
75     icFlxAtm(i,j,bi,bj) = 0. _d 0
76     icFrwAtm(i,j,bi,bj) = 0. _d 0
77 jmc 1.2 ENDDO
78     ENDDO
79     C- oceanic mixed layer state :
80     v2Loc = vMxL_default*vMxL_default
81 jmc 1.6 DO j=1-OLy,sNy+OLy
82     DO i=1-OLx,sNx+OLx
83 jmc 1.2 hOceMxL(i,j,bi,bj) = hMxL_default
84     tOceMxL(i,j,bi,bj) = 0. _d 0
85     sOceMxL(i,j,bi,bj) = sMxL_default
86     v2ocMxL(i,j,bi,bj) = v2Loc
87 jmc 1.1 ENDDO
88     ENDDO
89     ENDDO
90     ENDDO
91    
92 jmc 1.3 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
93    
94 jmc 1.2 IF ( startIceModel.LE.0 .AND. nIter0.NE.0 ) THEN
95 jmc 1.1 C-- Read ice pickup fields
96     _BARRIER
97     prec=precFloat64
98 jmc 1.2 CALL THSICE_READ_PICKUP( prec, nIter0, myThid )
99 jmc 1.1
100 jmc 1.3 ELSE
101     C-- Read initial conditions:
102     _BEGIN_MASTER( myThid )
103     IF ( thSIceFract_InitFile .NE. ' ' ) THEN
104     CALL READ_REC_XY_RL(thSIceFract_InitFile,iceMask,1,0,myThid)
105     ENDIF
106     IF ( thSIceThick_InitFile .NE. ' ' ) THEN
107     CALL READ_REC_XY_RL(thSIceThick_InitFile,iceHeight,1,0,myThid)
108     ENDIF
109     IF ( thSIceSnowH_InitFile .NE. ' ' ) THEN
110     CALL READ_REC_XY_RL(thSIceSnowH_InitFile,snowHeight,1,0,myThid)
111     ENDIF
112     IF ( thSIceSnowA_InitFile .NE. ' ' ) THEN
113     CALL READ_REC_XY_RL(thSIceSnowA_InitFile,snowAge,1,0,myThid)
114     ENDIF
115     IF ( thSIceEnthp_InitFile .NE. ' ' ) THEN
116     CALL READ_REC_XY_RL(thSIceEnthp_InitFile,Qice1,1,0,myThid)
117     CALL READ_REC_XY_RL(thSIceEnthp_InitFile,Qice2,2,0,myThid)
118     ENDIF
119     IF ( thSIceTsurf_InitFile .NE. ' ' ) THEN
120     CALL READ_REC_XY_RS(thSIceTsurf_InitFile,Tsrf,1,0,myThid)
121     ENDIF
122     _END_MASTER(myThid)
123     ENDIF
124    
125 jmc 1.2 _EXCH_XY_R8(iceMask,myThid)
126 jmc 1.1 _EXCH_XY_R8(iceHeight, myThid)
127 jmc 1.2 _EXCH_XY_R8(snowHeight,myThid)
128     _EXCH_XY_R8(Tsrf, myThid)
129     _EXCH_XY_R8(Tice1, myThid)
130     _EXCH_XY_R8(Tice2, myThid)
131     _EXCH_XY_R8(Qice1, myThid)
132     _EXCH_XY_R8(Qice2, myThid)
133     _EXCH_XY_R8(snowAge,myThid)
134 jmc 1.1 #ifdef COUPLE_MODEL
135     _EXCH_XY_R8(dFdT, myThid)
136     #endif
137    
138     #endif /* ALLOW_THSICE */
139    
140     RETURN
141     END

  ViewVC Help
Powered by ViewVC 1.1.22