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

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

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

revision 1.6 by jmc, Thu May 25 18:03:24 2006 UTC revision 1.12 by dimitri, Thu May 22 01:59:51 2008 UTC
# Line 2  C $Header$ Line 2  C $Header$
2  C $Name$  C $Name$
3    
4  #include "THSICE_OPTIONS.h"  #include "THSICE_OPTIONS.h"
5    #ifdef ALLOW_AIM
6    # include "AIM_OPTIONS.h"
7    #endif
8    
9  CBOP  CBOP
10  C     !ROUTINE: THSICE_INI_VARS  C     !ROUTINE: THSICE_INI_VARS
# Line 22  C     === Global variables === Line 25  C     === Global variables ===
25  #include "SIZE.h"  #include "SIZE.h"
26  #include "EEPARAMS.h"  #include "EEPARAMS.h"
27  #include "PARAMS.h"  #include "PARAMS.h"
28  #include "GRID.h"  #include "FFIELDS.h"
29  c #include "DYNVARS.h"  #include "DYNVARS.h"
30  #include "THSICE_PARAMS.h"  #include "THSICE_PARAMS.h"
31  #include "THSICE_VARS.h"  #include "THSICE_VARS.h"
32    #ifdef ALLOW_AIM
33    # include "AIM_FFIELDS.h"
34    #endif
35    
36  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
37  C     == Routine arguments ==  C     == Routine arguments ==
38  C     myThid -  Number of this instance of INI_RBCS  C     myThid :: My Thread Id. number
39        INTEGER myThid        INTEGER myThid
40  CEOP  CEOP
41    
# Line 38  C     == Local variables == Line 44  C     == Local variables ==
44  C     bi,bj  :: Loop counters  C     bi,bj  :: Loop counters
45  C     i,j    :: Loop counters  C     i,j    :: Loop counters
46        INTEGER bi, bj        INTEGER bi, bj
47        INTEGER I, J        INTEGER i, j
48        INTEGER prec        INTEGER prec
49  c     CHARACTER*(MAX_LEN_FNAM) fn  c     CHARACTER*(MAX_LEN_FNAM) fn
50        _RL v2Loc        _RL v2Loc
51    
52    
53  c     set up ice arrays to zero if starting ice  c     set up ice arrays to zero if starting ice
54          DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
55           DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
56  C-        state variables :  C-        state variables :
57            DO j=1-OLy,sNy+OLy            DO j=1-OLy,sNy+OLy
58             DO i=1-OLx,sNx+OLx             DO i=1-OLx,sNx+OLx
# Line 68  C-        fluxes : Line 74  C-        fluxes :
74              flxCndBt(i,j,bi,bj) = 0. _d 0              flxCndBt(i,j,bi,bj) = 0. _d 0
75              snowPrc(i,j,bi,bj)  = 0. _d 0              snowPrc(i,j,bi,bj)  = 0. _d 0
76              siceAlb(i,j,bi,bj)  = 0. _d 0              siceAlb(i,j,bi,bj)  = 0. _d 0
 #ifdef COUPLE_MODEL  
             dFdT(i,j,bi,bj)     = 0. _d 0  
 #endif  
77              icFlxSW (i,j,bi,bj) = 0. _d 0              icFlxSW (i,j,bi,bj) = 0. _d 0
78              icFlxAtm(i,j,bi,bj) = 0. _d 0              icFlxAtm(i,j,bi,bj) = 0. _d 0
79              icFrwAtm(i,j,bi,bj) = 0. _d 0              icFrwAtm(i,j,bi,bj) = 0. _d 0
80    C-        needed when using advection/diffusion:
81                oceFWfx(i,j,bi,bj)  = 0. _d 0
82                oceSflx(i,j,bi,bj)  = 0. _d 0
83                oceQnet(i,j,bi,bj)  = 0. _d 0
84             ENDDO             ENDDO
85            ENDDO            ENDDO
86  C-        oceanic mixed layer state :  C-        oceanic mixed layer state :
# Line 86  C-        oceanic mixed layer state : Line 93  C-        oceanic mixed layer state :
93               v2ocMxL(i,j,bi,bj) = v2Loc               v2ocMxL(i,j,bi,bj) = v2Loc
94             ENDDO             ENDDO
95            ENDDO            ENDDO
96           ENDDO  #ifdef ALLOW_AIM
97              IF ( useAIM ) THEN
98    C-        Mask mixed layer depth : depth is used in thsice slab_ocean
99    C         and this mask is used in thsice_advdiff and if coupled
100               DO j=1-OLy,sNy+OLy
101                DO i=1-OLx,sNx+OLx
102                 IF ( aim_landFr(i,j,bi,bj).EQ.1. _d 0 )
103         &       hOceMxL(i,j,bi,bj) = 0.
104                ENDDO
105               ENDDO
106              ENDIF
107    #endif /* ALLOW_AIM */
108          ENDDO          ENDDO
109          ENDDO
110    
111  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
112    
# Line 100  C--     Read ice pickup fields Line 119  C--     Read ice pickup fields
119        ELSE        ELSE
120  C--     Read initial conditions:  C--     Read initial conditions:
121          _BEGIN_MASTER( myThid )          _BEGIN_MASTER( myThid )
         IF ( thSIceFract_InitFile .NE. ' ' ) THEN  
          CALL READ_REC_XY_RL(thSIceFract_InitFile,iceMask,1,0,myThid)  
         ENDIF  
