SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/read_pgd_teb_greenroofn.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE READ_PGD_TEB_GREENROOF_n(HPROGRAM,KVERSION)
00003 !     #########################################
00004 !
00005 !!****  *READ_PGD_TEB_GREENROOF_n* - routine to initialise ISBA physiographic variables 
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !!
00010 !!**  METHOD
00011 !!    ------
00012 !!
00013 !!    EXTERNAL
00014 !!    --------
00015 !!
00016 !!
00017 !!    IMPLICIT ARGUMENTS
00018 !!    ------------------
00019 !!
00020 !!    REFERENCE
00021 !!    ---------
00022 !!     based on read_pgd_teb_gardenn
00023 !!
00024 !!    AUTHOR
00025 !!    ------
00026 !!      C. de Munck & A. Lemonsu   *Meteo France*       
00027 !!
00028 !!    MODIFICATIONS
00029 !!    -------------
00030 !!      Original    07/2011 
00031 !-------------------------------------------------------------------------------
00032 !
00033 !*       0.    DECLARATIONS
00034 !              ------------
00035 !
00036 USE MODD_TEB_VEG_n,          ONLY : CPEDOTF, CPHOTO, NNBIOMASS
00037 USE MODD_TEB_GREENROOF_n,    ONLY : CISBA_GR, CSCOND_GR, CRUNOFF_GR, &
00038                                     XRUNOFFB_GR, XWDRAIN_GR,         &
00039                                     LPAR_GREENROOF
00040 USE MODD_GR_BIOG_GREENROOF_n,ONLY : XISOPOT, XMONOPOT 
00041 USE MODD_CH_TEB_n,           ONLY : LCH_BIO_FLUX    
00042 USE MODD_TEB_GRID_n,         ONLY : NDIM
00043 USE MODD_ISBA_PAR,        ONLY : XOPTIMGRID
00044 !
00045 USE MODI_READ_SURF
00046 USE MODI_READ_PGD_TEB_GREENROOF_PAR_n
00047 !
00048 !
00049 !
00050 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00051 USE PARKIND1  ,ONLY : JPRB
00052 !
00053 USE MODI_GET_TYPE_DIM_n
00054 !
00055 IMPLICIT NONE
00056 !
00057 !*       0.1   Declarations of arguments
00058 !              -------------------------
00059 !
00060  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! calling program
00061 INTEGER,           INTENT(IN)  :: KVERSION ! version of SURFEX of the file being read
00062 !
00063 !*       0.2   Declarations of local variables
00064 !              -------------------------------
00065 !
00066 INTEGER           :: IRESP          ! Error code after redding
00067 !
00068  CHARACTER(LEN=12) :: YRECFM         ! Name of the article to be read
00069 !
00070 !
00071 INTEGER           :: JLAYER         ! loop counter on layers ! not used
00072 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00073 !
00074 !-------------------------------------------------------------------------------
00075 !
00076 !* 1D physical dimension
00077 !
00078 IF (LHOOK) CALL DR_HOOK('READ_PGD_TEB_GREENROOF_N',0,ZHOOK_HANDLE)
00079 YRECFM='SIZE_TOWN'
00080  CALL GET_TYPE_DIM_n('TOWN  ',NDIM)
00081 !
00082 !
00083 !*       2.     Initialisation of ISBA options for greenroofs
00084 !               ---------------------------------------------
00085 !
00086 !
00087 YRECFM='GR_ISBA'
00088  CALL READ_SURF(HPROGRAM,YRECFM,CISBA_GR,IRESP)
00089 !
00090 YRECFM='GR_SCOND'
00091  CALL READ_SURF(HPROGRAM,YRECFM,CSCOND_GR,IRESP)
00092 !
00093 !*       3.     Physiographic data fields:
00094 !               -------------------------
00095 !
00096 !* orographic runoff coefficient
00097 !
00098 ALLOCATE(XRUNOFFB_GR(NDIM))
00099 YRECFM='GR_RUNOFFB' 
00100  CALL READ_SURF(HPROGRAM,YRECFM,XRUNOFFB_GR,IRESP)
00101 !
00102 !* subgrid drainage coefficient
00103 !
00104 ALLOCATE(XWDRAIN_GR(NDIM))
00105 IF (KVERSION<=6) THEN
00106   XWDRAIN_GR = 0.
00107 ELSE
00108   YRECFM='GR_WDRAIN'
00109   CALL READ_SURF(HPROGRAM,YRECFM,XWDRAIN_GR,IRESP)
00110 ENDIF
00111 !
00112 !-------------------------------------------------------------------------------
00113 !* biogenic chemical emissions
00114 !
00115 IF (LCH_BIO_FLUX) THEN
00116   ALLOCATE(XISOPOT(NDIM))
00117   YRECFM='EMIS_ISOPOT'
00118   CALL READ_SURF(HPROGRAM,YRECFM,XISOPOT,IRESP)
00119   !
00120   ALLOCATE(XMONOPOT(NDIM))
00121   YRECFM='EMIS_MONOPOT'
00122   CALL READ_SURF(HPROGRAM,YRECFM,XMONOPOT,IRESP)
00123 ELSE
00124   ALLOCATE(XISOPOT (0))
00125   ALLOCATE(XMONOPOT(0))
00126 END IF
00127 !
00128 !-------------------------------------------------------------------------------
00129 !
00130 !*       4.     Physiographic data fields not to be computed by ecoclimap
00131 !               ---------------------------------------------------------
00132 !
00133 !
00134 !LPAR_GREENROOF = .FALSE.
00135 !IF (KVERSION>=7) THEN
00136 !  YRECFM='PAR_GREENROOF'
00137 !  CALL READ_SURF(HPROGRAM,YRECFM,LPAR_GREENROOF,IRESP)
00138 !END IF
00139 !
00140 !IF (LPAR_GREENROOF) CALL READ_PGD_TEB_GREENROOF_PAR_n(HPROGRAM)
00141 !
00142  CALL READ_PGD_TEB_GREENROOF_PAR_n(HPROGRAM)
00143 !
00144 IF (LHOOK) CALL DR_HOOK('READ_PGD_TEB_GREENROOF_N',1,ZHOOK_HANDLE)
00145 !
00146 !
00147 !-------------------------------------------------------------------------------
00148 !
00149 END SUBROUTINE READ_PGD_TEB_GREENROOF_n