single_level_type Derived Type

type, public :: single_level_type


Contents


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

  • 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

procedure, public :: deallocate => deallocate_single_level

procedure, public :: init_seed_simple

  • 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

procedure, public :: get_albedos

  • 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)

procedure, public :: out_of_physical_bounds

  • 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