mo_fluxes Module

Compute output quantities from spectrally-resolved flux profiles

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


Uses

  • module~~mo_fluxes~~UsesGraph module~mo_fluxes mo_fluxes module~mo_rte_util_array_validation mo_rte_util_array_validation module~mo_fluxes->module~mo_rte_util_array_validation module~mo_optical_props mo_optical_props module~mo_fluxes->module~mo_optical_props module~mo_rte_kind mo_rte_kind module~mo_fluxes->module~mo_rte_kind module~mo_rte_config mo_rte_config module~mo_fluxes->module~mo_rte_config mo_fluxes_broadband_kernels mo_fluxes_broadband_kernels module~mo_fluxes->mo_fluxes_broadband_kernels module~mo_rte_util_array_validation->module~mo_rte_kind module~mo_optical_props->module~mo_rte_util_array_validation module~mo_optical_props->module~mo_rte_kind module~mo_optical_props->module~mo_rte_config mo_optical_props_kernels mo_optical_props_kernels module~mo_optical_props->mo_optical_props_kernels iso_c_binding iso_c_binding module~mo_rte_kind->iso_c_binding module~mo_rte_config->module~mo_rte_kind

Used by

  • module~~mo_fluxes~~UsedByGraph module~mo_fluxes mo_fluxes module~mo_rte_lw mo_rte_lw module~mo_rte_lw->module~mo_fluxes module~mo_rte_sw mo_rte_sw module~mo_rte_sw->module~mo_fluxes

Contents


Derived Types

type, public, abstract :: ty_fluxes

Abstract base class: reduce() function accepts spectral flux profiles, computes desired outputs are_desired() returns a logical

Type-Bound Procedures

procedure(are_desired_abstract), public :: are_desired
procedure(reduce_abstract), public :: reduce

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

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
procedure, public :: reduce => reduce_broadband