module_mp_tempo_params Module

parameters and variables used in tempo microphysics


Uses

  • module~~module_mp_tempo_params~~UsesGraph module~module_mp_tempo_params 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_params~~UsedByGraph module~module_mp_tempo_params module_mp_tempo_params module~module_mp_tempo_aerosols module_mp_tempo_aerosols module~module_mp_tempo_aerosols->module~module_mp_tempo_params module~module_mp_tempo_diags module_mp_tempo_diags module~module_mp_tempo_diags->module~module_mp_tempo_params module~module_mp_tempo_utils module_mp_tempo_utils 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_params module~module_mp_tempo_main module_mp_tempo_main module~module_mp_tempo_driver->module~module_mp_tempo_main module~module_mp_tempo_ml module_mp_tempo_ml module~module_mp_tempo_driver->module~module_mp_tempo_ml module~module_mp_tempo_driver->module~module_mp_tempo_utils module~module_mp_tempo_main->module~module_mp_tempo_params module~module_mp_tempo_main->module~module_mp_tempo_aerosols module~module_mp_tempo_main->module~module_mp_tempo_diags module~module_mp_tempo_main->module~module_mp_tempo_ml module~module_mp_tempo_main->module~module_mp_tempo_utils module~module_mp_tempo_ml->module~module_mp_tempo_params module~module_mp_tempo_tables module_mp_tempo_tables module~module_mp_tempo_tables->module~module_mp_tempo_params module~module_mp_tempo_tables->module~module_mp_tempo_utils module~module_mp_tempo_utils->module~module_mp_tempo_params proc~activate_cloud_number activate_cloud_number proc~activate_cloud_number->module~module_mp_tempo_params proc~aerosol_check_and_update aerosol_check_and_update proc~aerosol_check_and_update->module~module_mp_tempo_params proc~aerosol_collection_efficiency aerosol_collection_efficiency proc~aerosol_collection_efficiency->module~module_mp_tempo_params proc~aerosol_scavenging aerosol_scavenging proc~aerosol_scavenging->module~module_mp_tempo_params proc~build_table_freezewater build_table_freezewater proc~build_table_freezewater->module~module_mp_tempo_params proc~build_table_qr_acr_qg build_table_qr_acr_qg proc~build_table_qr_acr_qg->module~module_mp_tempo_params proc~build_table_qr_acr_qs build_table_qr_acr_qs proc~build_table_qr_acr_qs->module~module_mp_tempo_params proc~check_over_depletion check_over_depletion proc~check_over_depletion->module~module_mp_tempo_params proc~cloud_check_and_update cloud_check_and_update proc~cloud_check_and_update->module~module_mp_tempo_params proc~cloud_condensation cloud_condensation proc~cloud_condensation->module~module_mp_tempo_params proc~cloud_fallspeed cloud_fallspeed proc~cloud_fallspeed->module~module_mp_tempo_params proc~complex_water_ray complex_water_ray proc~complex_water_ray->module~module_mp_tempo_params proc~compute_drop_evap compute_drop_evap proc~compute_drop_evap->module~module_mp_tempo_params proc~compute_efrw compute_efrw proc~compute_efrw->module~module_mp_tempo_params proc~compute_efsw compute_efsw proc~compute_efsw->module~module_mp_tempo_params proc~demott_nucleation demott_nucleation proc~demott_nucleation->module~module_mp_tempo_params proc~effective_radius effective_radius proc~effective_radius->module~module_mp_tempo_params proc~find_melting_level find_melting_level proc~find_melting_level->module~module_mp_tempo_params proc~freeze_cloud_melt_ice freeze_cloud_melt_ice proc~freeze_cloud_melt_ice->module~module_mp_tempo_params proc~freezewater freezewater proc~freezewater->module~module_mp_tempo_params proc~freezing_rain freezing_rain proc~freezing_rain->module~module_mp_tempo_params proc~gather gather proc~gather->module~module_mp_tempo_params proc~get_cloud_table_index get_cloud_table_index proc~get_cloud_table_index->module~module_mp_tempo_params proc~get_constant_cloud_number get_constant_cloud_number proc~get_constant_cloud_number->module~module_mp_tempo_params proc~get_graupel_table_index get_graupel_table_index proc~get_graupel_table_index->module~module_mp_tempo_params proc~get_ice_table_index get_ice_table_index proc~get_ice_table_index->module~module_mp_tempo_params proc~get_in_table_index get_in_table_index proc~get_in_table_index->module~module_mp_tempo_params proc~get_nuc get_nuc proc~get_nuc->module~module_mp_tempo_params proc~get_rain_table_index get_rain_table_index proc~get_rain_table_index->module~module_mp_tempo_params proc~get_snow_table_index get_snow_table_index proc~get_snow_table_index->module~module_mp_tempo_params proc~get_t1_subl get_t1_subl proc~get_t1_subl->module~module_mp_tempo_params proc~get_temperature_table_index get_temperature_table_index proc~get_temperature_table_index->module~module_mp_tempo_params proc~graupel_check_and_update graupel_check_and_update proc~graupel_check_and_update->module~module_mp_tempo_params proc~graupel_fallspeed graupel_fallspeed proc~graupel_fallspeed->module~module_mp_tempo_params proc~graupel_init graupel_init proc~graupel_init->module~module_mp_tempo_params proc~ice_check_and_update ice_check_and_update proc~ice_check_and_update->module~module_mp_tempo_params proc~ice_fallspeed ice_fallspeed proc~ice_fallspeed->module~module_mp_tempo_params proc~ice_nucleation ice_nucleation proc~ice_nucleation->module~module_mp_tempo_params proc~ice_processes ice_processes proc~ice_processes->module~module_mp_tempo_params proc~koop_nucleation koop_nucleation proc~koop_nucleation->module~module_mp_tempo_params proc~max_hail_diam max_hail_diam proc~max_hail_diam->module~module_mp_tempo_params proc~melting melting proc~melting->module~module_mp_tempo_params proc~qi_aut_qs qi_aut_qs proc~qi_aut_qs->module~module_mp_tempo_params proc~qr_acr_qg qr_acr_qg proc~qr_acr_qg->module~module_mp_tempo_params proc~qr_acr_qs qr_acr_qs proc~qr_acr_qs->module~module_mp_tempo_params proc~rain_check_and_update rain_check_and_update proc~rain_check_and_update->module~module_mp_tempo_params proc~rain_evaporation rain_evaporation proc~rain_evaporation->module~module_mp_tempo_params proc~rain_fallspeed rain_fallspeed proc~rain_fallspeed->module~module_mp_tempo_params proc~rain_snow_rain_graupel rain_snow_rain_graupel proc~rain_snow_rain_graupel->module~module_mp_tempo_params proc~read_table_ccn read_table_ccn proc~read_table_ccn->module~module_mp_tempo_params proc~read_table_freezewater read_table_freezewater proc~read_table_freezewater->module~module_mp_tempo_params proc~read_table_qr_acr_qg read_table_qr_acr_qg proc~read_table_qr_acr_qg->module~module_mp_tempo_params proc~read_table_qr_acr_qs read_table_qr_acr_qs proc~read_table_qr_acr_qs->module~module_mp_tempo_params proc~reflectivity_10cm reflectivity_10cm proc~reflectivity_10cm->module~module_mp_tempo_params proc~reflectivity_from_melting_graupel reflectivity_from_melting_graupel proc~reflectivity_from_melting_graupel->module~module_mp_tempo_params proc~reflectivity_from_melting_snow reflectivity_from_melting_snow proc~reflectivity_from_melting_snow->module~module_mp_tempo_params proc~riming riming proc~riming->module~module_mp_tempo_params proc~sedimentation sedimentation proc~sedimentation->module~module_mp_tempo_params proc~snow_check_and_update snow_check_and_update proc~snow_check_and_update->module~module_mp_tempo_params proc~snow_fallspeed snow_fallspeed proc~snow_fallspeed->module~module_mp_tempo_params proc~snow_moments snow_moments proc~snow_moments->module~module_mp_tempo_params proc~sum_tendencies sum_tendencies proc~sum_tendencies->module~module_mp_tempo_params proc~tempo_build_tables tempo_build_tables proc~tempo_build_tables->module~module_mp_tempo_params proc~tempo_init tempo_init proc~tempo_init->module~module_mp_tempo_params proc~test_cloud_number_aerosolaware test_cloud_number_aerosolaware proc~test_cloud_number_aerosolaware->module~module_mp_tempo_params proc~test_cloud_number_ml test_cloud_number_ml proc~test_cloud_number_ml->module~module_mp_tempo_params proc~test_cloud_number_non_aerosolaware test_cloud_number_non_aerosolaware proc~test_cloud_number_non_aerosolaware->module~module_mp_tempo_params proc~test_graupel_sedimentation test_graupel_sedimentation proc~test_graupel_sedimentation->module~module_mp_tempo_params proc~test_ml_cloud_effective_radius test_ml_cloud_effective_radius proc~test_ml_cloud_effective_radius->module~module_mp_tempo_params proc~test_snow_sedimentation test_snow_sedimentation proc~test_snow_sedimentation->module~module_mp_tempo_params proc~thermo_vars thermo_vars proc~thermo_vars->module~module_mp_tempo_params proc~warm_rain warm_rain proc~warm_rain->module~module_mp_tempo_params proc~write_table_freezewater write_table_freezewater proc~write_table_freezewater->module~module_mp_tempo_params proc~write_table_qr_acr_qg write_table_qr_acr_qg proc~write_table_qr_acr_qg->module~module_mp_tempo_params proc~write_table_qr_acr_qs write_table_qr_acr_qs proc~write_table_qr_acr_qs->module~module_mp_tempo_params program~build_tables build_tables program~build_tables->module~module_mp_tempo_params program~build_tables->module~module_mp_tempo_tables module~tests tests module~tests->module~module_mp_tempo_driver program~run_tempo_tests run_tempo_tests program~run_tempo_tests->module~tests

Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: dp = selected_real_kind(15, 307)
character(len=11), public :: tempo_version

