|
SURFEX v7.3
General documentation of Surfex
|
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
1.8.0