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