SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE READ_NAM_PGD_OROGRAPHY(HPROGRAM, HZS, HFILETYPE, PUNIF_ZS, & 00003 HOROGTYPE, PENV, OIMP_ZS ) 00004 ! ############################################################## 00005 ! 00006 !!**** *READ_NAM_PGD_OROGRAPHY* reads namelist for Orography 00007 !! 00008 !! PURPOSE 00009 !! ------- 00010 !! 00011 !! METHOD 00012 !! ------ 00013 !! 00014 ! 00015 !! EXTERNAL 00016 !! -------- 00017 !! 00018 !! IMPLICIT ARGUMENTS 00019 !! ------------------ 00020 !! 00021 !! REFERENCE 00022 !! --------- 00023 !! 00024 !! AUTHOR 00025 !! ------ 00026 !! 00027 !! B. Decharme Meteo-France 00028 !! 00029 !! MODIFICATION 00030 !! ------------ 00031 !! 00032 !! Original 02/2010 00033 !---------------------------------------------------------------------------- 00034 ! 00035 !* 0. DECLARATION 00036 ! ----------- 00037 ! 00038 USE MODD_SURF_PAR, ONLY : XUNDEF 00039 ! 00040 USE MODI_GET_LUOUT 00041 USE MODI_OPEN_NAMELIST 00042 USE MODI_CLOSE_NAMELIST 00043 ! 00044 USE MODE_POS_SURF 00045 ! 00046 ! 00047 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00048 USE PARKIND1 ,ONLY : JPRB 00049 ! 00050 IMPLICIT NONE 00051 ! 00052 !* 0.1 Declaration of arguments 00053 ! ------------------------ 00054 ! 00055 CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! Type of program 00056 CHARACTER(LEN=28), INTENT(OUT) :: HZS ! file name for orography 00057 CHARACTER(LEN=6), INTENT(OUT) :: HFILETYPE ! data file type 00058 REAL, INTENT(OUT) :: PUNIF_ZS ! uniform orography 00059 CHARACTER(LEN=3), INTENT(OUT) :: HOROGTYPE ! orogpraphy type 00060 REAL, INTENT(OUT) :: PENV ! parameter for enveloppe orography: 00061 LOGICAL, INTENT(OUT) :: OIMP_ZS ! Imposed orography from another PGD file 00062 ! 00063 ! 00064 !* 0.2 Declaration of local variables 00065 ! ------------------------------ 00066 ! 00067 INTEGER :: ILUOUT ! output listing logical unit 00068 INTEGER :: ILUNAM ! namelist file logical unit 00069 LOGICAL :: GFOUND ! flag when namelist is present 00070 ! 00071 !* 0.3 Declaration of namelists 00072 ! ------------------------ 00073 ! 00074 CHARACTER(LEN=28) :: YZS ! file name for orography 00075 CHARACTER(LEN=6) :: YFILETYPE ! data file type 00076 REAL :: XUNIF_ZS ! uniform orography 00077 CHARACTER(LEN=3) :: COROGTYPE ! orogpraphy type 00078 ! ! 'AVG' : average orography 00079 ! ! 'SIL' : silhouette orography 00080 ! ! 'ENV' : enveloppe orography 00081 REAL :: XENV ! parameter for enveloppe orography: 00082 ! ! zs = avg_zs + XENV * SSO_STEDV 00083 LOGICAL :: LIMP_ZS ! Imposed orography from another PGD file 00084 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00085 ! 00086 NAMELIST/NAM_ZS/YZS, YFILETYPE, XUNIF_ZS, COROGTYPE, XENV, LIMP_ZS 00087 ! 00088 !------------------------------------------------------------------------------- 00089 ! 00090 !* 1. Initializations of defaults 00091 ! --------------------------- 00092 ! 00093 IF (LHOOK) CALL DR_HOOK('READ_NAM_PGD_OROGRAPHY',0,ZHOOK_HANDLE) 00094 XUNIF_ZS = XUNDEF 00095 YZS = ' ' 00096 YFILETYPE = ' ' 00097 ! 00098 COROGTYPE = 'ENV' 00099 XENV = 0. 00100 LIMP_ZS = .FALSE. 00101 ! 00102 CALL GET_LUOUT(HPROGRAM,ILUOUT) 00103 ! 00104 !------------------------------------------------------------------------------- 00105 ! 00106 !* 2. Reading of namelist 00107 ! ------------------- 00108 ! 00109 CALL OPEN_NAMELIST(HPROGRAM,ILUNAM) 00110 ! 00111 CALL POSNAM(ILUNAM,'NAM_ZS',GFOUND,ILUOUT) 00112 IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_ZS) 00113 ! 00114 CALL CLOSE_NAMELIST(HPROGRAM,ILUNAM) 00115 ! 00116 !------------------------------------------------------------------------------- 00117 ! 00118 HZS = YZS ! file name for orography 00119 HFILETYPE = YFILETYPE ! data file type 00120 PUNIF_ZS = XUNIF_ZS ! uniform orography 00121 HOROGTYPE = COROGTYPE ! orogpraphy type 00122 PENV = XENV ! parameter for enveloppe orography: 00123 OIMP_ZS = LIMP_ZS ! Imposed orography from another PGD file 00124 IF (LHOOK) CALL DR_HOOK('READ_NAM_PGD_OROGRAPHY',1,ZHOOK_HANDLE) 00125 ! 00126 !------------------------------------------------------------------------------- 00127 ! 00128 END SUBROUTINE READ_NAM_PGD_OROGRAPHY