SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE READ_PREP_SURF_ATM_CONF(HPROGRAM,HFILE,HFILETYPE,HFILEPGD,HFILEPGDTYPE,& 00003 HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE,KLUOUT) 00004 ! ####################################################### 00005 ! 00006 !!**** *READ_PREP_SURF_ATM_CONF* - routine to read the configuration for 00007 !! the surface 00008 !! 00009 !! PURPOSE 00010 !! ------- 00011 !! 00012 !!** METHOD 00013 !! ------ 00014 !! 00015 !! EXTERNAL 00016 !! -------- 00017 !! 00018 !! 00019 !! IMPLICIT ARGUMENTS 00020 !! ------------------ 00021 !! 00022 !! REFERENCE 00023 !! --------- 00024 !! 00025 !! 00026 !! AUTHOR 00027 !! ------ 00028 !! S.Malardel *Meteo France* 00029 !! 00030 !! MODIFICATIONS 00031 !! ------------- 00032 !! Original 01/2004 00033 !! P. Le Moigne 10/2005, Phasage Arome 00034 !------------------------------------------------------------------------------- 00035 ! 00036 !* 0. DECLARATIONS 00037 ! ------------ 00038 ! 00039 USE MODE_POS_SURF 00040 ! 00041 USE MODN_PREP_SURF_ATM 00042 ! 00043 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00044 USE PARKIND1 ,ONLY : JPRB 00045 ! 00046 IMPLICIT NONE 00047 ! 00048 !* 0.1 Declarations of arguments 00049 ! ------------------------- 00050 ! 00051 CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! program calling ISBA 00052 CHARACTER(LEN=28), INTENT(OUT) :: HFILE ! file name 00053 CHARACTER(LEN=6), INTENT(OUT) :: HFILETYPE ! file type 00054 CHARACTER(LEN=28), INTENT(OUT) :: HFILEPGD ! file name 00055 CHARACTER(LEN=6), INTENT(OUT) :: HFILEPGDTYPE! file type 00056 CHARACTER(LEN=28), INTENT(IN) :: HATMFILE ! atmospheric file name 00057 CHARACTER(LEN=6), INTENT(IN) :: HATMFILETYPE! atmospheric file type 00058 CHARACTER(LEN=28), INTENT(IN) :: HPGDFILE ! atmospheric file name 00059 CHARACTER(LEN=6), INTENT(IN) :: HPGDFILETYPE! atmospheric file type 00060 INTEGER, INTENT(IN) :: KLUOUT ! logical unit of output listing 00061 00062 00063 00064 ! 00065 ! 00066 !* 0.2 Declarations of local variables 00067 ! ------------------------------- 00068 ! 00069 INTEGER :: IRESP ! IRESP : return-code if a problem appears 00070 ! at the open of the file in LFI routines 00071 INTEGER :: ILUNAM ! Logical unit of namelist file 00072 ! 00073 CHARACTER(LEN=28) :: YNAMELIST ! namelist file 00074 ! 00075 LOGICAL :: GFOUND ! Return code when searching namelist 00076 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00077 !------------------------------------------------------------------------------- 00078 ! 00079 ! 00080 ! 00081 IF (LHOOK) CALL DR_HOOK('READ_PREP_SURF_ATM_CONF',0,ZHOOK_HANDLE) 00082 HFILE = CFILE 00083 HFILETYPE = CFILETYPE 00084 HFILEPGD = CFILEPGD 00085 HFILEPGDTYPE = CFILEPGDTYPE 00086 00087 ! 00088 IF (LEN_TRIM(HFILE)==0 .AND. LEN_TRIM(HATMFILE)>0 ) THEN 00089 HFILE = HATMFILE 00090 ENDIF 00091 ! 00092 IF (LEN_TRIM(HFILEPGD)==0 .AND. LEN_TRIM(HPGDFILE)>0 ) THEN 00093 HFILEPGD = HPGDFILE 00094 ENDIF 00095 ! 00096 IF (LEN_TRIM(HFILETYPE)==0 .AND. LEN_TRIM(HATMFILETYPE)>0 ) THEN 00097 HFILETYPE = HATMFILETYPE 00098 ENDIF 00099 ! 00100 IF (LEN_TRIM(HFILEPGDTYPE)==0 .AND. LEN_TRIM(HPGDFILETYPE)>0 ) THEN 00101 HFILEPGDTYPE = HPGDFILETYPE 00102 ENDIF 00103 ! 00104 IF (LHOOK) CALL DR_HOOK('READ_PREP_SURF_ATM_CONF',1,ZHOOK_HANDLE) 00105 00106 ! 00107 !------------------------------------------------------------------------------ 00108 ! 00109 END SUBROUTINE READ_PREP_SURF_ATM_CONF