radiation_flux Module


Uses

  • module~~radiation_flux~~UsesGraph module~radiation_flux radiation_flux module~parkind1~2 PARKIND1 module~radiation_flux->module~parkind1~2

Contents


Variables

Type Visibility Attributes Name Initial
logical, public, parameter :: use_indexed_sum_vec = .false.

Derived Types

type, public ::  flux_type

Components

Type Visibility Attributes Name Initial
real(kind=jprb), public, allocatable, dimension(:,:) :: lw_up
real(kind=jprb), public, allocatable, dimension(:,:) :: lw_dn
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_up
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_dn
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_dn_direct
real(kind=jprb), public, allocatable, dimension(:,:) :: lw_up_clear
real(kind=jprb), public, allocatable, dimension(:,:) :: lw_dn_clear
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_up_clear
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_dn_clear
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_dn_direct_clear
real(kind=jprb), public, allocatable, dimension(:,:,:) :: lw_up_band
real(kind=jprb), public, allocatable, dimension(:,:,:) :: lw_dn_band
real(kind=jprb), public, allocatable, dimension(:,:,:) :: sw_up_band
real(kind=jprb), public, allocatable, dimension(:,:,:) :: sw_dn_band
real(kind=jprb), public, allocatable, dimension(:,:,:) :: sw_dn_direct_band
real(kind=jprb), public, allocatable, dimension(:,:,:) :: lw_up_clear_band
real(kind=jprb), public, allocatable, dimension(:,:,:) :: lw_dn_clear_band
real(kind=jprb), public, allocatable, dimension(:,:,:) :: sw_up_clear_band
real(kind=jprb), public, allocatable, dimension(:,:,:) :: sw_dn_clear_band
real(kind=jprb), public, allocatable, dimension(:,:,:) :: sw_dn_direct_clear_band
real(kind=jprb), public, allocatable, dimension(:,:) :: lw_dn_surf_g
real(kind=jprb), public, allocatable, dimension(:,:) :: lw_dn_surf_clear_g
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_dn_diffuse_surf_g
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_dn_direct_surf_g
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_dn_diffuse_surf_clear_g
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_dn_direct_surf_clear_g
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_dn_surf_band
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_dn_direct_surf_band
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_dn_surf_clear_band
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_dn_direct_surf_clear_band
real(kind=jprb), public, allocatable, dimension(:,:) :: lw_dn_surf_canopy
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_dn_diffuse_surf_canopy
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_dn_direct_surf_canopy
real(kind=jprb), public, allocatable, dimension(:) :: cloud_cover_lw
real(kind=jprb), public, allocatable, dimension(:) :: cloud_cover_sw
real(kind=jprb), public, allocatable, dimension(:,:) :: lw_derivatives

Type-Bound Procedures

procedure , public :: allocate => allocate_flux_type Subroutine
procedure , public :: deallocate => deallocate_flux_type Subroutine
procedure , public :: calc_surface_spectral Subroutine
procedure , public :: out_of_physical_bounds Function
procedure , public :: heating_rate_out_of_physical_bounds Function

Functions

public function out_of_physical_bounds(this, istartcol, iendcol) result(is_bad)

Arguments

Type IntentOptional Attributes Name
class(flux_type), intent(inout) :: this
integer, intent(in), optional :: istartcol
integer, intent(in), optional :: iendcol

Return Value logical

public function heating_rate_out_of_physical_bounds(this, nlev, istartcol, iendcol, pressure_hl) result(is_bad)

Arguments

Type IntentOptional Attributes Name
class(flux_type), intent(inout) :: this
integer, intent(in) :: nlev
integer, intent(in) :: istartcol
integer, intent(in) :: iendcol
real(kind=jprb), intent(in) :: pressure_hl(:,:)

Return Value logical


Subroutines

public subroutine allocate_flux_type(this, config, istartcol, iendcol, nlev)

Arguments

Type IntentOptional Attributes Name
class(flux_type), intent(inout) :: this
type(config_type), intent(in) :: config
integer, intent(in) :: istartcol
integer, intent(in) :: iendcol
integer, intent(in) :: nlev

public subroutine deallocate_flux_type(this)

Arguments

Type IntentOptional Attributes Name
class(flux_type), intent(inout) :: this

public subroutine calc_surface_spectral(this, config, istartcol, iendcol)

Arguments

Type IntentOptional Attributes Name
class(flux_type), intent(inout) :: this
type(config_type), intent(in) :: config
integer, intent(in) :: istartcol
integer, intent(in) :: iendcol

publicpure subroutine add_indexed_sum(source, ind, dest)

Arguments

Type IntentOptional Attributes Name
real(kind=jprb), intent(in) :: source(:)
integer, intent(in) :: ind(:)
real(kind=jprb), intent(inout) :: dest(:)

publicpure subroutine indexed_sum(source, ind, dest)

Arguments

Type IntentOptional Attributes Name
real(kind=jprb), intent(in) :: source(:)
integer, intent(in) :: ind(:)
real(kind=jprb), intent(out) :: dest(:)

public subroutine indexed_sum_vec(source, ind, dest, ist, iend)

Arguments

Type IntentOptional Attributes Name
real(kind=jprb), intent(in) :: source(:,:)
integer, intent(in) :: ind(:)
real(kind=jprb), intent(out) :: dest(:,:)
integer, intent(in) :: ist
integer, intent(in) :: iend

publicpure subroutine add_indexed_sum_profile(source, ind, dest)

Arguments

Type IntentOptional Attributes Name
real(kind=jprb), intent(in) :: source(:,:)
integer, intent(in) :: ind(:)
real(kind=jprb), intent(out) :: dest(:,:)

publicpure subroutine indexed_sum_profile(source, ind, dest)

Arguments

Type IntentOptional Attributes Name
real(kind=jprb), intent(in) :: source(:,:)
integer, intent(in) :: ind(:)
real(kind=jprb), intent(out) :: dest(:,:)