/[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.5 - (hide 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 torge 1.5 C $Header: /u/gcmpack/MITgcm/pkg/seaice/SEAICE.h,v 1.70 2012/12/27 23:05:47 gforget 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 CToM<<<
67     #ifdef SEAICE_ITD
68     COMMON/SEAICE_DYNVARS_1/AREA,HEFF,HSNOW,UICE,VICE,
69     & AREAITD,HEFFITD,HSNOWITD
70     #else
71 dimitri 1.1 COMMON/SEAICE_DYNVARS_1/AREA,HEFF,HSNOW,UICE,VICE
72 dimitri 1.2 #endif
73     C>>>ToM
74 dimitri 1.1 _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 dimitri 1.2 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 dimitri 1.1
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 torge 1.4 & ETA,etaZ,ZETA,PRESS, e11, e22, e12,
91 heimbach 1.3 & FORCEX,FORCEY,
92 dimitri 1.1 & uIceC, vIceC, uIceNm1, vIceNm1
93     _RL ETA (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
94 torge 1.4 _RL etaZ (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
95 dimitri 1.1 _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 dimitri 1.2 #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 dimitri 1.1 #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 torge 1.4 _RL icevolMeanCell(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
213 dimitri 1.1 COMMON /SEAICE_COST_EXPORT_R/
214 torge 1.4 & uHeffExportCell, vHeffExportCell,
215     & icevolMeanCell
216 dimitri 1.1 #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 torge 1.4 #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 torge 1.5 INTEGER nVec
236     PARAMETER ( nVec=2*sNx*sNy )
237     _RL scalarProductMetric( nVec, 1, nSx, nSy )
238     COMMON /SEAICE_JFNK_RL/ scalarProductMetric
239 torge 1.4 #endif /* SEAICE_ALLOW_JFNK */
240    
241 dimitri 1.1 CEH3 ;;; Local Variables: ***
242     CEH3 ;;; mode:fortran ***
243     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22