aerosol_optics_type Derived Type

type, public :: aerosol_optics_type


Contents


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

  • 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

procedure, public :: save => save_aerosol_optics

  • 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

procedure, public :: allocate

  • 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

procedure, public :: initialize_types

procedure, public :: set_hydrophobic_type

  • 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

procedure, public :: set_hydrophilic_type

  • 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

procedure, public :: set_empty_type

  • public subroutine set_empty_type(this, itype)

    Arguments

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

procedure, public :: set_types

  • public subroutine set_types(this, itypes)

    Arguments

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

procedure, public :: calc_rh_index

  • 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

procedure, public :: print_description

  • 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(:)