SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
read_pgd_watfluxn.F90
Go to the documentation of this file.
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, WG, W, &
7  hprogram)
8 ! #########################################
9 !
10 !!**** *READ_PGD_WATFLUX_n* - read WATFLUX physiographic fields
11 !!
12 !!
13 !! PURPOSE
14 !! -------
15 !!
16 !!** METHOD
17 !! ------
18 !!
19 !! EXTERNAL
20 !! --------
21 !!
22 !!
23 !! IMPLICIT ARGUMENTS
24 !! ------------------
25 !!
26 !! REFERENCE
27 !! ---------
28 !!
29 !!
30 !! AUTHOR
31 !! ------
32 !! V. Masson *Meteo France*
33 !!
34 !! MODIFICATIONS
35 !! -------------
36 !! Original 01/2003
37 !-------------------------------------------------------------------------------
38 !
39 !* 0. DECLARATIONS
40 ! ------------
41 !
42 !
43 !
44 !
46 USE modd_surf_atm_n, ONLY : surf_atm_t
48 USE modd_watflux_n, ONLY : watflux_t
49 !
51 !
52 USE modd_data_cover_par, ONLY : jpcover
53 !
55 !
57 USE modi_read_grid
58 USE modi_read_lcover
59 !
60 !
61 USE yomhook ,ONLY : lhook, dr_hook
62 USE parkind1 ,ONLY : jprb
63 !
64 USE modi_get_type_dim_n
65 !
66 IMPLICIT NONE
67 !
68 !* 0.1 Declarations of arguments
69 ! -------------------------
70 !
71 !
72 TYPE(data_cover_t), INTENT(INOUT) :: dtco
73 TYPE(surf_atm_t), INTENT(INOUT) :: u
74 TYPE(watflux_grid_t), INTENT(INOUT) :: wg
75 TYPE(watflux_t), INTENT(INOUT) :: w
76 !
77  CHARACTER(LEN=6), INTENT(IN) :: hprogram ! calling program
78 !
79 !* 0.2 Declarations of local variables
80 ! -------------------------------
81 !
82 INTEGER :: iresp ! Error code after redding
83 !
84  CHARACTER(LEN=12) :: yrecfm ! Name of the article to be read
85 !
86 REAL(KIND=JPRB) :: zhook_handle
87 !-------------------------------------------------------------------------------
88 !
89 !* 1D physical dimension
90 !
91 IF (lhook) CALL dr_hook('READ_PGD_WATFLUX_N',0,zhook_handle)
92 yrecfm='SIZE_WATER'
93  CALL get_type_dim_n(dtco, u, &
94  'WATER ',wg%NDIM)
95 !
96 !
97 !
98 !* 2. Physiographic data fields:
99 ! -------------------------
100 !
101 !* cover classes
102 !
103 ALLOCATE(w%LCOVER(jpcover))
104  CALL read_lcover(&
105  hprogram,w%LCOVER)
106 !
107 ALLOCATE(w%XCOVER(wg%NDIM,jpcover))
108  CALL read_surf_cov(&
109  hprogram,'COVER',w%XCOVER(:,:),w%LCOVER,iresp)
110 !
111 !* orography
112 !
113 ALLOCATE(w%XZS(wg%NDIM))
114 yrecfm='ZS'
115  CALL read_surf(&
116  hprogram,yrecfm,w%XZS(:),iresp)
117 !
118 !* latitude, longitude
119 !
120 ALLOCATE(wg%XLAT (wg%NDIM))
121 ALLOCATE(wg%XLON (wg%NDIM))
122 ALLOCATE(wg%XMESH_SIZE(wg%NDIM))
123  CALL read_grid(&
124  hprogram,wg%CGRID,wg%XGRID_PAR,wg%XLAT,wg%XLON,wg%XMESH_SIZE,iresp)
125 IF (lhook) CALL dr_hook('READ_PGD_WATFLUX_N',1,zhook_handle)
126 !
127 !-------------------------------------------------------------------------------
128 !
129 END SUBROUTINE read_pgd_watflux_n
subroutine get_type_dim_n(DTCO, U, HTYPE, KDIM)
subroutine read_grid(HPROGRAM, HGRID, PGRID_PAR, PLAT, PLON, PMESH_SIZE, KRESP, PDIR)
Definition: read_grid.F90:6
subroutine, public read_surf_cov(HPROGRAM, HREC, PFIELD, OFLAG, KRESP, HCOMMENT, HDIR)
subroutine read_lcover(HPROGRAM, OCOVER)
Definition: read_lcover.F90:6
subroutine read_pgd_watflux_n(DTCO, U, WG, W, HPROGRAM)