SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
pgd_orog_filter.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 pgd_orog_filter (U, &
7  hprogram)
8 ! ##############################################################
9 !
10 !!**** *PGD_OROGRAPHY* monitor for averaging and interpolations of cover fractions
11 !!
12 !! PURPOSE
13 !! -------
14 !!
15 !! METHOD
16 !! ------
17 !!
18 !
19 !! EXTERNAL
20 !! --------
21 !!
22 !! IMPLICIT ARGUMENTS
23 !! ------------------
24 !!
25 !! REFERENCE
26 !! ---------
27 !!
28 !! AUTHOR
29 !! ------
30 !!
31 !! V. Masson Meteo-France
32 !!
33 !! MODIFICATION
34 !! ------------
35 !!
36 !! Original 10/12/97
37 !! 12/2008 E. Martin : add case 'MAX' for choice of orography
38 !!
39 !----------------------------------------------------------------------------
40 !
41 !* 0. DECLARATION
42 ! -----------
43 !
44 !
45 USE modd_surf_atm_n, ONLY : surf_atm_t
46 !
47 USE modd_pgd_grid, ONLY : cgrid, xgrid_par
48 !
49 USE modi_read_nam_pgd_orog_filter
50 USE modi_orography_filter
51 !
52 USE yomhook ,ONLY : lhook, dr_hook
53 USE parkind1 ,ONLY : jprb
54 !
55 IMPLICIT NONE
56 !
57 !* 0.1 Declaration of arguments
58 ! ------------------------
59 !
60 !
61 TYPE(surf_atm_t), INTENT(INOUT) :: u
62 !
63  CHARACTER(LEN=6), INTENT(IN) :: hprogram ! program calling
64 !
65 !
66 !* 0.2 Declaration of local variables
67 ! ------------------------------
68 !
69 !* 0.3 Declaration of namelists
70 ! ------------------------
71 !
72 INTEGER :: nzsfilter ! number of orographic spatial filter iterations
73 REAL(KIND=JPRB) :: zhook_handle
74 !
75 !-------------------------------------------------------------------------------
76 !
77 !* 1. Initializations
78 ! ---------------
79 !
80 IF (lhook) CALL dr_hook('PGD_OROGRAPHY',0,zhook_handle)
81 !
82 !-------------------------------------------------------------------------------
83 !
84 !* 2. Reading of namelist
85 ! -------------------
86 !
87  CALL read_nam_pgd_orog_filter(hprogram, nzsfilter )
88 !
89 !-------------------------------------------------------------------------------
90 !
91 !* 11. Filtering of orography
92 ! ----------------------
93 !
94  CALL orography_filter(cgrid, xgrid_par, u%XSEA, nzsfilter, u%XZS)
95 !
96 IF (lhook) CALL dr_hook('PGD_OROG_FILTER',1,zhook_handle)
97 !-------------------------------------------------------------------------------
98 !
99 END SUBROUTINE pgd_orog_filter
subroutine read_nam_pgd_orog_filter(HPROGRAM, KZSFILTER)
subroutine pgd_orog_filter(U, HPROGRAM)
subroutine orography_filter(HGRID, PGRID_PAR, PSEA, KZSFILTER, PZS)