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

Moved floediam and hfrazilmin to icepack_parameters #342

Merged
merged 6 commits into from
Nov 24, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 17 additions & 4 deletions columnphysics/icepack_parameters.F90
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ module icepack_parameters
!-----------------------------------------------------------------------

real (kind=dbl_kind), public :: &
hfrazilmin = 0.05_dbl_kind ,&! min thickness of new frazil ice (m)
cp_ice = 2106._dbl_kind ,&! specific heat of fresh ice (J/kg/K)
cp_ocn = 4218._dbl_kind ,&! specific heat of ocn (J/kg/K)
! freshwater value needed for enthalpy
Expand Down Expand Up @@ -132,7 +133,6 @@ module icepack_parameters
phi_c_slow_mode = 0.05_dbl_kind,&! critical liquid fraction porosity cutoff
phi_i_mushy = 0.85_dbl_kind ! liquid fraction of congelation ice


integer (kind=int_kind), public :: &
ktherm = 1 ! type of thermodynamics
! 0 = 0-layer approximation
Expand Down Expand Up @@ -278,7 +278,10 @@ module icepack_parameters
nfreq = 25 ! number of frequencies

real (kind=dbl_kind), public :: &
floeshape = 0.666_dbl_kind ! constant from Steele (unitless)
floeshape = 0.66_dbl_kind ! constant from Steele (unitless)

real (kind=dbl_kind), public :: &
floediam = 300.0_dbl_kind ! effective floe diameter for lateral melt (m)

