373344f3d2ada31862b0add86a163e35f847c77e
[MNH-git_open_source-lfs.git] / src / SURFEX / read_pgd_watfluxn.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_WATFLUX_n(HPROGRAM)
7 !     #########################################
8 !
9 !!****  *READ_PGD_WATFLUX_n* - read WATFLUX physiographic fields
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 !!      V. Masson   *Meteo France*      
32 !!
33 !!    MODIFICATIONS
34 !!    -------------
35 !!      Original    01/2003 
36 !-------------------------------------------------------------------------------
37 !
38 !*       0.    DECLARATIONS
39 !              ------------
40 !
41 USE MODD_TYPE_DATE_SURF
42 !
43 USE MODD_DATA_COVER_PAR, ONLY : JPCOVER
44 USE MODD_WATFLUX_n,      ONLY : XCOVER, XZS,TTIME, LCOVER
45 USE MODD_WATFLUX_GRID_n, ONLY : XLAT, XLON, XMESH_SIZE, CGRID, XGRID_PAR, NDIM
46 !
47 USE MODI_READ_SURF
48 USE MODI_READ_GRID
49 USE MODI_READ_LCOVER
50 !
51 !
52 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
53 USE PARKIND1  ,ONLY : JPRB
54 !
55 USE MODI_GET_TYPE_DIM_n
56 !
57 IMPLICIT NONE
58 !
59 !*       0.1   Declarations of arguments
60 !              -------------------------
61 !
62  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! calling program
63 !
64 !*       0.2   Declarations of local variables
65 !              -------------------------------
66 !
67 INTEGER           :: IRESP          ! Error code after redding
68
69  CHARACTER(LEN=12) :: YRECFM         ! Name of the article to be read
70 !
71 REAL(KIND=JPRB) :: ZHOOK_HANDLE
72 !-------------------------------------------------------------------------------
73 !
74 !* 1D physical dimension
75 !
76 IF (LHOOK) CALL DR_HOOK('READ_PGD_WATFLUX_N',0,ZHOOK_HANDLE)
77 YRECFM='SIZE_WATER'
78  CALL GET_TYPE_DIM_n('WATER ',NDIM)
79 !
80 !
81 !
82 !*       2.     Physiographic data fields:
83 !               -------------------------
84 !
85 !* cover classes
86 !
87 ALLOCATE(LCOVER(JPCOVER))
88  CALL READ_LCOVER(HPROGRAM,LCOVER)
89 !
90 ALLOCATE(XCOVER(NDIM,JPCOVER))
91  CALL READ_SURF(HPROGRAM,'COVER',XCOVER(:,:),LCOVER,IRESP)
92 !
93 !* orography
94 !
95 ALLOCATE(XZS(NDIM))
96 YRECFM='ZS'
97  CALL READ_SURF(HPROGRAM,YRECFM,XZS(:),IRESP)
98 !
99 !* latitude, longitude 
100 !
101 ALLOCATE(XLAT      (NDIM))
102 ALLOCATE(XLON      (NDIM))
103 ALLOCATE(XMESH_SIZE(NDIM))
104  CALL READ_GRID(HPROGRAM,CGRID,XGRID_PAR,XLAT,XLON,XMESH_SIZE,IRESP)
105 IF (LHOOK) CALL DR_HOOK('READ_PGD_WATFLUX_N',1,ZHOOK_HANDLE)
106 !
107 !-------------------------------------------------------------------------------
108 !
109 END SUBROUTINE READ_PGD_WATFLUX_n