module_mp_tempo_utils Module

utilities for tempo microphysics


Uses

  • module~~module_mp_tempo_utils~~UsesGraph module~module_mp_tempo_utils module_mp_tempo_utils module~module_mp_tempo_params module_mp_tempo_params module~module_mp_tempo_utils->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

Used by

  • module~~module_mp_tempo_utils~~UsedByGraph module~module_mp_tempo_utils module_mp_tempo_utils module~module_mp_tempo_diags module_mp_tempo_diags module~module_mp_tempo_diags->module~module_mp_tempo_utils module~module_mp_tempo_driver module_mp_tempo_driver module~module_mp_tempo_driver->module~module_mp_tempo_utils module~module_mp_tempo_main module_mp_tempo_main module~module_mp_tempo_driver->module~module_mp_tempo_main module~module_mp_tempo_main->module~module_mp_tempo_utils module~module_mp_tempo_main->module~module_mp_tempo_diags module~module_mp_tempo_tables module_mp_tempo_tables module~module_mp_tempo_tables->module~module_mp_tempo_utils module~tests tests module~tests->module~module_mp_tempo_driver program~build_tables build_tables program~build_tables->module~module_mp_tempo_tables program~run_tempo_tests run_tempo_tests program~run_tempo_tests->module~tests

Functions

public function calc_gamma_p(a, x) result(gamma_p)

normalized lower gamma function calculated either with a series expansion or continued fraction method

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: a
real(kind=wp), intent(in) :: x

Return Value real(kind=wp)

private function calc_gamma_series(a, x) result(gamma_series)

solves the normalized lower gamma function

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: a
real(kind=wp), intent(in) :: x

Return Value real(kind=wp)

private function calc_gamma_cf(a, x) result(gamma_cf)

solves the normalized upper gamma function using a continued fractions method (modified Lentz Algorithm)

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: a
real(kind=wp), intent(in) :: x

Return Value real(kind=wp)

public function calc_rslf(p, t) result(rslf)

calculates liquid saturation vapor mixing ratio

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: p
real(kind=wp), intent(in) :: t

Return Value real(kind=wp)

public function calc_rsif(p, t) result(rsif)

calculates liquid saturation vapor mixing ratio

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: p
real(kind=wp), intent(in) :: t

Return Value real(kind=wp)

public function get_nuc(nc) result(nu_c)

returns nu_c for cloud water (values from 2-15)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: nc

Return Value integer


Subroutines

public subroutine get_constant_cloud_number(land, nc)

returns land-specific value of cloud droplet number concentration when aerosol-aware = false if land = 1, else returns ocean-specific value

Arguments

Type IntentOptional Attributes Name
integer, intent(in), optional :: land
real(kind=wp), intent(out), dimension(:) :: nc

public subroutine snow_moments(rs, tc, smob, smoc, ns, smo0, smo1, smo2, smoe, smof, smog, smoz)

computes snow moments from Field et al. (2005)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: rs
real(kind=wp), intent(in) :: tc
real(kind=dp), intent(out) :: smob
real(kind=dp), intent(out) :: smoc
real(kind=dp), intent(out), optional :: ns
real(kind=dp), intent(out), optional :: smo0
real(kind=dp), intent(out), optional :: smo1
real(kind=dp), intent(out), optional :: smo2
real(kind=dp), intent(out), optional :: smoe
real(kind=dp), intent(out), optional :: smof
real(kind=dp), intent(out), optional :: smog
real(kind=dp), intent(out), optional :: smoz

public subroutine compute_efrw()

collision efficiency for rain collecting cloud water from Beard and Grover (1974) if a/A < 0.25 https://doi.org/10.1175/1520-0469(1974)031<0543:NCEFSR>2.0.CO;2 otherwise uses polynomials to get close match of Pruppacher and Klett Fig. 14-9

Arguments

None

public subroutine compute_efsw()

collision efficiency for snow collecting cloud water from Wang and Ji (2000) https://doi.org/10.1175/1520-0469(2000)057<1001:CEOICA>2.0.CO;2 equating melted snow diameter to effective collision cross-section

Arguments

None

public subroutine qi_aut_qs()

calculates cloud ice conversion to snow and depositional growth by binning cloud ice distributions and determining both the size bins > d0s (that are converted to snow) and the depositional growth up to d0s (for cloud ice) and > d0s for snow following Harrington et al. (1995) https://doi.org/10.1175/1520-0469(1995)052<4344:POICCP>2.0.CO;2

Arguments

None

public subroutine compute_drop_evap()

calculates droplet evaporation data

Arguments

None