This module contains an abstract class and a broadband implmentation that sums over all spectral points
The abstract base class defines the routines that extenstions must implement: reduce()
and are_desired()
The intent is for users to extend it as required, using mo_flxues_broadband as an example
Abstract base class:
reduce()
function accepts spectral flux profiles, computes desired outputs
are_desired()
returns a logical
procedure(are_desired_abstract), public :: are_desired | |
procedure(reduce_abstract), public :: reduce |
Class implementing broadband integration for the complete flux profile. Data components are pointers so results can be written directly into memory
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
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() |
procedure, public :: are_desired => are_desired_broadband | |
procedure, public :: reduce => reduce_broadband |