tempo version string (max is xxx.xxx.xxx)

integer, public, parameter :: idx_bg1 = 6

index from rho_g when hail_aware = false: density = 500

real(kind=wp), public, parameter :: av_r = 4854._wp

Note

av_r is the rain fallspeed power-law coefficient

fallspeed power law relations are

and coefficients are from from Ferrier (1994) for rain and Thompson et al. (2008) for ice, snow, and graupel

real(kind=wp), public, parameter :: bv_r = 1.0_wp

rain fallspeed power-law coefficient

real(kind=wp), public, parameter :: av_s = 40._wp

snow fallspeed power-law coefficient

real(kind=wp), public, parameter :: bv_s = 0.55_wp

snow fallspeed power-law coefficient

real(kind=wp), public, parameter :: fv_s = 100._wp

snow fallspeed power-law coefficient

real(kind=wp), public, parameter :: bv_c = 2.0_wp

cloud fallspeed power-law coefficient

real(kind=wp), public, parameter :: bv_i = 1.0_wp

ice fallspeed power-law coefficient

real(kind=wp), public, parameter :: av_g_old = 442._wp

graupel fallspeed power-law coefficient (hail_aware = false)

real(kind=wp), public, parameter :: bv_g_old = 0.89_wp

graupel fallspeed power-law coefficient (hail_aware = false)

