Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
!! SI3 Reference namelist:
!! 1 - Generic parameters (nampar)
!! 2 - Ice thickness discretization (namitd)
!! 3 - Ice dynamics (namdyn)
!! 4 - Ice ridging/rafting (namdyn_rdgrft)
!! 5 - Ice rheology (namdyn_rhg)
!! 6 - Ice advection (namdyn_adv)
!! 7 - Ice surface boundary conditions (namsbc)
!! 8 - Ice thermodynamics (namthd)
!! 9 - Ice heat diffusion (namthd_zdf)
!! 10 - Ice lateral melting (namthd_da)
!! 11 - Ice growth in open water (namthd_do)
!! 12 - Ice salinity (namthd_sal)
!! 13 - Ice melt ponds (namthd_pnd)
!! 14 - Ice initialization (namini)
!! 15 - Ice/snow albedos (namalb)
!! 16 - Ice diagnostics (namdia)
!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
!
!------------------------------------------------------------------------------
&nampar ! Generic parameters
!------------------------------------------------------------------------------
jpl = 5 ! number of ice categories
nlay_i = 2 ! number of ice layers
nlay_s = 2 ! number of snow layers
ln_virtual_itd = .false. ! virtual ITD mono-category parameterization (jpl=1 only)
! i.e. enhanced thermal conductivity & virtual thin ice melting
ln_icedyn = .true. ! ice dynamics (T) or not (F)
ln_icethd = .true. ! ice thermo (T) or not (F)
rn_amax_n = 0.997 ! maximum tolerated ice concentration NH
rn_amax_s = 0.997 ! maximum tolerated ice concentration SH
cn_icerst_in = "restart_ice" ! suffix of ice restart name (input)
cn_icerst_out = "restart_ice" ! suffix of ice restart name (output)
cn_icerst_indir = "." ! directory to read input ice restarts
cn_icerst_outdir = "." ! directory to write output ice restarts
/
!------------------------------------------------------------------------------
&namitd ! Ice discretization
!------------------------------------------------------------------------------
ln_cat_hfn = .true. ! ice categories are defined by a function following rn_himean**(-0.05)
rn_himean = 2.0 ! expected domain-average ice thickness (m)
ln_cat_usr = .false. ! ice categories are defined by rn_catbnd below (m)
rn_catbnd = 0.,0.45,1.1,2.1,3.7,6.0
rn_himin = 0.1 ! minimum ice thickness (m) allowed
rn_himax = 99.0 ! maximum ice thickness (m) allowed
/
!------------------------------------------------------------------------------
&namdyn ! Ice dynamics
!------------------------------------------------------------------------------
ln_dynALL = .true. ! dyn.: full ice dynamics (rheology + advection + ridging/rafting + correction)
ln_dynRHGADV = .false. ! dyn.: no ridge/raft & no corrections (rheology + advection)
ln_dynADV1D = .false. ! dyn.: only advection 1D (Schar & Smolarkiewicz 1996 test case)
ln_dynADV2D = .false. ! dyn.: only advection 2D w prescribed vel.(rn_uvice + advection)
rn_uice = 0.5 ! prescribed ice u-velocity
rn_vice = 0.5 ! prescribed ice v-velocity
rn_ishlat = 2. ! lbc : free slip (0) ; partial slip (0-2) ; no slip (2) ; strong slip (>2)
ln_landfast_L16 = .false. ! landfast: parameterization from Lemieux 2016
rn_lf_depfra = 0.125 ! fraction of ocean depth that ice must reach to initiate landfast
! recommended range: [0.1 ; 0.25]
rn_lf_bfr = 15. ! maximum bottom stress per unit volume [N/m3]
rn_lf_relax = 1.e-5 ! relaxation time scale to reach static friction [s-1]
rn_lf_tensile = 0.05 ! isotropic tensile strength [0-0.5??]
cn_dir = './' ! root directory for the grounded icebergs mask data location
!___________!________________!___________________!___________!_____________!________!___________!__________!__________!_______________!
! ! file name ! frequency (hours) ! variable ! time interp.! clim ! 'yearly'/ ! weights ! rotation ! land/sea mask !
! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! filename ! pairing ! filename !
sn_icbmsk = 'NOT USED' , -12. , 'icb_mask', .false. , .true. , 'yearly' , '' , '' , ''
/
!------------------------------------------------------------------------------
&namdyn_rdgrft ! Ice ridging/rafting
!------------------------------------------------------------------------------
! -- ice_rdgrft_strength -- !
ln_str_H79 = .true. ! ice strength param.: Hibler_79 => P = pstar*<h>*exp(-c_rhg*A)
rn_pstar = 2.0e+04 ! ice strength thickness parameter [N/m2]
rn_crhg = 20.0 ! ice strength conc. parameter (-)
ln_str_R75 = .false. ! ice strength param.: Rothrock_75 => P = fn of potential energy
rn_pe_rdg = 17.0 ! coef accouting for frictional dissipation
ln_str_CST = .false. ! ice strength param.: Constant
rn_str = 0.0 ! ice strength value
ln_str_smooth = .true. ! spatial smoothing of the ice strength
! -- ice_rdgrft -- !
ln_distf_lin = .true. ! redistribution function of ridged ice: linear (Hibler 1980)
ln_distf_exp = .false. ! redistribution function of ridged ice: exponential => not coded yet
rn_murdg = 3.0 ! e-folding scale of ridged ice (m**.5)
rn_csrdg = 0.5 ! fraction of shearing energy contributing to ridging
! -- ice_rdgrft_prep -- !
ln_partf_lin = .false. ! Linear ridging participation function (Thorndike et al, 1975)
rn_gstar = 0.15 ! fractional area of thin ice being ridged
ln_partf_exp = .true. ! Exponential ridging participation function (Lipscomb, 2007)
rn_astar = 0.03 ! exponential measure of ridging ice fraction [set to 0.05 if hstar=100]
ln_ridging = .true. ! ridging activated (T) or not (F)
rn_hstar = 25.0 ! determines the maximum thickness of ridged ice [m] (Hibler, 1980)
rn_porordg = 0.3 ! porosity of newly ridged ice (Lepparanta et al., 1995)
rn_fsnwrdg = 0.5 ! snow volume fraction that survives in ridging
rn_fpndrdg = 1.0 ! pond fraction that survives in ridging (small a priori)
ln_rafting = .true. ! rafting activated (T) or not (F)
rn_hraft = 0.75 ! threshold thickness for rafting [m]
rn_craft = 5.0 ! squeezing coefficient used in the rafting function
rn_fsnwrft = 0.5 ! snow volume fraction that survives in rafting
rn_fpndrft = 1.0 ! pond fraction that survives in rafting (0.5 a priori)
/
!------------------------------------------------------------------------------
&namdyn_rhg ! Ice rheology
!------------------------------------------------------------------------------
ln_rhg_EVP = .true. ! EVP rheology
ln_rhg_EAP = .false. ! EAP rheology
ln_aEVP = .true. ! adaptive rheology (Kimmritz et al. 2016 & 2017)
rn_creepl = 2.0e-9 ! creep limit [1/s]
rn_ecc = 2.0 ! eccentricity of the elliptical yield curve
nn_nevp = 100 ! number of EVP subcycles
rn_relast = 0.333 ! ratio of elastic timescale to ice time step: Telast = dt_ice * rn_relast
! advised value: 1/3 (nn_nevp=100) or 1/9 (nn_nevp=300)
nn_rhg_chkcvg = 0 ! check convergence of rheology
! = 0 no check
! = 1 check at the main time step (output xml: uice_cvg)
! = 2 check at both main and rheology time steps (additional output: ice_cvg.nc)
! this option 2 asks a lot of communications between cpu
ln_rhg_VP = .false. ! VP rheology
nn_vp_nout = 10 ! number of outer iterations
nn_vp_ninn = 1500 ! number of inner iterations
nn_vp_chkcvg = 5 ! iteration step for convergence check
/
!------------------------------------------------------------------------------
&namdyn_adv ! Ice advection
!------------------------------------------------------------------------------
ln_adv_Pra = .true. ! Advection scheme (Prather)
ln_adv_UMx = .false. ! Advection scheme (Ultimate-Macho)
nn_UMx = 5 ! order of the scheme for UMx (1-5 ; 20=centered 2nd order)
/
!------------------------------------------------------------------------------
&namsbc ! Ice surface boundary conditions
!------------------------------------------------------------------------------
rn_cio = 5.0e-03 ! ice-ocean drag coefficient (-)
nn_snwfra = 2 ! calculate the fraction of ice covered by snow (for zdf and albedo)
! = 0 fraction = 1 (if snow) or 0 (if no snow)
! = 1 fraction = 1-exp(-0.2*rhos*hsnw) [MetO formulation]
! = 2 fraction = hsnw / (hsnw+0.02) [CICE formulation]
rn_snwblow = 0.66 ! mesure of snow blowing into the leads
! = 1 => no snow blowing, < 1 => some snow blowing
nn_flxdist = -1 ! Redistribute heat flux over ice categories
! =-1 Do nothing (needs N(cat) fluxes)
! = 0 Average N(cat) fluxes then apply the average over the N(cat) ice
! = 1 Average N(cat) fluxes then redistribute over the N(cat) ice using T-ice and albedo sensitivity
! = 2 Redistribute a single flux over categories
ln_cndflx = .false. ! Use conduction flux as surface boundary conditions (i.e. for Jules coupling)
ln_cndemulate = .false. ! emulate conduction flux (if not provided in the inputs)
nn_qtrice = 0 ! Solar flux transmitted thru the surface scattering layer:
! = 0 Grenfell and Maykut 1977 (depends on cloudiness and is 0 when there is snow)
! = 1 Lebrun 2019 (equals 0.3 anytime with different melting/dry snw conductivities)
/
!------------------------------------------------------------------------------
&namthd ! Ice thermodynamics
!------------------------------------------------------------------------------
ln_icedH = .true. ! activate ice thickness change from growing/melting (T) or not (F)
ln_icedA = .true. ! activate lateral melting param. (T) or not (F)
ln_icedO = .true. ! activate ice growth in open-water (T) or not (F)
ln_icedS = .true. ! activate brine drainage (T) or not (F)
!
ln_leadhfx = .true. ! heat in the leads is used to melt sea-ice before warming the ocean
/
!------------------------------------------------------------------------------
&namthd_zdf ! Ice heat diffusion
!------------------------------------------------------------------------------
ln_zdf_BL99 = .true. ! Heat diffusion follows Bitz and Lipscomb 1999
ln_cndi_U64 = .false. ! sea ice thermal conductivity: k = k0 + beta.S/T (Untersteiner, 1964)
ln_cndi_P07 = .true. ! sea ice thermal conductivity: k = k0 + beta1.S/T - beta2.T (Pringle et al., 2007)
rn_cnd_s = 0.31 ! thermal conductivity of the snow (0.31 W/m/K, Maykut and Untersteiner, 1971)
! Obs: 0.1-0.5 (Lecomte et al, JAMES 2013)
rn_kappa_i = 1.0 ! radiation attenuation coefficient in sea ice [1/m]
rn_kappa_s = 10.0 ! nn_qtrice = 0: radiation attenuation coefficient in snow [1/m]
rn_kappa_smlt = 7.0 ! nn_qtrice = 1: radiation attenuation coefficient in melting snow [1/m]
rn_kappa_sdry = 10.0 ! radiation attenuation coefficient in dry snow [1/m]
ln_zdf_chkcvg = .false. ! check convergence of heat diffusion scheme (outputs: tice_cvgerr, tice_cvgstp)
/
!------------------------------------------------------------------------------
&namthd_da ! Ice lateral melting
!------------------------------------------------------------------------------
rn_beta = 1.0 ! coef. beta for lateral melting param. Recommended range=[0.8-1.2]
! => decrease = more melt and melt peaks toward higher concentration (A~0.5 for beta=1 ; A~0.8 for beta=0.2)
! 0.3 = best fit for western Fram Strait and Antarctica
! 1.4 = best fit for eastern Fram Strait
rn_dmin = 8. ! minimum floe diameter for lateral melting param. Recommended range=[6-10]
! => 6 vs 8m = +40% melting at the peak (A~0.5)
! 10 vs 8m = -20% melting
/
!------------------------------------------------------------------------------
&namthd_do ! Ice growth in open water
!------------------------------------------------------------------------------
rn_hinew = 0.1 ! thickness for new ice formation in open water (m), must be larger than rn_himin
ln_frazil = .false. ! Frazil ice parameterization (ice collection as a function of wind)
rn_maxfraz = 1.0 ! maximum fraction of frazil ice collecting at the ice base
rn_vfraz = 0.417 ! thresold drift speed for frazil ice collecting at the ice bottom (m/s)
rn_Cfraz = 5.0 ! squeezing coefficient for frazil ice collecting at the ice bottom
/
!------------------------------------------------------------------------------
&namthd_sal ! Ice salinity
!------------------------------------------------------------------------------
nn_icesal = 2 ! ice salinity option
! 1: constant ice salinity (S=rn_icesal)
! 2: varying salinity parameterization S(z,t)
! 3: prescribed salinity profile S(z) (Schwarzacher 1959)
rn_icesal = 4. ! (nn_icesal=1) ice salinity (g/kg)
rn_sal_gd = 5. ! (nn_icesal=2) restoring ice salinity, gravity drainage (g/kg)
rn_time_gd = 1.73e+6 ! (nn_icesal=2) restoring time scale, gravity drainage (s)
rn_sal_fl = 2. ! (nn_icesal=2) restoring ice salinity, flushing (g/kg)
rn_time_fl = 8.64e+5 ! (nn_icesal=2) restoring time scale, flushing (s)
rn_simax = 20. ! maximum tolerated ice salinity (g/kg)
rn_simin = 0.1 ! minimum tolerated ice salinity (g/kg)
/
!------------------------------------------------------------------------------
&namthd_pnd ! Melt ponds
!------------------------------------------------------------------------------
ln_pnd = .true. ! activate melt ponds or not
ln_pnd_TOPO = .false. ! topographic melt ponds
ln_pnd_LEV = .true. ! level ice melt ponds
rn_apnd_min = 0.15 ! minimum meltwater fraction contributing to pond growth (TOPO and LEV)
rn_apnd_max = 0.85 ! maximum meltwater fraction contributing to pond growth (TOPO and LEV)
rn_pnd_flush= 0.1 ! pond flushing efficiency (tuning parameter) (LEV)
ln_pnd_CST = .false. ! constant melt ponds
rn_apnd = 0.2 ! prescribed pond fraction, at Tsu=0 degC
rn_hpnd = 0.05 ! prescribed pond depth, at Tsu=0 degC
ln_pnd_lids = .true. ! frozen lids on top of the ponds (only for ln_pnd_LEV)
ln_pnd_alb = .true. ! effect of melt ponds on ice albedo
/
!------------------------------------------------------------------------------
&namini ! Ice initialization
!------------------------------------------------------------------------------
ln_iceini = .true. ! activate ice initialization (T) or not (F)
nn_iceini_file = 0 ! 0 = Initialise sea ice based on SSTs
! 1 = Initialise sea ice from single category netcdf file
! 2 = Initialise sea ice from multi category restart file
rn_thres_sst = 2.0 ! max temp. above Tfreeze with initial ice = (sst - tfreeze)
rn_hti_ini_n = 3.0 ! initial ice thickness (m), North
rn_hti_ini_s = 1.0 ! " " South
rn_hts_ini_n = 0.3 ! initial snow thickness (m), North
rn_hts_ini_s = 0.3 ! " " South
rn_ati_ini_n = 0.9 ! initial ice concentration (-), North
rn_ati_ini_s = 0.9 ! " " South
rn_smi_ini_n = 6.3 ! initial ice salinity (g/kg), North
rn_smi_ini_s = 6.3 ! " " South
rn_tmi_ini_n = 270. ! initial ice temperature (K), North
rn_tmi_ini_s = 270. ! " " South
rn_tsu_ini_n = 270. ! initial surface temperature (K), North
rn_tsu_ini_s = 270. ! " " South
rn_tms_ini_n = 270. ! initial snw temperature (K), North
rn_tms_ini_s = 270. ! " " South
rn_apd_ini_n = 0.2 ! initial pond fraction (-), North
rn_apd_ini_s = 0.2 ! " " South
rn_hpd_ini_n = 0.05 ! initial pond depth (m), North
rn_hpd_ini_s = 0.05 ! " " South
rn_hld_ini_n = 0.0 ! initial pond lid depth (m), North
rn_hld_ini_s = 0.0 ! " " South
! -- for nn_iceini_file = 1
sn_hti = 'Ice_initialization' , -12. ,'hti' , .false. , .true., 'yearly' , '' , '', ''
sn_hts = 'Ice_initialization' , -12. ,'hts' , .false. , .true., 'yearly' , '' , '', ''
sn_ati = 'Ice_initialization' , -12. ,'ati' , .false. , .true., 'yearly' , '' , '', ''
sn_smi = 'Ice_initialization' , -12. ,'smi' , .false. , .true., 'yearly' , '' , '', ''
sn_tmi = 'Ice_initialization' , -12. ,'tmi' , .false. , .true., 'yearly' , '' , '', ''
sn_tsu = 'Ice_initialization' , -12. ,'tsu' , .false. , .true., 'yearly' , '' , '', ''
sn_tms = 'NOT USED' , -12. ,'tms' , .false. , .true., 'yearly' , '' , '', ''
! melt ponds (be careful, sn_apd is the pond concentration (not fraction), so it differs from rn_apd)
sn_apd = 'NOT USED' , -12. ,'apd' , .false. , .true., 'yearly' , '' , '', ''
sn_hpd = 'NOT USED' , -12. ,'hpd' , .false. , .true., 'yearly' , '' , '', ''
sn_hld = 'NOT USED' , -12. ,'hld' , .false. , .true., 'yearly' , '' , '', ''
cn_dir='./'
/
!------------------------------------------------------------------------------
&namalb ! albedo parameters
!------------------------------------------------------------------------------
! ! ! obs range (cloud-sky)
rn_alb_sdry = 0.85 ! dry snow albedo : 0.85 -- 0.87
rn_alb_smlt = 0.75 ! melting snow albedo : 0.72 -- 0.82
rn_alb_idry = 0.60 ! dry ice albedo : 0.54 -- 0.65
rn_alb_imlt = 0.50 ! bare puddled ice albedo : 0.49 -- 0.58
rn_alb_dpnd = 0.27 ! ponded ice albedo : 0.10 -- 0.30
rn_alb_hpiv = 1.00 ! pivotal ice thickness in m (above which albedo is constant)
/
!------------------------------------------------------------------------------
&namdia ! Diagnostics
!------------------------------------------------------------------------------
ln_icediachk = .false. ! check online heat, mass & salt budgets
! ! rate of ice spuriously gained/lost at each time step => rn_icechk=1 <=> 1.e-6 m/hour
rn_icechk_cel = 1. ! check at each gridcell (1.e-06m/h)=> stops the code if violated (and writes a file)
rn_icechk_glo = 1.e-04 ! check over the entire ice cover (1.e-10m/h)=> only prints warnings
ln_icediahsb = .false. ! output the heat, mass & salt budgets (T) or not (F)
ln_icectl = .false. ! ice points output for debug (T or F)
iiceprt = 10 ! i-index for debug
jiceprt = 10 ! j-index for debug
/