1 |
C $Header: $ |
2 |
C $Name: $ |
3 |
|
4 |
#ifdef ALLOW_ICEFRONT |
5 |
|
6 |
CBOP |
7 |
C !ROUTINE: ICEFRONT.h |
8 |
|
9 |
C !DESCRIPTION: \bv |
10 |
C /==========================================================\ |
11 |
C | ICEFRONT.h | |
12 |
C | o Basic header thermodnynamic shelf ice package. | |
13 |
C | Contains all ICEFRONT field declarations. | |
14 |
C \==========================================================/ |
15 |
|
16 |
C----------------------------------------------------------------------- |
17 |
C |
18 |
C-- Constants that can be set in data.icefront |
19 |
C ICEFRONTtopoFile - File containing the topography of the |
20 |
C icefront draught (unit=m) |
21 |
C ICEFRONTloadAnomalyFile - name of icefront load anomaly file |
22 |
C ICEFRONTDragLinear - linear drag at bottom icefront (1/s) |
23 |
C ICEFRONTDragQuadratic - quadratic drag at bottom icefront (1/m) |
24 |
C ICEFRONTheatTransCoeff - heat transfer coefficient that determines |
25 |
C heat flux into icefront (m/s) |
26 |
C ICEFRONTsaltTransCoeff - salinity transfer coefficient that determines |
27 |
C salt flux into icefront (m/s) |
28 |
C ICEFRONTlatentHeat - latent heat of fusion (J/kg) |
29 |
C useISOMIPTD - use simple ISOMIP thermodynamics |
30 |
C ICEFRONTconserve - use conservative form of H&O-thermodynamics |
31 |
C following Jenkins et al. (2001, JPO) |
32 |
C ICEFRONTboundaryLayer - turn on vertical merging of cells to for a |
33 |
C boundary layer of drF thickness |
34 |
C no_slip_icefront - set slip conditions for icefront separately, |
35 |
C (by default the same as no_slip_bottom) |
36 |
C ICEFRONTwriteState - enable output |
37 |
C ICEFRONT_dump_mnc - use netcdf for snapshot output |
38 |
C ICEFRONT_tave_mnc - use netcdf for time-averaged output |
39 |
C ICEFRONT_dumpFreq - analoguous to dumpFreq (= default) |
40 |
C ICEFRONT_taveFreq - analoguous to taveFreq (= default) |
41 |
C |
42 |
C-- Fields |
43 |
C ktopC - index of the top "wet cell" (2D) |
44 |
C R_icefront - icefront topography [m] |
45 |
C icefrontLoadAnomaly - pressure load anomaly of icefront [Pa] |
46 |
C icefrontHeatFlux - upward heat flux [W/m^2] |
47 |
C icefrontFreshWaterFlux - upward fresh water flux (virt. salt flux) [m/s] |
48 |
C icefrontForcingT - analogue of surfaceForcingT |
49 |
C icefrontForcingS - analogue of surfaceForcingS |
50 |
C----------------------------------------------------------------------- |
51 |
C \ev |
52 |
CEOP |
53 |
|
54 |
COMMON /ICEFRONT_PARMS_I/ kTopC |
55 |
INTEGER kTopC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
56 |
|
57 |
COMMON /ICEFRONT_PARMS_R/ |
58 |
& ICEFRONT_dumpFreq, ICEFRONT_taveFreq, |
59 |
& ICEFRONTheatTransCoeff, ICEFRONTsaltTransCoeff, |
60 |
& rhoIcefront, ICEFRONTkappa, |
61 |
& ICEFRONTlatentHeat, recip_ICEFRONTlatentHeat, |
62 |
& ICEFRONTheatCapacity_Cp, |
63 |
& ICEFRONTthetaSurface, |
64 |
& ICEFRONTDragLinear, ICEFRONTDragQuadratic |
65 |
_RL ICEFRONT_dumpFreq, ICEFRONT_taveFreq |
66 |
_RL ICEFRONTheatTransCoeff |
67 |
_RL ICEFRONTsaltTransCoeff |
68 |
_RL ICEFRONTlatentHeat |
69 |
_RL ICEFRONTheatCapacity_Cp |
70 |
_RL rhoIcefront |
71 |
_RL ICEFRONTkappa |
72 |
_RL recip_ICEFRONTlatentHeat |
73 |
_RL ICEFRONTDragLinear |
74 |
_RL ICEFRONTDragQuadratic |
75 |
_RL ICEFRONTthetaSurface |
76 |
|
77 |
COMMON /ICEFRONT_FIELDS_RL/ |
78 |
& icefrontForcingT, |
79 |
& icefrontForcingS |
80 |
_RL icefrontForcingT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
81 |
_RL icefrontForcingS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
82 |
|
83 |
COMMON /ICEFRONT_FIELDS_RS/ |
84 |
& R_icefront, |
85 |
& icefrontLoadAnomaly, |
86 |
& icefrontHeatFlux, |
87 |
& icefrontFreshWaterFlux |
88 |
_RS R_icefront (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
89 |
_RS icefrontLoadAnomaly (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
90 |
_RS icefrontHeatFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
91 |
_RS icefrontFreshWaterFlux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
92 |
|
93 |
LOGICAL ICEFRONTisOn |
94 |
LOGICAL useISOMIPTD |
95 |
LOGICAL ICEFRONTconserve |
96 |
LOGICAL ICEFRONTboundaryLayer |
97 |
LOGICAL no_slip_icefront |
98 |
LOGICAL ICEFRONTwriteState |
99 |
LOGICAL ICEFRONT_dump_mdsio |
100 |
LOGICAL ICEFRONT_tave_mdsio |
101 |
LOGICAL ICEFRONT_dump_mnc |
102 |
LOGICAL ICEFRONT_tave_mnc |
103 |
COMMON /ICEFRONT_PARMS_L/ |
104 |
& ICEFRONTisOn, |
105 |
& useISOMIPTD, |
106 |
& ICEFRONTconserve, |
107 |
& ICEFRONTboundaryLayer, |
108 |
& no_slip_icefront, |
109 |
& ICEFRONTwriteState, |
110 |
& ICEFRONT_dump_mdsio, |
111 |
& ICEFRONT_tave_mdsio, |
112 |
& ICEFRONT_dump_mnc, |
113 |
& ICEFRONT_tave_mnc |
114 |
|
115 |
CHARACTER*(MAX_LEN_FNAM) ICEFRONTloadAnomalyFile |
116 |
CHARACTER*(MAX_LEN_FNAM) ICEFRONTtopoFile |
117 |
COMMON /ICEFRONT_PARM_C/ |
118 |
& ICEFRONTloadAnomalyFile, |
119 |
& ICEFRONTtopoFile |
120 |
|
121 |
#endif /* ALLOW_ICEFRONT */ |