122          IF ( thSIceThick_InitFile .NE. ' ' ) THEN          IF ( thSIceThick_InitFile .NE. ' ' ) THEN
123           CALL READ_REC_XY_RL(thSIceThick_InitFile,iceHeight,1,0,myThid)           CALL READ_REC_XY_RL(thSIceThick_InitFile,iceHeight,1,0,myThid)
124          ENDIF          ENDIF
125            IF ( thSIceFract_InitFile .NE. ' ' ) THEN
126             CALL READ_REC_XY_RL(thSIceFract_InitFile,iceMask,1,0,myThid)
127            ELSE
128             DO bj = myByLo(myThid), myByHi(myThid)
129              DO bi = myBxLo(myThid), myBxHi(myThid)
130               DO j=1-OLy,sNy+OLy
131                DO i=1-OLx,sNx+OLx
132                 IF (iceHeight(i,j,bi,bj) .NE. 0. _d 0)
133         &            iceMask(i,j,bi,bj) = 1. _d 0
134                ENDDO
135               ENDDO
136              ENDDO
137             ENDDO
138            ENDIF
139          IF ( thSIceSnowH_InitFile .NE. ' ' ) THEN          IF ( thSIceSnowH_InitFile .NE. ' ' ) THEN
140           CALL READ_REC_XY_RL(thSIceSnowH_InitFile,snowHeight,1,0,myThid)           CALL READ_REC_XY_RL(thSIceSnowH_InitFile,snowHeight,1,0,myThid)
141            ELSE
142             DO bj = myByLo(myThid), myByHi(myThid)
143              DO bi = myBxLo(myThid), myBxHi(myThid)
144               DO j=1-OLy,sNy+OLy
145                DO i=1-OLx,sNx+OLx
146                 snowHeight(i,j,bi,bj) = 0.2 _d 0 * iceMask(i,j,bi,bj)
147                ENDDO
148               ENDDO
149              ENDDO
150             ENDDO
151          ENDIF          ENDIF
152          IF ( thSIceSnowA_InitFile .NE. ' ' ) THEN          IF ( thSIceSnowA_InitFile .NE. ' ' ) THEN
153           CALL READ_REC_XY_RL(thSIceSnowA_InitFile,snowAge,1,0,myThid)           CALL READ_REC_XY_RL(thSIceSnowA_InitFile,snowAge,1,0,myThid)
154            ELSE
155             DO bj = myByLo(myThid), myByHi(myThid)
156              DO bi = myBxLo(myThid), myBxHi(myThid)
157               DO j=1-OLy,sNy+OLy
158                DO i=1-OLx,sNx+OLx
159                 IF (snowHeight(i,j,bi,bj) .NE. 0. _d 0)
160         &            snowAge(i,j,bi,bj) = 259200. _d 0
161                ENDDO
162               ENDDO
163              ENDDO
164             ENDDO
165          ENDIF          ENDIF
166          IF ( thSIceEnthp_InitFile .NE. ' ' ) THEN          IF ( thSIceEnthp_InitFile .NE. ' ' ) THEN
167           CALL READ_REC_XY_RL(thSIceEnthp_InitFile,Qice1,1,0,myThid)           CALL READ_REC_XY_RL(thSIceEnthp_InitFile,Qice1,1,0,myThid)
168           CALL READ_REC_XY_RL(thSIceEnthp_InitFile,Qice2,2,0,myThid)           CALL READ_REC_XY_RL(thSIceEnthp_InitFile,Qice2,2,0,myThid)
169            ELSE
170             DO bj = myByLo(myThid), myByHi(myThid)
171              DO bi = myBxLo(myThid), myBxHi(myThid)
172               DO j=1-OLy,sNy+OLy
173                DO i=1-OLx,sNx+OLx
174                 IF (iceMask(i,j,bi,bj) .NE. 0. _d 0) THEN
175                  Qice1(i,j,bi,bj) = 3.4 _d 5
176                  Qice2(i,j,bi,bj) = 3.4 _d 5
177                 ENDIF
178                ENDDO
179               ENDDO
180              ENDDO
181             ENDDO
182          ENDIF          ENDIF
183          IF ( thSIceTsurf_InitFile .NE. ' ' ) THEN          IF ( thSIceTsurf_InitFile .NE. ' ' ) THEN
184           CALL READ_REC_XY_RS(thSIceTsurf_InitFile,Tsrf,1,0,myThid)           CALL READ_REC_XY_RS(thSIceTsurf_InitFile,Tsrf,1,0,myThid)
# Line 131  C--     Read initial conditions: Line 195  C--     Read initial conditions:
195          _EXCH_XY_R8(Qice1,  myThid)          _EXCH_XY_R8(Qice1,  myThid)
196          _EXCH_XY_R8(Qice2,  myThid)          _EXCH_XY_R8(Qice2,  myThid)
197          _EXCH_XY_R8(snowAge,myThid)          _EXCH_XY_R8(snowAge,myThid)
198  #ifdef COUPLE_MODEL  
199          _EXCH_XY_R8(dFdT, myThid)  C--     Initialise Sea-Ice Loading for SeaIce-Dynamics :
200  #endif          IF ( useSEAICE ) THEN
201              DO bj = myByLo(myThid), myByHi(myThid)
202               DO bi = myBxLo(myThid), myBxHi(myThid)
203                DO j=1-OLy,sNy+OLy
204                 DO i=1-OLx,sNx+OLx
205                   sIceLoad(i,j,bi,bj) = ( snowHeight(i,j,bi,bj)*rhos
206         &                               + iceHeight(i,j,bi,bj)*rhoi
207         &                               )*iceMask(i,j,bi,bj)
208                 ENDDO
209                ENDDO
210               ENDDO
211              ENDDO
212            ENDIF
213    
214  #endif /* ALLOW_THSICE */  #endif /* ALLOW_THSICE */
215    

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.12

  ViewVC Help
Powered by ViewVC 1.1.22