modd_emis_gr_fieldn.F90 Source File


Contents


Source Code

!SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
!SFX_LIC This is part of the SURFEX software governed by the CeCILL version 2.1
!SFX_LIC version 1. See LICENSE, Licence_CeCILL_V2.1-en.txt and Licence_CeCILL_V2.1-fr.txt  
!SFX_LIC for details. version 1.
!     ###########################
      MODULE MODD_EMIS_GR_FIELD_n
!     ###########################
!
!!****  *MODD_EMIS_GR_FIELD_n* - declaration of chemical emission data arrays
!!                               for model n
!!    PURPOSE
!!    -------
!       The purpose of this declarative module is to specify  the 
!     chemical emission data arrays for model n.
!
!!
!!**  IMPLICIT ARGUMENTS
!!    ------------------
!!      None 
!!
!!    REFERENCE
!!    ---------
!!      Book2 of documentation of Meso-NH (module MODD_EMIS_GR_FIELD)
!!      
!!
!!    AUTHOR
!!    ------
!!      D. Gazen   *L.A.*
!!
!!    MODIFICATIONS
!!    -------------
!!      Original    08/03/2001                      
!!      01/12/03    (D.Gazen) change emissions handling for surf. externalization
!-------------------------------------------------------------------------------
!
!*       0.   DECLARATIONS
!             ------------
!
USE MODD_TYPE_EFUTIL
!
!
USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
USE PARKIND1  ,ONLY : JPRB
!
IMPLICIT NONE

TYPE EMIS_GR_FIELD_t
!
!
  INTEGER                                     :: NEMIS_GR_NBR
!                          ! number of chemical pgd fields chosen by user
  CHARACTER(LEN=3) , DIMENSION(:), POINTER:: CEMIS_GR_AREA
!                          ! areas where chemical pgd fields are defined
!                          ! 'ALL' : everywhere
!                          ! 'SEA' : where sea exists
!                          ! 'LAN' : where land exists
!                          ! 'WAT' : where inland water exists
!                          ! 'NAT' : where natural or agricultural areas exist
!                          ! 'TWN' : where town areas exist
!                          ! 'STR' : where streets are present
!                          ! 'BLD' : where buildings are present
!                          !
  CHARACTER(LEN=40), DIMENSION(:), POINTER:: CEMIS_GR_NAME
!                          ! name of the chemical pgd fields (emitted species)
!
  INTEGER,       DIMENSION(:),     POINTER:: NEMIS_GR_TIME   ! emission time
!
  REAL,          DIMENSION(:,:,:), POINTER:: XEMIS_GR_FIELDS ! emission pgd fields values
!
  INTEGER                                          :: NEMISPEC_NBR ! Number of chemical species
!
  TYPE(EMISSVAR_T),  DIMENSION(:), POINTER :: TSEMISS      ! Offline emission struct array
!
  TYPE(PRONOSVAR_T),               POINTER     :: TSPRONOSLIST ! Head pointer on pronostic
!                                                              variables list
!-------------------------------------------------------------------------------
!
END TYPE EMIS_GR_FIELD_t



CONTAINS

!




SUBROUTINE EMIS_GR_FIELD_INIT(YEMIS_GR_FIELD)
TYPE(EMIS_GR_FIELD_t), INTENT(INOUT) :: YEMIS_GR_FIELD
REAL(KIND=JPRB) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK("MODD_EMIS_GR_FIELD_N:EMIS_GR_FIELD_INIT",0,ZHOOK_HANDLE)
  NULLIFY(YEMIS_GR_FIELD%CEMIS_GR_AREA)
  NULLIFY(YEMIS_GR_FIELD%CEMIS_GR_NAME)
  NULLIFY(YEMIS_GR_FIELD%NEMIS_GR_TIME)
  NULLIFY(YEMIS_GR_FIELD%XEMIS_GR_FIELDS)
YEMIS_GR_FIELD%NEMIS_GR_NBR=0
YEMIS_GR_FIELD%NEMISPEC_NBR=0
IF (LHOOK) CALL DR_HOOK("MODD_EMIS_GR_FIELD_N:EMIS_GR_FIELD_INIT",1,ZHOOK_HANDLE)
END SUBROUTINE EMIS_GR_FIELD_INIT


END MODULE MODD_EMIS_GR_FIELD_n