mo_fluxes_broadband_kernels Module

Kernels for computing broadband fluxes


Uses

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

Contents


Interfaces

public interface net_broadband

Interface for computing net flux

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

    Spectral reduction over all points for net flux

    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)


Subroutines

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

Spectral reduction over all points

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