Skip to content

Commit

Permalink
Add 'iceruf' to namelist
Browse files Browse the repository at this point in the history
Allow setting the ice surface roughness at the atmosphere interface,
'iceruf', in the CICE namelist. This makes it easier to modify this
value.
  • Loading branch information
phil-blain committed Apr 21, 2021
1 parent 1cddc84 commit 5d71476
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 4 deletions.
9 changes: 6 additions & 3 deletions cicecore/cicedynB/general/ice_init.F90
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ subroutine input_data
mu_rdg, hs0, dpscale, rfracmin, rfracmax, pndaspect, hs1, hp1, &
a_rapid_mode, Rac_rapid_mode, aspect_rapid_mode, dSdt_slow_mode, &
phi_c_slow_mode, phi_i_mushy, kalg, atmiter_conv, Pstar, Cstar, &
sw_frac, sw_dtemp, floediam, hfrazilmin
sw_frac, sw_dtemp, floediam, hfrazilmin, iceruf

integer (kind=int_kind) :: ktherm, kstrength, krdg_partic, krdg_redist, natmiter, &
kitd, kcatbound, ktransport
Expand Down Expand Up @@ -226,7 +226,7 @@ subroutine input_data
namelist /forcing_nml/ &
formdrag, atmbndy, calc_strair, calc_Tsfc, &
highfreq, natmiter, atmiter_conv, &
ustar_min, emissivity, &
ustar_min, emissivity, iceruf, &
fbot_xfer_type, update_ocn_f, l_mpond_fresh, tfrz_option, &
oceanmixed_ice, restore_ice, restore_ocn, trestore, &
precip_units, default_season, wave_spec_type,nfreq, &
Expand Down Expand Up @@ -376,6 +376,7 @@ subroutine input_data
calc_Tsfc = .true. ! calculate surface temperature
update_ocn_f = .false. ! include fresh water and salt fluxes for frazil
ustar_min = 0.005 ! minimum friction velocity for ocean heat flux (m/s)
iceruf = 0.0005_dbl_kind ! ice surface roughness at atmosphere interface (m)
emissivity = 0.985 ! emissivity of snow and ice
l_mpond_fresh = .false. ! logical switch for including meltpond freshwater
! flux feedback to ocean model
Expand Down Expand Up @@ -732,6 +733,7 @@ subroutine input_data
call broadcast_scalar(update_ocn_f, master_task)
call broadcast_scalar(l_mpond_fresh, master_task)
call broadcast_scalar(ustar_min, master_task)
call broadcast_scalar(iceruf, master_task)
call broadcast_scalar(emissivity, master_task)
call broadcast_scalar(fbot_xfer_type, master_task)
call broadcast_scalar(precip_units, master_task)
Expand Down Expand Up @@ -1479,6 +1481,7 @@ subroutine input_data
write(nu_diag,1010) ' calc_strair = ', calc_strair,' : calculate wind stress and speed'
write(nu_diag,1010) ' rotate_wind = ', rotate_wind,' : rotate wind/stress to computational grid'
write(nu_diag,1010) ' formdrag = ', formdrag,' : use form drag parameterization'
write(nu_diag,1000) ' iceruf = ', iceruf, ' : ice surface roughness at atmosphere interface (m)'
if (trim(atmbndy) == 'default') then
tmpstr2 = ' : stability-based boundary layer'
write(nu_diag,1010) ' highfreq = ', highfreq,' : high-frequency atmospheric coupling'
Expand Down Expand Up @@ -1799,7 +1802,7 @@ subroutine input_data
wave_spec_type_in = wave_spec_type, &
wave_spec_in=wave_spec, nfreq_in=nfreq, &
tfrz_option_in=tfrz_option, kalg_in=kalg, fbot_xfer_type_in=fbot_xfer_type, &
Pstar_in=Pstar, Cstar_in=Cstar, &
Pstar_in=Pstar, Cstar_in=Cstar, iceruf_in=iceruf, &
sw_redist_in=sw_redist, sw_frac_in=sw_frac, sw_dtemp_in=sw_dtemp)
call icepack_init_tracer_flags(tr_iage_in=tr_iage, tr_FY_in=tr_FY, &
tr_lvl_in=tr_lvl, tr_iso_in=tr_iso, tr_aero_in=tr_aero, &
Expand Down
1 change: 1 addition & 0 deletions configuration/scripts/ice_in
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@
natmiter = 5
atmiter_conv = 0.0d0
ustar_min = 0.0005
iceruf = 0.0005
emissivity = 0.985
fbot_xfer_type = 'constant'
update_ocn_f = .false.
Expand Down
2 changes: 1 addition & 1 deletion doc/source/cice_index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ either Celsius or Kelvin units).
"ice_stderr", "unit number for standard error output", ""
"ice_ref_salinity", "reference salinity for ice–ocean exchanges", "4. ppt"
"icells", "number of grid cells with specified property (for vectorization)", ""
"iceruf", "ice surface roughness", "5.\ :math:`\times`\ 10\ :math:`^{-4}` m"
"iceruf", ":math:`\bullet` ice surface roughness at atmosphere interface", "5.\ :math:`\times`\ 10\ :math:`^{-4}` m"
"icetmask", "ice extent mask (T-cell)", ""
"iceumask", "ice extent mask (U-cell)", ""
"idate", "the date at the end of the current time step (yyyymmdd)", ""
Expand Down
1 change: 1 addition & 0 deletions doc/source/user_guide/ug_case_settings.rst
Original file line number Diff line number Diff line change
Expand Up @@ -519,6 +519,7 @@ forcing_nml
"``ice_data_type``", "``boxslotcyl``", "initialize ice concentration and velocity for :ref:`boxslotcyl` test (:cite:`Zalesak79`)", "``default``"
"", "``box2001``", "initialize ice concentration for :ref:`box2001` test (:cite:`Hunke01`)", ""
"", "``default``", "no special initialization", ""
"``iceruf``", "real", "ice surface roughness at atmosphere interface", "0.0005"
"``l_mpond_fresh``", "``.false.``", "release pond water immediately to ocean", "``.false.``"
"", "``true``", "retain (topo) pond water until ponds drain", ""
"``natmiter``", "integer", "number of atmo boundary layer iterations", "5"
Expand Down

0 comments on commit 5d71476

Please sign in to comment.