real(kind=wp), public, parameter :: av_g_new = 161.794724_wp

graupel fallspeed power-law coefficient HARDCODED for idx_bg1 = 6 (hail_aware = true)

real(kind=wp), public, parameter :: bv_g_new = 0.640961647_wp

graupel fallspeed power-law coefficient HARDCODED for idx_bg1 = 6 (hail_aware = true)

real(kind=wp), public, parameter :: fv_r = 195.0_wp

rain fallspeed power-law coefficient

real(kind=wp), public, parameter :: av_c = 0.316946e8_wp

cloud fallspeed power-law coefficient

real(kind=wp), public, parameter :: a_coeff = 0.47244157_wp

graupel fallspeed power-law coefficient

real(kind=wp), public, parameter :: b_coeff = 0.54698726_wp

grapuel fallspeed power-law coefficient

real(kind=wp), public, parameter :: av_i = 1493.9

ice fallspeed power-law coefficient

real(kind=wp), public, parameter :: am_s = 0.069_wp

Note

am_s is the snow mass power-law coefficient

mass power law relations are and coefficients for snow are from Field et al. (2005) and others assume a spherical form

real(kind=wp), public, parameter :: bm_s = 2.0_wp

snow mass power-law coefficient

real(kind=wp), public, parameter :: bm_g = 3.0_wp

graupel mass power-law coefficient

real(kind=wp), public, parameter :: bm_i = 3.0_wp

ice mass power-law coefficient

real(kind=wp), public, parameter :: bm_r = 3.0_wp

rain mass power-law coefficient

real(kind=wp), public, parameter :: rho_i = 890._wp

density of cloud ice

real(kind=wp), public, parameter :: xm0i = 1.e-12_wp

ice initiates with this mass

real(kind=wp), public, parameter :: d0c = 1.e-6_wp

minimum diameter of cloud droplets

real(kind=wp), public, parameter :: d0r = 50.e-6_wp

minimum diameter of raindrops

real(kind=wp), public, parameter :: d0s = 300.e-6_wp

minimum diameter of snow

real(kind=wp), public, parameter :: d0g = 350.e-6_wp

minimum diameter of graupel

real(kind=wp), public, parameter :: d0r_max = 2.5e-3_wp

maximum diameter of raindrops

real(kind=wp), public, parameter :: c_cube = 0.5_wp

capacitance of a sphere

real(kind=wp), public, parameter :: c_sqrd = 0.15_wp

capacitance of plates/aggregates

real(kind=wp), public, parameter :: mu_r = 0.0_wp

Note

mu_r is the shape parameter for rain generalized gamma distributions for rain, graupel and cloud ice have the form

real(kind=wp), public, parameter :: mu_s = 0.6357_wp

shape parameter for snow

real(kind=wp), public, parameter :: mu_g = 0.0_wp

shape parameter for graupel

real(kind=wp), public, parameter :: mu_i = 0.0_wp

shape parameter for cloud ice

real(kind=wp), public, parameter :: nu_c_scale = 1000.e6_wp

scaling parameter for nu_c

integer, public, parameter :: nu_c_max = 15

maximum value for nu_c

integer, public, parameter :: nu_c_min = 2

minimum value for nu_c

real(kind=wp), public, parameter :: naccn0 = 300.0e6_wp

used for water-friendly aerosol initialization

real(kind=wp), public, parameter :: naccn1 = 50.0e6_wp

used for water-friendly aerosol initialization

