source: palm/trunk/SOURCE/user_init_3d_model.f90 @ 4450

Last change on this file since 4450 was 4360, checked in by suehring, 5 years ago

Bugfix in output of time-averaged plant-canopy quanities; Output of plant-canopy data only where tall canopy is defined; land-surface model: fix wrong location strings; tests: update urban test case; all source code files: copyright update

  • Property svn:keywords set to Id
File size: 3.6 KB
Line 
1!> @file user_init_3d_model.f90
2!------------------------------------------------------------------------------!
3! This file is part of the PALM model system.
4!
5! PALM is free software: you can redistribute it and/or modify it under the
6! terms of the GNU General Public License as published by the Free Software
7! Foundation, either version 3 of the License, or (at your option) any later
8! version.
9!
10! PALM is distributed in the hope that it will be useful, but WITHOUT ANY
11! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12! A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
13!
14! You should have received a copy of the GNU General Public License along with
15! PALM. If not, see <http://www.gnu.org/licenses/>.
16!
17! Copyright 1997-2020 Leibniz Universitaet Hannover
18!------------------------------------------------------------------------------!
19!
20! Current revisions:
21! -----------------
22!
23!
24! Former revisions:
25! -----------------
26! $Id: user_init_3d_model.f90 4360 2020-01-07 11:25:50Z suehring $
27! Corrected "Former revisions" section
28!
29! 3768 2019-02-27 14:35:58Z raasch
30! variables commented out to avoid compiler warnings about unused variables
31!
32! 3655 2019-01-07 16:51:22Z knoop
33! Corrected "Former revisions" section
34!
35! 211 2008-11-11 04:46:24Z raasch
36! Former file user_interface.f90 split into one file per subroutine
37!
38! Description:
39! ------------
40!> Allows the complete initialization of the 3d model.
41!>
42!> @attention The user is responsible to set at least all those quantities which
43!>            are normally set within init_3d_model!
44!------------------------------------------------------------------------------!
45 SUBROUTINE user_init_3d_model
46 
47
48    USE arrays_3d
49   
50    USE control_parameters
51   
52    USE indices
53   
54    USE kinds
55
56    USE surface_mod
57   
58    USE user
59
60    IMPLICIT NONE
61
62!    INTEGER(iwp) ::  l !< running index surface orientation
63!    INTEGER(iwp) ::  m !< running index surface elements
64
65!
66!-- Initialization of surface-related quantities.
67!-- The following example shows required initialization of surface quantitites
68!-- at default-type upward-facing surfaces. 
69!   DO  m = 1, surf_def_h(0)%ns
70!      surf_def_h(0)%ol(m)   = ...    ! Obukhov length
71!      surf_def_h(0)%us(m  ) = ...    ! friction velocity
72!      surf_def_h(0)%usws(m) = ...    ! vertical momentum flux, u-component
73!      surf_def_h(0)%vsws(m) = ...    ! vertical momentum flux, v-component
74!      surf_def_h(0)%z0(m)   = ...    ! roughness length for momentum
75!      IF ( .NOT. neutral )  THEN
76!         surf_def_h(0)%ts(m)   = ... ! scaling parameter
77!         surf_def_h(0)%shf(m)  = ... ! surface sensible heat flux
78!         surf_def_h(0)%z0h(m)  = ... ! roughness length for heat
79!      ENDIF
80!      IF ( humditiy )  THEN
81!         surf_def_h(0)%qs(m)   = ... ! scaling parameter
82!         surf_def_h(0)%qsws(m) = ... ! surface latent heat flux
83!         surf_def_h(0)%z0q(m)  = ... ! roughness length for moisture
84!      ENDIF
85!      IF ( passive_scalar )  THEN
86!         surf_def_h(0)%ss(m)   = ... ! scaling parameter
87!         surf_def_h(0)%ssws(m) = ... ! surface latent heat flux
88!      ENDIF
89!   ENDDO
90!
91!-- Same for natural and urban type surfaces
92!   DO  m = 1, surf_lsm_h%ns
93!      ...
94!   ENDDO
95!   DO  m = 1, surf_usm_h%ns
96!      ...
97!   ENDDO
98!
99!-- Also care for vertically aligned surfaces (default-, natural-, and
100!-- urban-type).
101!   DO  l = 0, 3
102!      DO  m = 1, surf_def_v(l)%ns
103!         ...
104!      ENDDO
105!      DO  m = 1, surf_lsm_v(l)%ns
106!         ...
107!      ENDDO
108!      DO  m = 1, surf_usm_v(l)%ns
109!         ...
110!      ENDDO
111!   ENDDO
112!
113!
114!-- In the following, initialize 3D quantities, e.g. u, v, w, pt, etc..
115
116 END SUBROUTINE user_init_3d_model
117
Note: See TracBrowser for help on using the repository browser.