radiation_general_cloud_optics_data Module


Uses

  • module~~radiation_general_cloud_optics_data~2~~UsesGraph module~radiation_general_cloud_optics_data~2 radiation_general_cloud_optics_data module~parkind1~2 PARKIND1 module~radiation_general_cloud_optics_data~2->module~parkind1~2

Contents


Derived Types

type, public ::  general_cloud_optics_type

Components

Type Visibility Attributes Name Initial
real(kind=jprb), public, allocatable, dimension(:,:) :: mass_ext
real(kind=jprb), public, allocatable, dimension(:,:) :: ssa
real(kind=jprb), public, allocatable, dimension(:,:) :: asymmetry
integer, public :: n_effective_radius = 0
real(kind=jprb), public :: effective_radius_0
real(kind=jprb), public :: d_effective_radius
character(len=511), public :: type_name
character(len=511), public :: scheme_name
logical, public :: use_bands = .false.

Type-Bound Procedures

procedure , public :: setup => setup_general_cloud_optics Subroutine
procedure , public :: add_optical_properties Subroutine

Functions

publicelemental function calc_planck_function_wavenumber(wavenumber, temperature)

Arguments

Type IntentOptional Attributes Name
real(kind=jprb), intent(in) :: wavenumber
real(kind=jprb), intent(in) :: temperature

Return Value real(kind=jprb)


Subroutines

publicelemental subroutine delta_eddington(od, ssa, g)

Arguments

Type IntentOptional Attributes Name
real(kind=jprb), intent(inout) :: od
real(kind=jprb), intent(inout) :: ssa
real(kind=jprb), intent(inout) :: g

publicelemental subroutine delta_eddington_extensive(od, scat_od, scat_od_g)

Arguments

Type IntentOptional Attributes Name
real(kind=jprb), intent(inout) :: od
real(kind=jprb), intent(inout) :: scat_od
real(kind=jprb), intent(inout) :: scat_od_g

publicelemental subroutine delta_eddington_scat_od(od, scat_od, g)

Arguments

Type IntentOptional Attributes Name
real(kind=jprb), intent(inout) :: od
real(kind=jprb), intent(inout) :: scat_od
real(kind=jprb), intent(inout) :: g

publicelemental subroutine revert_delta_eddington(od, ssa, g)

Arguments

Type IntentOptional Attributes Name
real(kind=jprb), intent(inout) :: od
real(kind=jprb), intent(inout) :: ssa
real(kind=jprb), intent(inout) :: g

public subroutine setup_general_cloud_optics(this, file_name, specdef, use_bands, use_thick_averaging, weighting_temperature, iverbose)

Arguments

Type IntentOptional Attributes Name
class(general_cloud_optics_type), intent(inout) :: this
character(len=*), intent(in) :: file_name
type(spectral_definition_type), intent(in) :: specdef
logical, intent(in), optional :: use_bands
logical, intent(in), optional :: use_thick_averaging
real(kind=jprb), intent(in), optional :: weighting_temperature
integer, intent(in), optional :: iverbose

public subroutine add_optical_properties(this, ng, nlev, ncol, cloud_fraction, water_path, effective_radius, od, scat_od, scat_asymmetry)

Arguments

Type IntentOptional Attributes Name
class(general_cloud_optics_type), intent(in) :: this
integer, intent(in) :: ng
integer, intent(in) :: nlev
integer, intent(in) :: ncol
real(kind=jprb), intent(in) :: cloud_fraction(:,:)
real(kind=jprb), intent(in) :: water_path(:,:)
real(kind=jprb), intent(in) :: effective_radius(:,:)
real(kind=jprb), intent(inout), dimension(ng,nlev,ncol) :: od
real(kind=jprb), intent(inout), optional, dimension(ng,nlev,ncol) :: scat_od
real(kind=jprb), intent(inout), optional, dimension(ng,nlev,ncol) :: scat_asymmetry