real(kind=wp), public, parameter :: nain0 = 1.5e6_wp

used for ice-friendly aerosol initialization

real(kind=wp), public, parameter :: nain1 = 0.5e6_wp

used for ice-friendly aerosol initialization

real(kind=wp), public, parameter :: nwfa_default = 11.1e6_wp

default value for water-friendly aerosols

real(kind=wp), public, parameter :: nifa_default = nain1*0.01_wp

default value for ice-friendly aerosols

real(kind=wp), public, parameter :: aero_max = 9999.e6_wp

maximum aerosol value

real(kind=wp), public, parameter :: hgfrz = 235.16_wp

temperature to freeze all liquid

real(kind=wp), public, parameter :: nt_c_o = 50.e6_wp

cloud number concentration over ocean (non-aerosol aware)

real(kind=wp), public, parameter :: nt_c_l = 100.e6_wp

cloud number concentration over land (non-aerosol aware)

real(kind=wp), public, parameter :: nt_c_max = 1999.e6_wp

maximum cloud number concentration

real(kind=wp), public, parameter :: nt_c_min = 2._wp

minimum cloud number concentration

real(kind=wp), public, parameter :: tno = 5.0_wp

constant in the Cooper curve for ice nucleation

real(kind=wp), public, parameter :: ato = 0.304_wp

constant in the Cooper curve for ice nucleation

real(kind=wp), public :: rho_s = 100.0_wp

density of snow

real(kind=wp), public, parameter :: demott_nuc_ssati = 0.25_wp

ice supersaturation threshold for DeMott nucleation

real(kind=dp), public, parameter :: max_ni = 4999.e3_wp

maximum ice number concentration

real(kind=wp), public, parameter :: icenuc_max = 1000.e3_wp

maximum ice nucleation number

real(kind=wp), public, parameter :: rime_threshold = 2.0_wp

snow to graupel rime threshold parameter

real(kind=wp), public, parameter :: rime_conversion = 0.95_wp

snow to graupel rime conversion parameter

real(kind=wp), public, parameter :: ef_si = 0.05_wp

snow-ice collection efficiency

real(kind=wp), public, parameter :: ef_rs = 0.95_wp

rain-snow collection efficiency

real(kind=wp), public, parameter :: ef_rg = 0.75_wp

rain-graupel collection efficiency

real(kind=wp), public, parameter :: ef_ri = 0.95_wp

rain-ice collection efficiency

real(kind=wp), public, parameter :: autocon_nr_factor = 10._wp

factor controlling rain number tendency from autconversion (larger produces few drops)

real(kind=wp), public, parameter :: timestep_conversion_rime_to_rain = 120._wp

timestep above which rime above freezing becomes rain (this timestep should be at least 120s)

integer, public, parameter :: table_sp = real32

precision for lookup tables (machine independent)

integer, public, parameter :: table_dp = real64

precision for lookup tables (machine independent)

integer, public, parameter :: nrhg = 9

graupel density array size when hail_aware = true

integer, public, parameter :: nrhg1 = 1

graupel density array size when hail_aware = false

real(kind=wp), public, parameter :: min_qv = 1.e-10_wp

minimum value of water vapor mixing ratio

real(kind=wp), public, parameter :: r1 = 1.e-12_wp

minimum hydrometeor mass

real(kind=wp), public, parameter :: r2 = 1.e-6_wp

minimum hydrometeor number

real(kind=wp), public, parameter :: low_limit_mass_for_precip = 1.e-9_wp

minimum hydrometor mass needed in the lowest-model level for precipitation

real(kind=wp), public, parameter :: eps = 1.e-15_wp

small non-zero number

real(kind=wp), public, parameter :: meters3_to_liters = 1000._wp

number of liters in 1

real(kind=dp), public, parameter :: gonv_min = 1.e2_dp

minimum graupel y-intercept

real(kind=dp), public, parameter :: gonv_max = 1.e6_dp

maximum graupel y-intercept

real(kind=wp), public, parameter :: t0 = 273.15_wp

melting point of ice

real(kind=wp), public, parameter :: rho_w = 1000._wp

density of liquid water

real(kind=wp), public, parameter, dimension(nrhg) :: rho_g = [50._wp, 100._wp, 200._wp, 300._wp, 400._wp, 500._wp, 600._wp, 700._wp, 800._wp]

!! densities of graupel when hail_aware = true

real(kind=wp), public, parameter :: sc = 0.632_wp

schmidt number

real(kind=wp), public :: pi = 3.1415926536_wp

pi is approximately 355/113

real(kind=wp), public :: lsub = 2.834e6_wp

enthalpy of sublimation

real(kind=wp), public :: lvap0 = 2.5e6_wp

enthalpy of vaporization

real(kind=wp), public :: rv = 461.5_wp

gas constant for water vapor

real(kind=wp), public :: rdry = 287.04_wp

gas constant for dry air

real(kind=wp), public :: roverrv = 0.622_wp

dry gas constant divided by water vapor gas constant

real(kind=wp), public :: r = 287.04_wp

