-
Notifications
You must be signed in to change notification settings - Fork 68
RTE: optical properties
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.
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.