mo_fluxes_broadband_kernels Module

Kernels for computing broadband fluxes


Uses

  • module~~mo_fluxes_broadband_kernels~2~~UsesGraph module~mo_fluxes_broadband_kernels~2 mo_fluxes_broadband_kernels iso_c_binding iso_c_binding module~mo_fluxes_broadband_kernels~2->iso_c_binding mo_rte_kind mo_rte_kind module~mo_fluxes_broadband_kernels~2->mo_rte_kind

Contents


Interfaces

public interface net_broadband

Spectral reduction over all points for net flux Overloaded - which routine is called depends on arguments

  • private subroutine net_broadband_full(ncol, nlev, ngpt, spectral_flux_dn, spectral_flux_up, broadband_flux_net) bind(C, name="0")

    Net flux from g-point fluxes up and down

    Arguments

    TypeIntentOptionalAttributesName
    integer, intent(in) :: ncol

    Array sizes

    integer, intent(in) :: nlev

    Array sizes

    integer, intent(in) :: ngpt

    Array sizes

    real(kind=wp), intent(in), dimension(ncol, nlev, ngpt):: spectral_flux_dn

    Spectrally-resolved flux up and down

    real(kind=wp), intent(in), dimension(ncol, nlev, ngpt):: spectral_flux_up

    Spectrally-resolved flux up and down

    real(kind=wp), intent(out), dimension(ncol, nlev):: broadband_flux_net

    Net (down minus up) summed over ngpt

  • private subroutine net_broadband_precalc(ncol, nlev, flux_dn, flux_up, broadband_flux_net) bind(C, name="0")

    Net flux when bradband flux up and down are already available

    Arguments

    TypeIntentOptionalAttributesName
    integer, intent(in) :: ncol

    Array sizes

    integer, intent(in) :: nlev

    Array sizes

    real(kind=wp), intent(in), dimension(ncol, nlev):: flux_dn

    Broadband downward and upward fluxes

    real(kind=wp), intent(in), dimension(ncol, nlev):: flux_up

    Broadband downward and upward fluxes

    real(kind=wp), intent(out), dimension(ncol, nlev):: broadband_flux_net

    Net (down minus up)

interface

Spectral reduction over all points

  • public subroutine sum_broadband(ncol, nlev, ngpt, spectral_flux, broadband_flux) bind(C, name="0")

    Arguments

    TypeIntentOptionalAttributesName
    integer, intent(in) :: ncol

    Array sizes

    integer, intent(in) :: nlev

    Array sizes

    integer, intent(in) :: ngpt

    Array sizes

    real(kind=wp), intent(in), dimension(ncol, nlev, ngpt):: spectral_flux

    Spectrally-resolved flux

    real(kind=wp), intent(out), dimension(ncol, nlev):: broadband_flux

    Sum of spectrally-resolved flux over ngpt