SURF_ATM_t Derived Type

type, public :: SURF_ATM_t


Contents

Source Code


Components

TypeVisibility AttributesNameInitial
character(len=6), public :: CTOWN
character(len=6), public :: CNATURE
character(len=6), public :: CWATER
character(len=6), public :: CSEA
real, public, POINTER, DIMENSION(:):: XTOWN
real, public, POINTER, DIMENSION(:):: XNATURE
real, public, POINTER, DIMENSION(:):: XWATER
real, public, POINTER, DIMENSION(:):: XSEA
logical, public :: LECOCLIMAP
logical, public :: LECOSG
logical, public :: LWATER_TO_NATURE
logical, public :: LTOWN_TO_ROCK
logical, public :: LGARDEN
integer, public :: NSIZE_SEA
integer, public :: NDIM_SEA
integer, public, POINTER, DIMENSION(:):: NR_SEA
integer, public :: NSIZE_WATER
integer, public :: NDIM_WATER
integer, public, POINTER, DIMENSION(:):: NR_WATER
integer, public :: NSIZE_TOWN
integer, public :: NDIM_TOWN
integer, public, POINTER, DIMENSION(:):: NR_TOWN
integer, public :: NSIZE_NATURE
integer, public :: NDIM_NATURE
integer, public, POINTER, DIMENSION(:):: NR_NATURE
integer, public :: NSIZE_FULL
integer, public :: NDIM_FULL
integer, public :: NIMAX_SURF_ll
integer, public :: NJMAX_SURF_ll
integer, public :: NIMAX_SURF_LOC
integer, public :: NJMAX_SURF_LOC
real, public, POINTER, DIMENSION(:,:):: XCOVER
logical, public, POINTER, DIMENSION(:):: LCOVER
real, public, POINTER, DIMENSION(:):: XZS
type(DATE_TIME), public :: TTIME
real, public :: XOUT_TSTEP
real, public, POINTER, DIMENSION(:):: XRAIN
real, public, POINTER, DIMENSION(:):: XSNOW
real, public, POINTER, DIMENSION(:):: XZ0
real, public, POINTER, DIMENSION(:):: XZ0H
real, public, POINTER, DIMENSION(:):: XQSURF

Source Code

TYPE SURF_ATM_t
!
!-----------------------------------------------------------------------------------------------------
!
! Type of each surface scheme
!
  CHARACTER(LEN=6) :: CTOWN      ! name of the urban surface scheme
  CHARACTER(LEN=6) :: CNATURE    ! name of the soil&vegetation surface scheme
  CHARACTER(LEN=6) :: CWATER     ! name of the scheme for inland water
  CHARACTER(LEN=6) :: CSEA       ! name for the ocean scheme
!
!-----------------------------------------------------------------------------------------------------
!
! Surface/Tile Fractions:
!
  REAL, POINTER, DIMENSION(:)   :: XTOWN     ! urban surface fraction of the grid box   (-)
  REAL, POINTER, DIMENSION(:)   :: XNATURE   ! natural surface fraction of the grid box (-)
  REAL, POINTER, DIMENSION(:)   :: XWATER    ! inland water fraction of the grid box    (-)
  REAL, POINTER, DIMENSION(:)   :: XSEA      ! sea/ocean fraction of the grid box       (-)
!
!-------------------------------------------------------------------------------
!
! type of initialization of vegetation: from cover types (ecoclimap) or parameters prescribed
!
  LOGICAL                        :: LECOCLIMAP ! T: parameters computed from ecoclimap
!                                              ! F: they are read in the file
!
  LOGICAL                        :: LECOSG     ! T: parameters computed from ecosg
!-------------------------------------------------------------------------------
!
! change water (not lake) to nature and/or town to rock : arrange cover properly
!
  LOGICAL                        :: LWATER_TO_NATURE ! T: Change Wetland treated as inland water into nature 
  LOGICAL                        :: LTOWN_TO_ROCK    ! T: Change Town into Rock
