Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sensible+latent heatfluxes using linear bulk formula #633

Merged
merged 13 commits into from
Sep 27, 2021
Merged
12 changes: 9 additions & 3 deletions cicecore/cicedynB/general/ice_init.F90
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,8 @@ subroutine input_data
tfrz_option, frzpnd, atmbndy, wave_spec_type, snwredist, snw_aging_table

logical (kind=log_kind) :: calc_Tsfc, formdrag, highfreq, calc_strair, wave_spec, &
sw_redist, calc_dragio, use_smliq_pnd, snwgrain
sw_redist, calc_dragio, use_smliq_pnd, snwgrain, &
heatflux_linear

logical (kind=log_kind) :: tr_iage, tr_FY, tr_lvl, tr_pond
logical (kind=log_kind) :: tr_iso, tr_aero, tr_fsd, tr_snow
Expand Down Expand Up @@ -242,7 +243,8 @@ subroutine input_data
snw_tau_fname, snw_kappa_fname, snw_drdt0_fname

namelist /forcing_nml/ &
formdrag, atmbndy, calc_strair, calc_Tsfc, &
formdrag, atmbndy, heatflux_linear, &
calc_strair, calc_Tsfc, &
highfreq, natmiter, atmiter_conv, calc_dragio, &
ustar_min, emissivity, iceruf, iceruf_ocn, &
fbot_xfer_type, update_ocn_f, l_mpond_fresh, tfrz_option, &
Expand Down Expand Up @@ -449,6 +451,7 @@ subroutine input_data
albsnowi = 0.70_dbl_kind ! cold snow albedo, near IR
ahmax = 0.3_dbl_kind ! thickness above which ice albedo is constant (m)
atmbndy = 'default' ! or 'constant'
heatflux_linear = .false. ! if true, calculate sensible+latent heatfluxes using traditional linear bulk formula
default_season = 'winter' ! default forcing data, if data is not read in
fyear_init = 1900 ! first year of forcing cycle
ycycle = 1 ! number of years in forcing cycle
Expand Down Expand Up @@ -799,6 +802,7 @@ subroutine input_data
call broadcast_scalar(albsnowi, master_task)
call broadcast_scalar(ahmax, master_task)
call broadcast_scalar(atmbndy, master_task)
call broadcast_scalar(heatflux_linear, master_task)
call broadcast_scalar(fyear_init, master_task)
call broadcast_scalar(ycycle, master_task)
call broadcast_scalar(atm_data_format, master_task)
Expand Down Expand Up @@ -1646,6 +1650,7 @@ subroutine input_data
write(nu_diag,1010) ' highfreq = ', highfreq,' : high-frequency atmospheric coupling'
write(nu_diag,1020) ' natmiter = ', natmiter,' : number of atmo boundary layer iterations'
write(nu_diag,1002) ' atmiter_conv = ', atmiter_conv,' : convergence criterion for ustar'
write(nu_diag,1010) ' heatflux_linear = ', heatflux_linear,' : Use linear bulk transfer coefficients for sensible+latent heatfluxes'
elseif (trim(atmbndy) == 'constant') then
tmpstr2 = ' : boundary layer uses bulk transfer coefficients'
else
Expand Down Expand Up @@ -2034,7 +2039,8 @@ subroutine input_data
ahmax_in=ahmax, shortwave_in=shortwave, albedo_type_in=albedo_type, R_ice_in=R_ice, R_pnd_in=R_pnd, &
R_snw_in=R_snw, dT_mlt_in=dT_mlt, rsnw_mlt_in=rsnw_mlt, &
kstrength_in=kstrength, krdg_partic_in=krdg_partic, krdg_redist_in=krdg_redist, mu_rdg_in=mu_rdg, &
atmbndy_in=atmbndy, calc_strair_in=calc_strair, formdrag_in=formdrag, highfreq_in=highfreq, &
atmbndy_in=atmbndy, heatflux_linear_in=heatflux_linear, &
calc_strair_in=calc_strair, formdrag_in=formdrag, highfreq_in=highfreq, &
kitd_in=kitd, kcatbound_in=kcatbound, hs0_in=hs0, dpscale_in=dpscale, frzpnd_in=frzpnd, &
rfracmin_in=rfracmin, rfracmax_in=rfracmax, pndaspect_in=pndaspect, hs1_in=hs1, hp1_in=hp1, &
ktherm_in=ktherm, calc_Tsfc_in=calc_Tsfc, conduct_in=conduct, &
Expand Down
1 change: 1 addition & 0 deletions configuration/scripts/ice_in
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,7 @@
&forcing_nml
formdrag = .false.
atmbndy = 'default'
heatflux_linear = .false.
rotate_wind = .true.
calc_strair = .true.
calc_Tsfc = .true.
Expand Down
1 change: 1 addition & 0 deletions doc/source/cice_index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,7 @@ either Celsius or Kelvin units).
"**H**", "", ""
"halo_info", "information for updating ghost cells", ""
"heat_capacity", "if true, use salinity-dependent thermodynamics", "T"
"heatflux_linear", "if true, calculate sensible+latent heatfluxes using traditional linear bulk formula", "F"
"hfrazilmin", "minimum thickness of new frazil ice", "0.05 m"
"hi_min", "minimum ice thickness for thinnest ice category", "0.01 m"
"hi_ssl", "ice surface scattering layer thickness", "0.05 m"
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 @@ -562,6 +562,7 @@ forcing_nml
"``formdrag``", "logical", "calculate form drag", "``.false.``"
"``fyear_init``", "integer", "first year of atmospheric forcing data", "1900"
"``highfreq``", "logical", "high-frequency atmo coupling", "``.false.``"
"``heatflux_linear``", "logical", "if true, calculate latent+sensible heatfluxes using traditional linear bulk formula", "``.false.``"
"``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", ""
Expand Down