logical (kind=log_kind), public :: &
wave_spec = .false. ! if true, use wave forcing
Expand Down Expand Up @@ -379,7 +382,7 @@ module icepack_parameters
subroutine icepack_init_parameters( &
puny_in, bignum_in, pi_in, secday_in, &
rhos_in, rhoi_in, rhow_in, cp_air_in, emissivity_in, &
cp_ice_in, cp_ocn_in, &
cp_ice_in, cp_ocn_in, hfrazilmin_in, floediam_in, &
depressT_in, dragio_in, albocn_in, gravit_in, viscosity_dyn_in, &
Tocnfrz_in, rhofresh_in, zvir_in, vonkar_in, cp_wv_in, &
stefan_boltzmann_in, ice_ref_salinity_in, &
Expand Down Expand Up @@ -441,6 +444,8 @@ subroutine icepack_init_parameters( &
!-----------------------------------------------------------------------

real (kind=dbl_kind), intent(in), optional :: &
floediam_in, & ! effective floe diameter for lateral melt (m)
hfrazilmin_in, & ! min thickness of new frazil ice (m)
cp_ice_in, & ! specific heat of fresh ice (J/kg/K)
cp_ocn_in, & ! specific heat of ocn (J/kg/K)
depressT_in, & ! Tf:brine salinity ratio (C/ppt)
Expand Down Expand Up @@ -716,6 +721,8 @@ subroutine icepack_init_parameters( &
if (present(rhow_in) ) rhow = rhow_in
if (present(cp_air_in) ) cp_air = cp_air_in
if (present(emissivity_in) ) emissivity = emissivity_in
if (present(floediam_in) ) floediam = floediam_in
if (present(hfrazilmin_in) ) hfrazilmin = hfrazilmin_in
if (present(cp_ice_in) ) cp_ice = cp_ice_in
if (present(cp_ocn_in) ) cp_ocn = cp_ocn_in
if (present(depressT_in) ) depressT = depressT_in
Expand Down Expand Up @@ -877,7 +884,7 @@ subroutine icepack_query_parameters( &
p2_out, p4_out, p5_out, p6_out, p05_out, p15_out, p25_out, p75_out, &
p333_out, p666_out, spval_const_out, pih_out, piq_out, pi2_out, &
rhos_out, rhoi_out, rhow_out, cp_air_out, emissivity_out, &
cp_ice_out, cp_ocn_out, &
cp_ice_out, cp_ocn_out, hfrazilmin_out, floediam_out, &
depressT_out, dragio_out, albocn_out, gravit_out, viscosity_dyn_out, &
Tocnfrz_out, rhofresh_out, zvir_out, vonkar_out, cp_wv_out, &
stefan_boltzmann_out, ice_ref_salinity_out, &
Expand Down Expand Up @@ -948,6 +955,8 @@ subroutine icepack_query_parameters( &
!-----------------------------------------------------------------------

real (kind=dbl_kind), intent(out), optional :: &
floediam_out, & ! effective floe diameter for lateral melt (m)
hfrazilmin_out, & ! min thickness of new frazil ice (m)
cp_ice_out, & ! specific heat of fresh ice (J/kg/K)
cp_ocn_out, & ! specific heat of ocn (J/kg/K)
depressT_out, & ! Tf:brine salinity ratio (C/ppt)
Expand Down Expand Up @@ -1264,6 +1273,8 @@ subroutine icepack_query_parameters( &
if (present(rhow_out) ) rhow_out = rhow
if (present(cp_air_out) ) cp_air_out = cp_air
if (present(emissivity_out) ) emissivity_out = emissivity
if (present(floediam_out) ) floediam_out = floediam
if (present(hfrazilmin_out) ) hfrazilmin_out = hfrazilmin
if (present(cp_ice_out) ) cp_ice_out = cp_ice
if (present(cp_ocn_out) ) cp_ocn_out = cp_ocn
if (present(depressT_out) ) depressT_out = depressT
Expand Down Expand Up @@ -1435,6 +1446,8 @@ subroutine icepack_write_parameters(iounit)
write(iounit,*) " rhow = ",rhow
write(iounit,*) " cp_air = ",cp_air
write(iounit,*) " emissivity = ",emissivity
write(iounit,*) " floediam = ",floediam
write(iounit,*) " hfrazilmin = ",hfrazilmin
write(iounit,*) " cp_ice = ",cp_ice
write(iounit,*) " cp_ocn = ",cp_ocn
write(iounit,*) " depressT = ",depressT
Expand Down
3 changes: 1 addition & 2 deletions columnphysics/icepack_therm_itd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ module icepack_therm_itd
use icepack_parameters, only: phi_init, dsin0_frazil, hs_ssl, salt_loss
use icepack_parameters, only: rhosi, conserv_check
use icepack_parameters, only: kitd, ktherm, heat_capacity
use icepack_parameters, only: z_tracers, solve_zsal
use icepack_parameters, only: z_tracers, solve_zsal, hfrazilmin

use icepack_tracers, only: ntrcr, nbtrcr
use icepack_tracers, only: nt_qice, nt_qsno, nt_fbri, nt_sice
Expand All @@ -47,7 +47,6 @@ module icepack_therm_itd
use icepack_itd, only: column_sum, column_conservation_check
use icepack_isotope, only: isoice_alpha, isotope_frac_method
use icepack_mushy_physics, only: liquidus_temperature_mush, enthalpy_mush
use icepack_therm_shared, only: hfrazilmin
use icepack_therm_shared, only: hi_min
use icepack_zbgc, only: add_new_ice_bgc
use icepack_zbgc, only: lateral_melt_bgc
Expand Down
3 changes: 0 additions & 3 deletions columnphysics/icepack_therm_shared.F90
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,6 @@ module icepack_therm_shared
logical (kind=log_kind), public :: &
l_brine ! if true, treat brine pocket effects

real (kind=dbl_kind), parameter, public :: &
hfrazilmin = 0.05_dbl_kind ! min thickness of new frazil ice (m)

real (kind=dbl_kind), public :: &
hi_min ! minimum ice thickness allowed (m)

Expand Down
4 changes: 1 addition & 3 deletions columnphysics/icepack_therm_vertical.F90
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ module icepack_therm_vertical
use icepack_parameters, only: ktherm, heat_capacity, calc_Tsfc
use icepack_parameters, only: ustar_min, fbot_xfer_type, formdrag, calc_strair
use icepack_parameters, only: rfracmin, rfracmax, pndaspect, dpscale, frzpnd
use icepack_parameters, only: phi_i_mushy
use icepack_parameters, only: phi_i_mushy, floeshape, floediam

use icepack_tracers, only: tr_iage, tr_FY, tr_aero, tr_pond, tr_fsd, tr_iso
use icepack_tracers, only: tr_pond_cesm, tr_pond_lvl, tr_pond_topo
Expand Down Expand Up @@ -556,8 +556,6 @@ subroutine frzmlt_bottom_lateral (dt, ncat, &
! Parameters for lateral melting

real (kind=dbl_kind), parameter :: &
floediam = 300.0_dbl_kind, & ! effective floe diameter (m)
floeshape = 0.66_dbl_kind , & ! constant from Steele (unitless)
m1 = 1.6e-6_dbl_kind , & ! constant from Maykut & Perovich
! (m/s/deg^(-m2))
m2 = 1.36_dbl_kind ! constant from Maykut & Perovich
Expand Down
9 changes: 7 additions & 2 deletions configuration/driver/icedrv_init.F90
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ subroutine input_data
ahmax, R_ice, R_pnd, R_snw, dT_mlt, rsnw_mlt, ksno, &
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, emissivity
phi_c_slow_mode, phi_i_mushy, kalg, emissivity, floediam, hfrazilmin

integer (kind=int_kind) :: ktherm, kstrength, krdg_partic, krdg_redist, &
natmiter, kitd, kcatbound
Expand Down Expand Up @@ -135,7 +135,8 @@ subroutine input_data
kitd, ktherm, ksno, conduct, &
a_rapid_mode, Rac_rapid_mode, aspect_rapid_mode, &
dSdt_slow_mode, phi_c_slow_mode, phi_i_mushy, &
sw_redist, sw_frac, sw_dtemp
sw_redist, sw_frac, sw_dtemp, &
floediam, hfrazilmin

namelist /dynamics_nml/ &
kstrength, krdg_partic, krdg_redist, mu_rdg, &
Expand Down Expand Up @@ -198,6 +199,7 @@ subroutine input_data
rfracmin_out=rfracmin, rfracmax_out=rfracmax, &
pndaspect_out=pndaspect, hs1_out=hs1, hp1_out=hp1, &
ktherm_out=ktherm, calc_Tsfc_out=calc_Tsfc, &
floediam_out=floediam, hfrazilmin_out=hfrazilmin, &
update_ocn_f_out = update_ocn_f, &
conduct_out=conduct, a_rapid_mode_out=a_rapid_mode, &
Rac_rapid_mode_out=Rac_rapid_mode, &
Expand Down Expand Up @@ -576,6 +578,8 @@ subroutine input_data
write(nu_diag,1005) ' atmiter_conv = ', atmiter_conv
write(nu_diag,1010) ' calc_strair = ', calc_strair
write(nu_diag,1010) ' calc_Tsfc = ', calc_Tsfc
write(nu_diag,1005) ' floediam = ', floediam
write(nu_diag,1005) ' hfrazilmin = ', hfrazilmin

write(nu_diag,*) ' atm_data_type = ', &
trim(atm_data_type)
Expand Down Expand Up @@ -765,6 +769,7 @@ subroutine input_data
dpscale_in=dpscale, frzpnd_in=frzpnd, &
rfracmin_in=rfracmin, rfracmax_in=rfracmax, &
pndaspect_in=pndaspect, hs1_in=hs1, hp1_in=hp1, &
floediam_in=floediam, hfrazilmin_in=hfrazilmin, &
ktherm_in=ktherm, calc_Tsfc_in=calc_Tsfc, &
conduct_in=conduct, a_rapid_mode_in=a_rapid_mode, &
Rac_rapid_mode_in=Rac_rapid_mode, &
Expand Down
2 changes: 2 additions & 0 deletions configuration/scripts/icepack_in
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@
sw_redist = .false.
sw_frac = 0.9d0
sw_dtemp = 0.02d0
floediam = 300.0d0
hfrazilmin = 0.05d0
/

&shortwave_nml
Expand Down
1 change: 1 addition & 0 deletions doc/source/master_list.bib
Original file line number Diff line number Diff line change
Expand Up @@ -743,6 +743,7 @@ @article{danabasoglu20
}



% **********************************************
% For new entries, see example entry in BIB_TEMPLATE.txt
% **********************************************
8 changes: 6 additions & 2 deletions doc/source/user_guide/interfaces.include
Original file line number Diff line number Diff line change
Expand Up @@ -729,7 +729,7 @@ icepack_init_parameters
subroutine icepack_init_parameters( &
puny_in, bignum_in, pi_in, secday_in, &
rhos_in, rhoi_in, rhow_in, cp_air_in, emissivity_in, &
cp_ice_in, cp_ocn_in, &
cp_ice_in, cp_ocn_in, hfrazilmin_in, floediam_in, &
depressT_in, dragio_in, albocn_in, gravit_in, viscosity_dyn_in, &
Tocnfrz_in, rhofresh_in, zvir_in, vonkar_in, cp_wv_in, &
stefan_boltzmann_in, ice_ref_salinity_in, &
Expand Down Expand Up @@ -791,6 +791,8 @@ icepack_init_parameters
!-----------------------------------------------------------------------

real (kind=dbl_kind), intent(in), optional :: &
floediam_in, & ! effective floe diameter for lateral melt (m)
hfrazilmin_in, & ! min thickness of new frazil ice (m)
cp_ice_in, & ! specific heat of fresh ice (J/kg/K)
cp_ocn_in, & ! specific heat of ocn (J/kg/K)
depressT_in, & ! Tf:brine salinity ratio (C/ppt)
Expand Down Expand Up @@ -1075,7 +1077,7 @@ icepack_query_parameters
p2_out, p4_out, p5_out, p6_out, p05_out, p15_out, p25_out, p75_out, &
p333_out, p666_out, spval_const_out, pih_out, piq_out, pi2_out, &
rhos_out, rhoi_out, rhow_out, cp_air_out, emissivity_out, &
cp_ice_out, cp_ocn_out, &
cp_ice_out, cp_ocn_out, hfrazilmin_out, floediam_out, &
depressT_out, dragio_out, albocn_out, gravit_out, viscosity_dyn_out, &
Tocnfrz_out, rhofresh_out, zvir_out, vonkar_out, cp_wv_out, &
stefan_boltzmann_out, ice_ref_salinity_out, &
Expand Down Expand Up @@ -1146,6 +1148,8 @@ icepack_query_parameters
!-----------------------------------------------------------------------

real (kind=dbl_kind), intent(out), optional :: &
floediam_out, & ! effective floe diameter for lateral melt (m)
hfrazilmin_out, & ! min thickness of new frazil ice (m)
cp_ice_out, & ! specific heat of fresh ice (J/kg/K)
cp_ocn_out, & ! specific heat of ocn (J/kg/K)
depressT_out, & ! Tf:brine salinity ratio (C/ppt)
Expand Down
2 changes: 2 additions & 0 deletions doc/source/user_guide/ug_case_settings.rst
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,8 @@ thermo_nml
"``conduct``", "``bubbly``", "conductivity scheme :cite:`Pringle07`", "``bubbly``"
"", "``MU71``", "conductivity :cite:`Maykut71`", ""
"``dSdt_slow_mode``", "real", "slow drainage strength parameter m/s/K", "-1.5e-7"
"``floediam``", "real", "effective floe diameter for lateral melt in m", "300.0"
"``hfrazilmin``", "real", "min thickness of new frazil ice in m", "0.05"
"``kitd``", "``0``", "delta function ITD approximation", "1"
"", "``1``", "linear remapping ITD approximation", ""
"``ksno``", "real", "snow thermal conductivity", "0.3"
Expand Down