SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/OFFLIN/ol_find_file_write.F90
Go to the documentation of this file.
00001 !     #########
00002   SUBROUTINE OL_FIND_FILE_WRITE(HNAME,IFILE_ID)
00003 !     ###############################
00004 !
00005 !!****  *OL_FIND_FILE
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 !!      F. Habets   *Meteo France*
00027 !!
00028 !!    MODIFICATIONS
00029 !!    -------------
00030 !!      Original    07-03
00031 !-------------------------------------------------------------------------------
00032 !
00033 !*       0.    DECLARATIONS
00034 !              ------------
00035 
00036 USE MODD_OL_FILEID, ONLY : XVAR_SURF, XVAR_NATURE, XVAR_SEA, XVAR_WATER, XVAR_TOWN, &
00037                              XID_SURF, XID_NATURE, XID_SEA, XID_WATER, XID_TOWN  
00038 
00039 !
00040 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00041 USE PARKIND1  ,ONLY : JPRB
00042 !
00043 IMPLICIT NONE
00044 INCLUDE "netcdf.inc"
00045 
00046 
00047 ! 
00048  CHARACTER(LEN=*),   INTENT(IN) :: HNAME
00049 INTEGER,            INTENT(OUT):: IFILE_ID
00050  CHARACTER(LEN=100)             :: HNAME_PAS
00051 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00052 
00053 !******************************************
00054 IF (LHOOK) CALL DR_HOOK('OL_FIND_FILE_WRITE',0,ZHOOK_HANDLE)
00055 HNAME_PAS=HNAME(:LEN_TRIM(HNAME))
00056 
00057 IFILE_ID=0
00058 
00059 IF (ASSOCIATED(XVAR_SURF)) CALL SEARCH_VAR(XVAR_SURF,XID_SURF,HNAME_PAS,IFILE_ID)
00060 IF (IFILE_ID==0 .AND. ASSOCIATED(XVAR_NATURE)) CALL SEARCH_VAR(XVAR_NATURE,XID_NATURE,HNAME_PAS,IFILE_ID) 
00061 IF (IFILE_ID==0 .AND. ASSOCIATED(XVAR_SEA)) CALL SEARCH_VAR(XVAR_SEA,XID_SEA,HNAME_PAS,IFILE_ID) 
00062 IF (IFILE_ID==0 .AND. ASSOCIATED(XVAR_WATER)) CALL SEARCH_VAR(XVAR_WATER,XID_WATER,HNAME_PAS,IFILE_ID)
00063 IF (IFILE_ID==0 .AND. ASSOCIATED(XVAR_TOWN)) CALL SEARCH_VAR(XVAR_TOWN,XID_TOWN,HNAME_PAS,IFILE_ID)
00064 
00065 !------------------------------------------------
00066 
00067 IF (LHOOK) CALL DR_HOOK('OL_FIND_FILE_WRITE',1,ZHOOK_HANDLE)
00068 CONTAINS
00069 
00070 !------------------------------------------------
00071 
00072 SUBROUTINE SEARCH_VAR(HVAR,NVAR,HNAM,IFILEID)
00073 
00074 IMPLICIT NONE
00075 
00076  CHARACTER(LEN=20),DIMENSION(:), INTENT(IN):: HVAR
00077 INTEGER, DIMENSION(:), INTENT(IN):: NVAR
00078  CHARACTER(LEN=*), INTENT(IN) :: HNAM
00079 INTEGER, INTENT(OUT)  :: IFILEID
00080 INTEGER :: JVAR
00081 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00082 
00083 IF (LHOOK) CALL DR_HOOK('SEARCH_VAR',0,ZHOOK_HANDLE)
00084 IFILEID=0
00085 
00086 DO JVAR=1,SIZE(HVAR)
00087   IF (HNAM==TRIM(HVAR(JVAR))) THEN
00088     IFILEID=NVAR(JVAR)
00089     EXIT
00090   ENDIF
00091 ENDDO
00092 IF (LHOOK) CALL DR_HOOK('SEARCH_VAR',1,ZHOOK_HANDLE)
00093 
00094 END SUBROUTINE SEARCH_VAR
00095 
00096 !------------------------------------------------
00097 END SUBROUTINE OL_FIND_FILE_WRITE