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