SURFEX v7.3
General documentation of Surfex
|
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