Skip to content

RTE: optical properties

Robert Pincus edited this page Jul 31, 2018 · 3 revisions

Class ty_optical_props in module mo_optical_props in the RTE library provides a representation of the optical properties of the atmosphere. The following examples assume that a variable op of type(ty_optical_props) has been declared.

Spectral discretization

Optical properties are defined by their spectral dependence which is described during initialization using routine

  function init(band_lims_wvn, band_lims_gpt, name) result(err_message)
    real(wp), dimension(:,:),   intent(in   ) :: band_lims_wvn
    integer,  dimension(:,:), &
                      optional, intent(in   ) :: band_lims_gpt
    character(len=*), optional, intent(in   ) :: name
    character(len = 128)                      :: err_message

Array band_lims_wvn with extents (2, number-of-bands) describes the number of bands beginning and ending wavenumber of each band (in MKS units i.e. inverse meters). Optional argument band_lims_gpt describes the beginning and ending g-point of each band; if this array isn't provided it's assumed values are available by band. An optional name may be useful in debugging.

Variables of type ty_optical_props can copy the spectral discretization from a previously-initialized variable e.g. err_msg = op2%init(op1).

Real-valued functions op%get_band_lims_wavenumber() and op%get_band_lims_wavelength() return arrays of extent (2, number-of-bands) containing the spectral limits of each band expressed in wavelength or wavenumber = 1/wavelength (again in MKS units).

Procedure op%is_initialized() returns a logical value indicating if the spectral discretization has been provided. op%get_nband() and op%get_ngpt() return the (integer) number of band and g-points; if these numbers are the same the optical properties are defined by band.

Integer functions op%convert_band2gpt() and op%convert_gpt2band() provide a map between individual bands and g-points. Function op%get_gpoint_bands() returns an integer of length op%get_ngpt() with the band number to which each g-point belongs (i.e. it's the vector version of op%convert_gpt2band()).

Comparison functions op1%bands_are_equal(op2) and op1%gpoints_are_equal(op2) return logical values indicating whether the twi sets of optical properties share the same band or g-point discretization.

Optical property values

Clone this wiki locally