/[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.9 - (hide annotations) (download)
Mon Apr 16 22:38:24 2007 UTC (17 years ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint59
Changes since 1.8: +9 -1 lines
First set of modifs for TAF-ing thsice.

1 heimbach 1.9 C $Header: /u/gcmpack/MITgcm/pkg/thsice/thsice_ini_vars.F,v 1.8 2007/04/04 01:55:45 jmc Exp $
2 jmc 1.1 C $Name: $
3    
4     #include "THSICE_OPTIONS.h"
5 jmc 1.8 #ifdef ALLOW_AIM
6     # include "AIM_OPTIONS.h"
7     #endif
8 jmc 1.1
9 jmc 1.2 CBOP
10     C !ROUTINE: THSICE_INI_VARS
11     C !INTERFACE:
12 jmc 1.1 SUBROUTINE THSICE_INI_VARS( myThid )
13 jmc 1.2
14     C !DESCRIPTION: \bv
15 jmc 1.1 C *==========================================================*
16 jmc 1.2 C | S/R THSICE_INI_VARS
17 jmc 1.1 C | o initialize THermo_SeaICE variables
18     C *==========================================================*
19 jmc 1.2 C \ev
20    
21     C !USES:
22 jmc 1.1 IMPLICIT NONE
23    
24     C === Global variables ===
25     #include "SIZE.h"
26     #include "EEPARAMS.h"
27     #include "PARAMS.h"
28 jmc 1.7 #include "FFIELDS.h"
29 jmc 1.1 #include "THSICE_PARAMS.h"
30 jmc 1.2 #include "THSICE_VARS.h"
31 heimbach 1.9 #ifdef ALLOW_AUTODIFF_TAMC
32     # include "THSICE_2DYN.h"
33     #endif
34 jmc 1.8 #ifdef ALLOW_AIM
35     # include "AIM_FFIELDS.h"
36     #endif
37 jmc 1.1
38 jmc 1.2 C !INPUT/OUTPUT PARAMETERS:
39 jmc 1.1 C == Routine arguments ==
40 jmc 1.8 C myThid :: My Thread Id. number
41 jmc 1.1 INTEGER myThid
42 jmc 1.2 CEOP
43 jmc 1.1
44     #ifdef ALLOW_THSICE
45     C == Local variables ==
46 jmc 1.2 C bi,bj :: Loop counters
47     C i,j :: Loop counters
48 jmc 1.1 INTEGER bi, bj
49 jmc 1.8 INTEGER i, j
50 jmc 1.1 INTEGER prec
51 jmc 1.5 c CHARACTER*(MAX_LEN_FNAM) fn
52 jmc 1.2 _RL v2Loc
53 jmc 1.1
54    
55     c set up ice arrays to zero if starting ice
56 jmc 1.8 DO bj = myByLo(myThid), myByHi(myThid)
57     DO bi = myBxLo(myThid), myBxHi(myThid)
58 jmc 1.2 C- state variables :
59 jmc 1.6 DO j=1-OLy,sNy+OLy
60     DO i=1-OLx,sNx+OLx
61 jmc 1.2 iceMask(i,j,bi,bj) = 0. _d 0
62     iceHeight(i,j,bi,bj)= 0. _d 0
63 jmc 1.1 snowHeight(i,j,bi,bj)=0. _d 0
64 jmc 1.2 Tsrf(i,j,bi,bj) = 0. _d 0
65     Tice1(i,j,bi,bj) = 0. _d 0
66     Tice2(i,j,bi,bj) = 0. _d 0
67     Qice1(i,j,bi,bj) = 0. _d 0
68     Qice2(i,j,bi,bj) = 0. _d 0
69     snowAge(i,j,bi,bj) = 0. _d 0
70     ENDDO
71     ENDDO
72     C- fluxes :
73 jmc 1.6 DO j=1-OLy,sNy+OLy
74     DO i=1-OLx,sNx+OLx
75 jmc 1.2 sHeating(i,j,bi,bj) = 0. _d 0
76     flxCndBt(i,j,bi,bj) = 0. _d 0
77     snowPrc(i,j,bi,bj) = 0. _d 0
78 jmc 1.4 siceAlb(i,j,bi,bj) = 0. _d 0
79 jmc 1.6 icFlxSW (i,j,bi,bj) = 0. _d 0
80     icFlxAtm(i,j,bi,bj) = 0. _d 0
81     icFrwAtm(i,j,bi,bj) = 0. _d 0
82 heimbach 1.9 #ifdef ALLOW_AUTODIFF_TAMC
83     oceFWfx(i,j,bi,bj) = 0. _d 0
84     oceSflx(i,j,bi,bj) = 0. _d 0
85     oceQnet(i,j,bi,bj) = 0. _d 0
86     #endif
87 jmc 1.2 ENDDO
88     ENDDO
89     C- oceanic mixed layer state :
90     v2Loc = vMxL_default*vMxL_default
91 jmc 1.6 DO j=1-OLy,sNy+OLy
92     DO i=1-OLx,sNx+OLx
93 jmc 1.2 hOceMxL(i,j,bi,bj) = hMxL_default
94     tOceMxL(i,j,bi,bj) = 0. _d 0
95     sOceMxL(i,j,bi,bj) = sMxL_default
96     v2ocMxL(i,j,bi,bj) = v2Loc
97 jmc 1.1 ENDDO
98     ENDDO
99 jmc 1.8 #ifdef ALLOW_AIM
100     IF ( useAIM ) THEN
101     C- Mask mixed layer depth : depth is used in thsice slab_ocean
102     C and this mask is used in thsice_advdiff and if coupled
103     DO j=1-OLy,sNy+OLy
104     DO i=1-OLx,sNx+OLx
105     IF ( aim_landFr(i,j,bi,bj).EQ.1. _d 0 )
106     & hOceMxL(i,j,bi,bj) = 0.
107     ENDDO
108     ENDDO
109     ENDIF
110     #endif /* ALLOW_AIM */
111 jmc 1.1 ENDDO
112 jmc 1.8 ENDDO
113 jmc 1.1
114 jmc 1.3 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
115    
116 jmc 1.2 IF ( startIceModel.LE.0 .AND. nIter0.NE.0 ) THEN
117 jmc 1.1 C-- Read ice pickup fields
118     _BARRIER
119     prec=precFloat64
120 jmc 1.2 CALL THSICE_READ_PICKUP( prec, nIter0, myThid )
121 jmc 1.1
122 jmc 1.3 ELSE
123     C-- Read initial conditions:
124     _BEGIN_MASTER( myThid )
125     IF ( thSIceFract_InitFile .NE. ' ' ) THEN
126     CALL READ_REC_XY_RL(thSIceFract_InitFile,iceMask,1,0,myThid)
127     ENDIF
128     IF ( thSIceThick_InitFile .NE. ' ' ) THEN
129     CALL READ_REC_XY_RL(thSIceThick_InitFile,iceHeight,1,0,myThid)
130     ENDIF
131     IF ( thSIceSnowH_InitFile .NE. ' ' ) THEN
132     CALL READ_REC_XY_RL(thSIceSnowH_InitFile,snowHeight,1,0,myThid)
133     ENDIF
134     IF ( thSIceSnowA_InitFile .NE. ' ' ) THEN
135     CALL READ_REC_XY_RL(thSIceSnowA_InitFile,snowAge,1,0,myThid)
136     ENDIF
137     IF ( thSIceEnthp_InitFile .NE. ' ' ) THEN
138     CALL READ_REC_XY_RL(thSIceEnthp_InitFile,Qice1,1,0,myThid)
139     CALL READ_REC_XY_RL(thSIceEnthp_InitFile,Qice2,2,0,myThid)
140     ENDIF
141     IF ( thSIceTsurf_InitFile .NE. ' ' ) THEN
142     CALL READ_REC_XY_RS(thSIceTsurf_InitFile,Tsrf,1,0,myThid)
143     ENDIF
144     _END_MASTER(myThid)
145     ENDIF
146    
147 jmc 1.2 _EXCH_XY_R8(iceMask,myThid)
148 jmc 1.1 _EXCH_XY_R8(iceHeight, myThid)
149 jmc 1.2 _EXCH_XY_R8(snowHeight,myThid)
150     _EXCH_XY_R8(Tsrf, myThid)
151     _EXCH_XY_R8(Tice1, myThid)
152     _EXCH_XY_R8(Tice2, myThid)
153     _EXCH_XY_R8(Qice1, myThid)
154     _EXCH_XY_R8(Qice2, myThid)
155     _EXCH_XY_R8(snowAge,myThid)
156 jmc 1.1
157 jmc 1.7 #ifdef ATMOSPHERIC_LOADING
158     C-- Initialise Sea-Ice Loading for SeaIce-Dynamics :
159     IF ( useSEAICE ) THEN
160     DO bj = myByLo(myThid), myByHi(myThid)
161     DO bi = myBxLo(myThid), myBxHi(myThid)
162     DO j=1-OLy,sNy+OLy
163     DO i=1-OLx,sNx+OLx
164     sIceLoad(i,j,bi,bj) = ( snowHeight(i,j,bi,bj)*rhos
165     & + iceHeight(i,j,bi,bj)*rhoi
166     & )*iceMask(i,j,bi,bj)
167     ENDDO
168     ENDDO
169     ENDDO
170     ENDDO
171     ENDIF
172     #endif /* ATMOSPHERIC_LOADING */
173    
174 jmc 1.1 #endif /* ALLOW_THSICE */
175    
176     RETURN
177     END

  ViewVC Help
Powered by ViewVC 1.1.22