Philippe 07/03/2019: IO bugfix: io_set_mnhversion must be called by all the processes
[MNH-git_open_source-lfs.git] / src / SURFEX / read_pgd_watfluxn.F90
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
4 !SFX_LIC for details. version 1.
5 !     #########
6       SUBROUTINE READ_PGD_WATFLUX_n (DTCO, U, UG, WG, W, 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_DATA_COVER_n, ONLY : DATA_COVER_t
42 USE MODD_SURF_ATM_n, ONLY : SURF_ATM_t
43 USE MODD_SURF_ATM_GRID_n, ONLY : SURF_ATM_GRID_t
44 USE MODD_SFX_GRID_n, ONLY : GRID_t
45 USE MODD_WATFLUX_n, ONLY : WATFLUX_t
46 !
47 USE MODD_TYPE_DATE_SURF
48 !
49 USE MODD_DATA_COVER_PAR, ONLY : JPCOVER
50 !
51 USE MODE_READ_SURF_COV, ONLY : READ_SURF_COV
52 !
53 USE MODI_READ_SURF
54 USE MODI_PACK_INIT
55 !
56 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
57 USE PARKIND1  ,ONLY : JPRB
58 !
59 USE MODI_GET_TYPE_DIM_n
60 !
61 IMPLICIT NONE
62 !
63 !*       0.1   Declarations of arguments
64 !              -------------------------
65 !
66 !
67 TYPE(DATA_COVER_t), INTENT(INOUT) :: DTCO
68 TYPE(SURF_ATM_t), INTENT(INOUT) :: U
69 TYPE(SURF_ATM_GRID_t), INTENT(INOUT) :: UG
70 TYPE(GRID_t), INTENT(INOUT) :: WG
71 TYPE(WATFLUX_t), INTENT(INOUT) :: W
72 !
73  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! calling program
74 !
75 !*       0.2   Declarations of local variables
76 !              -------------------------------
77 !
78 INTEGER           :: IRESP          ! Error code after redding
79
80  CHARACTER(LEN=LEN_HREC) :: YRECFM         ! Name of the article to be read
81 !
82 REAL(KIND=JPRB) :: ZHOOK_HANDLE
83 !-------------------------------------------------------------------------------
84 !
85 !* 1D physical dimension
86 !
87 IF (LHOOK) CALL DR_HOOK('READ_PGD_WATFLUX_N',0,ZHOOK_HANDLE)
88 YRECFM='SIZE_WATER'
89  CALL GET_TYPE_DIM_n(DTCO, U, 'WATER ',WG%NDIM)
90 !
91 !
92 !*       2.     Physiographic data fields:
93 !               -------------------------
94 !
95 !* cover classes
96 !
97 ALLOCATE(W%LCOVER(JPCOVER))
98 ALLOCATE(W%XZS(WG%NDIM))
99 ALLOCATE(WG%XLAT       (WG%NDIM))
100 ALLOCATE(WG%XLON       (WG%NDIM))
101 ALLOCATE(WG%XMESH_SIZE (WG%NDIM))
102 CALL PACK_INIT(DTCO, U, UG, HPROGRAM,'WATER ',WG,W%LCOVER,W%XCOVER,W%XZS)
103 !
104 IF (LHOOK) CALL DR_HOOK('READ_PGD_WATFLUX_N',1,ZHOOK_HANDLE)
105 !-------------------------------------------------------------------------------
106 !
107 END SUBROUTINE READ_PGD_WATFLUX_n