gas constant for dry air

real(kind=wp), public :: rho_not

density constant

real(kind=wp), public :: rho_not0

density constant

real(kind=wp), public :: cp = 1004.0_wp

heat capacity of air at constant pressure

real(kind=wp), public :: r_uni = 8.314

gas constant

real(kind=wp), public, parameter :: kap0 = 490.6_wp

snow parameter from Field et al. (2005)

real(kind=wp), public, parameter :: kap1 = 17.46_wp

snow parameter from Field et al. (2005)

real(kind=wp), public, parameter :: lam0 = 20.78_wp

snow parameter from Field et al. (2005)

real(kind=wp), public, parameter :: lam1 = 3.29_wp

snow parameter from Field et al. (2005)

integer, public, parameter :: nbins = 100

lookup table dimension (number of bins)

integer, public, parameter :: nbc = nbins

lookup table dimension for cloud water

integer, public, parameter :: nbr = nbins

lookup table dimension for rain

integer, public, parameter :: nbs = nbins

lookup table dimension for snow

integer, public, parameter :: nbi = nbins

lookup table dimension

integer, public, parameter :: nbg = nbins

lookup table dimension

integer, public, parameter :: ntb_i = 64

lookup table dimension for cloud ice

integer, public, parameter :: ntb_i1 = 55

lookup table dimension for cloud ice

integer, public, parameter :: ntb_c = 37

lookup table dimension for cloud water

integer, public, parameter :: ntb_t = 9

lookup table dimension for temperature

integer, public, parameter :: ntb_g1 = 37

lookup table dimension for graupel

integer, public, parameter :: ntb_s = 37

lookup table dimension for snow

integer, public, parameter :: ntb_g = 37

lookup table dimension for graupel

integer, public, parameter :: ntb_r = 37

lookup table dimension for rain

integer, public, parameter :: ntb_r1 = 37

lookup table dimension for rain

integer, public, parameter :: ntb_t1 = 45

lookup table dimension for temperature

integer, public, parameter :: ntb_in = 55

lookup table dimension for IN

integer, public, parameter :: ntb_arc = 7

lookup table dimension for CCN activation

integer, public, parameter :: ntb_arw = 9

lookup table dimension for CCN activation

integer, public, parameter :: ntb_art = 7

lookup table dimension for CCN activation

integer, public, parameter :: ntb_arr = 5

lookup table dimension for CCN activation

integer, public, parameter :: ntb_ark = 4

lookup table dimension for CCN activation

real(kind=wp), public, parameter, dimension(ntb_c) :: r_c = [1.e-6_wp, 2.e-6_wp, 3.e-6_wp, 4.e-6_wp, 5.e-6_wp, 6.e-6_wp, 7.e-6_wp, 8.e-6_wp, 9.e-6_wp, 1.e-5_wp, 2.e-5_wp, 3.e-5_wp, 4.e-5_wp, 5.e-5_wp, 6.e-5_wp, 7.e-5_wp, 8.e-5_wp, 9.e-5_wp, 1.e-4_wp, 2.e-4_wp, 3.e-4_wp, 4.e-4_wp, 5.e-4_wp, 6.e-4_wp, 7.e-4_wp, 8.e-4_wp, 9.e-4_wp, 1.e-3_wp, 2.e-3_wp, 3.e-3_wp, 4.e-3_wp, 5.e-3_wp, 6.e-3_wp, 7.e-3_wp, 8.e-3_wp, 9.e-3_wp, 1.e-2_wp]

mass bins for cloud water

real(kind=wp), public, parameter, dimension(ntb_i) :: r_i = [1.e-10_wp, 2.e-10_wp, 3.e-10_wp, 4.e-10_wp, 5.e-10_wp, 6.e-10_wp, 7.e-10_wp, 8.e-10_wp, 9.e-10_wp, 1.e-9_wp, 2.e-9_wp, 3.e-9_wp, 4.e-9_wp, 5.e-9_wp, 6.e-9_wp, 7.e-9_wp, 8.e-9_wp, 9.e-9_wp, 1.e-8_wp, 2.e-8_wp, 3.e-8_wp, 4.e-8_wp, 5.e-8_wp, 6.e-8_wp, 7.e-8_wp, 8.e-8_wp, 9.e-8_wp, 1.e-7_wp, 2.e-7_wp, 3.e-7_wp, 4.e-7_wp, 5.e-7_wp, 6.e-7_wp, 7.e-7_wp, 8.e-7_wp, 9.e-7_wp, 1.e-6_wp, 2.e-6_wp, 3.e-6_wp, 4.e-6_wp, 5.e-6_wp, 6.e-6_wp, 7.e-6_wp, 8.e-6_wp, 9.e-6_wp, 1.e-5_wp, 2.e-5_wp, 3.e-5_wp, 4.e-5_wp, 5.e-5_wp, 6.e-5_wp, 7.e-5_wp, 8.e-5_wp, 9.e-5_wp, 1.e-4_wp, 2.e-4_wp, 3.e-4_wp, 4.e-4_wp, 5.e-4_wp, 6.e-4_wp, 7.e-4_wp, 8.e-4_wp, 9.e-4_wp, 1.e-3_wp]

