3 |
|
|
4 |
#include "THSICE_OPTIONS.h" |
#include "THSICE_OPTIONS.h" |
5 |
|
|
6 |
|
CBOP |
7 |
|
C !ROUTINE: THSICE_READPARMS |
8 |
|
C !INTERFACE: |
9 |
SUBROUTINE THSICE_READPARMS( myThid ) |
SUBROUTINE THSICE_READPARMS( myThid ) |
10 |
C /==========================================================* |
|
11 |
C | SUBROUTINE THSICE_READPARMS |
C !DESCRIPTION: \bv |
12 |
|
C *==========================================================* |
13 |
|
C | S/R THSICE_READPARMS |
14 |
C | o Routine to initialize THSICE parameters and constants |
C | o Routine to initialize THSICE parameters and constants |
15 |
C |==========================================================* |
C *==========================================================* |
16 |
C | Initialize Th-Sea-ICE parameters, read in data.ice |
C | Initialize Th-Sea-ICE parameters, read in data.ice |
17 |
C \==========================================================* |
C *==========================================================* |
18 |
|
C \ev |
19 |
|
|
20 |
|
C !USES: |
21 |
IMPLICIT NONE |
IMPLICIT NONE |
22 |
|
|
23 |
C === Global variables === |
C === Global variables === |
26 |
#include "PARAMS.h" |
#include "PARAMS.h" |
27 |
#include "GRID.h" |
#include "GRID.h" |
28 |
#include "THSICE_PARAMS.h" |
#include "THSICE_PARAMS.h" |
|
c #include "THSICE.h" |
|
29 |
|
|
30 |
|
C !INPUT/OUTPUT PARAMETERS: |
31 |
C === Routine arguments === |
C === Routine arguments === |
32 |
INTEGER myThid |
INTEGER myThid |
33 |
|
CEOP |
34 |
|
|
35 |
#ifdef ALLOW_THSICE |
#ifdef ALLOW_THSICE |
36 |
|
|
37 |
C === Local variables === |
C === Local variables === |
38 |
C msgBuf - Informational/error meesage buffer |
C msgBuf - Informational/error message buffer |
39 |
C iUnit - Work variable for IO unit number |
C iUnit - Work variable for IO unit number |
40 |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
41 |
INTEGER iUnit |
INTEGER iUnit |
46 |
& cpice, cpwater, |
& cpice, cpwater, |
47 |
& kice, ksnow, |
& kice, ksnow, |
48 |
& transcoef, Lfresh, qsnow, |
& transcoef, Lfresh, qsnow, |
49 |
& albsnodry, albsnowet, albicemax, albicemin, halb, |
& albColdSnow, albWarmSnow, albOldSnow, hNewSnowAge, |
50 |
|
& albIceMax, albIceMin, hAlbIce, hAlbSnow, |
51 |
& i0, ksolar, |
& i0, ksolar, |
52 |
& saltice, S_winton, mu_Tf, |
& saltice, S_winton, mu_Tf, |
53 |
& Tf0kel, |
& Tf0kel, |
56 |
& frac_energy, hihig |
& frac_energy, hihig |
57 |
|
|
58 |
NAMELIST /THSICE_PARM01/ |
NAMELIST /THSICE_PARM01/ |
59 |
& startIceModel, |
& startIceModel, stepFwd_oceMxL, |
60 |
& thSIce_deltaT, |
& thSIce_deltaT, ocean_deltaT, tauRelax_MxL, |
61 |
|
& hMxL_default, sMxL_default, vMxL_default, |
62 |
& stressReduction, |
& stressReduction, |
63 |
& thSIce_taveFreq, thSIce_diagFreq, thSIce_monFreq |
& thSIce_taveFreq, thSIce_diagFreq, thSIce_monFreq |
64 |
|
|
85 |
transcoef=0.006 _d 0 |
transcoef=0.006 _d 0 |
86 |
Lfresh = 3.34 _d 5 |
Lfresh = 3.34 _d 5 |
87 |
qsnow = Lfresh |
qsnow = Lfresh |
88 |
albsnodry= 0.85 _d 0 |
albColdSnow= 0.85 _d 0 |
89 |
albsnowet= 0.75 _d 0 |
albWarmSnow= 0.70 _d 0 |
90 |
albicemax= 0.65 _d 0 |
albOldSnow = 0.55 _d 0 |
91 |
albicemin= 0.20 _d 0 |
albIceMax = 0.65 _d 0 |
92 |
halb = 0.5 _d 0 |
albIceMin = 0.20 _d 0 |
93 |
|
hAlbIce = 0.50 _d 0 |
94 |
|
hAlbSnow = 0.30 _d 0 |
95 |
|
hNewSnowAge= 2. _d -3 |
96 |
i0 = 0.3 _d 0 |
i0 = 0.3 _d 0 |
97 |
ksolar = 1.5 _d 0 |
ksolar = 1.5 _d 0 |
98 |
saltice = 4. _d 0 |
saltice = 4. _d 0 |
111 |
hihig = 2.5 _d 0 |
hihig = 2.5 _d 0 |
112 |
|
|
113 |
C-- Default values (parameters) |
C-- Default values (parameters) |
114 |
startIceModel = 0 |
stepFwd_oceMxL = .FALSE. |
115 |
|
startIceModel = 0 |
116 |
thSIce_deltaT = deltaTtracer |
thSIce_deltaT = deltaTtracer |
117 |
|
ocean_deltaT = deltaTtracer |
118 |
|
tauRelax_MxL = 0. _d 0 |
119 |
|
hMxL_default = 50. _d 0 |
120 |
|
sMxL_default = 35. _d 0 |
121 |
|
vMxL_default = 5. _d -2 |
122 |
stressReduction = 1. _d 0 |
stressReduction = 1. _d 0 |
123 |
thSIce_taveFreq = taveFreq |
thSIce_taveFreq = taveFreq |
124 |
thSIce_diagFreq = dumpFreq |
thSIce_diagFreq = dumpFreq |
158 |
WRITE(iUnit,*) 'ThSI: transcoef=',transcoef |
WRITE(iUnit,*) 'ThSI: transcoef=',transcoef |
159 |
WRITE(iUnit,*) 'ThSI: Lfresh =',Lfresh |
WRITE(iUnit,*) 'ThSI: Lfresh =',Lfresh |
160 |
WRITE(iUnit,*) 'ThSI: qsnow =',qsnow |
WRITE(iUnit,*) 'ThSI: qsnow =',qsnow |
161 |
WRITE(iUnit,*) 'ThSI: albsnodry=',albsnodry |
WRITE(iUnit,*) 'ThSI: albColdSnow=',albColdSnow |
162 |
WRITE(iUnit,*) 'ThSI: albsnowet=',albsnowet |
WRITE(iUnit,*) 'ThSI: albWarmSnow=',albWarmSnow |
163 |
WRITE(iUnit,*) 'ThSI: albicemax=',albicemax |
WRITE(iUnit,*) 'ThSI: albOldSnow =',albOldSnow |
164 |
WRITE(iUnit,*) 'ThSI: albicemin=',albicemin |
WRITE(iUnit,*) 'ThSI: hNewSnowAge=',hNewSnowAge |
165 |
WRITE(iUnit,*) 'ThSI: halb =',halb |
WRITE(iUnit,*) 'ThSI: albIceMax =',albIceMax |
166 |
|
WRITE(iUnit,*) 'ThSI: albIceMin =',albIceMin |
167 |
|
WRITE(iUnit,*) 'ThSI: hAlbIce =',hAlbIce |
168 |
|
WRITE(iUnit,*) 'ThSI: hAlbSnow =',hAlbSnow |
169 |
WRITE(iUnit,*) 'ThSI: i0 =',i0 |
WRITE(iUnit,*) 'ThSI: i0 =',i0 |
170 |
WRITE(iUnit,*) 'ThSI: ksolar =',ksolar |
WRITE(iUnit,*) 'ThSI: ksolar =',ksolar |
171 |
WRITE(iUnit,*) 'ThSI: saltice =',saltice |
WRITE(iUnit,*) 'ThSI: saltice =',saltice |
184 |
WRITE(iUnit,*) 'ThSI: frac_energy',frac_energy |
WRITE(iUnit,*) 'ThSI: frac_energy',frac_energy |
185 |
WRITE(iUnit,*) 'ThSI: hihig =',hihig |
WRITE(iUnit,*) 'ThSI: hihig =',hihig |
186 |
WRITE(iUnit,*) 'ThSI: stressReduction =',stressReduction |
WRITE(iUnit,*) 'ThSI: stressReduction =',stressReduction |
187 |
WRITE(iUnit,*) 'ThSI: thSIce_deltaT =',thSIce_deltaT |
WRITE(iUnit,*) 'ThSI: thSIce_deltaT =',thSIce_deltaT |
188 |
|
WRITE(iUnit,*) 'ThSI: ocean_deltaT =',ocean_deltaT |
189 |
|
WRITE(iUnit,*) 'ThSI: stepFwd_oceMxL=',stepFwd_oceMxL |
190 |
|
WRITE(iUnit,*) 'ThSI: tauRelax_MxL =',tauRelax_MxL |
191 |
|
WRITE(iUnit,*) 'ThSI: hMxL_default =',hMxL_default |
192 |
|
WRITE(iUnit,*) 'ThSI: sMxL_default =',sMxL_default |
193 |
|
WRITE(iUnit,*) 'ThSI: vMxL_default =',vMxL_default |
194 |
WRITE(iUnit,*) 'ThSI: thSIce_taveFreq=',thSIce_taveFreq |
WRITE(iUnit,*) 'ThSI: thSIce_taveFreq=',thSIce_taveFreq |
195 |
WRITE(iUnit,*) 'ThSI: thSIce_diagFreq=',thSIce_diagFreq |
WRITE(iUnit,*) 'ThSI: thSIce_diagFreq=',thSIce_diagFreq |
196 |
WRITE(iUnit,*) 'ThSI: thSIce_monFreq =',thSIce_monFreq |
WRITE(iUnit,*) 'ThSI: thSIce_monFreq =',thSIce_monFreq |