ty_fluxes_broadband Derived Type

type, public, extends(ty_fluxes) :: ty_fluxes_broadband

Class implementing broadband integration for the complete flux profile. Data components are pointers so results can be written directly into memory


Inherits

type~~ty_fluxes_broadband~~InheritsGraph type~ty_fluxes_broadband ty_fluxes_broadband type~ty_fluxes ty_fluxes type~ty_fluxes_broadband->type~ty_fluxes

Contents


Components

TypeVisibilityAttributesNameInitial
real(kind=wp), public, dimension(:,:), pointer:: flux_dn=> NULL()
real(kind=wp), public, dimension(:,:), pointer:: flux_dn_dir=> NULL()
real(kind=wp), public, dimension(:,:), pointer:: flux_net=> NULL()
real(kind=wp), public, dimension(:,:), pointer:: flux_up=> NULL()

Type-Bound Procedures

procedure, public :: are_desired => are_desired_broadband

  • private function are_desired_broadband(this)

    Are any fluxes desired from this set of g-point fluxes? We can tell because memory will be allocated for output

    Arguments

    TypeIntentOptionalAttributesName
    class(ty_fluxes_broadband), intent(in) :: this

    Return Value logical

procedure, public :: reduce => reduce_broadband

  • private function reduce_broadband(this, gpt_flux_up, gpt_flux_dn, spectral_disc, top_at_1, gpt_flux_dn_dir) result(error_msg)

    Broadband fluxes -- simply sum over the spectral dimension and report the whole profile

    Arguments

    TypeIntentOptionalAttributesName
    class(ty_fluxes_broadband), intent(inout) :: this
    real(kind=wp), intent(in), dimension(:,:,:):: gpt_flux_up
    real(kind=wp), intent(in), dimension(:,:,:):: gpt_flux_dn
    class(ty_optical_props), intent(in) :: spectral_disc
    logical, intent(in) :: top_at_1
    real(kind=wp), intent(in), optional dimension(:,:,:):: gpt_flux_dn_dir

    Return Value character(len=128)