1 |
dimitri |
1.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 */ |