SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/read_assim_conf.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE READ_ASSIM_CONF(HPROGRAM)
00003 !     #######################################################
00004 !
00005 !!****  *READ_ASSIM_CONF* - routine to read the configuration for assimilation
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 !!      T. Aspelien met.no
00027 !!
00028 !!    MODIFICATIONS
00029 !!    -------------
00030 !!      Original    04/2012 
00031 !-------------------------------------------------------------------------------
00032 !
00033 !*       0.    DECLARATIONS
00034 !              ------------
00035 !
00036 USE MODE_POS_SURF, ONLY : POSNAM
00037 USE MODN_ASSIM,    ONLY : NAM_NACVEG,NAM_ASSIM,LASSIM,CASSIM,&
00038                           NAM_IO_VARASSIM,NAM_OBS,NAM_VAR
00039 !
00040 USE YOMHOOK,       ONLY : LHOOK,DR_HOOK
00041 USE PARKIND1,      ONLY : JPRB
00042 !
00043 USE MODI_GET_LUOUT
00044 USE MODI_OPEN_NAMELIST
00045 USE MODI_TEST_NAM_VAR_SURF  
00046 USE MODI_CLOSE_NAMELIST
00047 !
00048 IMPLICIT NONE
00049 !
00050 !*       0.1   Declarations of arguments
00051 !              -------------------------
00052 !
00053  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! program calling
00054 
00055 !
00056 !*       0.2   Declarations of local variables
00057 !              -------------------------------
00058 !
00059 !
00060 LOGICAL           :: GFOUND         ! Return code when searching namelist
00061 INTEGER           :: ILUOUT         ! logical unit of output file
00062 INTEGER           :: INAM           ! logical unit of namelist file
00063 REAL(KIND=JPRB)   :: ZHOOK_HANDLE
00064 !-------------------------------------------------------------------------------
00065 !
00066 !* get output listing file logical unit
00067 !
00068 IF (LHOOK) CALL DR_HOOK('READ_ASSIM_CONF',0,ZHOOK_HANDLE)
00069  CALL GET_LUOUT(HPROGRAM,ILUOUT)
00070 
00071 !* open namelist file
00072  CALL OPEN_NAMELIST(HPROGRAM,INAM)
00073 
00074 !* reading of namelist
00075  CALL POSNAM(INAM,'NAM_ASSIM',      GFOUND,ILUOUT)
00076 IF (GFOUND) READ(UNIT=INAM,NML=NAM_ASSIM)
00077  CALL POSNAM(INAM,'NAM_NACVEG',     GFOUND,ILUOUT)
00078 IF (GFOUND) READ(UNIT=INAM,NML=NAM_NACVEG)
00079  CALL POSNAM(INAM,'NAM_IO_VARASSIM',GFOUND,ILUOUT)
00080 IF (GFOUND) READ(UNIT=INAM,NML=NAM_IO_VARASSIM)
00081  CALL POSNAM(INAM,'NAM_OBS',        GFOUND,ILUOUT)
00082 IF (GFOUND) READ(UNIT=INAM,NML=NAM_OBS)
00083  CALL POSNAM(INAM,'NAM_VAR',        GFOUND,ILUOUT)
00084 IF (GFOUND) READ(UNIT=INAM,NML=NAM_VAR)
00085 
00086 !
00087  CALL TEST_NAM_VAR_SURF(ILUOUT,'CASSIM',CASSIM,'PLUS ','2DVAR','AVERA')
00088 
00089 !* close namelist file
00090  CALL CLOSE_NAMELIST(HPROGRAM,INAM)
00091 
00092 IF (LHOOK) CALL DR_HOOK('READ_ASSIM_CONF',1,ZHOOK_HANDLE)
00093 END SUBROUTINE READ_ASSIM_CONF