spectral_definition_type Derived Type

type, public :: spectral_definition_type


Inherited by

type~~spectral_definition_type~~InheritedByGraph type~spectral_definition_type spectral_definition_type type~ckd_model_type ckd_model_type type~ckd_model_type->type~spectral_definition_type spectral_def type~ckd_model_type~2 ckd_model_type type~ckd_model_type~2->type~spectral_definition_type spectral_def type~config_type config_type type~config_type->type~ckd_model_type gas_optics_sw, gas_optics_lw type~config_type~2 config_type type~config_type~2->type~ckd_model_type gas_optics_sw, gas_optics_lw type~tradiation TRADIATION type~tradiation->type~config_type rad_config

Contents


Components

Type Visibility Attributes Name Initial
integer, public :: nwav = 0
integer, public :: ng = 0
real(kind=jprb), public, allocatable :: wavenumber1(:)
real(kind=jprb), public, allocatable :: wavenumber2(:)
real(kind=jprb), public, allocatable :: gpoint_fraction(:,:)
real(kind=jprb), public :: reference_temperature = -1.0_jprb
real(kind=jprb), public, allocatable :: solar_spectral_irradiance(:)
integer, public :: nband = 0
real(kind=jprb), public, allocatable :: wavenumber1_band(:)
real(kind=jprb), public, allocatable :: wavenumber2_band(:)
integer, public, allocatable :: i_band_number(:)

Type-Bound Procedures

procedure, public :: read => read_spectral_definition

procedure, public :: allocate_bands_only

  • public subroutine allocate_bands_only(this, reference_temperature, wavenumber1, wavenumber2)

    Arguments

    Type IntentOptional Attributes Name
    class(spectral_definition_type), intent(inout) :: this
    real(kind=jprb), intent(in) :: reference_temperature
    real(kind=jprb), intent(in), dimension(:) :: wavenumber1
    real(kind=jprb), intent(in), dimension(:) :: wavenumber2

procedure, public :: deallocate

procedure, public :: find => find_wavenumber

  • publicpure function find_wavenumber(this, wavenumber)

    Arguments

    Type IntentOptional Attributes Name
    class(spectral_definition_type), intent(in) :: this
    real(kind=jprb), intent(in) :: wavenumber

    Return Value integer

procedure, public :: calc_mapping

  • public subroutine calc_mapping(this, wavenumber, mapping, weighting_temperature, use_bands)

    Arguments

    Type IntentOptional Attributes Name
    class(spectral_definition_type), intent(in) :: this
    real(kind=jprb), intent(in) :: wavenumber(:)
    real(kind=jprb), intent(inout), allocatable :: mapping(:,:)
    real(kind=jprb), intent(in), optional :: weighting_temperature
    logical, intent(in), optional :: use_bands

procedure, public :: calc_mapping_from_bands

  • public subroutine calc_mapping_from_bands(this, wavelength_bound, i_intervals, mapping, use_bands, use_fluxes)

    Arguments

    Type IntentOptional Attributes Name
    class(spectral_definition_type), intent(in) :: this
    real(kind=jprb), intent(in) :: wavelength_bound(:)
    integer, intent(in) :: i_intervals(:)
    real(kind=jprb), intent(inout), allocatable :: mapping(:,:)
    logical, intent(in), optional :: use_bands
    logical, intent(in), optional :: use_fluxes

procedure, public :: calc_mapping_from_wavenumber_bands

  • public subroutine calc_mapping_from_wavenumber_bands(this, wavenumber1, wavenumber2, mapping, use_bands, use_fluxes)

    Arguments

    Type IntentOptional Attributes Name
    class(spectral_definition_type), intent(in) :: this
    real(kind=jprb), intent(in) :: wavenumber1(:)
    real(kind=jprb), intent(in) :: wavenumber2(:)
    real(kind=jprb), intent(inout), allocatable :: mapping(:,:)
    logical, intent(in), optional :: use_bands
    logical, intent(in), optional :: use_fluxes

procedure, public :: print_mapping_from_bands

  • public subroutine print_mapping_from_bands(this, mapping, use_bands)

    Arguments

    Type IntentOptional Attributes Name
    class(spectral_definition_type), intent(in) :: this
    real(kind=jprb), intent(in), allocatable :: mapping(:,:)
    logical, intent(in), optional :: use_bands

procedure, public :: max_wavenumber

procedure, public :: min_wavenumber