4c29bbeb016fa9cb27a3f70a50e4d395ab5dac26
[MNH-git_open_source-lfs.git] / src / SURFEX / read_pgd_tsz0_parn.F90
1 !SURFEX_LIC Copyright 1994-2014 Meteo-France 
2 !SURFEX_LIC This is part of the SURFEX software governed by the CeCILL-C  licence
3 !SURFEX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SURFEX_LIC for details. version 1.
5 !     #########
6       SUBROUTINE READ_PGD_TSZ0_PAR_n(HPROGRAM)
7 !     ################################################
8 !
9 !!****  *READ_PGD_TSZ0_PAR_n* - reads SEAFLUX sst
10 !!                        
11 !!
12 !!    PURPOSE
13 !!    -------
14 !!
15 !!**  METHOD
16 !!    ------
17 !!
18 !!    EXTERNAL
19 !!    --------
20 !!
21 !!
22 !!    IMPLICIT ARGUMENTS
23 !!    ------------------
24 !!
25 !!    REFERENCE
26 !!    ---------
27 !!
28 !!
29 !!    AUTHOR
30 !!    ------
31 !!      P. Le Moigne   *Meteo France*   
32 !!
33 !!    MODIFICATIONS
34 !!    -------------
35 !!      Original    09/2007 
36 !-------------------------------------------------------------------------------
37 !
38 !*       0.    DECLARATIONS
39 !              ------------
40 !
41 USE MODD_DATA_TSZ0_n,    ONLY : NTIME, XDATA_DTS, XDATA_DHUGRD
42 !
43 USE MODI_READ_SURF
44 !
45 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
46 USE PARKIND1  ,ONLY : JPRB
47 !
48 IMPLICIT NONE
49 !
50 !*       0.1   Declarations of arguments
51 !              -------------------------
52 !
53  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! program calling
54 !
55 !*       0.2   Declarations of local variables
56 !              -------------------------------
57 !
58 INTEGER :: IVERSION  ! surface version
59 INTEGER :: IBUGFIX   ! bugfix  of the old file
60 INTEGER           :: IRESP          ! IRESP  : return-code if a problem appears
61  CHARACTER(LEN=12) :: YRECFM         ! Name of the article to be read
62  CHARACTER(LEN=100):: YCOMMENT       ! Comment string
63 REAL(KIND=JPRB) :: ZHOOK_HANDLE
64 !
65 !-------------------------------------------------------------------------------
66 !
67 IF (LHOOK) CALL DR_HOOK('READ_PGD_TSZ0_PAR_N',0,ZHOOK_HANDLE)
68 !
69  CALL READ_SURF(HPROGRAM,'VERSION',IVERSION,IRESP)
70  CALL READ_SURF(HPROGRAM,'BUG', IBUGFIX ,IRESP)
71 !
72 IF (IVERSION.GT.7 .OR. (IVERSION==7 .AND. IBUGFIX.GT.1)) THEN
73   YRECFM='ND_TSZ0_TIME'
74   YCOMMENT = '(-)'
75   CALL READ_SURF(HPROGRAM,YRECFM,NTIME,IRESP,HCOMMENT=YCOMMENT)
76 ELSE 
77   NTIME=25
78 ENDIF
79 !
80 ALLOCATE(XDATA_DTS   (NTIME))
81 ALLOCATE(XDATA_DHUGRD(NTIME))
82 !
83 IF (IVERSION.GT.7 .OR. (IVERSION==7 .AND. IBUGFIX.GT.1)) THEN
84   !
85   YRECFM = 'D_DTS'
86   YCOMMENT = 'X_Y_DATA_DTS'
87   CALL READ_SURF(HPROGRAM,YRECFM,XDATA_DTS(:),IRESP,HCOMMENT=YCOMMENT,HDIR='-')
88   !
89   YRECFM='D_DHUGRD'
90   YCOMMENT = 'X_Y_DATA_DHUGRD'
91   CALL READ_SURF(HPROGRAM,YRECFM,XDATA_DHUGRD(:),IRESP,HCOMMENT=YCOMMENT,HDIR='-')
92   !
93 ELSE
94   !
95   XDATA_DTS   (:) = 0.0
96   XDATA_DHUGRD(:) = 0.0
97   !
98 ENDIF
99 !
100 IF (LHOOK) CALL DR_HOOK('READ_PGD_TSZ0_PAR_N',1,ZHOOK_HANDLE)
101 !-------------------------------------------------------------------------------
102 END SUBROUTINE READ_PGD_TSZ0_PAR_n