SURFEX v8.1
General documentation of Surfex
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,HPROGRAM,HINIFILE,HINIFILETYPE,HFILE,HFILETYPE)
7 ! ###########################################################
8 
9 !!
10 !! PURPOSE
11 !! -------
12 !! This program prepares the physiographic data fields.
13 !!
14 !! METHOD
15 !! ------
16 !!
17 !! EXTERNAL
18 !! --------
19 !!
20 !!
21 !! IMPLICIT ARGUMENTS
22 !! ------------------
23 !!
24 !!
25 !! REFERENCE
26 !! ---------
27 !!
28 !! AUTHOR
29 !! ------
30 !!
31 !! V. Masson Meteo-France
32 !!
33 !! MODIFICATION
34 !! ------------
35 !!
36 !! Original 13/10/03
37 !----------------------------------------------------------------------------
38 !
39 !* 0. DECLARATION
40 ! -----------
41 !
42 !
43 !
44 USE modd_surfex_n, ONLY : surfex_t
45 !
46 USE modi_ini_csts
47 USE modi_read_nam_write_cover_tex
48 USE modi_pgd_grid
49 USE modi_open_aux_io_surf
50 USE modi_close_aux_io_surf
52 USE modi_zoom_pgd_cover
53 USE modi_zoom_pgd_orography
54 USE modi_init_read_data_cover
55 USE modi_ini_data_cover
56 USE modi_surf_version
57 USE modi_zoom_pgd_inland_water
58 USE modi_zoom_pgd_nature
59 USE modi_zoom_pgd_sea
60 USE modi_zoom_pgd_town
61 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 INTEGER :: IINFO_ll
87 REAL(KIND=JPRB) :: ZHOOK_HANDLE
88 !------------------------------------------------------------------------------
89 !
90 !* 1. Set default constant values
91 ! ---------------------------
92 !
93 IF (lhook) CALL dr_hook('ZOOM_PGD_SURF_ATM',0,zhook_handle)
94  CALL surf_version
95 !
96  CALL ini_csts
97 !
98  CALL read_nam_write_cover_tex(hprogram)
99 !
100 !-------------------------------------------------------------------------------
101 !
102 !* 2. Initialisation of output grid and schemes
103 ! -----------------------------------------
104 !
105  CALL goto_model_mnh(ysc%U,hprogram,2,iinfo_ll)
106  CALL pgd_grid(ysc%UG, ysc%U, ysc%GCP, hprogram,hfile,hfiletype,.true.,hdir='Z')
107 !
108 
109  CALL goto_model_mnh(ysc%U,hprogram,1,iinfo_ll)
110  CALL open_aux_io_surf(hinifile,hinifiletype,'FULL ')
111  CALL read_surf(hinifiletype,'SEA', ysc%U%CSEA, iresp)
112  CALL read_surf(hinifiletype,'NATURE',ysc%U%CNATURE,iresp)
113  CALL read_surf(hinifiletype,'WATER', ysc%U%CWATER, iresp)
114  CALL read_surf(hinifiletype,'TOWN', ysc%U%CTOWN, iresp)
115  CALL read_cover_garden(hinifiletype,ysc%U%LGARDEN)
116  CALL init_read_data_cover(hprogram)
117  CALL ini_data_cover(ysc%DTCO, ysc%U)
118  CALL close_aux_io_surf(hinifile,hinifiletype)
119 !
120 !-------------------------------------------------------------------------------
121 !
122 !* 3. surface cover
123 ! -------------
124 !
125  CALL zoom_pgd_cover(ysc%DTCO, ysc%UG, ysc%U, ysc%GCP, &
126  hprogram,hinifile,hinifiletype,ysc%U%LECOCLIMAP)
127 !
128 !-------------------------------------------------------------------------------
129 !
130 !* 4. Orography
131 ! ---------
132 !
133  CALL zoom_pgd_orography(ysc%DTCO, ysc%UG, ysc%U, ysc%USS, ysc%GCP, &
134  hprogram,ysc%U%XSEA,ysc%U%XWATER,hinifile,hinifiletype)
135 !
136 !_______________________________________________________________________________
137 !
138 !* 5. Additionnal fields for nature scheme
139 ! ------------------------------------
140 !
141 IF (ysc%U%NDIM_NATURE>0) &
142  CALL zoom_pgd_nature(ysc%DTCO, ysc%IM, ysc%UG, ysc%U, ysc%USS, ysc%GCP, &
143  hprogram,hinifile,hinifiletype,hfile,hfiletype,ysc%U%LECOCLIMAP)
144 !_______________________________________________________________________________
145 !
146 !* 6. Additionnal fields for town scheme
147 ! ----------------------------------
148 !
149 IF (ysc%U%NDIM_TOWN>0) &
150  CALL zoom_pgd_town(ysc%TM%BOP, ysc%TM%BDD, ysc%TM%DTB, ysc%DTCO, ysc%TM%DTT, ysc%UG, ysc%U, ysc%GCP, &
151  ysc%GDM%O, ysc%GDM%K, ysc%TM%G, ysc%TM%TOP, &
152  hprogram,hinifile,hinifiletype,hfile,hfiletype,ysc%U%LECOCLIMAP,ysc%U%LGARDEN)
153 !_______________________________________________________________________________
154 !
155 !* 7. Additionnal fields for inland water scheme
156 ! ------------------------------------------
157 !
158 IF (ysc%U%NDIM_WATER>0) &
159  CALL zoom_pgd_inland_water(ysc%DTCO, ysc%FM%G, ysc%FM%F, ysc%UG, ysc%U, ysc%USS, ysc%WM%G, ysc%WM%W, &
160  hprogram,hinifile,hinifiletype,hfile,hfiletype,ysc%U%LECOCLIMAP)
161 !_______________________________________________________________________________
162 !
163 !* 8. Additionnal fields for sea scheme
164 ! ---------------------------------
165 !
166 IF (ysc%U%NDIM_SEA>0) &
167  CALL zoom_pgd_sea(ysc%DTCO, ysc%SM%DTS, ysc%SM%G, ysc%SM%S, ysc%UG, ysc%U, ysc%GCP, &
168  hprogram,hinifile,hinifiletype,hfile,hfiletype)
169 !
170 !_______________________________________________________________________________
171 !
172 !* 9. Dummy fields
173 ! ------------
174 !
175 ysc%DUU%NDUMMY_NBR = 0
176 !_______________________________________________________________________________
177 !
178 !* 10. Chemical Emission fields
179 ! ------------------------
180 !
181 ysc%CHU%LCH_EMIS = .false.
182 IF (lhook) CALL dr_hook('ZOOM_PGD_SURF_ATM',1,zhook_handle)
183 !_______________________________________________________________________________
184 !
185 END SUBROUTINE zoom_pgd_surf_atm
subroutine read_cover_garden(HPROGRAM, OGARDEN, HDIR)
subroutine init_read_data_cover(HPROGRAM)
subroutine close_aux_io_surf(HFILE, HFILETYPE)
integer, parameter jprb
Definition: parkind1.F90:32
subroutine goto_model_mnh(U, HPROGRAM, KMI, KINFO_ll)
subroutine zoom_pgd_sea(DTCO, DTS, SG, S, UG, U, GCP, HPROGRAM, HINIFILE, HINIFILETYPE, HFILE, HFIL
Definition: zoom_pgd_sea.F90:8
subroutine ini_csts
Definition: ini_csts.F90:7
subroutine zoom_pgd_orography(DTCO, UG, U, USS, GCP, HPROGRAM, PSEA, PWATER, HINIFILE, HINIF
subroutine zoom_pgd_nature(DTCO, IM, UG, U, USS, GCP, HPROGRAM, HINIFILE, HINIFILETYPE, HFILE, H
logical lhook
Definition: yomhook.F90:15
subroutine zoom_pgd_town(BOP, BDD, DTB, DTCO, DTT, UG, U, GCP, IO
subroutine surf_version
Definition: surf_version.F90:7
subroutine zoom_pgd_surf_atm(YSC, HPROGRAM, HINIFILE, HINIFILETYPE, H
subroutine open_aux_io_surf(HFILE, HFILETYPE, HMASK, HDIR)
subroutine ini_data_cover(DTCO, U)
subroutine zoom_pgd_cover(DTCO, UG, U, GCP, HPROGRAM, HINIFILE, HINIFILETYPE, OECOCLIM
subroutine read_nam_write_cover_tex(HPROGRAM)
subroutine zoom_pgd_inland_water(DTCO, FG, F, UG, U, USS, WG, W,
subroutine pgd_grid(UG, U, GCP, HPROGRAM, HFILE, HFILETYPE, OGRID, HD
Definition: pgd_grid.F90:7