SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/read_default_watfluxn.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE READ_DEFAULT_WATFLUX_n(HPROGRAM)
00003 !     #############################################################
00004 !
00005 !!****  *READ_WATFLUX_CONF* - routine to read the configuration for WATFLUX
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !!
00010 !!**  METHOD
00011 !!    ------
00012 !!
00013 !!    EXTERNAL
00014 !!    --------
00015 !!
00016 !!
00017 !!    IMPLICIT ARGUMENTS
00018 !!    ------------------
00019 !!
00020 !!    REFERENCE
00021 !!    ---------
00022 !!
00023 !!
00024 !!    AUTHOR
00025 !!    ------
00026 !!      V. Masson   *Meteo France*      
00027 !!
00028 !!    MODIFICATIONS
00029 !!    -------------
00030 !!      Original    01/2003 
00031 !-------------------------------------------------------------------------------
00032 !
00033 !*       0.    DECLARATIONS
00034 !              ------------
00035 !
00036 USE MODE_MODELN_SURFEX_HANDLER
00037 !
00038 USE MODE_POS_SURF
00039 USE MODI_TEST_NAM_VAR_SURF
00040 USE MODI_GET_LUOUT
00041 USE MODI_GET_DEFAULT_NAM_n
00042 !
00043 USE MODD_READ_NAMELIST, ONLY : LNAM_READ
00044 USE MODN_WATFLUX_n
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 
00057 !
00058 !*       0.2   Declarations of local variables
00059 !              -------------------------------
00060 !
00061 LOGICAL           :: GFOUND         ! Return code when searching namelist
00062 INTEGER           :: ILUOUT         ! output listing logical unit
00063 INTEGER           :: ILUDES         ! .des file logical unit
00064 INTEGER           :: IMI
00065 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00066 !-------------------------------------------------------------------------------
00067 !
00068 IF (LHOOK) CALL DR_HOOK('READ_DEFAULT_WATFLUX_N',0,ZHOOK_HANDLE)
00069  CALL GET_LUOUT(HPROGRAM,ILUOUT)
00070  CALL GET_DEFAULT_NAM_n(HPROGRAM,'READ ',ILUDES)
00071 !
00072 IF (ILUDES==0 .AND. LHOOK) CALL DR_HOOK('READ_DEFAULT_WATFLUX_N',1,ZHOOK_HANDLE)
00073 IF (ILUDES==0) RETURN
00074 !
00075 IMI=GET_CURRENT_MODEL_INDEX_SURFEX()
00076 !
00077 IF (IMI.NE.-1 .AND. LNAM_READ) THEN
00078  CALL INIT_NAM_WATFLUXn
00079  CALL INIT_NAM_DIAG_SURFn
00080  CALL INIT_NAM_CH_WATFLUXn
00081 ENDIF
00082 ! 
00083 IF (LNAM_READ) THEN
00084  !
00085  !* reading of namelist
00086  !  -------------------
00087  !
00088  CALL POSNAM(ILUDES,'NAM_WATFLUXN',GFOUND,ILUOUT)
00089  IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_WATFLUXn)
00090  CALL POSNAM(ILUDES,'NAM_DIAG_SURFN',GFOUND,ILUOUT)
00091  IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_DIAG_SURFn)
00092  CALL POSNAM(ILUDES,'NAM_CH_WATFLUXN',GFOUND,ILUOUT)
00093  IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_CH_WATFLUXn)
00094  !
00095  CALL TEST_NAM_VAR_SURF(ILUOUT,'CWAT_ALB',CWAT_ALB, 'UNIF','TA96')
00096  CALL TEST_NAM_VAR_SURF(ILUOUT,'CINTERPOL_TS',CINTERPOL_TS,'ANNUAL','MONTH ','NONE  ')
00097  !
00098 ENDIF
00099 !
00100 IF (IMI.NE.-1) THEN
00101  CALL UPDATE_NAM_WATFLUXn
00102  CALL UPDATE_NAM_DIAG_SURFn
00103  CALL UPDATE_NAM_CH_WATFLUXn
00104 ENDIF
00105 IF (LHOOK) CALL DR_HOOK('READ_DEFAULT_WATFLUX_N',1,ZHOOK_HANDLE)
00106 !
00107 !-------------------------------------------------------------------------------
00108 !
00109 END SUBROUTINE READ_DEFAULT_WATFLUX_n