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

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

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


Revision 1.6 - (hide annotations) (download)
Fri May 3 18:59:39 2013 UTC (12 years, 3 months ago) by torge
Branch: MAIN
CVS Tags: HEAD
Changes since 1.5: +1 -5 lines
File MIME type: text/plain
removing all "ToM" comments

1 torge 1.6 C $Header: /u/gcmpack/MITgcm_contrib/torge/itd/code/SEAICE.h,v 1.5 2013/03/27 18:59:52 torge Exp $
2 dimitri 1.1 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 dimitri 1.2 #ifdef SEAICE_ITD
67     COMMON/SEAICE_DYNVARS_1/AREA,HEFF,HSNOW,UICE,VICE,
68     & AREAITD,HEFFITD,HSNOWITD
69     #else
70 dimitri 1.1 COMMON/SEAICE_DYNVARS_1/AREA,HEFF,HSNOW,UICE,VICE
71 dimitri 1.2 #endif
72 dimitri 1.1 _RL AREA (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
73     _RL HEFF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
74     _RL HSNOW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
75     _RL UICE (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
76     _RL VICE (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
77 dimitri 1.2 #ifdef SEAICE_ITD
78     _RL AREAITD (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nITD,nSx,nSy)
79     _RL HEFFITD (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nITD,nSx,nSy)
80     _RL HSNOWITD (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nITD,nSx,nSy)
81     #endif
82 dimitri 1.1
83     C uIceC :: average of UICE between last two time steps
84     C vIceC :: average of VICE between last two time steps
85     COMMON/SEAICE_DYNVARS_3/
86 torge 1.4 & ETA,etaZ,ZETA,PRESS, e11, e22, e12,
87 heimbach 1.3 & FORCEX,FORCEY,
88 dimitri 1.1 & uIceC, vIceC, uIceNm1, vIceNm1
89     _RL ETA (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
90 torge 1.4 _RL etaZ (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
91 dimitri 1.1 _RL ZETA (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
92     C ice strength/pressure term
93     _RL PRESS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
94     C strain rate tensor
95     _RL e11 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
96     _RL e22 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
97     _RL e12 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
98     C
99     _RL FORCEX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
100     _RL FORCEY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
101     _RL uIceC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
102     _RL vIceC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
103     _RL uIceNm1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
104     _RL vIceNm1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
105    
106 dimitri 1.2 #if (defined (ALLOW_MEAN_SFLUX_COST_CONTRIBUTION) || defined (ALLOW_SSH_GLOBMEAN_COST_CONTRIBUTION))
107     C-- Dynamical variables
108     COMMON/SEAICE_DYNVARS_COST/ AREAforAtmFW, frWtrAtm
109     _RL AREAforAtmFW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
110     _RL frWtrAtm (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
111     #endif
112    
113 dimitri 1.1 #ifndef SEAICE_CGRID
114     COMMON/SEAICE_DYNVARS_BGRID/ AMASS, DAIRN
115     _RL AMASS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
116     _RL DAIRN (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
117     #else
118     COMMON/SEAICE_DYNVARS_CGRID/
119     & seaiceMassC, seaiceMassU, seaiceMassV
120     _RL seaiceMassC(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
121     _RL seaiceMassU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
122     _RL seaiceMassV(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
123     #endif
124    
125     COMMON/SEAICE_DYNVARS_4/
126     & DWATN, PRESS0, FORCEX0, FORCEY0, ZMAX, ZMIN
127     _RL DWATN (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
128     _RL PRESS0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
129     _RL FORCEX0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
130     _RL FORCEY0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
131     _RL ZMAX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
132     _RL ZMIN (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
133    
134     #ifdef SEAICE_VARIABLE_SALINITY
135     COMMON/SEAICE_SALINITY_R/HSALT
136     _RL HSALT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
137     #endif
138    
139     C saltWtrIce contains m of salty ice melted (<0) or created (>0)
140     C frWtrIce contains m of freshwater ice melted (<0) or created (>0)
141     C that is, ice due to precipitation or snow
142     C frWtrAtm contains freshwater flux from the atmosphere
143     COMMON/ICEFLUX/ saltWtrIce, frWtrIce
144     _RL saltWtrIce (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
145     _RL frWtrIce (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
146    
147     COMMON/MULTICATEGORY/TICES
148     _RL TICES (1-OLx:sNx+OLx,1-OLy:sNy+OLy,MULTDIM,nSx,nSy)
149    
150     C TICE :: Seaice/snow surface temperature
151     COMMON/SEAICE_TEMPERATURE/ TICE
152     _RL TICE (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
153    
154     #if (defined (SEAICE_CGRID) && defined (SEAICE_ALLOW_FREEDRIFT))
155     COMMON /SEAICE_FD_FIELDS/
156     & uice_fd, vice_fd
157     _RL uice_fd (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
158     _RL vice_fd (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
159     #endif
160    
161     #if (defined (SEAICE_CGRID) && defined (SEAICE_ALLOW_EVP))
162     C
163     C additional fields needed by the EVP solver
164     C
165     C seaice_sigma1 - sigma11+sigma22, defined at C-points
166     C seaice_sigma2 - sigma11-sigma22, defined at C-points
167     C seaice_sigma12 - off-diagonal term, defined at Z-points
168     COMMON /SEAICE_EVP_FIELDS/
169     & seaice_sigma1, seaice_sigma2, seaice_sigma12
170     _RL seaice_sigma1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
171     _RL seaice_sigma2 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
172     _RL seaice_sigma12 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
173     #endif /* SEAICE_ALLOW_EVP and SEAICE_CGRID */
174    
175     #ifdef SEAICE_CGRID
176     C stressDivergenceX/Y - divergence of stress tensor
177     COMMON /SEAICE_STRESSDIV/
178     & stressDivergenceX, stressDivergenceY
179     _RL stressDivergenceX(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
180     _RL stressDivergenceY(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
181     #endif /* SEAICE_CGRID */
182    
183     COMMON/WIND_STRESS_ICE/TAUX,TAUY
184     C TAUX - zonal wind stress over ice at U point
185     C TAUY - meridional wind stress over ice at V point
186     _RL TAUX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
187     _RL TAUY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
188    
189     #ifndef SEAICE_CGRID
190     COMMON/WIND_STRESS_OCE/WINDX,WINDY
191     C WINDX - zonal wind stress over water at C points
192     C WINDY - meridional wind stress over water at C points
193     _RL WINDX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
194     _RL WINDY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
195    
196     COMMON/GWATXY/GWATX,GWATY
197     _RL GWATX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
198     _RL GWATY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
199    
200     C-- KGEO Level used as a proxy for geostrophic velocity.
201     COMMON/SEAICE_KGEO/KGEO
202     INTEGER KGEO (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
203     #endif
204    
205     #ifdef ALLOW_SEAICE_COST_EXPORT
206     _RL uHeffExportCell(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
207     _RL vHeffExportCell(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
208 torge 1.4 _RL icevolMeanCell(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
209 dimitri 1.1 COMMON /SEAICE_COST_EXPORT_R/
210 torge 1.4 & uHeffExportCell, vHeffExportCell,
211     & icevolMeanCell
212 dimitri 1.1 #endif
213    
214     C SWFracB :: fraction of surface Short-Wave radiation reaching
215     C the bottom of ocean surface level
216     _RL SWFracB
217     COMMON /SEAICE_SW_R/
218     & SWFracB
219    
220 torge 1.4 #ifdef SEAICE_ALLOW_JFNK
221     C diagnostics for the JFNK solver
222     INTEGER totalNewtonIters
223     INTEGER totalNewtonFails
224     INTEGER totalKrylovIters
225     INTEGER totalKrylovFails
226     INTEGER totalJFNKtimeSteps
227     COMMON /SEAICE_JFNK_I/
228     & totalNewtonIters, totalNewtonFails,
229     & totalKrylovIters, totalKrylovFails,
230     & totalJFNKtimeSteps
231 torge 1.5 INTEGER nVec
232     PARAMETER ( nVec=2*sNx*sNy )
233     _RL scalarProductMetric( nVec, 1, nSx, nSy )
234     COMMON /SEAICE_JFNK_RL/ scalarProductMetric
235 torge 1.4 #endif /* SEAICE_ALLOW_JFNK */
236    
237 dimitri 1.1 CEH3 ;;; Local Variables: ***
238     CEH3 ;;; mode:fortran ***
239     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22