radsurf_properties Module


Uses

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

Used by

  • module~~radsurf_properties~~UsedByGraph module~radsurf_properties radsurf_properties proc~allocate_surface_flux_type allocate_surface_flux_type proc~allocate_surface_flux_type->module~radsurf_properties

Contents


Variables

Type Visibility Attributes Name Initial
integer(kind=jpim), public, parameter :: NTileTypes = 3
character(len=*), public, parameter :: TileRepresentationName(NTileTypes) = (/'Flat                 ', 'HomogeneousVegetation', 'Urban3D              '/)
integer(kind=jpim), public, parameter :: NTileFacets(NTileTypes) = (/1, 1, 3/)
integer(kind=jpim), public, parameter :: NTileRegions(NTileTypes) = (/0, 1, 1/)

Enumerations

enum, bind(c)

Enumerators

enumerator:: ITileFlat = 1
enumerator:: ITileVegetation = 2
enumerator:: ITileUrban3D = 3

Derived Types

type, public ::  surface_type

Components

Type Visibility Attributes Name Initial
real(kind=jprb), public, allocatable :: skin_temperature(:,:)
real(kind=jprb), public, allocatable :: canopy_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
integer(kind=jpim), public, allocatable, dimension(:) :: i_representation
integer(kind=jpim), public, allocatable, dimension(:,:) :: i_ground_facet
integer(kind=jpim), public, allocatable, dimension(:,:) :: i_roof_facet
integer(kind=jpim), public, allocatable, dimension(:,:) :: i_wall_facet
integer(kind=jpim), public, allocatable, dimension(:,:) :: i_region_1
real(kind=jprb), public, allocatable, dimension(:,:) :: tile_fraction
real(kind=jprb), public, allocatable, dimension(:,:) :: canopy_depth
real(kind=jprb), public, allocatable, dimension(:,:) :: building_fraction
real(kind=jprb), public, allocatable, dimension(:,:) :: building_normalized_perimeter
real(kind=jprb), public, allocatable, dimension(:,:) :: vegetation_optical_depth
real(kind=jprb), public, allocatable, dimension(:,:) :: vegetation_fractional_std
real(kind=jprb), public, allocatable, dimension(:,:,:) :: vegetation_sw_albedo
real(kind=jprb), public, allocatable, dimension(:,:,:) :: vegetation_lw_emissivity
integer(kind=jpim), public :: ntile
integer(kind=jpim), public :: ncol
integer(kind=jpim), public :: nfacet
integer(kind=jpim), public :: nregion
integer(kind=jpim), public :: nalbedobands
integer(kind=jpim), public :: nemissbands
logical, public :: is_simple = .true.

Type-Bound Procedures

procedure , public :: allocate => allocate_surface Subroutine
procedure , public :: deallocate => deallocate_surface Subroutine
procedure , public :: read => read_from_netcdf Subroutine
procedure , public :: set_facet_indices Subroutine

Subroutines

public subroutine allocate_surface(this, ncol, nalbedobands, nemissbands, i_representation, use_sw_albedo_direct)

Arguments

Type IntentOptional Attributes Name
class(surface_type), intent(inout) :: this
integer(kind=jpim), intent(in) :: ncol
integer(kind=jpim), intent(in) :: nalbedobands
integer(kind=jpim), intent(in) :: nemissbands
integer(kind=jpim), intent(in), optional :: i_representation(:)
logical(kind=jpim), intent(in), optional :: use_sw_albedo_direct

public subroutine set_facet_indices(this)

Arguments

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

public subroutine deallocate_surface(this)

Arguments

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

public subroutine print_surface_representation(i_representation)

Arguments

Type IntentOptional Attributes Name
integer(kind=jpim), intent(in), dimension(:), allocatable :: i_representation

public subroutine read_from_netcdf(this, file)

Arguments

Type IntentOptional Attributes Name
class(surface_type), intent(inout) :: this
type(netcdf_file), intent(in) :: file