SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/read_nam_pgd_chemistry.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE READ_NAM_PGD_CHEMISTRY(HPROGRAM, HCH_EMIS )  
00003 !     ##############################################################
00004 !
00005 !!**** *READ_NAM_PGD_CHEMISTRY* reads namelist for CHEMISTRY
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !!
00010 !!    METHOD
00011 !!    ------
00012 !!   
00013 !
00014 !!    EXTERNAL
00015 !!    --------
00016 !!
00017 !!    IMPLICIT ARGUMENTS
00018 !!    ------------------
00019 !!
00020 !!    REFERENCE
00021 !!    ---------
00022 !!
00023 !!    AUTHOR
00024 !!    ------
00025 !!
00026 !!    S. Queguiner        Meteo-France
00027 !!
00028 !!    MODIFICATION
00029 !!    ------------
00030 !!
00031 !!    Original    09/2011
00032 !----------------------------------------------------------------------------
00033 !
00034 !*    0.     DECLARATION
00035 !            -----------
00036 !
00037 !
00038 USE MODI_GET_LUOUT
00039 USE MODI_OPEN_NAMELIST
00040 USE MODI_CLOSE_NAMELIST
00041 USE MODI_TEST_NAM_VAR_SURF
00042 !
00043 USE MODE_POS_SURF
00044 !
00045 !
00046 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00047 USE PARKIND1  ,ONLY : JPRB
00048 !
00049 IMPLICIT NONE
00050 !
00051 !*    0.1    Declaration of arguments
00052 !            ------------------------
00053 !                                   
00054  CHARACTER(LEN=6),    INTENT(IN)    :: HPROGRAM      ! Type of program
00055  CHARACTER(LEN=4),    INTENT(OUT)   :: HCH_EMIS      ! Option for emissions computations
00056 !                                  
00057 !
00058 !*    0.2    Declaration of local variables
00059 !            ------------------------------
00060 !
00061 INTEGER                           :: ILUOUT    ! output listing logical unit
00062 INTEGER                           :: ILUNAM    ! namelist file logical unit
00063 LOGICAL                           :: GFOUND    ! flag when namelist is present
00064 !
00065 !*    0.3    Declaration of namelists
00066 !            ------------------------
00067 !
00068  CHARACTER(LEN=4)         :: CCH_EMIS
00069 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00070 !
00071 NAMELIST/NAM_CH_EMISSIONS/ CCH_EMIS
00072 !
00073 !-------------------------------------------------------------------------------
00074 !
00075 !*    1.      Initializations of defaults
00076 !             ---------------------------
00077 !
00078 IF (LHOOK) CALL DR_HOOK('READ_NAM_PGD_CHEMISTRY',0,ZHOOK_HANDLE)
00079 CCH_EMIS        = 'NONE'
00080 !
00081  CALL GET_LUOUT(HPROGRAM,ILUOUT)
00082 !
00083 !-------------------------------------------------------------------------------
00084 !
00085 !*    2.      Reading of namelist
00086 !             -------------------
00087 !
00088  CALL OPEN_NAMELIST(HPROGRAM,ILUNAM)
00089 !
00090  CALL POSNAM(ILUNAM,'NAM_CH_EMISSIONS',GFOUND,ILUOUT)
00091 IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_CH_EMISSIONS)
00092 !
00093  CALL TEST_NAM_VAR_SURF(ILUOUT,'CCH_EMIS',CCH_EMIS,'NONE','AGGR','SNAP')
00094 !
00095  CALL CLOSE_NAMELIST(HPROGRAM,ILUNAM)
00096 !
00097 !-------------------------------------------------------------------------------
00098 !
00099 HCH_EMIS   = CCH_EMIS
00100 !
00101 IF (LHOOK) CALL DR_HOOK('READ_NAM_PGD_CHEMISTRY',1,ZHOOK_HANDLE)
00102 !
00103 !-------------------------------------------------------------------------------
00104 !
00105 END SUBROUTINE READ_NAM_PGD_CHEMISTRY