SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/read_nam_pgd_teb_greenroof.F90
Go to the documentation of this file.
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