/[MITgcm]/MITgcm_contrib/dcarroll/highres_darwin/code/SHELFICE.h
ViewVC logotype

Contents of /MITgcm_contrib/dcarroll/highres_darwin/code/SHELFICE.h

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


Revision 1.1 - (show annotations) (download)
Sun Sep 22 21:23:46 2019 UTC (5 years, 10 months ago) by dcarroll
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
Initial check in of high resolution Darwin simulation code

1 C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/shelfice/SHELFICE.h,v 1.21 2015/11/02 21:27:42 dimitri Exp $
2 C $Name: $
3
4 #ifdef ALLOW_SHELFICE
5
6 CBOP
7 C !ROUTINE: SHELFICE.h
8
9 C !DESCRIPTION: \bv
10 C *==========================================================*
11 C | SHELFICE.h
12 C | o Basic header thermodnynamic shelf ice package.
13 C | Contains all SHELFICE field declarations.
14 C *==========================================================*
15
16 C-----------------------------------------------------------------------
17 C
18 C-- Constants that can be set in data.shelfice
19 C SHELFICEtopoFile :: File containing the topography of the
20 C shelfice draught (unit=m)
21 C SHELFICEmassFile :: name of shelfice Mass file
22 C SHELFICEloadAnomalyFile :: name of shelfice load anomaly file
23 C SHELFICEMassDynTendFile :: file name for other mass tendency
24 C (e.g. dynamics)
25 C useISOMIPTD :: use simple ISOMIP thermodynamics, def: F
26 C SHELFICEconserve :: use conservative form of H&O-thermodynamics
27 C following Jenkins et al. (2001, JPO), def: F
28 C SHELFICEMassStepping :: flag to step forward ice shelf mass/thickness
29 C accounts for melting/freezing & dynamics
30 C (from file or from coupling), def: F
31 C SHELFICEDynMassOnly :: step ice mass ONLY with Shelficemassdyntendency
32 C (not melting/freezing) def: F
33 C SHELFICEboundaryLayer :: turn on vertical merging of cells to for a
34 C boundary layer of drF thickness, def: F
35 C SHELFICEadvDiffHeatFlux :: use advective-diffusive heat flux into the
36 C ice shelf instead of default diffusive heat
37 C flux, see Holland and Jenkins (1999),
38 C eq.21,22,26,31; def: F
39 C SHELFICEheatTransCoeff :: constant heat transfer coefficient that
40 C determines heat flux into shelfice
41 C (def: 1e-4 m/s)
42 C SHELFICEsaltTransCoeff :: constant salinity transfer coefficient that
43 C determines salt flux into shelfice
44 C (def: 5.05e-3 * 1e-4 m/s)
45 C -----------------------------------------------------------------------
46 C SHELFICEuseGammaFrict :: use velocity dependent exchange coefficients,
47 C see Holland and Jenkins (1999), eq.11-18,
48 C with the following parameters (def: F):
49 C shiCdrag :: quadratic drag coefficient to compute uStar
50 C (def: 0.0015)
51 C shiZetaN :: ??? (def: 0.052)
52 C shiRc :: ??? (not used, def: 0.2)
53 C shiPrandtl, shiSchmidt :: constant Prandtl (13.8) and Schmidt (2432.0)
54 C numbers used to compute gammaTurb
55 C shiKinVisc :: constant kinetic viscosity used to compute
56 C gammaTurb (def: 1.95e-5)
57 C -----------------------------------------------------------------------
58 C SHELFICEDragLinear :: linear drag at bottom shelfice (1/s)
59 C SHELFICEDragQuadratic :: quadratic drag at bottom shelfice (default
60 C = shiCdrag or bottomDragQuadratic)
61 C no_slip_shelfice :: set slip conditions for shelfice separately,
62 C (by default the same as no_slip_bottom, but
63 C really should be false when there is linear
64 C or quadratic drag)
65 C SHELFICElatentHeat :: latent heat of fusion (def: 334000 J/kg)
66 C SHELFICEwriteState :: enable output
67 C SHELFICEHeatCapacity_Cp :: heat capacity of ice shelf (def: 2000 J/K/kg)
68 C rhoShelfIce :: density of ice shelf (def: 917.0 kg/m^3)
69 C
70 C SHELFICE_dump_mnc :: use netcdf for snapshot output
71 C SHELFICE_tave_mnc :: use netcdf for time-averaged output
72 C SHELFICE_dumpFreq :: analoguous to dumpFreq (= default)
73 C SHELFICE_taveFreq :: analoguous to taveFreq (= default)
74 C
75 C-- Fields
76 C kTopC :: index of the top "wet cell" beneath the ice shelf (2D)
77 C K_icefront :: index of the bottommost ice front cell (2D)
78 C R_shelfIce :: shelfice topography [m]
79 C shelficeMassInit :: ice-shelf mass (per unit area) (kg/m^2)
80 C shelficeMass :: ice-shelf mass (per unit area) (kg/m^2)
81 C shelfIceMassDynTendency :: other mass balance tendency (kg/m^2/s)
82 C :: (e.g., from dynamics)
83 C shelficeLoadAnomaly :: pressure load anomaly of shelfice (Pa)
84 C shelficeHeatFlux :: upward heat flux (W/m^2)
85 C shelficeFreshWaterFlux :: upward fresh water flux (virt. salt flux)
86 C (kg/m^2/s)
87 C shelficeForcingT :: analogue of surfaceForcingT
88 C units are r_unit.Kelvin/s (=Kelvin.m/s if r=z)
89 C shelficeForcingS :: analogue of surfaceForcingS
90 C units are r_unit.psu/s (=psu.m/s if r=z)
91 C-----------------------------------------------------------------------
92 C \ev
93 CEOP
94
95 COMMON /SHELFICE_PARMS_I/ kTopC,
96 & SHELFICEselectDragQuadr, K_icefront
97 INTEGER kTopC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
98 INTEGER SHELFICEselectDragQuadr
99 INTEGER K_icefront (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
100
101
102 COMMON /SHELFICE_PARMS_R/
103 & SHELFICE_dumpFreq, SHELFICE_taveFreq,
104 & SHELFICEheatTransCoeff, SHELFICEsaltTransCoeff,
105 & rhoShelfice, SHELFICEkappa,
106 & SHELFICElatentHeat,
107 & SHELFICEheatCapacity_Cp,
108 & SHELFICEthetaSurface,
109 & SHELFICEsalinity,
110 & SHELFICEDragLinear, SHELFICEDragQuadratic,
111 & shiCdrag, shiZetaN, shiRc,
112 & shiPrandtl, shiSchmidt, shiKinVisc,
113 & iceFrontThetaHorizDiffusionLength,
114 & iceFrontThetaInterior
115
116 _RL SHELFICE_dumpFreq, SHELFICE_taveFreq
117 _RL SHELFICEheatTransCoeff
118 _RL SHELFICEsaltTransCoeff
119 _RL SHELFICElatentHeat
120 _RL SHELFICEheatCapacity_Cp
121 _RL rhoShelfice
122 _RL SHELFICEkappa
123 _RL SHELFICEDragLinear
124 _RL SHELFICEDragQuadratic
125 _RL SHELFICEthetaSurface
126 _RL SHELFICEsalinity
127 _RL shiCdrag, shiZetaN, shiRc
128 _RL shiPrandtl, shiSchmidt, shiKinVisc
129 _RL iceFrontThetaHorizDiffusionLength
130 _RL iceFrontThetaInterior
131
132 COMMON /SHELFICE_FIELDS_RL/
133 & shelficeMass, shelficeMassInit,
134 & shelficeLoadAnomaly,
135 & shelficeForcingT, shelficeForcingS,
136 & shelficeForcingTR,
137 & shiTransCoeffT, shiTransCoeffS,
138 & iceFrontForcingT, iceFrontForcingS,
139 & iceFrontForcingTR
140 _RL shelficeMass (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
141 _RL shelficeMassInit (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
142 _RL shelficeLoadAnomaly (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
143 _RL shelficeForcingT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
144 _RL shelficeForcingS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
145 _RL shelficeForcingTR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
146 #ifndef ALLOW_shiTransCoeff_3d
147 _RL shiTransCoeffT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
148 _RL shiTransCoeffS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
149 #else
150 _RL shiTransCoeffT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
151 _RL shiTransCoeffS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
152 #endif
153 _RL iceFrontForcingT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
154 _RL iceFrontForcingS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
155 _RL iceFrontForcingTR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
156
157 COMMON /SHELFICE_FIELDS_RS/
158 & R_shelfIce,
159 & shelficeHeatFlux,
160 & shelfIceFreshWaterFlux,
161 & shelfIceMassDynTendency,
162 & iceFrontHeatFlux, iceFrontFreshWaterFlux,
163 & SHIICFHeatFlux, SHIICFFreshWaterFlux
164
165 _RL R_shelfIce (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
166 _RL shelficeHeatFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
167 _RL shelficeFreshWaterFlux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
168 _RL SHIICFHeatFlux
169 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
170 _RL SHIICFFreshWaterFlux
171 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
172
173 _RL shelfIceMassDynTendency
174 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
175 _RL iceFrontHeatFlux
176 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr, nSx,nSy)
177 _RL iceFrontFreshWaterFlux
178 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr, nSx,nSy)
179
180 #ifdef ALLOW_SHIFWFLX_CONTROL
181 COMMON /SHELFICE_MASKS_CTRL/ maskSHI
182 _RS maskSHI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
183 #endif /* ALLOW_SHIFWFLX_CONTROL */
184
185 C ow - 06/29/2018
186 C ow - maskSHI above is not consistent with the spirit of gencost.
187 C ow - Use the following masks below instead.
188 C ow - mask2dSHIICF: 2d shelf-ice & ice-front mask:
189 C 1 for having shelf-ice and/or ice-front at one or more vertical levels
190 C and 0 otherwise.
191 C mask3dSHIICF: 3d shelf-ice & ice-front mask.
192 C mask2dSHI: 2d shelf-ice mask
193 C mask3dSHI: 3d shelf-ice mask
194 C mask2dICF: 2d ice-front mask: 1 for having ice-front at one or more vertical levels.
195 C mask3dICF: 3d ice-front mask
196 COMMON /SHELFICE_MASKS/ mask2dSHIICF, mask3dSHIICF,
197 & mask2dSHI, mask3dSHI, mask2dICF, mask3dICF
198 _RS mask2dSHIICF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
199 _RS mask3dSHIICF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
200 _RS mask2dSHI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
201 _RS mask3dSHI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
202 _RS mask2dICF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
203 _RS mask3dICF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
204
205 LOGICAL SHELFICEisOn
206 LOGICAL useISOMIPTD
207 LOGICAL SHELFICEconserve
208 LOGICAL SHELFICEboundaryLayer
209 LOGICAL no_slip_shelfice
210 LOGICAL SHELFICEwriteState
211 LOGICAL SHELFICE_dump_mdsio
212 LOGICAL SHELFICE_tave_mdsio
213 LOGICAL SHELFICE_dump_mnc
214 LOGICAL SHELFICE_tave_mnc
215 LOGICAL SHELFICEadvDiffHeatFlux
216 LOGICAL SHELFICEuseGammaFrict
217 LOGICAL SHELFICEMassStepping
218 LOGICAL SHELFICEDynMassOnly
219 COMMON /SHELFICE_PARMS_L/
220 & SHELFICEisOn,
221 & useISOMIPTD,
222 & SHELFICEconserve,
223 & SHELFICEboundaryLayer,
224 & no_slip_shelfice,
225 & SHELFICEwriteState,
226 & SHELFICE_dump_mdsio,
227 & SHELFICE_tave_mdsio,
228 & SHELFICE_dump_mnc,
229 & SHELFICE_tave_mnc,
230 & SHELFICEadvDiffHeatFlux,
231 & SHELFICEuseGammaFrict,
232 & SHELFICEMassStepping,
233 & SHELFICEDynMassOnly
234
235 CHARACTER*(MAX_LEN_FNAM) SHELFICEloadAnomalyFile
236 CHARACTER*(MAX_LEN_FNAM) SHELFICEmassFile
237 CHARACTER*(MAX_LEN_FNAM) SHELFICEtopoFile
238 CHARACTER*(MAX_LEN_FNAM) SHELFICEMassDynTendFile
239 CHARACTER*(MAX_LEN_FNAM) SHELFICETransCoeffTFile
240 COMMON /SHELFICE_PARM_C/
241 & SHELFICEloadAnomalyFile,
242 & SHELFICEmassFile,
243 & SHELFICEtopoFile,
244 & SHELFICEMassDynTendFile,
245 & SHELFICETransCoeffTFile
246
247 COMMON /ICEFRONT_FIELDS_RS/
248 & R_icefront,
249 & icefrontlength
250 _RS R_icefront (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
251 _RS icefrontlength (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
252
253 CHARACTER*(MAX_LEN_FNAM) ICEFRONTlengthFile
254 CHARACTER*(MAX_LEN_FNAM) ICEFRONTdepthFile
255 COMMON /ICEFRONT_PARM_C/
256 & ICEFRONTlengthFile,
257 & ICEFRONTdepthFile
258
259
260 #endif /* ALLOW_SHELFICE */

  ViewVC Help
Powered by ViewVC 1.1.22