SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/read_prep_isba_carbon.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE READ_PREP_ISBA_CARBON(HPROGRAM,HRESPSL)
00003 !     #######################################################
00004 !
00005 !!****  *READ_PREP_ISBA_CARBON* - routine to read the configuration for soil 
00006 !!                              carbon in ISBA fields preparation
00007 !!
00008 !!    PURPOSE
00009 !!    -------
00010 !!
00011 !!**  METHOD
00012 !!    ------
00013 !!
00014 !!    EXTERNAL
00015 !!    --------
00016 !!
00017 !!
00018 !!    IMPLICIT ARGUMENTS
00019 !!    ------------------
00020 !!
00021 !!    REFERENCE
00022 !!    ---------
00023 !!
00024 !!
00025 !!    AUTHOR
00026 !!    ------
00027 !!      A.L. Gibelin   *Meteo France*   
00028 !!
00029 !!    MODIFICATIONS
00030 !!    -------------
00031 !!      Original    03/2009 
00032 !-------------------------------------------------------------------------------
00033 !
00034 !*       0.    DECLARATIONS
00035 !              ------------
00036 !
00037 USE MODN_PREP_ISBA_CARBON
00038 USE MODD_READ_NAMELIST, ONLY : LNAM_READ
00039 !
00040 USE MODE_POS_SURF
00041 USE MODI_TEST_NAM_VAR_SURF
00042 USE MODI_GET_LUOUT
00043 USE MODI_OPEN_NAMELIST
00044 USE MODI_CLOSE_NAMELIST
00045 !
00046 !
00047 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00048 USE PARKIND1  ,ONLY : JPRB
00049 !
00050 IMPLICIT NONE
00051 !
00052 !*       0.1   Declarations of arguments
00053 !              -------------------------
00054 !
00055  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! program calling ISBA
00056  CHARACTER(LEN=3),  INTENT(OUT) :: HRESPSL  ! Soil respiration
00057 
00058 !
00059 !*       0.2   Declarations of local variables
00060 !              -------------------------------
00061 !
00062 LOGICAL           :: GFOUND         ! Return code when searching namelist
00063 INTEGER           :: ILUOUT         ! output file logical unit
00064 INTEGER           :: ILUNAM         ! namelist file logical unit
00065 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00066 !
00067 !
00068 !*       0.3  Declaration of namelists
00069 !             ------------------------
00070 !
00071 !
00072 NAMELIST/NAM_PREP_ISBA_CARBON/CRESPSL
00073 !-------------------------------------------------------------------------------
00074 !
00075 !* default
00076 !  -------
00077 !
00078 IF (LHOOK) CALL DR_HOOK('READ_PREP_ISBA_CARBON',0,ZHOOK_HANDLE)
00079 !
00080 IF (LNAM_READ) THEN
00081  !   
00082  CRESPSL = 'DEF'
00083  ! 
00084  CALL GET_LUOUT(HPROGRAM,ILUOUT)
00085  CALL OPEN_NAMELIST(HPROGRAM,ILUNAM)
00086  !
00087  !* reading of namelist
00088  !  -------------------
00089  !
00090  !
00091  CALL POSNAM(ILUNAM,'NAM_PREP_ISBA_CARBON',GFOUND,ILUOUT)
00092  IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_PREP_ISBA_CARBON)
00093  !
00094  CALL TEST_NAM_VAR_SURF(ILUOUT,'CRESPSL',CRESPSL,'DEF','PRM','CNT')
00095  !
00096  CALL CLOSE_NAMELIST(HPROGRAM,ILUNAM)
00097 ENDIF
00098 !
00099 HRESPSL = CRESPSL
00100 IF (LHOOK) CALL DR_HOOK('READ_PREP_ISBA_CARBON',1,ZHOOK_HANDLE)
00101 !-------------------------------------------------------------------------------
00102 !-------------------------------------------------------------------------------
00103 !
00104 END SUBROUTINE READ_PREP_ISBA_CARBON