29 |
#ifdef ALLOW_MNC |
#ifdef ALLOW_MNC |
30 |
#include "MNC_PARAMS.h" |
#include "MNC_PARAMS.h" |
31 |
#endif |
#endif |
32 |
|
#ifdef ALLOW_COST |
33 |
|
#include "THSICE_COST.h" |
34 |
|
#endif |
35 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
36 |
C === Routine arguments === |
C === Routine arguments === |
37 |
C myThid :: My Thread Id. number |
C myThid :: My Thread Id. number |
44 |
C msgBuf :: Informational/error message buffer |
C msgBuf :: Informational/error message buffer |
45 |
C iUnit :: Work variable for IO unit number |
C iUnit :: Work variable for IO unit number |
46 |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
47 |
|
CHARACTER*(20) fmtR, fmtI, fmtL, fmtC |
48 |
INTEGER iUnit |
INTEGER iUnit |
49 |
|
|
50 |
C-- Th-Sea-ICE parameter |
C-- Th-Sea-ICE parameter |
51 |
NAMELIST /THSICE_CONST/ |
NAMELIST /THSICE_CONST/ |
52 |
& rhos, rhoi, rhosw, rhofw, |
& rhos, rhoi, rhosw, rhofw, |
53 |
& cpice, cpwater, |
& cpIce, cpWater, |
54 |
& kice, ksnow, |
& kIce, kSnow, |
55 |
& transcoef, Lfresh, qsnow, |
& bMeltCoef, Lfresh, qsnow, |
56 |
& albColdSnow, albWarmSnow, tempSnowAlb, |
& albColdSnow, albWarmSnow, tempSnowAlb, |
57 |
& albOldSnow, hNewSnowAge, snowAgTime, |
& albOldSnow, hNewSnowAge, snowAgTime, |
58 |
& albIceMax, albIceMin, hAlbIce, hAlbSnow, |
& albIceMax, albIceMin, hAlbIce, hAlbSnow, |
59 |
& i0, ksolar, |
& i0swFrac, ksolar, dhSnowLin, |
60 |
& saltice, S_winton, mu_Tf, |
& saltIce, S_winton, mu_Tf, |
61 |
& Tf0kel, |
& Tf0kel, Terrmax, nitMaxTsf, |
62 |
& himin, Terrmax, nitMaxTsf, hiMax, hsMax, |
& hIceMin, hiMax, hsMax, iceMaskMax, iceMaskMin, |
63 |
& iceMaskmax, iceMaskmin, himin0, |
& fracEnMelt, fracEnFreez, hThinIce, hThickIce, hNewIceMax |
|
& frac_energy, hihig |
|
64 |
|
|
65 |
NAMELIST /THSICE_PARM01/ |
NAMELIST /THSICE_PARM01/ |
66 |
& startIceModel, stepFwd_oceMxL, |
& startIceModel, stepFwd_oceMxL, thSIce_calc_albNIR, |
67 |
& thSIce_deltaT, ocean_deltaT, tauRelax_MxL, |
& thSIce_skipThermo, thSIce_deltaT, thSIce_dtTemp, |
68 |
|
& ocean_deltaT, tauRelax_MxL, tauRelax_MxL_salt, |
69 |
& hMxL_default, sMxL_default, vMxL_default, |
& hMxL_default, sMxL_default, vMxL_default, |
70 |
& thSIce_diffK, thSIceAdvScheme, stressReduction, |
& thSIce_diffK, thSIceAdvScheme, stressReduction, |
71 |
|
& thSIceBalanceAtmFW, |
72 |
& thSIce_taveFreq, thSIce_diagFreq, thSIce_monFreq, |
& thSIce_taveFreq, thSIce_diagFreq, thSIce_monFreq, |
73 |
& thSIce_tave_mnc, thSIce_snapshot_mnc, thSIce_mon_mnc, |
& thSIce_tave_mnc, thSIce_snapshot_mnc, thSIce_mon_mnc, |
74 |
& thSIce_pickup_read_mnc, thSIce_pickup_write_mnc, |
& thSIce_pickup_read_mnc, thSIce_pickup_write_mnc, |
76 |
& thSIceSnowH_InitFile, thSIceSnowA_InitFile, |
& thSIceSnowH_InitFile, thSIceSnowA_InitFile, |
77 |
& thSIceEnthp_InitFile, thSIceTsurf_InitFile |
& thSIceEnthp_InitFile, thSIceTsurf_InitFile |
78 |
|
|
79 |
|
#ifdef ALLOW_COST |
80 |
|
NAMELIST /THSICE_COST/ |
81 |
|
& mult_thsice, thsice_cost_ice_flag |
82 |
|
#endif |
83 |
|
|
84 |
_BEGIN_MASTER(myThid) |
_BEGIN_MASTER(myThid) |
85 |
|
|
86 |
WRITE(msgBuf,'(A)') ' THSICE_READPARMS: opening data.ice' |
WRITE(msgBuf,'(A)') ' THSICE_READPARMS: opening data.ice' |
97 |
rhoi = 900. _d 0 |
rhoi = 900. _d 0 |
98 |
rhosw = rhoConst |
rhosw = rhoConst |
99 |
rhofw = rhoConstFresh |
rhofw = rhoConstFresh |
100 |
cpice = 2106. _d 0 |
cpIce = 2106. _d 0 |
101 |
cpwater = HeatCapacity_Cp |
cpWater = HeatCapacity_Cp |
102 |
kice = 2.03 _d 0 |
kIce = 2.03 _d 0 |
103 |
ksnow = 0.30 _d 0 |
kSnow = 0.30 _d 0 |
104 |
transcoef=0.006 _d 0 |
bMeltCoef=0.006 _d 0 |
105 |
Lfresh = 3.34 _d 5 |
Lfresh = 3.34 _d 5 |
106 |
qsnow = Lfresh |
qsnow = Lfresh |
107 |
albColdSnow= 0.85 _d 0 |
albColdSnow= 0.85 _d 0 |
114 |
hAlbSnow = 0.30 _d 0 |
hAlbSnow = 0.30 _d 0 |
115 |
hNewSnowAge= 2. _d -3 |
hNewSnowAge= 2. _d -3 |
116 |
snowAgTime = 50. _d 0 * 86400. _d 0 |
snowAgTime = 50. _d 0 * 86400. _d 0 |
117 |
i0 = 0.3 _d 0 |
i0swFrac = 0.3 _d 0 |
118 |
ksolar = 1.5 _d 0 |
ksolar = 1.5 _d 0 |
119 |
saltice = 4. _d 0 |
dhSnowLin= 0. _d 0 |
120 |
|
saltIce = 4. _d 0 |
121 |
S_winton = 1. _d 0 |
S_winton = 1. _d 0 |
122 |
mu_Tf = 0.054 _d 0 |
mu_Tf = 0.054 _d 0 |
123 |
Tf0kel = celsius2K |
Tf0kel = celsius2K |
|
himin = 0.01 _d 0 |
|
124 |
Terrmax = 5.0 _d -1 |
Terrmax = 5.0 _d -1 |
125 |
nitMaxTsf= 20 |
nitMaxTsf= 20 |
126 |
|
hIceMin = 1. _d -2 |
127 |
hiMax = 10. _d 0 |
hiMax = 10. _d 0 |
128 |
hsMax = 10. _d 0 |
hsMax = 10. _d 0 |
129 |
iceMaskmax = 1. _d 0 |
iceMaskMax = 1. _d 0 |
130 |
iceMaskmin = .1 _d 0 |
iceMaskMin = 0.1 _d 0 |
131 |
himin0 = 0.2 _d 0 |
fracEnMelt = 0.4 _d 0 |
132 |
frac_energy= .4 _d 0 |
fracEnFreez= 0. _d 0 |
133 |
hihig = 2.5 _d 0 |
hThinIce = 0.2 _d 0 |
134 |
|
hThickIce = 2.5 _d 0 |
135 |
|
hNewIceMax = UNSET_RL |
136 |
|
|
137 |
C-- Default values (parameters) |
C-- Default values (parameters) |
138 |
stepFwd_oceMxL = .FALSE. |
stepFwd_oceMxL = .FALSE. |
139 |
|
thSIce_skipThermo = .FALSE. |
140 |
|
thSIce_calc_albNIR = .FALSE. |
141 |
startIceModel = 0 |
startIceModel = 0 |
142 |
thSIce_deltaT = dTtracerLev(1) |
thSIce_deltaT = dTtracerLev(1) |
143 |
|
thSIce_dtTemp = UNSET_RL |
144 |
ocean_deltaT = dTtracerLev(1) |
ocean_deltaT = dTtracerLev(1) |
145 |
tauRelax_MxL = 0. _d 0 |
tauRelax_MxL = 0. _d 0 |
146 |
|
tauRelax_MxL_salt = UNSET_RL |
147 |
hMxL_default = 50. _d 0 |
hMxL_default = 50. _d 0 |
148 |
sMxL_default = 35. _d 0 |
sMxL_default = 35. _d 0 |
149 |
vMxL_default = 5. _d -2 |
vMxL_default = 5. _d -2 |
151 |
thSIceAdvScheme = 0 |
thSIceAdvScheme = 0 |
152 |
stressReduction = 1. _d 0 |
stressReduction = 1. _d 0 |
153 |
IF ( useSEAICE ) stressReduction = 0. _d 0 |
IF ( useSEAICE ) stressReduction = 0. _d 0 |
154 |
|
thSIceBalanceAtmFW = 0 |
155 |
thSIce_taveFreq = taveFreq |
thSIce_taveFreq = taveFreq |
156 |
thSIce_diagFreq = dumpFreq |
thSIce_diagFreq = dumpFreq |
157 |
thSIce_monFreq = monitorFreq |
thSIce_monFreq = monitorFreq |
175 |
thSIceEnthp_InitFile = ' ' |
thSIceEnthp_InitFile = ' ' |
176 |
thSIceTsurf_InitFile = ' ' |
thSIceTsurf_InitFile = ' ' |
177 |
|
|
178 |
|
#ifdef ALLOW_COST |
179 |
|
thsice_cost_ice_flag = 1 |
180 |
|
mult_thsice = 0. _d 0 |
181 |
|
#endif |
182 |
|
|
183 |
C-- Read parameters from open data file |
C-- Read parameters from open data file |
184 |
READ(UNIT=iUnit,NML=THSICE_CONST) |
READ(UNIT=iUnit,NML=THSICE_CONST) |
191 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
192 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , 1) |
193 |
|
|
194 |
|
#ifdef ALLOW_COST |
195 |
|
READ(UNIT=iUnit,NML=THSICE_COST) |
196 |
|
WRITE(msgBuf,'(A)') ' THSICE_READPARMS: read THSICE_PARM02' |
197 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
198 |
|
& SQUEEZE_RIGHT , 1) |
199 |
|
#endif |
200 |
|
|
201 |
C-- Close the open data file |
C-- Close the open data file |
202 |
CLOSE(iUnit) |
CLOSE(iUnit) |
203 |
|
|
204 |
|
C- neutral default: |
205 |
|
IF ( hNewIceMax .EQ. UNSET_RL ) hNewIceMax = hiMax |
206 |
|
|
207 |
|
C If using the same time step for both icetop temp solver |
208 |
|
C and ice thickness/growth, use thSIce_deltaT value |
209 |
|
IF ( thSIce_dtTemp .EQ. UNSET_RL ) thSIce_dtTemp=thSIce_deltaT |
210 |
|
|
211 |
|
C- If undef, set salt relax to temperature relax |
212 |
|
IF ( tauRelax_MxL_salt .EQ. UNSET_RL ) THEN |
213 |
|
tauRelax_MxL_salt = tauRelax_MxL |
214 |
|
ENDIF |
215 |
|
|
216 |
C- Define other constants (from previous ones): |
C- Define other constants (from previous ones): |
217 |
Tmlt1=-mu_Tf*S_winton |
Tmlt1=-mu_Tf*S_winton |
218 |
rhoiw = rhosw - rhoi |
floodFac = (rhosw - rhoi)/rhos |
219 |
|
|
220 |
C Set I/O parameters |
C Set I/O parameters |
221 |
thSIce_tave_mdsio = .TRUE. |
thSIce_tave_mdsio = .TRUE. |
238 |
#endif |
#endif |
239 |
|
|
240 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
241 |
C-- Check parameter consistency: |
C-- Check/reset parameters: |
|
IF ( thSIceAdvScheme.EQ.0 .AND. thSIce_diffK.NE.0. ) THEN |
|
|
WRITE(msgBuf,'(2A)') |
|
|
& 'THSICE_READPARMS: to use thSIce_diffK, needs to select', |
|
|
& ' one advection scheme (thSIceAdvScheme<>0)' |
|
|
CALL PRINT_ERROR( msgBuf , myThid ) |
|
|
STOP 'ABNORMAL END: THSICE_READPARMS' |
|
|
ENDIF |
|
|
#ifndef ALLOW_GENERIC_ADVDIFF |
|
|
IF ( thSIceAdvScheme.NE.0 ) THEN |
|
|
WRITE(msgBuf,'(2A)') |
|
|
& 'THSICE_READPARMS: Need to compile "generic_advdiff" pkg', |
|
|
& ' in order to use thSIceAdvScheme' |
|
|
CALL PRINT_ERROR( msgBuf , myThid ) |
|
|
STOP 'ABNORMAL END: THSICE_READPARMS' |
|
|
ENDIF |
|
|
#endif /* ndef ALLOW_GENERIC_ADVDIFF */ |
|
|
|
|
242 |
IF ( useSEAICE .AND. stressReduction.NE.0. _d 0 ) THEN |
IF ( useSEAICE .AND. stressReduction.NE.0. _d 0 ) THEN |
243 |
C-- If useSEAICE=.true., the stress is computed in seaice_model, |
C-- If useSEAICE=.true., the stress is computed in seaice_model, |
244 |
C-- so that it does not need any further reduction |
C-- so that it does not need any further reduction |
245 |
WRITE(msgBuf,'(2A)') |
WRITE(msgBuf,'(2A)') '** WARNING ** THSICE_READPARMS:', |
246 |
& 'THSICE_READPARMS: if useSEAICE, stress will be computed', |
& ' reset stressReduction to zero' |
|
& ' by SEAICE pkg => no reduction' |
|
247 |
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
248 |
& SQUEEZE_RIGHT , myThid) |
& SQUEEZE_RIGHT, myThid ) |
249 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(2A)') 'THSICE_READPARMS: useSEAICE=T =>', |
250 |
& 'THSICE_READPARMS: WARNING: reset stressReduction to zero' |
& ' stress is be computed by SEAICE pkg => no reduction' |
251 |
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
252 |
& SQUEEZE_RIGHT , myThid) |
& SQUEEZE_RIGHT, myThid ) |
253 |
stressReduction = 0. _d 0 |
stressReduction = 0. _d 0 |
254 |
ENDIF |
ENDIF |
255 |
|
IF ( fluidIsAir .AND. thSIceBalanceAtmFW.NE.0 ) THEN |
256 |
|
WRITE(msgBuf,'(2A)') '** WARNING ** THSICE_READPARMS:', |
257 |
|
& ' reset thSIceBalanceAtmFW to zero' |
258 |
|
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
259 |
|
& SQUEEZE_RIGHT, myThid ) |
260 |
|
WRITE(msgBuf,'(2A)') 'THSICE_READPARMS:', |
261 |
|
& ' since it is not available in Atmospheric set-up' |
262 |
|
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
263 |
|
& SQUEEZE_RIGHT, myThid ) |
264 |
|
thSIceBalanceAtmFW = 0 |
265 |
|
ENDIF |
266 |
|
|
267 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
268 |
iUnit = standardMessageUnit |
iUnit = standardMessageUnit |
269 |
|
fmtR = '(A6,A20,1PE21.13)' |
270 |
|
fmtI = '(A6,A20,I10)' |
271 |
|
fmtL = '(A6,A20,L10)' |
272 |
|
fmtC = '(A26,1X,A)' |
273 |
c CALL MDSFINDUNIT( iUnit, mythid ) |
c CALL MDSFINDUNIT( iUnit, mythid ) |
274 |
c OPEN(iUnit,file='thsice_check_params',status='unknown') |
c OPEN(iUnit,file='thsice_check_params',status='unknown') |
275 |
WRITE(iUnit,*) 'ThSI: rhos =',rhos |
WRITE(iUnit,fmtR) 'ThSI:', 'rhos =', rhos |
276 |
WRITE(iUnit,*) 'ThSI: rhoi =',rhoi |
WRITE(iUnit,fmtR) 'ThSI:', 'rhoi =', rhoi |
277 |
WRITE(iUnit,*) 'ThSI: rhosw =',rhosw |
WRITE(iUnit,fmtR) 'ThSI:', 'rhosw =', rhosw |
278 |
WRITE(iUnit,*) 'ThSI: rhofw =',rhofw |
WRITE(iUnit,fmtR) 'ThSI:', 'rhofw =', rhofw |
279 |
WRITE(iUnit,*) 'ThSI: rhoiw =',rhoiw |
WRITE(iUnit,fmtR) 'ThSI:', 'floodFac =', floodFac |
280 |
WRITE(iUnit,*) 'ThSI: cpice =',cpice |
WRITE(iUnit,fmtR) 'ThSI:', 'cpIce =', cpIce |
281 |
WRITE(iUnit,*) 'ThSI: cpwater =',cpwater |
WRITE(iUnit,fmtR) 'ThSI:', 'cpWater =', cpWater |
282 |
WRITE(iUnit,*) 'ThSI: kice =',kice |
WRITE(iUnit,fmtR) 'ThSI:', 'kIce =', kIce |
283 |
WRITE(iUnit,*) 'ThSI: ksnow =',ksnow |
WRITE(iUnit,fmtR) 'ThSI:', 'kSnow =', kSnow |
284 |
WRITE(iUnit,*) 'ThSI: transcoef=',transcoef |
WRITE(iUnit,fmtR) 'ThSI:', 'bMeltCoef =', bMeltCoef |
285 |
WRITE(iUnit,*) 'ThSI: Lfresh =',Lfresh |
WRITE(iUnit,fmtR) 'ThSI:', 'Lfresh =', Lfresh |
286 |
WRITE(iUnit,*) 'ThSI: qsnow =',qsnow |
WRITE(iUnit,fmtR) 'ThSI:', 'qsnow =', qsnow |
287 |
WRITE(iUnit,*) 'ThSI: albColdSnow=',albColdSnow |
WRITE(iUnit,fmtR) 'ThSI:', 'albColdSnow =', albColdSnow |
288 |
WRITE(iUnit,*) 'ThSI: albWarmSnow=',albWarmSnow |
WRITE(iUnit,fmtR) 'ThSI:', 'albWarmSnow =', albWarmSnow |
289 |
WRITE(iUnit,*) 'ThSI: tempSnowAlb=',tempSnowAlb |
WRITE(iUnit,fmtR) 'ThSI:', 'tempSnowAlb =', tempSnowAlb |
290 |
WRITE(iUnit,*) 'ThSI: albOldSnow =',albOldSnow |
WRITE(iUnit,fmtR) 'ThSI:', 'albOldSnow =', albOldSnow |
291 |
WRITE(iUnit,*) 'ThSI: hNewSnowAge=',hNewSnowAge |
WRITE(iUnit,fmtR) 'ThSI:', 'hNewSnowAge =', hNewSnowAge |
292 |
WRITE(iUnit,*) 'ThSI: snowAgTime =',snowAgTime |
WRITE(iUnit,fmtR) 'ThSI:', 'snowAgTime =', snowAgTime |
293 |
WRITE(iUnit,*) 'ThSI: albIceMax =',albIceMax |
WRITE(iUnit,fmtR) 'ThSI:', 'albIceMax =', albIceMax |
294 |
WRITE(iUnit,*) 'ThSI: albIceMin =',albIceMin |
WRITE(iUnit,fmtR) 'ThSI:', 'albIceMin =', albIceMin |
295 |
WRITE(iUnit,*) 'ThSI: hAlbIce =',hAlbIce |
WRITE(iUnit,fmtR) 'ThSI:', 'hAlbIce =', hAlbIce |
296 |
WRITE(iUnit,*) 'ThSI: hAlbSnow =',hAlbSnow |
WRITE(iUnit,fmtR) 'ThSI:', 'hAlbSnow =', hAlbSnow |
297 |
WRITE(iUnit,*) 'ThSI: i0 =',i0 |
WRITE(iUnit,fmtR) 'ThSI:', 'i0swFrac =', i0swFrac |
298 |
WRITE(iUnit,*) 'ThSI: ksolar =',ksolar |
WRITE(iUnit,fmtR) 'ThSI:', 'ksolar =', ksolar |
299 |
WRITE(iUnit,*) 'ThSI: saltice =',saltice |
WRITE(iUnit,fmtR) 'ThSI:', 'dhSnowLin =', dhSnowLin |
300 |
WRITE(iUnit,*) 'ThSI: S_winton=',S_winton |
WRITE(iUnit,fmtR) 'ThSI:', 'saltIce =', saltIce |
301 |
WRITE(iUnit,*) 'ThSI: mu_Tf =',mu_Tf |
WRITE(iUnit,fmtR) 'ThSI:', 'S_winton =', S_winton |
302 |
WRITE(iUnit,*) 'ThSI: Tf0kel =',Tf0kel |
WRITE(iUnit,fmtR) 'ThSI:', 'mu_Tf =', mu_Tf |
303 |
WRITE(iUnit,*) 'ThSI: Tmlt1 =',Tmlt1 |
WRITE(iUnit,fmtR) 'ThSI:', 'Tf0kel =', Tf0kel |
304 |
WRITE(iUnit,*) 'ThSI: himin =',himin |
WRITE(iUnit,fmtR) 'ThSI:', 'Tmlt1 =', Tmlt1 |
305 |
WRITE(iUnit,*) 'ThSI: Terrmax =',Terrmax |
WRITE(iUnit,fmtR) 'ThSI:', 'Terrmax =', Terrmax |
306 |
WRITE(iUnit,*) 'ThSI: nitMaxTsf=',nitMaxTsf |
WRITE(iUnit,fmtI) 'ThSI:', 'nitMaxTsf =', nitMaxTsf |
307 |
WRITE(iUnit,*) 'ThSI: hiMax =',hiMax |
WRITE(iUnit,fmtR) 'ThSI:', 'hIceMin =', hIceMin |
308 |
WRITE(iUnit,*) 'ThSI: hsMax =',hsMax |
WRITE(iUnit,fmtR) 'ThSI:', 'hiMax =', hiMax |
309 |
WRITE(iUnit,*) 'ThSI: iceMaskmax=',iceMaskmax |
WRITE(iUnit,fmtR) 'ThSI:', 'hsMax =', hsMax |
310 |
WRITE(iUnit,*) 'ThSI: iceMaskmin=',iceMaskmin |
WRITE(iUnit,fmtR) 'ThSI:', 'iceMaskMax =', iceMaskMax |
311 |
WRITE(iUnit,*) 'ThSI: himin0 =',himin0 |
WRITE(iUnit,fmtR) 'ThSI:', 'iceMaskMin =', iceMaskMin |
312 |
WRITE(iUnit,*) 'ThSI: frac_energy',frac_energy |
WRITE(iUnit,fmtR) 'ThSI:', 'fracEnMelt =', fracEnMelt |
313 |
WRITE(iUnit,*) 'ThSI: hihig =',hihig |
WRITE(iUnit,fmtR) 'ThSI:', 'fracEnFreez =', fracEnFreez |
314 |
WRITE(iUnit,*) 'ThSI: stressReduction =',stressReduction |
WRITE(iUnit,fmtR) 'ThSI:', 'hThinIce =', hThinIce |
315 |
WRITE(iUnit,*) 'ThSI: thSIceAdvScheme =',thSIceAdvScheme |
WRITE(iUnit,fmtR) 'ThSI:', 'hThickIce =', hThickIce |
316 |
WRITE(iUnit,*) 'ThSI: thSIce_diffK =',thSIce_diffK |
WRITE(iUnit,fmtR) 'ThSI:', 'hNewIceMax =', hNewIceMax |
317 |
WRITE(iUnit,*) 'ThSI: thSIce_deltaT =',thSIce_deltaT |
WRITE(iUnit,fmtR) 'ThSI:','stressReduction =',stressReduction |
318 |
WRITE(iUnit,*) 'ThSI: ocean_deltaT =',ocean_deltaT |
WRITE(iUnit,fmtL) 'ThSI:','thSIce_skipThermo =',thSIce_skipThermo |
319 |
WRITE(iUnit,*) 'ThSI: stepFwd_oceMxL=',stepFwd_oceMxL |
WRITE(iUnit,fmtI) 'ThSI:','thSIceAdvScheme =',thSIceAdvScheme |
320 |
WRITE(iUnit,*) 'ThSI: tauRelax_MxL =',tauRelax_MxL |
WRITE(iUnit,fmtI) 'ThSI:','thSIceBalanceAtmFW=',thSIceBalanceAtmFW |
321 |
WRITE(iUnit,*) 'ThSI: hMxL_default =',hMxL_default |
WRITE(iUnit,fmtR) 'ThSI:','thSIce_diffK =',thSIce_diffK |
322 |
WRITE(iUnit,*) 'ThSI: sMxL_default =',sMxL_default |
WRITE(iUnit,fmtR) 'ThSI:','thSIce_deltaT =',thSIce_deltaT |
323 |
WRITE(iUnit,*) 'ThSI: vMxL_default =',vMxL_default |
WRITE(iUnit,fmtR) 'ThSI:','ocean_deltaT =',ocean_deltaT |
324 |
WRITE(iUnit,*) 'ThSI: thSIce_taveFreq=',thSIce_taveFreq |
WRITE(iUnit,fmtL) 'ThSI:','stepFwd_oceMxL =',stepFwd_oceMxL |
325 |
WRITE(iUnit,*) 'ThSI: thSIce_diagFreq=',thSIce_diagFreq |
WRITE(iUnit,fmtR) 'ThSI:','tauRelax_MxL =',tauRelax_MxL |
326 |
WRITE(iUnit,*) 'ThSI: thSIce_monFreq =',thSIce_monFreq |
WRITE(iUnit,fmtR) 'ThSI:','tauRelax_MxL_salt =',tauRelax_MxL_salt |
327 |
WRITE(iUnit,*) 'ThSI: startIceModel =',startIceModel |
WRITE(iUnit,fmtR) 'ThSI:','hMxL_default =',hMxL_default |
328 |
|
WRITE(iUnit,fmtR) 'ThSI:','sMxL_default =',sMxL_default |
329 |
|
WRITE(iUnit,fmtR) 'ThSI:','vMxL_default =',vMxL_default |
330 |
|
WRITE(iUnit,fmtR) 'ThSI:','thSIce_taveFreq =',thSIce_taveFreq |
331 |
|
WRITE(iUnit,fmtR) 'ThSI:','thSIce_diagFreq =',thSIce_diagFreq |
332 |
|
WRITE(iUnit,fmtR) 'ThSI:','thSIce_monFreq =',thSIce_monFreq |
333 |
|
WRITE(iUnit,fmtI) 'ThSI:','startIceModel =',startIceModel |
334 |
|
c WRITE(iUnit,fmtC) 'thSIceFract_InitFile =',thSIceFract_InitFile |
335 |
IF (iUnit.NE.standardMessageUnit) CLOSE(iUnit) |
IF (iUnit.NE.standardMessageUnit) CLOSE(iUnit) |
336 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
337 |
|
|
344 |
|
|
345 |
RETURN |
RETURN |
346 |
END |
END |
|
|
|