SURFEX v8.1
General documentation of Surfex
modd_canopyn.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  MODULE modd_canopy_n
7 ! ################
8 !
9 !!**** *MODD_CANOPY_n - declaration of surface parameters for urban canopy
10 !!
11 !! PURPOSE
12 !! -------
13 ! Declaration of surface parameters
14 !
15 !!
16 !!** IMPLICIT ARGUMENTS
17 !! ------------------
18 !! None
19 !!
20 !! REFERENCE
21 !! ---------
22 !!
23 !! AUTHOR
24 !! ------
25 !! V. Masson *Meteo France*
26 !!
27 !! MODIFICATIONS
28 !! -------------
29 !! Original 07/2006
30 !
31 !* 0. DECLARATIONS
32 ! ------------
33 !
34 !
35 USE yomhook ,ONLY : lhook, dr_hook
36 USE parkind1 ,ONLY : jprb
37 !
38 IMPLICIT NONE
39 
41 !
42  INTEGER :: nlvl ! number of levels in canopy
43  REAL, POINTER, DIMENSION(:,:) :: xz ! height of middle of each level grid (m)
44  REAL, POINTER, DIMENSION(:,:) :: xu ! wind at each level in canopy (m/s)
45  REAL, POINTER, DIMENSION(:,:) :: xt ! temperature at each level in canopy (m/s)
46  REAL, POINTER, DIMENSION(:,:) :: xq ! humidity at each level in canopy (kg/m3)
47  REAL, POINTER, DIMENSION(:,:) :: xtke ! Tke at each level in canopy (m2/s2)
48  REAL, POINTER, DIMENSION(:,:) :: xlmo ! Monin-Obhukov length (m)
49  REAL, POINTER, DIMENSION(:,:) :: xlm ! Mixing lentgh (m)
50  REAL, POINTER, DIMENSION(:,:) :: xleps! Dissipative length (m)
51  REAL, POINTER, DIMENSION(:,:) :: xp ! pressure at each level in canopy (kg/m3)
52 !
53  REAL, POINTER, DIMENSION(:,:) :: xdz ! depth of each level in canopy (m)
54  REAL, POINTER, DIMENSION(:,:) :: xzf ! height of bottom of each level grid (m)
55  REAL, POINTER, DIMENSION(:,:) :: xdzf ! depth between each level in canopy (m)
56 !
57 END TYPE canopy_t
58 !
59 CONTAINS
60 !
61 SUBROUTINE canopy_init(SB)
62 TYPE(canopy_t), INTENT(INOUT) :: SB
63 REAL(KIND=JPRB) :: ZHOOK_HANDLE
64 IF (lhook) CALL dr_hook("MODD_CANOPY_N:CANOPY_INIT",0,zhook_handle)
65  NULLIFY(sb%XZ)
66  NULLIFY(sb%XU)
67  NULLIFY(sb%XT)
68  NULLIFY(sb%XQ)
69  NULLIFY(sb%XTKE)
70  NULLIFY(sb%XLMO)
71  NULLIFY(sb%XLM)
72  NULLIFY(sb%XLEPS)
73  NULLIFY(sb%XP)
74  NULLIFY(sb%XDZ)
75  NULLIFY(sb%XZF)
76  NULLIFY(sb%XDZF)
77 sb%NLVL=0
78 IF (lhook) CALL dr_hook("MODD_CANOPY_N:CANOPY_INIT",1,zhook_handle)
79 END SUBROUTINE canopy_init
80 
81 
82 END MODULE modd_canopy_n
integer, parameter jprb
Definition: parkind1.F90:32
logical lhook
Definition: yomhook.F90:15
subroutine canopy_init(SB)