riming Subroutine

private subroutine riming(temp, rhof, visco, l_qc, rc, nc, ilamc, mvd_c, l_qs, rs, smo0, smob, smoc, smoe, vtboost, l_qg, rg, ng, ilamg, idx, tend)

Uses

  • proc~~riming~~UsesGraph proc~riming riming module~module_mp_tempo_params module_mp_tempo_params proc~riming->module~module_mp_tempo_params ccpp_kind_types ccpp_kind_types module~module_mp_tempo_params->ccpp_kind_types iso_fortran_env iso_fortran_env module~module_mp_tempo_params->iso_fortran_env module~machine machine module~module_mp_tempo_params->module~machine mpas_kind_types mpas_kind_types module~module_mp_tempo_params->mpas_kind_types

snow and graupel riming

Note

snow collecting cloud water - assume dc << ds and vtc

at temperatures below melting, if the riming rate is greater than the depositional growth rate for snow by a factor rime_threshold, convert a portion of rimed snow to graupel

graupel collecting cloud water - assume dc << dg and vtc

rime density formula is from Cober and List (1993)

hail size increases below the melting level so the collection efficiency is reduced (proxy for shedding of collected cloud water)

rime splintering is from Hallet and Mossop (1974)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(:) :: temp
real(kind=wp), intent(in), dimension(:) :: rhof
real(kind=wp), intent(in), dimension(:) :: visco
logical, intent(in), dimension(:) :: l_qc
real(kind=wp), intent(in), dimension(:) :: rc
real(kind=wp), intent(in), dimension(:) :: nc
real(kind=dp), intent(in), dimension(:) :: ilamc
real(kind=wp), intent(in), dimension(:) :: mvd_c
logical, intent(in), dimension(:) :: l_qs
real(kind=wp), intent(in), dimension(:) :: rs
real(kind=dp), intent(in), dimension(:) :: smo0
real(kind=dp), intent(in), dimension(:) :: smob
real(kind=dp), intent(in), dimension(:) :: smoc
real(kind=dp), intent(in), dimension(:) :: smoe
real(kind=wp), intent(out), dimension(:) :: vtboost
logical, intent(in), dimension(:) :: l_qg
real(kind=wp), intent(in), dimension(:) :: rg
real(kind=wp), intent(in), dimension(:) :: ng
real(kind=dp), intent(in), dimension(:) :: ilamg
integer, intent(in), dimension(:) :: idx
type(ty_tend), intent(inout) :: tend

Calls

proc~~riming~~CallsGraph proc~riming riming proc~get_nuc get_nuc proc~riming->proc~get_nuc

Called by

proc~~riming~~CalledByGraph proc~riming riming proc~tempo_main tempo_main proc~tempo_main->proc~riming proc~tempo_run tempo_run proc~tempo_run->proc~tempo_main proc~test_cloud_number_aerosolaware test_cloud_number_aerosolaware proc~test_cloud_number_aerosolaware->proc~tempo_run proc~test_cloud_number_ml test_cloud_number_ml proc~test_cloud_number_ml->proc~tempo_run proc~test_cloud_number_non_aerosolaware test_cloud_number_non_aerosolaware proc~test_cloud_number_non_aerosolaware->proc~tempo_run proc~test_graupel_sedimentation test_graupel_sedimentation proc~test_graupel_sedimentation->proc~tempo_run proc~test_ml_cloud_effective_radius test_ml_cloud_effective_radius proc~test_ml_cloud_effective_radius->proc~tempo_run proc~test_snow_sedimentation test_snow_sedimentation proc~test_snow_sedimentation->proc~tempo_run program~run_tempo_tests run_tempo_tests program~run_tempo_tests->proc~test_cloud_number_aerosolaware program~run_tempo_tests->proc~test_cloud_number_ml program~run_tempo_tests->proc~test_cloud_number_non_aerosolaware program~run_tempo_tests->proc~test_graupel_sedimentation program~run_tempo_tests->proc~test_ml_cloud_effective_radius program~run_tempo_tests->proc~test_snow_sedimentation