Version 23 (modified by suehring, 6 years ago) (diff)

--

Nesting

PALM provides two nesting systems. A multi-scale self nesting is available where PALM model domains can be recursively nested within each other and the corresponding model simulations run in parallel to each other with an continuous communication at runtime. Further, PALM provides the possibility to nest the model domain within larger-scale models, where the larger-scale model runs in advance, providing time-dependent boundary condition for the subsequent PALM run. The nesting within larger-scale models is hence referred to as offline nesting. Both nesting systems can be used at the same time, which allows to resolve small-scale phenomena without neglecting larger-scale processes on the synoptic scale. The following sections contain a documentation of the PALM self nesting as well as of the offline nesting in larger-scales models, which include a general description of the method, the required input parameters, preparatory steps, as well as example setups and general remarks. Please click on any icon below to get to the respective part of the documentation.

PALM self nesting

A multi-scale self nesting system is available since -r1763. In the self nesting, there is one root model with up to 63 child model domains which are embedded into the root model. Child domains, in turn, can be recursively nested into each other, where a model domain can be parent and child domain at the same time. The child domain obtains boundary data of the three velocity components and all prognostic scalar variables from the parent domain, where the boundary data is interpolated from the coarse parent grid onto the fine child grid. The other way around, the updated child solution after the timestep is transferred back onto the parent grid by anterpolation. The self-nesting can be operated as a 1-way nesting, where only the anterpolation step is omitted, i.e. there is no feedback in the parent by the child model, and as a 2-way nesting, where parent and child solution mutually depend on each other.

Child models can be recursively nested within each other under the condition that the child model fits completely into its respective parent domain without any overlap.

Please note: The PALM self nesting currently undergoes major testing and revisions. A more detailed description will follow after the official release.

Input
List of all namelist parameters

Preparatory steps
Description how to prepare the config file for a nested setup

Example setup
Files to carry out example runs

No image "button_prepro.png" attached to doc/tec/nesting

Offline nesting within larger-scale models

Since revision -r3347 a nesting in larger-scale models is available in PALM, which is realized as a pure offline nesting. Therefore, time-dependent values for the three velocity components, potential temperature and the mixing ratio are stored for the lateral and top boundaries of the PALM model domain in the dynamic input file (see dynamic input file). The boundary data are read and mapped onto the respective boundaries during the simulation, while the boundary data is interpolated linearly in time, depending on the data availability. This way, it is possible to account for changing synoptic conditions during the simulation without adding further tendency terms or to nudge the LES solution. The four lateral boundaries as well as the model top boundary are thus non-cyclic boundaries (see non-cyclic), where, depending on the input data, in- and outflow can occur simultaneously at one lateral boundary layer. At the beginning, the model is initialized with mean profiles or heterogeneous 3D data inferred from the larger-scale model.

The PALM model can be nested into any larger-scale model of your choice (COSMO, WRF, etc.), subject to the condition that the data in the dynamic input file is readable, i.e. with horizontal and vertical dimensions as expected by PALM. Boundary data need to be provided for each boundary grid point at the lateral xz, yz-layers as well as at the top boundary. To date, the pre-processing tool INIFOR is available which can convert output data from the COSMO model into PALM-readable boundary data (not available for WRF so far).

Larger-scale model output data do not encompass any resolved-scale turbulence but turbulence is completely parametrized. Hence, turbulence needs to develop first in the PALM model domain, requiring some adjustment zones near the boundaries. In order reduce the adjustment zones near the boundaries, turbulence development is accelerated / triggered by using a synthetic turbulence generator, which is applied at the lateral boundaries; and imposes turbulent fluctuations onto the boundary data of the velocity components with characteristic amplitude depending on atmospheric stability inferred from the mean boundary data.

The offline nesting can be applied in combination with the self nesting implemented in PALM, with the root model nested offline in the larger-scale model and the child models recursively nesting within the root model. This case, only the root model requires the initialization and boundary data from the larger-scale model via the dynamic input file.

To apply the offline nesting, a dynamic input file is required, as well as the namelist &nesting_offl_parameters must be provided.

Please note: The offline nesting currently undergoes major testing.

No image "button_prepro.png" attached to doc/tec/nesting

Input
List of all namelist parameters

Preparatory steps
Description how to prepare the config file for a nested setup

Example setup
Files to carry out example runs

Job preparation

The following example provide a step-by-step tutorial on how to set up a nesting system with one parent (root) domain and two child domains.

  1. Prepare parameter files for all domains, e.g. topography files or static drivers and separate each file for each domain:
    testrun_p3d (root/parent domain)
    testrun_p3d_N02 (child domain 1)
    testrun_p3d_N03 (child domain 2)
    testrun_topo
    testrun_topo_N02
    testrun_topo_N03
    testrun_static
    testrun_static_N02
    testrun_static_N03
    

Note that numbering of the child domains must start with "02" as "01" is internally reserved for the root domain.

  1. The nesting system is activated by specifying a &nesting_parameters NAMELIST in the _p3d file of the root domain, e.g.:
     &nesting_parameters domain_layouts = 'root domain',      1,  -1,  24,    0.0,    0.0,
                                          'child domain 1',   2,   1,  24,  100.0,  100.0,
                                          'child domain 2',   3,   2,  24,  200.0,  200.0,
              nesting_datatransfer_mode = 'mixed',
              nesting_mode = 'two-way',
    /
    

For details on the parameters, see &nesting_parameters.

  1. No additional file connection statements for the child domains are required as long as the suffix * is set:
    #----------------------------------------------------------------------------
    # List of input-files for nested model runs
    #----------------------------------------------------------------------------
    PARIN         in:tr      d3#      $base_data/$run_identifier/INPUT      _p3d*
    #----------------------------------------------------------------------------
    
  2. Execute palmrun and specify the nesting input files, i.e.,
    palmrun -r testrun -a "d3#" -X 72 ...
    

Make sure that the total number of PEs (here 72) the sum of the PEs allocated for the individual domains (3 x 24).

Attachments (4)

Download all attachments as: .zip