SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE READ_PGD_TSZ0_PAR_n(HPROGRAM) 00003 ! ################################################ 00004 ! 00005 !!**** *READ_PGD_TSZ0_PAR_n* - reads SEAFLUX sst 00006 !! 00007 !! 00008 !! PURPOSE 00009 !! ------- 00010 !! 00011 !!** METHOD 00012 !! ------ 00013 !! 00014 !! EXTERNAL 00015 !! -------- 00016 !! 00017 !! 00018 !! IMPLICIT ARGUMENTS 00019 !! ------------------ 00020 !! 00021 !! REFERENCE 00022 !! --------- 00023 !! 00024 !! 00025 !! AUTHOR 00026 !! ------ 00027 !! P. Le Moigne *Meteo France* 00028 !! 00029 !! MODIFICATIONS 00030 !! ------------- 00031 !! Original 09/2007 00032 !------------------------------------------------------------------------------- 00033 ! 00034 !* 0. DECLARATIONS 00035 ! ------------ 00036 ! 00037 USE MODD_DATA_TSZ0_n, ONLY : NTIME, XDATA_DTS, XDATA_DHUGRD 00038 ! 00039 USE MODI_READ_SURF 00040 ! 00041 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00042 USE PARKIND1 ,ONLY : JPRB 00043 ! 00044 IMPLICIT NONE 00045 ! 00046 !* 0.1 Declarations of arguments 00047 ! ------------------------- 00048 ! 00049 CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! program calling 00050 ! 00051 !* 0.2 Declarations of local variables 00052 ! ------------------------------- 00053 ! 00054 INTEGER :: IVERSION ! surface version 00055 INTEGER :: IBUGFIX ! bugfix of the old file 00056 INTEGER :: IRESP ! IRESP : return-code if a problem appears 00057 CHARACTER(LEN=12) :: YRECFM ! Name of the article to be read 00058 CHARACTER(LEN=100):: YCOMMENT ! Comment string 00059 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00060 ! 00061 !------------------------------------------------------------------------------- 00062 ! 00063 IF (LHOOK) CALL DR_HOOK('READ_PGD_TSZ0_PAR_N',0,ZHOOK_HANDLE) 00064 ! 00065 CALL READ_SURF(HPROGRAM,'VERSION',IVERSION,IRESP) 00066 CALL READ_SURF(HPROGRAM,'BUG', IBUGFIX ,IRESP) 00067 ! 00068 IF (IVERSION.GT.7 .OR. (IVERSION==7 .AND. IBUGFIX.GT.1)) THEN 00069 YRECFM='ND_TSZ0_TIME' 00070 YCOMMENT = '(-)' 00071 CALL READ_SURF(HPROGRAM,YRECFM,NTIME,IRESP,HCOMMENT=YCOMMENT) 00072 ELSE 00073 NTIME=25 00074 ENDIF 00075 ! 00076 ALLOCATE(XDATA_DTS (NTIME)) 00077 ALLOCATE(XDATA_DHUGRD(NTIME)) 00078 ! 00079 IF (IVERSION.GT.7 .OR. (IVERSION==7 .AND. IBUGFIX.GT.1)) THEN 00080 ! 00081 YRECFM = 'D_DTS' 00082 YCOMMENT = 'X_Y_DATA_DTS' 00083 CALL READ_SURF(HPROGRAM,YRECFM,XDATA_DTS(:),IRESP,HCOMMENT=YCOMMENT,HDIR='-') 00084 ! 00085 YRECFM='D_DHUGRD' 00086 YCOMMENT = 'X_Y_DATA_DHUGRD' 00087 CALL READ_SURF(HPROGRAM,YRECFM,XDATA_DHUGRD(:),IRESP,HCOMMENT=YCOMMENT,HDIR='-') 00088 ! 00089 ELSE 00090 ! 00091 XDATA_DTS (:) = 0.0 00092 XDATA_DHUGRD(:) = 0.0 00093 ! 00094 ENDIF 00095 ! 00096 IF (LHOOK) CALL DR_HOOK('READ_PGD_TSZ0_PAR_N',1,ZHOOK_HANDLE) 00097 !------------------------------------------------------------------------------- 00098 END SUBROUTINE READ_PGD_TSZ0_PAR_n