/[MITgcm]/MITgcm_contrib/verification_other/shelfice_remeshing/code/SHELFICE.h
ViewVC logotype

Contents of /MITgcm_contrib/verification_other/shelfice_remeshing/code/SHELFICE.h

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


Revision 1.8 - (show annotations) (download)
Wed Jul 6 18:03:40 2016 UTC (9 years ago) by dgoldberg
Branch: MAIN
CVS Tags: checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65y
Changes since 1.7: +3 -1 lines
File MIME type: text/plain
new files for vertical remeshing test only

1 C $Header: /u/gcmpack/MITgcm_contrib/verification_other/shelfice_remeshing/code/SHELFICE.h,v 1.7 2016/05/05 18:16:04 dgoldberg 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 SHELFICErealFWflux :: ensure vert advective flux at bdry uses top cell
36 C value rather than "boundary layer" value F
37 C SHELFICEadvDiffHeatFlux :: use advective-diffusive heat flux into the
38 C ice shelf instead of default diffusive heat
39 C flux, see Holland and Jenkins (1999),
40 C eq.21,22,26,31; def: F
41 C SHELFICEheatTransCoeff :: constant heat transfer coefficient that
42 C determines heat flux into shelfice
43 C (def: 1e-4 m/s)
44 C SHELFICEsaltTransCoeff :: constant salinity transfer coefficient that
45 C determines salt flux into shelfice
46 C (def: 5.05e-3 * 1e-4 m/s)
47 C -----------------------------------------------------------------------
48 C SHELFICEuseGammaFrict :: use velocity dependent exchange coefficients,
49 C see Holland and Jenkins (1999), eq.11-18,
50 C with the following parameters (def: F):
51 C shiCdrag :: quadratic drag coefficient to compute uStar
52 C (def: 0.0015)
53 C shiZetaN :: ??? (def: 0.052)
54 C shiRc :: ??? (not used, def: 0.2)
55 C shiPrandtl, shiSchmidt :: constant Prandtl (13.8) and Schmidt (2432.0)
56 C numbers used to compute gammaTurb
57 C shiKinVisc :: constant kinetic viscosity used to compute
58 C gammaTurb (def: 1.95e-5)
59 C SHELFICERemeshFrequency :: Frequency that size of etaN is checked to
60 C trigger remesh
61 C SHELFICESplitThreshold :: Max size of etaN allowed before a remesh
62 C SHELFICEMergeThreshold :: Min size of etaN allowed before a remesh
63 C -----------------------------------------------------------------------
64 C SHELFICEDragLinear :: linear drag at bottom shelfice (1/s)
65 C SHELFICEDragQuadratic :: quadratic drag at bottom shelfice (default
66 C = shiCdrag or bottomDragQuadratic)
67 C no_slip_shelfice :: set slip conditions for shelfice separately,
68 C (by default the same as no_slip_bottom, but
69 C really should be false when there is linear
70 C or quadratic drag)
71 C SHELFICElatentHeat :: latent heat of fusion (def: 334000 J/kg)
72 C SHELFICEwriteState :: enable output
73 C SHELFICEHeatCapacity_Cp :: heat capacity of ice shelf (def: 2000 J/K/kg)
74 C rhoShelfIce :: density of ice shelf (def: 917.0 kg/m^3)
75 C
76 C SHELFICE_dump_mnc :: use netcdf for snapshot output
77 C SHELFICE_tave_mnc :: use netcdf for time-averaged output
78 C SHELFICE_dumpFreq :: analoguous to dumpFreq (= default)
79 C SHELFICE_taveFreq :: analoguous to taveFreq (= default)
80 C
81 C-- Fields
82 C ktopC :: index of the top "wet cell" (2D)
83 C R_shelfIce :: shelfice topography [m]
84 C shelficeMassInit :: ice-shelf mass (per unit area) (kg/m^2)
85 C shelficeMass :: ice-shelf mass (per unit area) (kg/m^2)
86 C shelfIceMassDynTendency :: other mass balance tendency (kg/m^2/s)
87 C :: (e.g., from dynamics)
88 C shelficeLoadAnomaly :: pressure load anomaly of shelfice (Pa)
89 C shelficeHeatFlux :: upward heat flux (W/m^2)
90 C shelficeFreshWaterFlux :: upward fresh water flux (virt. salt flux)
91 C (kg/m^2/s)
92 C shelficeForcingT :: analogue of surfaceForcingT
93 C units are r_unit.Kelvin/s (=Kelvin.m/s if r=z)
94 C shelficeForcingS :: analogue of surfaceForcingS
95 C units are r_unit.psu/s (=psu.m/s if r=z)
96 C conserve_ssh :: KS16. Use the obcs to conserve net open
97 C ocean eta to 0m
98 C-----------------------------------------------------------------------
99 C \ev
100 CEOP
101
102 COMMON /SHELFICE_PARMS_I/ kTopC,
103 & SHELFICEselectDragQuadr,
104 & shelfice_etarestore_spongewidth
105 INTEGER kTopC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
106 INTEGER SHELFICEselectDragQuadr
107 INTEGER shelfice_etarestore_spongewidth
108
109 COMMON /SHELFICE_PARMS_R/
110 & SHELFICE_dumpFreq, SHELFICE_taveFreq,
111 & SHELFICEheatTransCoeff, SHELFICEsaltTransCoeff,
112 & rhoShelfice, SHELFICEkappa,
113 & SHELFICElatentHeat,
114 & SHELFICEheatCapacity_Cp,
115 & SHELFICEthetaSurface,
116 & SHELFICEDragLinear, SHELFICEDragQuadratic,
117 & shiCdrag, shiZetaN, shiRc,
118 & shiPrandtl, shiSchmidt, shiKinVisc,
119 & SHELFICERemeshFrequency,
120 & SHELFICESplitThreshold,
121 & SHELFICEMergeThreshold,
122 & shelficeEtaRelax
123 _RL SHELFICE_dumpFreq, SHELFICE_taveFreq
124 _RL SHELFICEheatTransCoeff
125 _RL SHELFICEsaltTransCoeff
126 _RL SHELFICElatentHeat
127 _RL SHELFICEheatCapacity_Cp
128 _RL rhoShelfice
129 _RL SHELFICEkappa
130 _RL SHELFICEDragLinear
131 _RL SHELFICEDragQuadratic
132 _RL SHELFICEMergeThreshold
133 _RL SHELFICEthetaSurface, SHELFICESplitThreshold
134 _RL shiCdrag, shiZetaN, shiRc
135 _RL SHELFICERemeshFrequency
136 _RL shiPrandtl, shiSchmidt, shiKinVisc
137 _RL SHELFICEGroundW, SHELFICEGroundC, shelficeEtaRelax
138 COMMON /SHELFICE_FIELDS_RL/
139 & shelficeMass, shelficeMassInit,
140 & shelficeLoadAnomaly,
141 & shelficeForcingT, shelficeForcingS,
142 & shiTransCoeffT, shiTransCoeffS, EFFMASS
143 _RL shelficeMass (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
144 _RL shelficeMassInit (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
145 _RL shelficeLoadAnomaly (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
146 _RL shelficeForcingT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
147 _RL shelficeForcingS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
148 _RL shiTransCoeffT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
149 _RL shiTransCoeffS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
150 _RL EFFMASS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
151 _RL SeaLevelRestore (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
152
153 COMMON /SHELFICE_FIELDS_RS/
154 & R_shelfIce, R_MWCT,
155 & shelficeHeatFlux,
156 & shelfIceFreshWaterFlux,
157 & shelfIceMassDynTendency
158 _RS R_shelfIce (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
159 _RS R_MWCT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
160 _RS shelficeHeatFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
161 _RS shelficeFreshWaterFlux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
162 _RS
163 & shelfIceMassDynTendency(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
164
165 #ifdef ALLOW_SHIFWFLX_CONTROL
166 COMMON /SHELFICE_MASKS_CTRL/ maskSHI
167 _RS maskSHI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
168 #endif /* ALLOW_SHIFWFLX_CONTROL */
169
170 LOGICAL SHELFICEisOn
171 LOGICAL useISOMIPTD
172 LOGICAL SHELFICEconserve
173 LOGICAL SHELFICEboundaryLayer
174 LOGICAL SHELFICEthickBoundaryLayer
175 LOGICAL SHELFICErealFWflux
176 LOGICAL no_slip_shelfice
177 LOGICAL SHELFICEwriteState
178 LOGICAL SHELFICE_dump_mdsio
179 LOGICAL SHELFICE_tave_mdsio
180 LOGICAL SHELFICE_dump_mnc
181 LOGICAL SHELFICE_tave_mnc
182 LOGICAL SHELFICEadvDiffHeatFlux
183 LOGICAL SHELFICEuseGammaFrict
184 LOGICAL SHELFICEMassStepping
185 LOGICAL SHELFICEDynMassOnly
186 LOGICAL SHELFICEEtaSponge
187 LOGICAL SHELFICE_dig_ice
188 LOGICAL SHELFICE_massmin_truedens
189 C KS16 put var here
190 LOGICAL conserve_ssh
191 COMMON /SHELFICE_PARMS_L/
192 & SHELFICEisOn,
193 & useISOMIPTD,
194 & SHELFICEconserve,
195 & SHELFICErealFWflux,
196 & SHELFICEboundaryLayer,
197 & SHELFICEthickBoundaryLayer,
198 & no_slip_shelfice,
199 & SHELFICEwriteState,
200 & SHELFICE_dump_mdsio,
201 & SHELFICE_tave_mdsio,
202 & SHELFICE_dump_mnc,
203 & SHELFICE_tave_mnc,
204 & SHELFICEadvDiffHeatFlux,
205 & SHELFICEuseGammaFrict,
206 & SHELFICEMassStepping,
207 & SHELFICEDynMassOnly,
208 & SHELFICEEtaSponge,
209 & SHELFICE_dig_ice,
210 & SHELFICE_massmin_truedens,
211 C KS16 and here;
212 & conserve_ssh
213
214 CHARACTER*(MAX_LEN_FNAM) SHELFICEloadAnomalyFile
215 CHARACTER*(MAX_LEN_FNAM) SHELFICEmassFile
216 CHARACTER*(MAX_LEN_FNAM) SHELFICEGroundTopoFile
217 CHARACTER*(MAX_LEN_FNAM) SHELFICEtopoFile
218 CHARACTER*(MAX_LEN_FNAM) SHELFICEMassDynTendFile
219 CHARACTER*(MAX_LEN_FNAM) SHELFICEGroundInitFile
220 CHARACTER*(MAX_LEN_FNAM) SHELFICETransCoeffTFile
221
222
223 COMMON /SHELFICE_PARM_C/
224 & SHELFICEloadAnomalyFile,
225 & SHELFICEmassFile,
226 & SHELFICEtopoFile,
227 & SHELFICEGroundTopoFile,
228 & SHELFICEMassDynTendFile,
229 & SHELFICEGroundInitFile,
230 & SHELFICETransCoeffTFile
231
232 #endif /* ALLOW_SHELFICE */

  ViewVC Help
Powered by ViewVC 1.1.22