spectral_definition_type Derived Type

type, public :: spectral_definition_type


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(:,:)
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, wavenumber1, wavenumber2)

    Arguments

    Type IntentOptional Attributes Name
    class(spectral_definition_type), intent(inout) :: this
    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, temperature, wavenumber, mapping, use_bands)

    Arguments

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

procedure, public :: calc_mapping_from_bands

  • public subroutine calc_mapping_from_bands(this, temperature, 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) :: temperature
    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, temperature, wavenumber1, wavenumber2, mapping, use_bands, use_fluxes)

    Arguments

    Type IntentOptional Attributes Name
    class(spectral_definition_type), intent(in) :: this
    real(kind=jprb), intent(in) :: temperature
    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