mass bins for ice water

real(kind=wp), public, parameter, dimension(ntb_r) :: r_r = [1.e-6_wp, 2.e-6_wp, 3.e-6_wp, 4.e-6_wp, 5.e-6_wp, 6.e-6_wp, 7.e-6_wp, 8.e-6_wp, 9.e-6_wp, 1.e-5_wp, 2.e-5_wp, 3.e-5_wp, 4.e-5_wp, 5.e-5_wp, 6.e-5_wp, 7.e-5_wp, 8.e-5_wp, 9.e-5_wp, 1.e-4_wp, 2.e-4_wp, 3.e-4_wp, 4.e-4_wp, 5.e-4_wp, 6.e-4_wp, 7.e-4_wp, 8.e-4_wp, 9.e-4_wp, 1.e-3_wp, 2.e-3_wp, 3.e-3_wp, 4.e-3_wp, 5.e-3_wp, 6.e-3_wp, 7.e-3_wp, 8.e-3_wp, 9.e-3_wp, 1.e-2_wp]

mass bins for rain

real(kind=wp), public, parameter, dimension(ntb_s) :: r_s = [1.e-6_wp, 2.e-6_wp, 3.e-6_wp, 4.e-6_wp, 5.e-6_wp, 6.e-6_wp, 7.e-6_wp, 8.e-6_wp, 9.e-6_wp, 1.e-5_wp, 2.e-5_wp, 3.e-5_wp, 4.e-5_wp, 5.e-5_wp, 6.e-5_wp, 7.e-5_wp, 8.e-5_wp, 9.e-5_wp, 1.e-4_wp, 2.e-4_wp, 3.e-4_wp, 4.e-4_wp, 5.e-4_wp, 6.e-4_wp, 7.e-4_wp, 8.e-4_wp, 9.e-4_wp, 1.e-3_wp, 2.e-3_wp, 3.e-3_wp, 4.e-3_wp, 5.e-3_wp, 6.e-3_wp, 7.e-3_wp, 8.e-3_wp, 9.e-3_wp, 1.e-2_wp]

mass bins for snow

real(kind=wp), public, parameter, dimension(ntb_g) :: r_g = [1.e-6_wp, 2.e-6_wp, 3.e-6_wp, 4.e-6_wp, 5.e-6_wp, 6.e-6_wp, 7.e-6_wp, 8.e-6_wp, 9.e-6_wp, 1.e-5_wp, 2.e-5_wp, 3.e-5_wp, 4.e-5_wp, 5.e-5_wp, 6.e-5_wp, 7.e-5_wp, 8.e-5_wp, 9.e-5_wp, 1.e-4_wp, 2.e-4_wp, 3.e-4_wp, 4.e-4_wp, 5.e-4_wp, 6.e-4_wp, 7.e-4_wp, 8.e-4_wp, 9.e-4_wp, 1.e-3_wp, 2.e-3_wp, 3.e-3_wp, 4.e-3_wp, 5.e-3_wp, 6.e-3_wp, 7.e-3_wp, 8.e-3_wp, 9.e-3_wp, 1.e-2_wp]

mass bins for graupel

real(kind=wp), public, parameter, dimension(ntb_r1) :: n0r_exp = [1.e6_wp, 2.e6_wp, 3.e6_wp, 4.e6_wp, 5.e6_wp, 6.e6_wp, 7.e6_wp, 8.e6_wp, 9.e6_wp, 1.e7_wp, 2.e7_wp, 3.e7_wp, 4.e7_wp, 5.e7_wp, 6.e7_wp, 7.e7_wp, 8.e7_wp, 9.e7_wp, 1.e8_wp, 2.e8_wp, 3.e8_wp, 4.e8_wp, 5.e8_wp, 6.e8_wp, 7.e8_wp, 8.e8_wp, 9.e8_wp, 1.e9_wp, 2.e9_wp, 3.e9_wp, 4.e9_wp, 5.e9_wp, 6.e9_wp, 7.e9_wp, 8.e9_wp, 9.e9_wp, 1.e10_wp]

y-intercept bins for rain

real(kind=wp), public, parameter, dimension(ntb_g1) :: n0g_exp = [1.e2_wp, 2.e2_wp, 3.e2_wp, 4.e2_wp, 5.e2_wp, 6.e2_wp, 7.e2_wp, 8.e2_wp, 9.e2_wp, 1.e3_wp, 2.e3_wp, 3.e3_wp, 4.e3_wp, 5.e3_wp, 6.e3_wp, 7.e3_wp, 8.e3_wp, 9.e3_wp, 1.e4_wp, 2.e4_wp, 3.e4_wp, 4.e4_wp, 5.e4_wp, 6.e4_wp, 7.e4_wp, 8.e4_wp, 9.e4_wp, 1.e5_wp, 2.e5_wp, 3.e5_wp, 4.e5_wp, 5.e5_wp, 6.e5_wp, 7.e5_wp, 8.e5_wp, 9.e5_wp, 1.e6_wp]

