SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
zoom_pgd_surf_atm.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 zoom_pgd_surf_atm (YSC, &
7  hprogram,hinifile,hinifiletype,hfile,hfiletype)
8 ! ###########################################################
9 
10 !!
11 !! PURPOSE
12 !! -------
13 !! This program prepares the physiographic data fields.
14 !!
15 !! METHOD
16 !! ------
17 !!
18 !! EXTERNAL
19 !! --------
20 !!
21 !!
22 !! IMPLICIT ARGUMENTS
23 !! ------------------
24 !!
25 !!
26 !! REFERENCE
27 !! ---------
28 !!
29 !! AUTHOR
30 !! ------
31 !!
32 !! V. Masson Meteo-France
33 !!
34 !! MODIFICATION
35 !! ------------
36 !!
37 !! Original 13/10/03
38 !----------------------------------------------------------------------------
39 !
40 !* 0. DECLARATION
41 ! -----------
42 !
43 !
44 !
45 USE modd_surfex_n, ONLY : surfex_t
46 !
47 USE modi_ini_csts
48 USE modi_read_nam_write_cover_tex
49 USE modi_pgd_grid
50 USE modi_open_aux_io_surf
51 USE modi_close_aux_io_surf
53 USE modi_zoom_pgd_cover
54 USE modi_zoom_pgd_orography
55 USE modi_init_read_data_cover
56 USE modi_ini_data_cover
57 USE modi_surf_version
58 USE modi_zoom_pgd_inland_water
59 USE modi_zoom_pgd_nature
60 USE modi_zoom_pgd_sea
61 USE modi_zoom_pgd_town
62 USE modi_read_cover_garden
63 !
64 USE yomhook ,ONLY : lhook, dr_hook
65 USE parkind1 ,ONLY : jprb
66 !
67 IMPLICIT NONE
68 !
69 !* 0.1 Declaration of dummy arguments
70 ! ------------------------------
71 !
72 !
73 TYPE(surfex_t), INTENT(INOUT) :: ysc
74 !
75  CHARACTER(LEN=6), INTENT(IN) :: hprogram ! program calling
76  CHARACTER(LEN=28), INTENT(IN) :: hinifile ! input atmospheric file name
77  CHARACTER(LEN=6), INTENT(IN) :: hinifiletype! input atmospheric file type
78  CHARACTER(LEN=28), INTENT(IN) :: hfile ! output atmospheric file name
79  CHARACTER(LEN=6), INTENT(IN) :: hfiletype ! output atmospheric file type
80 !
81 !
82 !* 0.2 Declaration of local variables
83 ! ------------------------------
84 !
85 INTEGER :: iresp
86 REAL(KIND=JPRB) :: zhook_handle
87 !------------------------------------------------------------------------------
88 !
89 !* 1. Set default constant values
90 ! ---------------------------
91 !
92 IF (lhook) CALL dr_hook('ZOOM_PGD_SURF_ATM',0,zhook_handle)
93  CALL surf_version
94 !
95  CALL ini_csts
96 !
97  CALL read_nam_write_cover_tex(hprogram)
98 !
99 !-------------------------------------------------------------------------------
100 !
101 !* 2. Initialisation of output grid and schemes
102 ! -----------------------------------------
103 !
104  CALL pgd_grid(&
105  ysc%UG, ysc%U, &
106  hprogram,hfile,hfiletype,.true.,ysc%UG%CGRID,ysc%UG%NGRID_PAR,ysc%UG%XGRID_PAR)
107 !
108  CALL open_aux_io_surf(&
109  hinifile,hinifiletype,'FULL ')
110  CALL read_surf(&
111  hinifiletype,'SEA', ysc%U%CSEA, iresp)
112  CALL read_surf(&
113  hinifiletype,'NATURE',ysc%U%CNATURE,iresp)
114  CALL read_surf(&
115  hinifiletype,'WATER', ysc%U%CWATER, iresp)
116  CALL read_surf(&
117  hinifiletype,'TOWN', ysc%U%CTOWN, iresp)
118  CALL read_cover_garden(&
119  hinifiletype,ysc%U%LGARDEN)
120  CALL init_read_data_cover(hprogram)
121  CALL ini_data_cover(ysc%DTCO, ysc%U)
122  CALL close_aux_io_surf(hinifile,hinifiletype)
123 !
124 !-------------------------------------------------------------------------------
125 !
126 !* 3. surface cover
127 ! -------------
128 !
129  CALL zoom_pgd_cover(ysc%DTCO, ysc%UG, ysc%U, &
130  hprogram,hinifile,hinifiletype,ysc%U%LECOCLIMAP)
131 !
132 !-------------------------------------------------------------------------------
133 !
134 !* 4. Orography
135 ! ---------
136 !
137  CALL zoom_pgd_orography(ysc%DTCO, &
138  ysc%UG, ysc%U, ysc%USS, &
139  hprogram,ysc%U%XSEA,ysc%U%XWATER,hinifile,hinifiletype)
140 !
141 !_______________________________________________________________________________
142 !
143 !* 5. Additionnal fields for nature scheme
144 ! ------------------------------------
145 !
146 IF (ysc%U%NDIM_NATURE>0) &
147  CALL zoom_pgd_nature(ysc%IM%CHI, ysc%DTCO, ysc%IM%DTI, ysc%IM%IG, &
148  ysc%IM%I, ysc%UG, ysc%U, ysc%USS, &
149  hprogram,hinifile,hinifiletype,hfile,hfiletype,ysc%U%LECOCLIMAP)
150 !_______________________________________________________________________________
151 !
152 !* 6. Additionnal fields for town scheme
153 ! ----------------------------------
154 !
155 IF (ysc%U%NDIM_TOWN>0) &
156  CALL zoom_pgd_town(ysc%TM%B, ysc%TM%DGCT, ysc%TM%DGMT, ysc%TM%T, ysc%GDM%TGD, &
157  ysc%GDM%TGDPE, ysc%GRM%TGR, ysc%GRM%TGRPE, &
158  ysc%TM%BOP, ysc%TM%BDD, ysc%TM%DTB, ysc%DTCO, ysc%TM%DTT, ysc%UG, ysc%U, &
159  ysc%GDM%TGDO, ysc%GDM%TGDP, ysc%TM%TG, ysc%TM%TOP, ysc%GDM%TVG, &
160  hprogram,hinifile,hinifiletype,hfile,hfiletype,ysc%U%LECOCLIMAP,ysc%U%LGARDEN)
161 !_______________________________________________________________________________
162 !
163 !* 7. Additionnal fields for inland water scheme
164 ! ------------------------------------------
165 !
166 IF (ysc%U%NDIM_WATER>0) &
167  CALL zoom_pgd_inland_water(ysc%DTCO, ysc%FM%FG, ysc%FM%F, ysc%UG, ysc%U, ysc%USS, ysc%WM%WG, ysc%WM%W, &
168  hprogram,hinifile,hinifiletype,hfile,hfiletype,ysc%U%LECOCLIMAP)
169 !_______________________________________________________________________________
170 !
171 !* 8. Additionnal fields for sea scheme
172 ! ---------------------------------
173 !
174 IF (ysc%U%NDIM_SEA>0) &
175  CALL zoom_pgd_sea(ysc%DTCO, ysc%SM%DTS, ysc%SM%SG, ysc%SM%S, ysc%UG, ysc%U, &
176  hprogram,hinifile,hinifiletype,hfile,hfiletype)
177 !
178 !_______________________________________________________________________________
179 !
180 !* 9. Dummy fields
181 ! ------------
182 !
183 ysc%DUU%NDUMMY_NBR = 0
184 !_______________________________________________________________________________
185 !
186 !* 10. Chemical Emission fields
187 ! ------------------------
188 !
189 ysc%CHU%LCH_EMIS = .false.
190 IF (lhook) CALL dr_hook('ZOOM_PGD_SURF_ATM',1,zhook_handle)
191 !_______________________________________________________________________________
192 !
193 END SUBROUTINE zoom_pgd_surf_atm
subroutine read_cover_garden(HPROGRAM, OGARDEN, HDIR)
subroutine zoom_pgd_orography(DTCO, UG, U, USS, HPROGRAM, PSEA, PWATER, HINIFILE, HINIFILETYPE)
subroutine init_read_data_cover(HPROGRAM)
subroutine zoom_pgd_sea(DTCO, DTS, SG, S, UG, U, HPROGRAM, HINIFILE, HINIFILETYPE, HFILE, HFILETYPE)
Definition: zoom_pgd_sea.F90:6
subroutine close_aux_io_surf(HFILE, HFILETYPE)
subroutine zoom_pgd_inland_water(DTCO, FG, F, UG, U, USS, WG, W, HPROGRAM, HINIFILE, HINIFILETYPE, HFILE, HFILETYPE, OECOCLIMAP)
subroutine open_aux_io_surf(HFILE, HFILETYPE, HMASK)
subroutine zoom_pgd_town(B, DGCT, DGMT, T, TGD, TGDPE, TGR, TGRPE, BOP, BDD, DTB, DTCO, DTT, UG, U, TGDO, TGDP, TG, TOP, TVG, HPROGRAM, HINIFILE, HINIFILETYPE, HFILE, HFILETYPE, OECOCLIMAP, OGARDEN)
subroutine ini_csts
Definition: ini_csts.F90:6
subroutine zoom_pgd_surf_atm(YSC, HPROGRAM, HINIFILE, HINIFILETYPE, HFILE, HFILETYPE)
subroutine zoom_pgd_cover(DTCO, UG, U, HPROGRAM, HINIFILE, HINIFILETYPE, OECOCLIMAP)
subroutine zoom_pgd_nature(CHI, DTCO, DTI, IG, I, UG, U, USS, HPROGRAM, HINIFILE, HINIFILETYPE, HFILE, HFILETYPE, OECOCLIMAP)
subroutine surf_version
Definition: surf_version.F90:6
subroutine pgd_grid(UG, U, HPROGRAM, HFILE, HFILETYPE, OGRID, HGRID, KGRID_PAR, PGRID_PAR)
Definition: pgd_grid.F90:6
subroutine ini_data_cover(DTCO, U)
subroutine read_nam_write_cover_tex(HPROGRAM)