radiation_single_level Module


Uses

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

Contents


Derived Types

type, public ::  single_level_type

Components

Type Visibility Attributes Name Initial
real(kind=jprb), public, allocatable, dimension(:) :: cos_sza
real(kind=jprb), public, allocatable, dimension(:) :: skin_temperature
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_albedo
real(kind=jprb), public, allocatable, dimension(:,:) :: sw_albedo_direct
real(kind=jprb), public, allocatable, dimension(:,:) :: lw_emissivity
real(kind=jprb), public, allocatable, dimension(:,:) :: lw_emission
real(kind=jprb), public :: solar_irradiance = 1366.0_jprb
real(kind=jprb), public, allocatable, dimension(:) :: spectral_solar_scaling
integer, public, allocatable, dimension(:) :: iseed
logical, public :: is_simple_surface = .true.

Type-Bound Procedures

procedure , public :: allocate => allocate_single_level Subroutine
procedure , public :: deallocate => deallocate_single_level Subroutine
procedure , public :: init_seed_simple Subroutine
procedure , public :: get_albedos Subroutine
procedure , public :: out_of_physical_bounds Function

Functions

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

Arguments

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

Return Value logical


Subroutines

public subroutine allocate_single_level(this, ncol, nalbedobands, nemisbands, use_sw_albedo_direct, is_simple_surface)

Arguments

Type IntentOptional Attributes Name
class(single_level_type), intent(inout) :: this
integer, intent(in) :: ncol
integer, intent(in) :: nalbedobands
integer, intent(in) :: nemisbands
logical, intent(in), optional :: use_sw_albedo_direct
logical, intent(in), optional :: is_simple_surface

public subroutine deallocate_single_level(this)

Arguments

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

public subroutine init_seed_simple(this, istartcol, iendcol)

Arguments

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

public subroutine get_albedos(this, istartcol, iendcol, config, sw_albedo_direct, sw_albedo_diffuse, lw_albedo)

Arguments

Type IntentOptional Attributes Name
class(single_level_type), intent(in) :: this
integer, intent(in) :: istartcol
integer, intent(in) :: iendcol
type(config_type), intent(in) :: config
real(kind=jprb), intent(out), dimension(config%n_g_sw, istartcol:iendcol) :: sw_albedo_direct
real(kind=jprb), intent(out), dimension(config%n_g_sw, istartcol:iendcol) :: sw_albedo_diffuse
real(kind=jprb), intent(out), optional :: lw_albedo(config%n_g_lw,istartcol:iendcol)