SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/read_pgd_tsz0_parn.F90
Go to the documentation of this file.
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