!
!-------------------------------------------------------------------------------
!
! include urban green areas for urbanized covers
!
  LOGICAL                        :: LGARDEN    ! T: define urban green areas
!                                              ! F: no urban green areas
!
!-----------------------------------------------------------------------------------------------------
!
! Masks and number of grid elements for each tile surface
!
! Sea/Ocean:
!
  INTEGER                               :: NSIZE_SEA    ! number of grid points by proc containing a
!                                                     ! sea surface                              (-)
  INTEGER                               :: NDIM_SEA     ! total number of grid points containing a
!                                                     ! sea surface                             (-)
  INTEGER, POINTER, DIMENSION(:)    :: NR_SEA       ! sea/ocean surface mask                  (-)
!
! Inland Water:
!
  INTEGER                               :: NSIZE_WATER  ! number of grid points containing an 
!                                                     ! inland water surface                    (-)
  INTEGER                               :: NDIM_WATER   ! total number of grid points by proc containing an
!                                                     ! inland surface
  INTEGER, POINTER, DIMENSION(:)    :: NR_WATER
!
! Town:
!
  INTEGER                               :: NSIZE_TOWN   ! number of grid points by proc containing an 
!                                                     ! urban surface                           (-)
  INTEGER                               :: NDIM_TOWN    ! total number of grid points containing an
!                                                     ! urban surface
  INTEGER, POINTER, DIMENSION(:)    :: NR_TOWN      ! urban surface mask                      (-)
!
! Natural surface:
!
  INTEGER                               :: NSIZE_NATURE ! number of grid points by proc containing a 
!                                                     ! natural surface                         (-)
  INTEGER                               :: NDIM_NATURE  ! total number of grid points containing a
!                                                     ! natural surface                         (-)
  INTEGER, POINTER, DIMENSION(:)    :: NR_NATURE    ! natural surface mask                    (-)
!
! All surfaces:
!
  INTEGER                               :: NSIZE_FULL   ! total number of grid points by proc     (-)
  INTEGER                               :: NDIM_FULL    ! total number of grid points             (-)
!
! global sizes of the physical domain
!
  INTEGER                               :: NIMAX_SURF_ll
  INTEGER                               :: NJMAX_SURF_ll
!
! local sizes of the physical domain
!
  INTEGER                               :: NIMAX_SURF_LOC
  INTEGER                               :: NJMAX_SURF_LOC
!
!-----------------------------------------------------------------------------------------------------
!
! Surface fields (only 1 horizontal dimension)
!
  REAL, POINTER, DIMENSION(:,:) :: XCOVER    ! fraction of each ecosystem for each grid box (-)
  LOGICAL, POINTER, DIMENSION(:):: LCOVER    ! GCOVER(i)=T --> ith cover field is not 0.
  REAL, POINTER, DIMENSION(:)   :: XZS       ! orography                                    (m)
!
!-------------------------------------------------------------------------------
!
  TYPE (DATE_TIME)                      :: TTIME            ! current date and time
!
  REAL                                  :: XOUT_TSTEP       ! output writing time step
!
!-----------------------------------------------------------------------------------------------------
!
! physical fields need into the restart file for ARPEGE/ALADIN run
!
  REAL, POINTER, DIMENSION(:)   :: XRAIN    ! Rainfall rate at surface               (kg/m2/s)
  REAL, POINTER, DIMENSION(:)   :: XSNOW    ! snowfall rate at surface               (kg/m2/s)
  REAL, POINTER, DIMENSION(:)   :: XZ0      ! surface roughness length for momentum  (m)
  REAL, POINTER, DIMENSION(:)   :: XZ0H     ! surface roughness length for heat      (m)
  REAL, POINTER, DIMENSION(:)   :: XQSURF   ! specific humidity at surface           (kg/kg)
!
!-----------------------------------------------------------------------------------------------------
!
!
END TYPE SURF_ATM_t