radiation_cloud_generator Module


Contents


Subroutines

public subroutine cloud_generator(ng, nlev, i_overlap_scheme, iseed, frac_threshold, frac, overlap_param, decorrelation_scaling, fractional_std, pdf_sampler, od_scaling, total_cloud_cover, use_beta_overlap, use_vectorizable_generator)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ng
integer, intent(in) :: nlev
integer, intent(in) :: i_overlap_scheme
integer, intent(in) :: iseed
real(kind=jprb), intent(in) :: frac_threshold
real(kind=jprb), intent(in) :: frac(nlev)
real(kind=jprb), intent(in) :: overlap_param(nlev-1)
real(kind=jprb), intent(in) :: decorrelation_scaling
real(kind=jprb), intent(in) :: fractional_std(nlev)
type(pdf_sampler_type), intent(in) :: pdf_sampler
real(kind=jprb), intent(out) :: od_scaling(ng,nlev)
real(kind=jprb), intent(out) :: total_cloud_cover
logical, intent(in), optional :: use_beta_overlap
logical, intent(in), optional :: use_vectorizable_generator

public subroutine generate_column_exp_ran(ng, nlev, ig, random_stream, pdf_sampler, frac, pair_cloud_cover, cum_cloud_cover, overhang, fractional_std, overlap_param_inhom, itrigger, iend, od_scaling)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ng
integer, intent(in) :: nlev
integer, intent(in) :: ig
type(RANDOMNUMBERSTREAM), intent(inout) :: random_stream
type(pdf_sampler_type), intent(in) :: pdf_sampler
real(kind=jprb), intent(in), dimension(nlev) :: frac
real(kind=jprb), intent(in), dimension(nlev-1) :: pair_cloud_cover
real(kind=jprb), intent(in), dimension(nlev) :: cum_cloud_cover
real(kind=jprb), intent(in), dimension(nlev-1) :: overhang
real(kind=jprb), intent(in), dimension(nlev) :: fractional_std
real(kind=jprb), intent(in), dimension(nlev-1) :: overlap_param_inhom
integer, intent(in) :: itrigger
integer, intent(in) :: iend
real(kind=jprb), intent(inout), dimension(ng,nlev) :: od_scaling

public subroutine generate_column_exp_exp(ng, nlev, ig, random_stream, pdf_sampler, frac, pair_cloud_cover, cum_cloud_cover, overhang, fractional_std, overlap_param_inhom, itrigger, iend, od_scaling)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ng
integer, intent(in) :: nlev
integer, intent(in) :: ig
type(RANDOMNUMBERSTREAM), intent(inout) :: random_stream
type(pdf_sampler_type), intent(in) :: pdf_sampler
real(kind=jprb), intent(in), dimension(nlev) :: frac
real(kind=jprb), intent(in), dimension(nlev-1) :: pair_cloud_cover
real(kind=jprb), intent(in), dimension(nlev) :: cum_cloud_cover
real(kind=jprb), intent(in), dimension(nlev-1) :: overhang
real(kind=jprb), intent(in), dimension(nlev) :: fractional_std
real(kind=jprb), intent(in), dimension(nlev-1) :: overlap_param_inhom
integer, intent(in) :: itrigger
integer, intent(in) :: iend
real(kind=jprb), intent(inout), dimension(ng,nlev) :: od_scaling

public subroutine sample_from_pdf_simd(this, fsd, cdf, x)

Arguments

Type IntentOptional Attributes Name
type(pdf_sampler_type), intent(in) :: this
real(kind=jprb), intent(in) :: fsd
real(kind=jprb), intent(in) :: cdf
real(kind=jprb), intent(out) :: x

public subroutine generate_columns_exp_ran(ng, nlev, iseed, pdf_sampler, total_cloud_cover, frac_threshold, frac, pair_cloud_cover, cum_cloud_cover, overhang, fractional_std, overlap_param_inhom, ibegin, iend, od_scaling)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ng
integer, intent(in) :: nlev
integer, intent(in) :: iseed
type(pdf_sampler_type), intent(in) :: pdf_sampler
real(kind=jprb), intent(in) :: total_cloud_cover
real(kind=jprb), intent(in) :: frac_threshold
real(kind=jprb), intent(in), dimension(nlev) :: frac
real(kind=jprb), intent(in), dimension(nlev-1) :: pair_cloud_cover
real(kind=jprb), intent(in), dimension(nlev) :: cum_cloud_cover
real(kind=jprb), intent(in), dimension(nlev-1) :: overhang
real(kind=jprb), intent(in), dimension(nlev) :: fractional_std
real(kind=jprb), intent(in), dimension(nlev-1) :: overlap_param_inhom
integer, intent(inout) :: ibegin
integer, intent(inout) :: iend
real(kind=jprb), intent(inout), dimension(ng,nlev) :: od_scaling