/[MITgcm]/MITgcm_contrib/ksnow/press_release/code_expt/SHELFICE.h
ViewVC logotype

Annotation of /MITgcm_contrib/ksnow/press_release/code_expt/SHELFICE.h

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


Revision 1.1 - (hide annotations) (download)
Fri Dec 16 15:25:29 2016 UTC (8 years, 7 months ago) by ksnow
Branch: MAIN
File MIME type: text/plain
Adding shelfice_remeshing files for experiment

1 ksnow 1.1 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     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 SHELFICEmassForcingFile :: name of time-dependent shelfice Mass file
23     C SHELFICEloadAnomalyFile :: name of shelfice load anomaly file
24     C SHELFICEMassDynTendFile :: file name for other mass tendency
25     C (e.g. dynamics)
26     C useISOMIPTD :: use simple ISOMIP thermodynamics, def: F
27     C SHELFICEconserve :: use conservative form of H&O-thermodynamics
28     C following Jenkins et al. (2001, JPO), def: F
29     C SHELFICEMassStepping :: flag to step forward ice shelf mass/thickness
30     C accounts for melting/freezing & dynamics
31     C (from file or from coupling), def: F
32     C SHELFICEDynMassOnly :: step ice mass ONLY with Shelficemassdyntendency
33     C (not melting/freezing) def: F
34     C SHELFICEboundaryLayer :: turn on vertical merging of cells to for a
35     C boundary layer of drF thickness, def: F
36     C SHELFICErealFWflux :: ensure vert advective flux at bdry uses top cell
37     C value rather than "boundary layer" value F
38     C SHELFICEadvDiffHeatFlux :: use advective-diffusive heat flux into the
39     C ice shelf instead of default diffusive heat
40     C flux, see Holland and Jenkins (1999),
41     C eq.21,22,26,31; def: F
42     C SHELFICEheatTransCoeff :: constant heat transfer coefficient that
43     C determines heat flux into shelfice
44     C (def: 1e-4 m/s)
45     C SHELFICEsaltTransCoeff :: constant salinity transfer coefficient that
46     C determines salt flux into shelfice
47     C (def: 5.05e-3 * 1e-4 m/s)
48     C -----------------------------------------------------------------------
49     C SHELFICEuseGammaFrict :: use velocity dependent exchange coefficients,
50     C see Holland and Jenkins (1999), eq.11-18,
51     C with the following parameters (def: F):
52     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     C SHELFICERemeshFrequency :: Frequency that size of etaN is checked to
61     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 conserve_ssh :: KS16. Use the obcs to conserve net open
82     C ocean eta to 0m
83     C useshelficemassforcing :: flag to update shelficemass from file
84     C shelfice_forcing_period :: freq of update of mass from file
85     C
86     C-- Fields
87     C ktopC :: index of the top "wet cell" (2D)
88     C R_shelfIce :: shelfice topography [m]
89     C shelficeMassInit :: ice-shelf mass (per unit area) (kg/m^2)
90     C shelficeMass :: ice-shelf mass (per unit area) (kg/m^2)
91     C shelfIceMassDynTendency :: other mass balance tendency (kg/m^2/s)
92     C :: (e.g., from dynamics)
93     C shelficeLoadAnomaly :: pressure load anomaly of shelfice (Pa)
94     C shelficeHeatFlux :: upward heat flux (W/m^2)
95     C shelficeFreshWaterFlux :: upward fresh water flux (virt. salt flux)
96     C (kg/m^2/s)
97     C shelficeForcingT :: analogue of surfaceForcingT
98     C units are r_unit.Kelvin/s (=Kelvin.m/s if r=z)
99     C shelficeForcingS :: analogue of surfaceForcingS
100     C units are r_unit.psu/s (=psu.m/s if r=z)
101     C
102     C
103     C-----------------------------------------------------------------------
104     C \ev
105     CEOP
106    
107     COMMON /SHELFICE_PARMS_I/ kTopC,
108     & SHELFICEselectDragQuadr,
109     & shelfice_etarestore_spongewidth
110     INTEGER kTopC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
111     INTEGER SHELFICEselectDragQuadr
112     INTEGER shelfice_etarestore_spongewidth
113    
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     & SHELFICEMergeThreshold,
127     & shelficeEtaRelax,
128     & shelfice_forcing_period
129     _RL SHELFICE_dumpFreq, SHELFICE_taveFreq
130     _RL SHELFICEheatTransCoeff
131     _RL SHELFICEsaltTransCoeff
132     _RL SHELFICElatentHeat
133     _RL SHELFICEheatCapacity_Cp
134     _RL rhoShelfice
135     _RL SHELFICEkappa
136     _RL SHELFICEDragLinear
137     _RL SHELFICEDragQuadratic
138     _RL SHELFICEMergeThreshold
139     _RL SHELFICEthetaSurface, SHELFICESplitThreshold
140     _RL shiCdrag, shiZetaN, shiRc
141     _RL SHELFICERemeshFrequency
142     _RL shiPrandtl, shiSchmidt, shiKinVisc
143     _RL SHELFICEGroundW, SHELFICEGroundC, shelficeEtaRelax
144     _RL shelfice_forcing_period
145    
146     COMMON /SHELFICE_FIELDS_RL/
147     & shelficeMass, shelficeMassInit,
148     & shelficeLoadAnomaly,
149     & shelficeForcingT, shelficeForcingS,
150     & shiTransCoeffT, shiTransCoeffS, EFFMASS
151    
152     _RL shelficeMass (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
153     _RL shelficeMassInit (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
154     _RL shelficeLoadAnomaly (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
155     _RL shelficeForcingT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
156     _RL shelficeForcingS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
157     _RL shiTransCoeffT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
158     _RL shiTransCoeffS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
159     _RL EFFMASS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
160     _RL SeaLevelRestore (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
161    
162     COMMON /SHELFICE_FIELDS_RS/
163     & R_shelfIce, R_MWCT,
164     & shelficeHeatFlux,
165     & shelfIceFreshWaterFlux,
166     & shelfIceMassDynTendency
167     #ifdef ALLOW_SHELFICE_GROUNDED_ICE
168     & , GrdFactor
169     #endif
170    
171     _RS R_shelfIce (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
172     _RS R_MWCT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
173     _RS shelficeHeatFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
174     _RS shelficeFreshWaterFlux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
175     _RS
176     & shelfIceMassDynTendency(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
177     #ifdef ALLOW_SHELFICE_GROUNDED_ICE
178     _RS GrdFactor (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
179     #endif
180    
181     #ifdef ALLOW_SHIFWFLX_CONTROL
182     COMMON /SHELFICE_MASKS_CTRL/ maskSHI
183     _RS maskSHI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
184     #endif /* ALLOW_SHIFWFLX_CONTROL */
185    
186     LOGICAL SHELFICEisOn
187     LOGICAL useISOMIPTD
188     LOGICAL SHELFICEconserve
189     LOGICAL SHELFICEboundaryLayer
190     LOGICAL SHELFICEthickBoundaryLayer
191     LOGICAL SHELFICErealFWflux
192     LOGICAL no_slip_shelfice
193     LOGICAL SHELFICEwriteState
194     LOGICAL SHELFICE_dump_mdsio
195     LOGICAL SHELFICE_tave_mdsio
196     LOGICAL SHELFICE_dump_mnc
197     LOGICAL SHELFICE_tave_mnc
198     LOGICAL SHELFICEadvDiffHeatFlux
199     LOGICAL SHELFICEuseGammaFrict
200     LOGICAL SHELFICEMassStepping
201     LOGICAL SHELFICEDynMassOnly
202     LOGICAL SHELFICEEtaSponge
203     LOGICAL SHELFICE_dig_ice
204     LOGICAL SHELFICE_massmin_truedens
205     LOGICAL SHELFICEusemassforcing
206     C KS16 put var here
207     LOGICAL conserve_ssh
208     COMMON /SHELFICE_PARMS_L/
209     & SHELFICEisOn,
210     & useISOMIPTD,
211     & SHELFICEconserve,
212     & SHELFICErealFWflux,
213     & SHELFICEboundaryLayer,
214     & SHELFICEthickBoundaryLayer,
215     & no_slip_shelfice,
216     & SHELFICEwriteState,
217     & SHELFICE_dump_mdsio,
218     & SHELFICE_tave_mdsio,
219     & SHELFICE_dump_mnc,
220     & SHELFICE_tave_mnc,
221     & SHELFICEadvDiffHeatFlux,
222     & SHELFICEuseGammaFrict,
223     & SHELFICEMassStepping,
224     & SHELFICEDynMassOnly,
225     & SHELFICEEtaSponge,
226     & SHELFICE_dig_ice,
227     & SHELFICE_massmin_truedens,
228     & SHELFICEusemassforcing,
229     C KS16 and here;
230     & conserve_ssh
231    
232     CHARACTER*(MAX_LEN_FNAM) SHELFICEloadAnomalyFile
233     CHARACTER*(MAX_LEN_FNAM) SHELFICEmassFile
234     CHARACTER*(MAX_LEN_FNAM) SHELFICEGroundTopoFile
235     CHARACTER*(MAX_LEN_FNAM) SHELFICEtopoFile
236     CHARACTER*(MAX_LEN_FNAM) SHELFICEMassDynTendFile
237     CHARACTER*(MAX_LEN_FNAM) SHELFICEGroundInitFile
238     CHARACTER*(MAX_LEN_FNAM) SHELFICETransCoeffTFile
239     CHARACTER*(MAX_LEN_FNAM) SHELFICEmassForcingFile
240    
241     COMMON /SHELFICE_PARM_C/
242     & SHELFICEloadAnomalyFile,
243     & SHELFICEmassFile,
244     & SHELFICEtopoFile,
245     & SHELFICEGroundTopoFile,
246     & SHELFICEMassDynTendFile,
247     & SHELFICEGroundInitFile,
248     & SHELFICETransCoeffTFile,
249     & SHELFICEmassForcingFile
250    
251     COMMON /SHELFICE_TIMEDEP_FORCE/
252     & SHELFICEmass1,
253     & SHELFICEmass0
254    
255     _RS SHELFICEmass1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
256     _RS SHELFICEmass0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
257    
258    
259     #endif /* ALLOW_SHELFICE */

  ViewVC Help
Powered by ViewVC 1.1.22