Version 31 (modified by raasch, 3 years ago) (diff)

--

Nesting parameters























NAMELIST group name: nesting_parameters

Parameter Name FORTRAN
Type
Default
Value
Explanation

anterpolation_buffer_width

I

2

Width of the anterpolation boundary buffer in terms of number of parent-grid points. If anterpolation_buffer_width = 0, anterpolation is carried out for all parent-grid points inside the child domain except the grid planes next to the boundaries. By setting anterpolation_buffer_width > 0, makes these buffers wider accordingly. The same value is applied to all nested boundaries.

anterpolation_starting_height

R

0.0

This parameter controls the canopy-restricted anterpolation. It is the height in metres relative to the local terrain height above which the anterpolation is performed in case of two-way coupling. Below this height no anterpolation is made. It is recommended to select this height in such a way that most of the building roofs, or even all of them depending on the case, are below this height.

domain_layouts

derived
TYPE
pmc_layout(64)

none

General information about the nested domains to be used.

Up to 64 domains can be used. The derived data type has the structure

   TYPE pmc_layout

      CHARACTER(len=32) ::  name

      INTEGER  ::  id
      INTEGER  ::  parent_id
      INTEGER  ::  npe_total

      REAL(wp) ::  lower_left_x
      REAL(wp) ::  lower_left_y

   END TYPE pmc_layout

name is the domain name given by the user. id is the number of the domain (can be arbitrarily chosen, but it would be good practise to number the domains in ascending order starting with 1), while parent_id gives the number of the domain in which this domain is embedded. The so-called root-domain which includes all other nested-domains should have the id 1. The root-domain has no parent-domain and must be given -1 as its parent_id. npe_total is the number of PEs to be used for this domain. lower_left_x and lower_left_y are the coordinates in metres of the south-left corner of the domain given in the root-model coordinate system. Note that the corner coordinates are always given in the root-coordinate system even for domains nested in another nested domain. More precisely, lower_left_x is measured from the u-node at i=0 and lower_left_y from the v-node at j=0. The root-domain has lower_left_x = 0.0 and lower_left_y = 0.0. Note that lower_left_x must be integer divisible by the parent grid dx and similarly lower_left_y by the parent grid dy. A nested-domain must be completely embedded in its parent-domain and there has to be a clearance between the lateral nest boundaries and its parent boundaries. This clearance has to be at least four parent-grid cells in case of Wicker-Skamarock advection scheme and at least two parent-grid cells in case of Piaseck-Williams advection scheme. Possible parallel nests, including their ghost-cell layers, are not allowed to overlap.

The following gives an example for defining a single nested-domain embedded in a root-domain:

domain_layouts = 'coarse',  1,  -1,  16,    0.0,    0.0,
                 'fine',    2,   1,  16,  320.0,  128.0, 

The total number of MPI-processes required by this configuration is 16 + 16 = 32. The numbers of PEs in the x- and y-directions can be additionally specified by setting npex and npey in &runtime_parameters for the respective domain. Of course, the condition npe_total = npex * npey must always hold.

homogeneous_initialization_child

L

.F.

Controls the initialization of the child domains. If set to .FALSE., the child domain will be initialized by the 3D parent data. However, in the presence of complex topography and larger discrepancies between parent and child topography, it can happen that grid points in the child belong to the atmosphere but the corresponding parent grid points belong to topography. With a 3D initialization, topography-covered parent grid points will then be visible in the child domain as regions with zero values of the velocity components. In case the discrepancy between parent and child topography becomes huge (high grid-aspect ratios), this causes problems with the mass balance and can result in numerical instabilities.

To overcome this, the nesting offers the possibility to initialize the child domain with area-averaged parent data, which area-averaging is performed over the respective child area.

nesting_datatransfer_mode

C*7

'mixed'

Type of nesting datatransfer mode.

cascade, overlap, or mixed data transfer mode is allowed.

nesting_bounds

C*14

'3d_nesting'

Type of nesting boundary conditions.

Allowed values are '3d_nesting', 'cyclic_along_x', 'cyclic_along_y', and 'vertical_only'. The latter implies a one-dimensional nesting in the vertical direction only, i.e. all domains have (and must have) the same horizontal extent. For conditions 'cyclic_along_x' and 'cyclic_along_y', the extension of the child domains must exactly match the root domain size along the respective direction.

nesting_mode

C*7

'two-way'

Type of nesting mode.

'one-way', 'two-way', and 'vertical' nesting are allowed. The latter implies a one-dimensional nesting in the vertical direction only, i.e. all domains have (and must have) the same horizontal extent.

particle_coupling

L

.T.

Switch for particle coupling between domains. This parameter takes effect only when Lagrangian particle model is activated. By default Lagrangian particles are transferred between domains. This feature can be switched off by setting particle_coupling = .F.

switch_off_module

L

.F.