y-intercept bins for graupel

real(kind=wp), public, parameter, dimension(ntb_i1) :: nt_i = [1.0_wp, 2.0_wp, 3.0_wp, 4.0_wp, 5.0_wp, 6.0_wp, 7.0_wp, 8.0_wp, 9.0_wp, 1.e1_wp, 2.e1_wp, 3.e1_wp, 4.e1_wp, 5.e1_wp, 6.e1_wp, 7.e1_wp, 8.e1_wp, 9.e1_wp, 1.e2_wp, 2.e2_wp, 3.e2_wp, 4.e2_wp, 5.e2_wp, 6.e2_wp, 7.e2_wp, 8.e2_wp, 9.e2_wp, 1.e3_wp, 2.e3_wp, 3.e3_wp, 4.e3_wp, 5.e3_wp, 6.e3_wp, 7.e3_wp, 8.e3_wp, 9.e3_wp, 1.e4_wp, 2.e4_wp, 3.e4_wp, 4.e4_wp, 5.e4_wp, 6.e4_wp, 7.e4_wp, 8.e4_wp, 9.e4_wp, 1.e5_wp, 2.e5_wp, 3.e5_wp, 4.e5_wp, 5.e5_wp, 6.e5_wp, 7.e5_wp, 8.e5_wp, 9.e5_wp, 1.e6_wp]

number bins for ice

real(kind=wp), public, parameter, dimension(ntb_in) :: nt_in = [1.0_wp, 2.0_wp, 3.0_wp, 4.0_wp, 5.0_wp, 6.0_wp, 7.0_wp, 8.0_wp, 9.0_wp, 1.e1_wp, 2.e1_wp, 3.e1_wp, 4.e1_wp, 5.e1_wp, 6.e1_wp, 7.e1_wp, 8.e1_wp, 9.e1_wp, 1.e2_wp, 2.e2_wp, 3.e2_wp, 4.e2_wp, 5.e2_wp, 6.e2_wp, 7.e2_wp, 8.e2_wp, 9.e2_wp, 1.e3_wp, 2.e3_wp, 3.e3_wp, 4.e3_wp, 5.e3_wp, 6.e3_wp, 7.e3_wp, 8.e3_wp, 9.e3_wp, 1.e4_wp, 2.e4_wp, 3.e4_wp, 4.e4_wp, 5.e4_wp, 6.e4_wp, 7.e4_wp, 8.e4_wp, 9.e4_wp, 1.e5_wp, 2.e5_wp, 3.e5_wp, 4.e5_wp, 5.e5_wp, 6.e5_wp, 7.e5_wp, 8.e5_wp, 9.e5_wp, 1.e6_wp]

number bins for IN concentration from

real(kind=wp), public, parameter, dimension(ntb_arc) :: ta_na = [10._wp, 31.6_wp, 100._wp, 316._wp, 1000._wp, 3160._wp, 10000._wp]

aerosol lookup table bins for number concentration

real(kind=wp), public, parameter, dimension(ntb_arw) :: ta_ww = [0.01_wp, 0.0316_wp, 0.1_wp, 0.316_wp, 1._wp, 3.16_wp, 10._wp, 31.6_wp, 100._wp]

aerosol lookup table bins for vertical velocity

real(kind=wp), public, parameter, dimension(ntb_art) :: ta_tk = [243.15_wp, 253.15_wp, 263.15_wp, 273.15_wp, 283.15_wp, 293.15_wp, 303.15_wp]

aerosol lookup table bins for temperature

real(kind=wp), public, parameter, dimension(ntb_arr) :: ta_ra = [0.01_wp, 0.02_wp, 0.04_wp, 0.08_wp, 0.16_wp]

aerosol lookup table bins for radius

real(kind=wp), public, parameter, dimension(ntb_ark) :: ta_ka = [0.2_wp, 0.4_wp, 0.6_wp, 0.8_wp]

aerosol lookup table bins for hygroscopicity

real(kind=wp), public, parameter, dimension(10) :: sa = [5.065339_wp, -0.062659_wp, -3.032362_wp, 0.029469_wp, -0.000285_wp, 0.31255_wp, 0.000204_wp, 0.003199_wp, 0._wp, -0.015952_wp]

snow moment data from Field et al. (2005)

real(kind=wp), public, parameter, dimension(10) :: sb = [0.476221_wp, -0.015896_wp, 0.165977_wp, 0.007468_wp, -0.000141_wp, 0.060366_wp, 0.000079_wp, 0.000594_wp, 0._wp, -0.003577_wp]

snow moment data from Field et al. (2005)

real(kind=wp), public, parameter, dimension(ntb_t) :: tc = [-0.01_wp, -5._wp, -10._wp, -15._wp, -20._wp, -25._wp, -30._wp, -35._wp, -40._wp]

