radiation_aerosol_optics_data Module


Uses

  • module~~radiation_aerosol_optics_data~~UsesGraph module~radiation_aerosol_optics_data radiation_aerosol_optics_data module~parkind1~2 PARKIND1 module~radiation_aerosol_optics_data->module~parkind1~2 module~radiation_io~2 radiation_io module~radiation_aerosol_optics_data->module~radiation_io~2 module~yomlun_ifsaux YOMLUN_IFSAUX module~radiation_io~2->module~yomlun_ifsaux module~yomlun_ifsaux->module~parkind1~2

Contents


Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: NMaxStringLength = 2000
integer, public, parameter :: NMaxLineLength = 200

Enumerations

enum, bind(c)

Enumerators

enumerator:: IAerosolClassUndefined = 0
enumerator:: IAerosolClassIgnored = 1
enumerator:: IAerosolClassHydrophobic = 2
enumerator:: IAerosolClassHydrophilic = 3

Derived Types

type, public ::  aerosol_optics_type

Components

Type Visibility Attributes Name Initial
integer, public, allocatable, dimension(:) :: iclass
integer, public, allocatable, dimension(:) :: itype
real(kind=jprb), public, allocatable, dimension(:) :: wavenumber1_sw
real(kind=jprb), public, allocatable, dimension(:) :: wavenumber2_sw
real(kind=jprb), public, allocatable, dimension(:) :: wavenumber1_lw
real(kind=jprb), public, allocatable, dimension(:) :: wavenumber2_lw
real(kind=jprb), public, allocatable, dimension(:,:) :: mass_ext_sw_phobic
real(kind=jprb), public, allocatable, dimension(:,:) :: ssa_sw_phobic
real(kind=jprb), public, allocatable, dimension(:,:) :: g_sw_phobic
real(kind=jprb), public, allocatable, dimension(:,:) :: mass_ext_lw_phobic
real(kind=jprb), public, allocatable, dimension(:,:) :: ssa_lw_phobic
real(kind=jprb), public, allocatable, dimension(:,:) :: g_lw_phobic
real(kind=jprb), public, allocatable, dimension(:,:,:) :: mass_ext_sw_philic
real(kind=jprb), public, allocatable, dimension(:,:,:) :: ssa_sw_philic
real(kind=jprb), public, allocatable, dimension(:,:,:) :: g_sw_philic
real(kind=jprb), public, allocatable, dimension(:,:,:) :: mass_ext_lw_philic
real(kind=jprb), public, allocatable, dimension(:,:,:) :: ssa_lw_philic
real(kind=jprb), public, allocatable, dimension(:,:,:) :: g_lw_philic
real(kind=jprb), public, allocatable :: wavelength_mono(:)
real(kind=jprb), public, allocatable, dimension(:,:) :: mass_ext_mono_phobic
real(kind=jprb), public, allocatable, dimension(:,:) :: ssa_mono_phobic
real(kind=jprb), public, allocatable, dimension(:,:) :: g_mono_phobic
real(kind=jprb), public, allocatable, dimension(:,:) :: lidar_ratio_mono_phobic
real(kind=jprb), public, allocatable, dimension(:,:,:) :: mass_ext_mono_philic
real(kind=jprb), public, allocatable, dimension(:,:,:) :: ssa_mono_philic
real(kind=jprb), public, allocatable, dimension(:,:,:) :: g_mono_philic
real(kind=jprb), public, allocatable, dimension(:,:,:) :: lidar_ratio_mono_philic
real(kind=jprb), public, allocatable, dimension(:) :: rh_lower
character(len=NMaxStringLength), public :: description_phobic_str = ' '
character(len=NMaxStringLength), public :: description_philic_str = ' '
integer, public :: ntype
integer, public :: n_type_phobic = 0
integer, public :: n_type_philic = 0
integer, public :: nrh = 0
integer, public :: n_bands_lw = 0
integer, public :: n_bands_sw = 0
integer, public :: n_mono_wl = 0
logical, public :: use_hydrophilic = .true.
logical, public :: use_monochromatic = .false.

Type-Bound Procedures

procedure , public :: setup => setup_aerosol_optics Subroutine
procedure , public :: save => save_aerosol_optics Subroutine
procedure , public :: allocate Subroutine
procedure , public :: initialize_types Subroutine
procedure , public :: set_hydrophobic_type Subroutine
procedure , public :: set_hydrophilic_type Subroutine
procedure , public :: set_empty_type Subroutine
procedure , public :: set_types Subroutine
procedure , public :: calc_rh_index Function
procedure , public :: print_description Subroutine

Functions

public function calc_rh_index(this, rh)

Arguments

Type IntentOptional Attributes Name
class(aerosol_optics_type), intent(inout) :: this
real(kind=jprb), intent(in) :: rh

Return Value integer


Subroutines

public subroutine setup_aerosol_optics(this, file_name, iverbose)

Arguments

Type IntentOptional Attributes Name
class(aerosol_optics_type), intent(inout) :: this
character(len=*), intent(in) :: file_name
integer, intent(in), optional :: iverbose

public subroutine initialize_types(this, ntype)

Arguments

Type IntentOptional Attributes Name
class(aerosol_optics_type), intent(inout) :: this
integer, intent(in) :: ntype

public subroutine allocate(this, n_type_phobic, n_type_philic, nrh, n_bands_lw, n_bands_sw, n_mono_wl)

Arguments

Type IntentOptional Attributes Name
class(aerosol_optics_type), intent(inout) :: this
integer, intent(in) :: n_type_phobic
integer, intent(in) :: n_type_philic
integer, intent(in) :: nrh
integer, intent(in) :: n_bands_lw
integer, intent(in) :: n_bands_sw
integer, intent(in) :: n_mono_wl

public subroutine save_aerosol_optics(this, file_name, iverbose)

Arguments

Type IntentOptional Attributes Name
class(aerosol_optics_type), intent(inout) :: this
character(len=*), intent(in) :: file_name
integer, intent(in), optional :: iverbose

public subroutine set_hydrophobic_type(this, itype, i_type_phobic)

Arguments

Type IntentOptional Attributes Name
class(aerosol_optics_type), intent(inout) :: this
integer, intent(in) :: itype
integer, intent(in) :: i_type_phobic

public subroutine set_hydrophilic_type(this, itype, i_type_philic)

Arguments

Type IntentOptional Attributes Name
class(aerosol_optics_type), intent(inout) :: this
integer, intent(in) :: itype
integer, intent(in) :: i_type_philic

public subroutine set_empty_type(this, itype)

Arguments

Type IntentOptional Attributes Name
class(aerosol_optics_type), intent(inout) :: this
integer, intent(in) :: itype

public subroutine set_types(this, itypes)

Arguments

Type IntentOptional Attributes Name
class(aerosol_optics_type), intent(inout) :: this
integer, intent(in), dimension(:) :: itypes

public subroutine print_description(this, i_type_map)

Arguments

Type IntentOptional Attributes Name
class(aerosol_optics_type), intent(in) :: this
integer, intent(in) :: i_type_map(:)