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

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

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


Revision 1.7 - (show annotations) (download)
Sun Jun 25 22:35:17 2006 UTC (17 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint58l_post, mitgcm_mapl_00, checkpoint58u_post, checkpoint58w_post, checkpoint58r_post, checkpoint58n_post, checkpoint58x_post, checkpoint58t_post, checkpoint58q_post, checkpoint58o_post, checkpoint58k_post, checkpoint58v_post, checkpoint58s_post, checkpoint58p_post, checkpoint58m_post
Changes since 1.6: +19 -2 lines
fill in sIceLoad (needed for SeaIce-Dynamics)

1 C $Header: /u/gcmpack/MITgcm/pkg/thsice/thsice_ini_vars.F,v 1.6 2006/05/25 18:03:24 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 ) THEN
95 C-- Read ice pickup fields
96 _BARRIER
97 prec=precFloat64
98 CALL THSICE_READ_PICKUP( prec, nIter0, myThid )
99
100 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 _EXCH_XY_R8(iceMask,myThid)
126 _EXCH_XY_R8(iceHeight, myThid)
127 _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 #ifdef COUPLE_MODEL
135 _EXCH_XY_R8(dFdT, myThid)
136 #endif
137
138 #ifdef ATMOSPHERIC_LOADING
139 C-- Initialise Sea-Ice Loading for SeaIce-Dynamics :
140 IF ( useSEAICE ) THEN
141 DO bj = myByLo(myThid), myByHi(myThid)
142 DO bi = myBxLo(myThid), myBxHi(myThid)
143 DO j=1-OLy,sNy+OLy
144 DO i=1-OLx,sNx+OLx
145 sIceLoad(i,j,bi,bj) = ( snowHeight(i,j,bi,bj)*rhos
146 & + iceHeight(i,j,bi,bj)*rhoi
147 & )*iceMask(i,j,bi,bj)
148 ENDDO
149 ENDDO
150 ENDDO
151 ENDDO
152 ENDIF
153 #endif /* ATMOSPHERIC_LOADING */
154
155 #endif /* ALLOW_THSICE */
156
157 RETURN
158 END

  ViewVC Help
Powered by ViewVC 1.1.22