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

Annotation 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.9 - (hide annotations) (download)
Fri Dec 15 20:06:21 2017 UTC (7 years, 6 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66o, checkpoint66n, checkpoint67a, checkpoint67b, checkpoint67d, HEAD
Changes since 1.8: +11 -9 lines
File MIME type: text/plain
get the update from pkg/shelfice

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

  ViewVC Help
Powered by ViewVC 1.1.22