/[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.4 - (hide annotations) (download)
Mon Jan 25 14:07:12 2016 UTC (9 years, 5 months ago) by dgoldberg
Branch: MAIN
Changes since 1.3: +10 -5 lines
File MIME type: text/plain
mod files -- effective mass of ice shelf and SL restore

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

  ViewVC Help
Powered by ViewVC 1.1.22