/[MITgcm]/MITgcm_contrib/jscott/code_changed/thsice_ini_vars.F
ViewVC logotype

Annotation of /MITgcm_contrib/jscott/code_changed/thsice_ini_vars.F

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


Revision 1.1 - (hide annotations) (download)
Fri Aug 11 19:29:22 2006 UTC (20 years ago) by jscott
Branch: MAIN
atm2d package

1 jscott 1.1 C $Header: /u/gcmpack/MITgcm/pkg/thsice/thsice_ini_vars.F,v 1.7 2006/06/25 22:35:17 jmc Exp $
2     C $Name: $
3    
4     #include "THSICE_OPTIONS.h"
5    
6     CBOP
7     C !ROUTINE: THSICE_INI_VARS
8     C !INTERFACE:
9     SUBROUTINE THSICE_INI_VARS( myThid )
10    
11     C !DESCRIPTION: \bv
12     C *==========================================================*
13     C | S/R THSICE_INI_VARS
14     C | o initialize THermo_SeaICE variables
15     C *==========================================================*
16     C \ev
17    
18     C !USES:
19     IMPLICIT NONE
20    
21     C === Global variables ===
22     #include "SIZE.h"
23     #include "EEPARAMS.h"
24     #include "PARAMS.h"
25     #include "GRID.h"
26     #include "FFIELDS.h"
27     #include "THSICE_PARAMS.h"
28     #include "THSICE_VARS.h"
29    
30     C !INPUT/OUTPUT PARAMETERS:
31     C == Routine arguments ==
32     C myThid - Number of this instance of INI_RBCS
33     INTEGER myThid
34     CEOP
35    
36     #ifdef ALLOW_THSICE
37     C == Local variables ==
38     C bi,bj :: Loop counters
39     C i,j :: Loop counters
40     INTEGER bi, bj
41     INTEGER I, J
42     INTEGER prec
43     c CHARACTER*(MAX_LEN_FNAM) fn
44     _RL v2Loc
45    
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     C- state variables :
51     DO j=1-OLy,sNy+OLy
52     DO i=1-OLx,sNx+OLx
53     iceMask(i,j,bi,bj) = 0. _d 0
54     iceHeight(i,j,bi,bj)= 0. _d 0
55     snowHeight(i,j,bi,bj)=0. _d 0
56     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     DO j=1-OLy,sNy+OLy
66     DO i=1-OLx,sNx+OLx
67     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     siceAlb(i,j,bi,bj) = 0. _d 0
71     #ifdef COUPLE_MODEL
72     dFdT(i,j,bi,bj) = 0. _d 0
73     #endif
74     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     ENDDO
78     ENDDO
79     C- oceanic mixed layer state :
80     v2Loc = vMxL_default*vMxL_default
81     DO j=1-OLy,sNy+OLy
82     DO i=1-OLx,sNx+OLx
83     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     ENDDO
88     ENDDO
89     ENDDO
90     ENDDO
91    
92     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
93    
94     IF (( startIceModel.LE.0 .AND. nIter0.NE.0 ).OR.
95     & ( startIceModel.EQ.-1)) THEN
96     C startIceModel = -1 is somewhat klugey way to force pickup load
97     C-- Read ice pickup fields
98     _BARRIER
99     prec=precFloat64
100     CALL THSICE_READ_PICKUP( prec, nIter0, myThid )
101    
102     ELSE
103     C-- Read initial conditions:
104     _BEGIN_MASTER( myThid )
105     IF ( thSIceFract_InitFile .NE. ' ' ) THEN
106     CALL READ_REC_XY_RL(thSIceFract_InitFile,iceMask,1,0,myThid)
107     ENDIF
108     IF ( thSIceThick_InitFile .NE. ' ' ) THEN
109     CALL READ_REC_XY_RL(thSIceThick_InitFile,iceHeight,1,0,myThid)
110     ENDIF
111     IF ( thSIceSnowH_InitFile .NE. ' ' ) THEN
112     CALL READ_REC_XY_RL(thSIceSnowH_InitFile,snowHeight,1,0,myThid)
113     ENDIF
114     IF ( thSIceSnowA_InitFile .NE. ' ' ) THEN
115     CALL READ_REC_XY_RL(thSIceSnowA_InitFile,snowAge,1,0,myThid)
116     ENDIF
117     IF ( thSIceEnthp_InitFile .NE. ' ' ) THEN
118     CALL READ_REC_XY_RL(thSIceEnthp_InitFile,Qice1,1,0,myThid)
119     CALL READ_REC_XY_RL(thSIceEnthp_InitFile,Qice2,2,0,myThid)
120     ENDIF
121     IF ( thSIceTsurf_InitFile .NE. ' ' ) THEN
122     CALL READ_REC_XY_RS(thSIceTsurf_InitFile,Tsrf,1,0,myThid)
123     ENDIF
124     _END_MASTER(myThid)
125     ENDIF
126    
127     _EXCH_XY_R8(iceMask,myThid)
128     _EXCH_XY_R8(iceHeight, myThid)
129     _EXCH_XY_R8(snowHeight,myThid)
130     _EXCH_XY_R8(Tsrf, myThid)
131     _EXCH_XY_R8(Tice1, myThid)
132     _EXCH_XY_R8(Tice2, myThid)
133     _EXCH_XY_R8(Qice1, myThid)
134     _EXCH_XY_R8(Qice2, myThid)
135     _EXCH_XY_R8(snowAge,myThid)
136     #ifdef COUPLE_MODEL
137     _EXCH_XY_R8(dFdT, myThid)
138     #endif
139    
140     #ifdef ATMOSPHERIC_LOADING
141     C-- Initialise Sea-Ice Loading for SeaIce-Dynamics :
142     IF ( useSEAICE ) THEN
143     DO bj = myByLo(myThid), myByHi(myThid)
144     DO bi = myBxLo(myThid), myBxHi(myThid)
145     DO j=1-OLy,sNy+OLy
146     DO i=1-OLx,sNx+OLx
147     sIceLoad(i,j,bi,bj) = ( snowHeight(i,j,bi,bj)*rhos
148     & + iceHeight(i,j,bi,bj)*rhoi
149     & )*iceMask(i,j,bi,bj)
150     ENDDO
151     ENDDO
152     ENDDO
153     ENDDO
154     ENDIF
155     #endif /* ATMOSPHERIC_LOADING */
156    
157     #endif /* ALLOW_THSICE */
158    
159     RETURN
160     END
161    

  ViewVC Help
Powered by ViewVC 1.1.22