/[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.4 - (hide annotations) (download)
Mon Dec 10 22:19:49 2012 UTC (12 years, 7 months ago) by torge
Branch: MAIN
Changes since 1.3: +19 -3 lines
File MIME type: text/plain
include updates from main branch

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

  ViewVC Help
Powered by ViewVC 1.1.22