SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
put_zs_townn.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 put_zs_town_n (TOP, &
7  hprogram,ki,pzs)
8 ! #########################################
9 !
10 !!**** *PUT_ZS_SURF_ATM_n* - routine to modify town oropgraphy using atmospheric
11 ! model orography
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 !! P. Le Moigne *Meteo France*
33 !!
34 !! MODIFICATIONS
35 !! -------------
36 !! Original 05/2007
37 !-------------------------------------------------------------------------------
38 !
39 !* 0. DECLARATIONS
40 ! ------------
41 !
42 !
44 !
45 USE modi_get_luout
46 !
47 !
48 !
49 USE yomhook ,ONLY : lhook, dr_hook
50 USE parkind1 ,ONLY : jprb
51 !
52 USE modi_abor1_sfx
53 !
54 IMPLICIT NONE
55 !
56 !* 0.1 Declarations of arguments
57 ! -------------------------
58 !
59 !
60 TYPE(teb_options_t), INTENT(INOUT) :: top
61 !
62  CHARACTER(LEN=6), INTENT(IN) :: hprogram
63 INTEGER, INTENT(IN) :: ki ! horizontal dim. of cover
64 REAL, DIMENSION(KI), INTENT(IN) :: pzs ! orography
65 !
66 !
67 !* 0.2 Declarations of local variables
68 ! -------------------------------
69 !
70 INTEGER :: iluout
71 REAL(KIND=JPRB) :: zhook_handle
72 !
73 !-------------------------------------------------------------------------------
74 IF (lhook) CALL dr_hook('PUT_ZS_TOWN_N',0,zhook_handle)
75  CALL get_luout(hprogram,iluout)
76 !-------------------------------------------------------------------------------
77 !
78 IF ( SIZE(pzs) /= SIZE(top%XZS) ) THEN
79  WRITE(iluout,*) 'try to get ZS field from atmospheric model, but size is not correct'
80  WRITE(iluout,*) 'size of field expected by the atmospheric model (PZS) :', SIZE(pzs)
81  WRITE(iluout,*) 'size of field over town (XZS) :', SIZE(top%XZS)
82  CALL abor1_sfx('PUT_ZS_TOWNN: GET ZS FROM ATMOSPHERIC MODEL: SIZE NOT CORRECT')
83 ELSE
84  top%XZS = pzs
85 END IF
86 IF (lhook) CALL dr_hook('PUT_ZS_TOWN_N',1,zhook_handle)
87 !
88 !==============================================================================
89 !
90 END SUBROUTINE put_zs_town_n
subroutine abor1_sfx(YTEXT)
Definition: abor1_sfx.F90:6
subroutine get_luout(HPROGRAM, KLUOUT)
Definition: get_luout.F90:6
subroutine put_zs_town_n(TOP, HPROGRAM, KI, PZS)
Definition: put_zs_townn.F90:6