/[MITgcm]/MITgcm_contrib/torge/itd/code/SEAICE.h
ViewVC logotype

Contents of /MITgcm_contrib/torge/itd/code/SEAICE.h

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


Revision 1.5 - (show annotations) (download)
Wed Mar 27 18:59:52 2013 UTC (12 years, 4 months ago) by torge
Branch: MAIN
Changes since 1.4: +5 -7 lines
File MIME type: text/plain
updating my MITgcm_contrib directory to include latest changes on main branch;
settings are to run a 1D test szenario with ITD code and 7 categories

1 C $Header: /u/gcmpack/MITgcm/pkg/seaice/SEAICE.h,v 1.70 2012/12/27 23:05:47 gforget Exp $
2 C $Name: $
3
4 CBOP
5 C !ROUTINE: SEAICE.h
6
7 C !DESCRIPTION: \bv
8 C *==========================================================*
9 C | SEAICE.h
10 C | o Basic header for sea ice model.
11 C | Contains most sea ice field declarations.
12 C *==========================================================*
13 C
14 C UICE :: zonal ice velocity in m/s at South-West B-grid
15 C (or C-grid #ifdef SEAICE_CGRID) U point
16 C >0 from West to East
17 C VICE :: meridional ice velocity in m/s at South-West B-grid
18 C (or C-grid #ifdef SEAICE_CGRID) V point
19 C >0 from South to North
20 C note: the South-West B-grid U and V points are on
21 C the lower, left-hand corner of each grid cell
22 C AREA :: fractional ice-covered area in m^2/m^2
23 C at center of grid, i.e., tracer point
24 C 0 is no cover, 1 is 100% cover
25 C HEFF :: effective ice thickness in m
26 C at center of grid, i.e., tracer point
27 C note: for non-zero AREA, actual ice thickness is HEFF / AREA
28 C HSNOW :: effective snow thickness in m
29 C at center of grid, i.e., tracer point
30 C note: for non-zero AREA, actual snow thickness is HSNOW / AREA
31 C HSALT :: effective sea ice salinity in g/m^2
32 C at center of grid, i.e., tracer point
33 C \ev
34 CEOP
35
36 C-- Grid variables for seaice
37 COMMON/ARRAY/HEFFM
38 _RL HEFFM (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
39 #ifdef SEAICE_CGRID
40 COMMON/ARRAYC/ seaiceMaskU, seaiceMaskV
41 _RL seaiceMaskU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
42 _RL seaiceMaskV(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
43 C k1/2AtZ :: coefficients at C and Z points
44 C k1/2AtC for metric terms in U/V ice equations.
45 COMMON/ARRAYCMETRIC/ k1AtC, k1AtZ, k2AtC, k2AtZ
46 _RS k1AtC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
47 _RS k1AtZ (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
48 _RS k2AtC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
49 _RS k2AtZ (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
50 #else
51 COMMON/ARRAYB/ UVM
52 _RS UVM (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
53 C k1/2AtC/U/V :: coefficients at C, U, and V points
54 C for metric terms in U/V ice equations.
55 COMMON/ARRAYBMETRIC/
56 & k1AtC, k1AtU, k1AtV, k2AtC, k2AtU, k2AtV
57 _RS k1AtC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
58 _RS k1AtU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
59 _RS k1AtV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
60 _RS k2AtC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
61 _RS k2AtU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
62 _RS k2AtV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
63 #endif /* SEAICE_CGRID */
64
65 C-- Dynamical variables
66 CToM<<<
67 #ifdef SEAICE_ITD
68 COMMON/SEAICE_DYNVARS_1/AREA,HEFF,HSNOW,UICE,VICE,
69 & AREAITD,HEFFITD,HSNOWITD
70 #else
71 COMMON/SEAICE_DYNVARS_1/AREA,HEFF,HSNOW,UICE,VICE
72 #endif
73 C>>>ToM
74 _RL AREA (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
75 _RL HEFF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
76 _RL HSNOW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
77 _RL UICE (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
78 _RL VICE (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
79 CToM<<<
80 #ifdef SEAICE_ITD
81 _RL AREAITD (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nITD,nSx,nSy)
82 _RL HEFFITD (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nITD,nSx,nSy)
83 _RL HSNOWITD (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nITD,nSx,nSy)
84 #endif
85 C>>>ToM
86
87 C uIceC :: average of UICE between last two time steps
88 C vIceC :: average of VICE between last two time steps
89 COMMON/SEAICE_DYNVARS_3/
90 & ETA,etaZ,ZETA,PRESS, e11, e22, e12,
91 & FORCEX,FORCEY,
92 & uIceC, vIceC, uIceNm1, vIceNm1
93 _RL ETA (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
94 _RL etaZ (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
95 _RL ZETA (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
96 C ice strength/pressure term
97 _RL PRESS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
98 C strain rate tensor
99 _RL e11 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
100 _RL e22 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
101 _RL e12 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
102 C
103 _RL FORCEX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
104 _RL FORCEY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
105 _RL uIceC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
106 _RL vIceC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
107 _RL uIceNm1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
108 _RL vIceNm1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
109
110 #if (defined (ALLOW_MEAN_SFLUX_COST_CONTRIBUTION) || defined (ALLOW_SSH_GLOBMEAN_COST_CONTRIBUTION))
111 C-- Dynamical variables
112 COMMON/SEAICE_DYNVARS_COST/ AREAforAtmFW, frWtrAtm
113 _RL AREAforAtmFW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
114 _RL frWtrAtm (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
115 #endif
116
117 #ifndef SEAICE_CGRID
118 COMMON/SEAICE_DYNVARS_BGRID/ AMASS, DAIRN
119 _RL AMASS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
120 _RL DAIRN (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
121 #else
122 COMMON/SEAICE_DYNVARS_CGRID/
123 & seaiceMassC, seaiceMassU, seaiceMassV
124 _RL seaiceMassC(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
125 _RL seaiceMassU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
126 _RL seaiceMassV(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
127 #endif
128
129 COMMON/SEAICE_DYNVARS_4/
130 & DWATN, PRESS0, FORCEX0, FORCEY0, ZMAX, ZMIN
131 _RL DWATN (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
132 _RL PRESS0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
133 _RL FORCEX0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
134 _RL FORCEY0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
135 _RL ZMAX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
136 _RL ZMIN (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
137
138 #ifdef SEAICE_VARIABLE_SALINITY
139 COMMON/SEAICE_SALINITY_R/HSALT
140 _RL HSALT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
141 #endif
142
143 C saltWtrIce contains m of salty ice melted (<0) or created (>0)
144 C frWtrIce contains m of freshwater ice melted (<0) or created (>0)
145 C that is, ice due to precipitation or snow
146 C frWtrAtm contains freshwater flux from the atmosphere
147 COMMON/ICEFLUX/ saltWtrIce, frWtrIce
148 _RL saltWtrIce (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
149 _RL frWtrIce (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
150
151 COMMON/MULTICATEGORY/TICES
152 _RL TICES (1-OLx:sNx+OLx,1-OLy:sNy+OLy,MULTDIM,nSx,nSy)
153
154 C TICE :: Seaice/snow surface temperature
155 COMMON/SEAICE_TEMPERATURE/ TICE
156 _RL TICE (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
157
158 #if (defined (SEAICE_CGRID) && defined (SEAICE_ALLOW_FREEDRIFT))
159 COMMON /SEAICE_FD_FIELDS/
160 & uice_fd, vice_fd
161 _RL uice_fd (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
162 _RL vice_fd (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
163 #endif
164
165 #if (defined (SEAICE_CGRID) && defined (SEAICE_ALLOW_EVP))
166 C
167 C additional fields needed by the EVP solver
168 C
169 C seaice_sigma1 - sigma11+sigma22, defined at C-points
170 C seaice_sigma2 - sigma11-sigma22, defined at C-points
171 C seaice_sigma12 - off-diagonal term, defined at Z-points
172 COMMON /SEAICE_EVP_FIELDS/
173 & seaice_sigma1, seaice_sigma2, seaice_sigma12
174 _RL seaice_sigma1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
175 _RL seaice_sigma2 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
176 _RL seaice_sigma12 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
177 #endif /* SEAICE_ALLOW_EVP and SEAICE_CGRID */
178
179 #ifdef SEAICE_CGRID
180 C stressDivergenceX/Y - divergence of stress tensor
181 COMMON /SEAICE_STRESSDIV/
182 & stressDivergenceX, stressDivergenceY
183 _RL stressDivergenceX(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
184 _RL stressDivergenceY(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
185 #endif /* SEAICE_CGRID */
186
187 COMMON/WIND_STRESS_ICE/TAUX,TAUY
188 C TAUX - zonal wind stress over ice at U point
189 C TAUY - meridional wind stress over ice at V point
190 _RL TAUX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
191 _RL TAUY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
192
193 #ifndef SEAICE_CGRID
194 COMMON/WIND_STRESS_OCE/WINDX,WINDY
195 C WINDX - zonal wind stress over water at C points
196 C WINDY - meridional wind stress over water at C points
197 _RL WINDX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
198 _RL WINDY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
199
200 COMMON/GWATXY/GWATX,GWATY
201 _RL GWATX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
202 _RL GWATY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
203
204 C-- KGEO Level used as a proxy for geostrophic velocity.
205 COMMON/SEAICE_KGEO/KGEO
206 INTEGER KGEO (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
207 #endif
208
209 #ifdef ALLOW_SEAICE_COST_EXPORT
210 _RL uHeffExportCell(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
211 _RL vHeffExportCell(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
212 _RL icevolMeanCell(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
213 COMMON /SEAICE_COST_EXPORT_R/
214 & uHeffExportCell, vHeffExportCell,
215 & icevolMeanCell
216 #endif
217
218 C SWFracB :: fraction of surface Short-Wave radiation reaching
219 C the bottom of ocean surface level
220 _RL SWFracB
221 COMMON /SEAICE_SW_R/
222 & SWFracB
223
224 #ifdef SEAICE_ALLOW_JFNK
225 C diagnostics for the JFNK solver
226 INTEGER totalNewtonIters
227 INTEGER totalNewtonFails
228 INTEGER totalKrylovIters
229 INTEGER totalKrylovFails
230 INTEGER totalJFNKtimeSteps
231 COMMON /SEAICE_JFNK_I/
232 & totalNewtonIters, totalNewtonFails,
233 & totalKrylovIters, totalKrylovFails,
234 & totalJFNKtimeSteps
235 INTEGER nVec
236 PARAMETER ( nVec=2*sNx*sNy )
237 _RL scalarProductMetric( nVec, 1, nSx, nSy )
238 COMMON /SEAICE_JFNK_RL/ scalarProductMetric
239 #endif /* SEAICE_ALLOW_JFNK */
240
241 CEH3 ;;; Local Variables: ***
242 CEH3 ;;; mode:fortran ***
243 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22