temperature lookup table data

integer, public :: nic2

lookup table indexes

integer, public :: nii2

lookup table indexes

integer, public :: nii3

lookup table indexes

integer, public :: nir2

lookup table indexes

integer, public :: nir3

lookup table indexes

integer, public :: nis2

lookup table indexes

integer, public :: nig2

lookup table indexes

integer, public :: nig3

lookup table indexes

integer, public :: niin2

lookup table indexes

real(kind=dp), public :: nic1

History

nic1 is used for cloud droplet number concentration lookup table

nic1 was changed from integer in previous code versions

integer, public, parameter :: nhbins = 50

used for hail size calculation

integer, public, parameter :: radar_bins = 50

used for radar caculation

real(kind=dp), public, allocatable, dimension(:,:) :: t_efrw

collection efficiency data arrays

real(kind=dp), public, allocatable, dimension(:,:) :: t_efsw

collection efficiency data arrays

real(kind=dp), public, allocatable, dimension(:,:,:) :: tpc_wev

evaporation data arrays

real(kind=dp), public, allocatable, dimension(:,:,:) :: tnc_wev

evaporation data arrays

real(kind=table_sp), public, allocatable, dimension(:,:,:,:,:) :: tnccn_act

cloud condensation nuclei data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:,:) :: tcg_racg

rain-graupel collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:,:) :: tmr_racg

rain-graupel collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:,:) :: tcr_gacr

rain-graupel collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:,:) :: tnr_racg

rain-graupel collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:,:) :: tnr_gacr

rain-graupel collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tcs_racs1

rain-snow collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tmr_racs1

rain-snow collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tcs_racs2

rain-snow collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tmr_racs2

rain-snow collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tcr_sacr1

rain-snow collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tms_sacr1

rain-snow collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tcr_sacr2

rain-snow collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tms_sacr2

rain-snow collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tnr_racs1

rain-snow collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tnr_racs2

rain-snow collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tnr_sacr1

rain-snow collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tnr_sacr2

rain-snow collection data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tpi_qcfz

cloud droplet freezing data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tni_qcfz

cloud droplet freezing data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tpi_qrfz

rain freezing data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tpg_qrfz

rain freezing data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tni_qrfz

rain freezing data arrays

real(kind=table_dp), public, allocatable, dimension(:,:,:,:) :: tnr_qrfz

rain freezing data arrays

real(kind=dp), public, allocatable, dimension(:,:) :: tps_iaus

cloud ice depositional growth and conversion to snow data array

real(kind=dp), public, allocatable, dimension(:,:) :: tni_iaus

cloud ice depositional growth and conversion to snow data array

real(kind=dp), public, allocatable, dimension(:,:) :: tpi_ide

cloud ice depositional growth and conversion to snow data array


Subroutines

public subroutine get_version(version)

returns the tempo version string from the README.md file or returns empty string if not found

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(inout) :: version

public subroutine initialize_graupel_vars(hail_flag)

initialize graupel variables based on hail-aware configuration flag

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: hail_flag

public subroutine initialize_parameters()

initialize tempo parameters and variables

Arguments

None

public subroutine initialize_bins_for_tables()

initialize log-spaced bins of hydrometer quantities used for lookup tables

Arguments

None

public subroutine initialize_bins_for_hail_size()

initialize log-spaced bins for hail size calculation

Arguments

None

public subroutine initialize_bins_for_radar()

initialize log-spaced bins for radar calculation

Arguments

None

public subroutine create_bins(numbins, lowbin, highbin, bins, deltabins)

calculates log-spaced bins of hydrometer sizes to simplify calculations later

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: numbins
real(kind=dp), intent(in) :: lowbin
real(kind=dp), intent(in) :: highbin
real(kind=dp), intent(out), dimension(:) :: bins
real(kind=dp), intent(out), optional, dimension(:) :: deltabins

public subroutine initialize_arrays_freezewater(table_size)

initialize data arrays for Bigg (1953) freezing of cloud water and rain

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(out), optional :: table_size

public subroutine initialize_arrays_qr_acr_qs(table_size)

initialize data arrays for rain-snow collection

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(out), optional :: table_size

public subroutine initialize_arrays_qr_acr_qg(table_size)

initialize data arrays for rain-graupel collection

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(out), optional :: table_size

public subroutine initialize_arrays_ccn(table_size)

initialize data arrays for ccn lookup table

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(out), optional :: table_size

public subroutine initialize_arrays_drop_evap()

initialize data arrays for drop evaporation data

Read more…

Arguments

None

public subroutine initialize_array_efsw()

initializes the collision efficiency data array for snow collecting cloud water

Read more…

Arguments

None

public subroutine initialize_array_efrw()

initializes the collision efficiency data array for rain collecting cloud water

Read more…

Arguments

None

public subroutine initialize_arrays_qi_aut_qs()

initializes data arrays for cloud ice to snow conversion and growth

Read more…

Arguments

None