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

Annotation 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 - (hide 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 dcarroll 1.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