SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE READ_NAM_PGD_TEB_GREENROOF(HPROGRAM, KTIME_GR,KLAYER_GR,HTYP_GR, & 00003 PUNIF_OM_GR, PUNIF_CLAY_GR, PUNIF_SAND_GR, PUNIF_LAI_GR,& 00004 HFNAM_OM_GR, HFNAM_CLAY_GR, HFNAM_SAND_GR, HFNAM_LAI_GR,& 00005 HFTYP_OM_GR, HFTYP_CLAY_GR, HFTYP_SAND_GR, HFTYP_LAI_GR ) 00006 ! ############################################################## 00007 ! 00008 !!**** *READ_NAM_PGD_TEB_GREENROOF* reading of greenroof namelist 00009 !! 00010 !! PURPOSE 00011 !! ------- 00012 !! 00013 !! METHOD 00014 !! ------ 00015 !! 00016 ! 00017 !! EXTERNAL 00018 !! -------- 00019 !! 00020 !! IMPLICIT ARGUMENTS 00021 !! ------------------ 00022 !! 00023 !! REFERENCE 00024 !! --------- 00025 !! 00026 !! AUTHOR 00027 !! ------ 00028 !! A. Lemonsu / C. de Munck : TEB GreenRoof namelist 00029 !! 00030 !! 00031 !! MODIFICATION 00032 !! ------------ 00033 !! 00034 !! Original 07/2011 00035 !! 00036 !---------------------------------------------------------------------------- 00037 ! 00038 !* 0. DECLARATION 00039 ! ----------- 00040 ! 00041 USE MODD_SURF_PAR, ONLY : XUNDEF 00042 USE MODD_TEB_VEG, ONLY : NTIME_GR_MAX, NLAYER_GR_MAX 00043 ! 00044 USE MODI_GET_LUOUT 00045 USE MODI_OPEN_NAMELIST 00046 USE MODI_CLOSE_NAMELIST 00047 ! 00048 USE MODE_POS_SURF 00049 ! 00050 ! 00051 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00052 USE PARKIND1 ,ONLY : JPRB 00053 ! 00054 IMPLICIT NONE 00055 ! 00056 !* 0.1 Declaration of arguments 00057 ! ------------------------ 00058 ! 00059 CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! Type of program 00060 INTEGER, INTENT(OUT) :: KTIME_GR 00061 INTEGER, INTENT(OUT) :: KLAYER_GR 00062 CHARACTER(LEN=5), INTENT(OUT) :: HTYP_GR 00063 REAL,DIMENSION(:), INTENT(OUT) :: PUNIF_OM_GR 00064 REAL,DIMENSION(:), INTENT(OUT) :: PUNIF_CLAY_GR 00065 REAL,DIMENSION(:), INTENT(OUT) :: PUNIF_SAND_GR 00066 REAL,DIMENSION(:), INTENT(OUT) :: PUNIF_LAI_GR 00067 CHARACTER(LEN=28),DIMENSION(:), INTENT(OUT) :: HFNAM_OM_GR 00068 CHARACTER(LEN=28),DIMENSION(:), INTENT(OUT) :: HFNAM_CLAY_GR 00069 CHARACTER(LEN=28),DIMENSION(:), INTENT(OUT) :: HFNAM_SAND_GR 00070 CHARACTER(LEN=28),DIMENSION(:), INTENT(OUT) :: HFNAM_LAI_GR 00071 CHARACTER(LEN=6),DIMENSION(:), INTENT(OUT) :: HFTYP_OM_GR 00072 CHARACTER(LEN=6),DIMENSION(:), INTENT(OUT) :: HFTYP_CLAY_GR 00073 CHARACTER(LEN=6),DIMENSION(:), INTENT(OUT) :: HFTYP_SAND_GR 00074 CHARACTER(LEN=6),DIMENSION(:), INTENT(OUT) :: HFTYP_LAI_GR 00075 00076 !* 0.2 Declaration of local variables 00077 ! ------------------------------ 00078 ! 00079 INTEGER :: ILUOUT ! output listing logical unit 00080 INTEGER :: ILUNAM ! namelist file logical unit 00081 LOGICAL :: GFOUND ! true if namelist is found 00082 ! 00083 !* 0.3 Declaration of namelists 00084 ! ------------------------ 00085 ! 00086 INTEGER :: NLAYER_GR ! 00087 INTEGER :: NTIME_GR ! 00088 CHARACTER(LEN=5) :: CTYP_GR ! type of green roof 00089 ! 00090 ! uniform value 00091 ! 00092 REAL,DIMENSION(NLAYER_GR_MAX) :: XUNIF_OM_GR ! fraction of organic matter (OM) in green roof layer 00093 REAL,DIMENSION(NLAYER_GR_MAX) :: XUNIF_CLAY_GR ! fraction of clay for the non-OM part of the green roof layer 00094 REAL,DIMENSION(NLAYER_GR_MAX) :: XUNIF_SAND_GR ! fraction of sand for the non-OM part of the green roof layer 00095 REAL,DIMENSION(NTIME_GR_MAX) :: XUNIF_LAI_GR ! LAI of green roof vegetation 00096 ! 00097 ! name of files containing data 00098 ! 00099 CHARACTER(LEN=28),DIMENSION(NLAYER_GR_MAX) :: CFNAM_OM_GR ! fraction of organic matter (OM) in green roof layer 00100 CHARACTER(LEN=28),DIMENSION(NLAYER_GR_MAX) :: CFNAM_CLAY_GR ! fraction of clay for the non-OM part of the green roof layer 00101 CHARACTER(LEN=28),DIMENSION(NLAYER_GR_MAX) :: CFNAM_SAND_GR ! fraction of sand for the non-OM part of the green roof layer 00102 CHARACTER(LEN=28),DIMENSION(NTIME_GR_MAX) :: CFNAM_LAI_GR ! LAI of green roof 00103 ! 00104 ! type of files containing data 00105 ! 00106 CHARACTER(LEN=6 ),DIMENSION(NLAYER_GR_MAX) :: CFTYP_OM_GR ! fraction of organic matter (OM) in green roof layer 00107 CHARACTER(LEN=6 ),DIMENSION(NLAYER_GR_MAX) :: CFTYP_CLAY_GR ! fraction of clay for the non-OM part of the green roof layer 00108 CHARACTER(LEN=6 ),DIMENSION(NLAYER_GR_MAX) :: CFTYP_SAND_GR ! fraction of sand for the non-OM part of the green roof layer 00109 CHARACTER(LEN=6 ),DIMENSION(NTIME_GR_MAX) :: CFTYP_LAI_GR ! LAI of green roof 00110 ! 00111 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00112 ! 00113 NAMELIST/NAM_DATA_TEB_GREENROOF/ NTIME_GR,NLAYER_GR, & 00114 CTYP_GR, & 00115 XUNIF_OM_GR, XUNIF_CLAY_GR, XUNIF_SAND_GR, XUNIF_LAI_GR, & 00116 CFNAM_OM_GR, CFNAM_CLAY_GR, CFNAM_SAND_GR, CFNAM_LAI_GR, & 00117 CFTYP_OM_GR, CFTYP_CLAY_GR, CFTYP_SAND_GR, CFTYP_LAI_GR 00118 ! 00119 !------------------------------------------------------------------------------- 00120 ! 00121 !* 1. Initializations 00122 ! --------------- 00123 ! 00124 IF (LHOOK) CALL DR_HOOK('PGD_TEB_GREENROOF_PAR',0,ZHOOK_HANDLE) 00125 ! 00126 NTIME_GR = 1 00127 NLAYER_GR = 6 00128 CTYP_GR = 'GRASS' ! Grasses - graminoïds 00129 ! 00130 XUNIF_OM_GR = XUNDEF 00131 XUNIF_CLAY_GR = XUNDEF 00132 XUNIF_SAND_GR = XUNDEF 00133 XUNIF_LAI_GR = XUNDEF 00134 ! 00135 CFNAM_OM_GR = ' ' 00136 CFNAM_CLAY_GR = ' ' 00137 CFNAM_SAND_GR = ' ' 00138 CFNAM_LAI_GR = ' ' 00139 ! 00140 CFTYP_OM_GR = ' ' 00141 CFTYP_CLAY_GR = ' ' 00142 CFTYP_SAND_GR = ' ' 00143 CFTYP_LAI_GR = ' ' 00144 ! 00145 !------------------------------------------------------------------------------- 00146 ! 00147 !* 2. Reading of green roof namelist 00148 ! ------------------------------ 00149 ! 00150 CALL GET_LUOUT(HPROGRAM,ILUOUT) 00151 CALL OPEN_NAMELIST(HPROGRAM,ILUNAM) 00152 CALL POSNAM(ILUNAM,'NAM_DATA_TEB_GREENROOF',GFOUND,ILUOUT) 00153 IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_DATA_TEB_GREENROOF) 00154 ! 00155 CALL CLOSE_NAMELIST(HPROGRAM,ILUNAM) 00156 ! 00157 !-------------------------------------------------- 00158 ! 00159 KTIME_GR = NTIME_GR 00160 KLAYER_GR = NLAYER_GR 00161 HTYP_GR = CTYP_GR 00162 PUNIF_OM_GR = XUNIF_OM_GR 00163 PUNIF_CLAY_GR = XUNIF_CLAY_GR 00164 PUNIF_SAND_GR = XUNIF_SAND_GR 00165 PUNIF_LAI_GR = XUNIF_LAI_GR 00166 HFNAM_OM_GR = CFNAM_OM_GR 00167 HFNAM_CLAY_GR = CFNAM_CLAY_GR 00168 HFNAM_SAND_GR = CFNAM_SAND_GR 00169 HFNAM_LAI_GR = CFNAM_LAI_GR 00170 HFTYP_OM_GR = CFTYP_OM_GR 00171 HFTYP_CLAY_GR = CFTYP_CLAY_GR 00172 HFTYP_SAND_GR = CFTYP_SAND_GR 00173 HFTYP_LAI_GR = CFTYP_LAI_GR 00174 ! 00175 IF (LHOOK) CALL DR_HOOK('READ_NAM_PGD_TEB_GREENROOF',1,ZHOOK_HANDLE) 00176 ! 00177 !------------------------------------------------------------------------------- 00178 ! 00179 END SUBROUTINE READ_NAM_PGD_TEB_GREENROOF