Version 113 (modified by weinreis, 15 years ago) (diff)

--

Runtime parameters

Output

Run steering



Output:

Parameter Name FORTRAN
Type
Default
Value
Explanation

averaging_interval

R

0.0

Averaging interval for all output of temporally averaged data (in s).

This parameter defines the time interval length for temporally averaged data (vertical profiles, spectra, 2d cross-sections, 3d volume data). By default, data are not subject to temporal averaging. The interval length is limited by the parameter dt_data_output_av. In any case, averaging_interval <= dt_data_output_av must hold.

If an interval is defined, then by default the average is calculated from the data values of all timesteps lying within this interval. The number of time levels entering into the average can be reduced with the parameter dt_averaging_input.

If an averaging interval can not be completed at the end of a run, it will be finished at the beginning of the next restart run. Thus for restart runs, averaging intervals do not necessarily begin at the beginning of the run.

Parameters averaging_interval_pr and averaging_interval_sp can be used to define different averaging intervals for vertical profile data and spectra, respectively.

averaging_interval_pr

R

value of
averaging
_interval

Averaging interval for output of vertical profiles to local file DATA_1D_PR_NETCDF (in s).

If this parameter is given a non-zero value, temporally averaged vertical profile data are output. By default, profile data data are not subject to temporal averaging. The interval length is limited by the parameter dt_dopr. In any case averaging_interval_pr <= dt_dopr must hold.

If an interval is defined, then by default the average is calculated from the data values of all timesteps lying within this interval. The number of time levels entering into the average can be reduced with the parameter dt_averaging_input_pr.

If an averaging interval can not be completed at the end of a run, it will be finished at the beginning of the next restart run. Thus for restart runs, averaging intervals do not necessarily begin at the beginning of the run.

data_output

C * 10 (100)

100 * ' '

Quantities for which 2d cross section and/or 3d volume data are to be output.

PALM allows the output of instantaneous data as well as of temporally averaged data which is steered by the strings assigned to this parameter (see below).

By default, cross section data are output (depending on the selected cross sections(s), see below) to local files DATA_2D_XY_NETCDF, DATA_2D_XZ_NETCDF and/or DATA_2D_YZ_NETCDF. Volume data are output to file DATA_2D_YZ_NETCDF. If the user has switched on the output of temporally averaged data, these are written seperately to local files DATA_2D_XY_AV_NETCDF, DATA_2D_XZ_AV_NETCDF, DATA_2D_YZ_AV_NETCDF, and DATA_2D_YZ_AV_NETCDF, respectively.

The filenames already suggest that all files have netCDF format. Informations about the file content (kind of quantities, array dimensions and grid coordinates) are part of the self describing netCDF format and can be extracted from the netCDF files using the command "ncdump -c <filename>". See netCDF data 4.5.1 about processing the PALM netCDF data.

The following quantities are available for output by default (quantity names ending with '*' are only allowed for the output of horizontal cross sections):

Quantity name Meaning Unit Remarks
e SGS m2/s2
lwp* liquid water path m only horizontal cross section is allowed, requires cloud_physics = .T.
p perturpation pressure N/m2, Pa
pc particle/droplet concentration #/gridbox
pr mean particle/droplet radius m
pra* precipitation amount mm only horizontal cross section is allowed, requires precipitation = .T., time interval on which amount refers to is defined by precipitation_amount_interval
prr* precipitation rate mm/s only horizontal cross section is allowed, requires precipitation = .T.
pt potential temperature K
q specific humidity (or total water content, if cloud physics is switched on) kg/kg requires humidity = .T.
ql liquid water content kg/kg requires cloud_physics = .T. or cloud_droplets = .T.
ql_c change in liquid water content due to condensation/evaporation during last timestep kg/kg requires cloud_droplets = .T.
ql_v volume of liquid water m3/gridbox requires cloud_droplets = .T.
ql_vp weighting factor requires cloud_droplets = .T.
qsws* latent surface heatflux kg/kg * m/s only horizontal cross section is allowed, requires humidity = .T.
qv water vapor content (specific humidity) kg/kg requires cloud_physics = .T.
rho potential density kg/m3 requires ocean = .T.
s concentration of the scalar 1/m3 requires passive_scalar = .T.
sa salinity psu requires ocean = .T.
shf* sensible surface heatflux K m/s only horizontal cross section is allowed
t* (near surface) characteristic temperature K only horizontal cross section is allowed
u u-component of the velocity m/s
u* (near surface) friction velocity m/s only horizontal cross section is allowed
v v-component of the velocity m/s
vpt virtual potential temperature K requires humidity = .T.
w w-component of the velocity m/s
z0* roughness length m


Multiple quantities can be assigned, e.g. data_output = 'e', 'u', 'w' .

By assigning the pure strings from the above table, 3d volume data is output. Cross section data can be output by appending the string '_xy', '_xz', or '_yz' to the respective quantities. Time averaged output is created by appending the string '_av' (for cross section data, this string must be appended after the cross section string). Cross section data can also be (additionally) averaged along the direction normal to the respective section (see below). Assignments of quantities can be given in arbitrary order:

Example:

data_output = 'u', 'pt_xz_av', 'w_xy', 'u_av' .

This example will create the following output: instantaneous 3d volume data of u-velocity component (by default on file DATA_3D_NETCDF), temporally averaged 3d volume data of u-velocity component (by default on file DATA_3D_AV_NETCDF), instantaneous horizontal cross section data of w-velocity component (by default on file DATA_2D_XY_NETCDF), and temporally averaged vertical cross section data of potential temperature (by default on file DATA_2D_XZ_AV_NETCDF).

The user is allowed to extend the above list of quantities by defining his own output quantities (see the user-parameter data_output_user).

The time interval of the output times is determined via dt_data_output. This is valid for all types of output quantities by default. Individual time intervals for instantaneous(!) 3d and section data can be declared using dt_do3d, dt_do2d_xy, dt_do2d_xz, and dt_do2d_yz.

Also, an individual time interval for output of temporally averaged data can be assigned using parameter dt_data_output_av. This applies to both 3d volume and cross section data. The length of the averaging interval is controlled via parameter averaging_interval.

The parameter skip_time_data_output can be used to shift data output activities for a given time interval. Individual intervals can be set using skip_time_do3d, skip_time_do2d_xy, skip_time_do2d_xz, skip_time_do2d_yz, and skip_time_data_output_av.

With the parameter nz_do3d the output can be limited in the vertical direction up to a certain grid point.

Cross sections extend through the total model domain. In the two horizontal directions all grid points with 0 <= i <= nx+1 and 0 <= j <= ny+1 are output so that in case of cyclic boundary conditions the complete total domain is represented. The location(s) of the cross sections can be defined with parameters section_xy, section_xz, and section_yz. Assigning section_.. = -1 causes the output data to be averaged along the direction normal to the respective section.

Output of user defined quantities:

Beside the standard quantities from the above list, the user can output any other quantities. These have to be defined and calculated within the user-defined code (see LINK 3.5.4?). They can be selected for output with the user-parameter data_output_user for which the same rules apply as for data_output. Output of the user defined quantities (time interval, averaging, selection of cross sections, etc.) is controlled with the parameters listed above and data are written to the same file(s) as the standard quantities.

Output on parallel machines:

By default, with parallel runs, processors output only data of their respective subdomains into seperate local files (file names are constructed by appending the four digit processor ID, e.g. <filename>_0000, <filename>_0001, etc.). After PALM has finished, the contents of these individual files are sampled into one final file using the program combine_plot_fields.x (automatically activated by mrun).

Alternatively, PALM is able to collect all grid points of a cross section on PE0 before output is done. In this case only one output file (DATA_2D_XY_NETCDF, etc.) is created and combine_plot_fields.x does not have to be called. In case of very large numbers of horizontal gridpoints, sufficient memory is required on PE0. This method can be used by assigning data_output_2d_on_each_pe = .F..

3d volume data output is always handled seperately by each processor so that combine_plot_fields.x has to be called anyway after PALM has been finished.

Old formats:

Beside the NetCDF format, 2d cross section data and 3d volume data can also be output, for historical reasons, in a different (binary) format using parameter data_output_format.

By assigning data_output_format = 'avs' , the 3d volume data is output to the local file PLOT3D_DATA. Output is in FORTRAN binary format readable by the plot software AVS. The order of data on the file follows the order used in the assignment for data_output (e.g. data_output = 'p', 'v',... means that the file starts with the pressure data, followed by the v-component of the velocity, etc.). Both instantaneous and time averaged data are written on this file! Additional to this file, PALM creates a second binary file (local name PLOT3D_COOR) with coordinate information needed by AVS. As third and fourth file two ASCII files are created (AVS-FLD-format, local name PLOT3D_FLD and PLOT3D_FLD_COOR), which describe the contents of the data file and/or coordinate file and are used by AVS. However, AVS expects the content description in one file. This needs the local file PLOT3D_FLD_COOR to be appended to the file PLOT3D_FLD (by suitable OUTPUT command in the mrun configuration file: “cat PLOT3D_FLD_COOR >> PLOT3D_FLD”) after PALM has finished. To reduce the amount of data, output to this file can be done in compressed form (see do3d_compress). Further details about plotting 3d volume data with AVS can be found in chapter 4.5.5?.

Important:
There is no guarantee that avs-output will be available in future PALM versions (later than 3.0).

data_output_format

C * 10 (10)

'netcdf'

Format of output data.

By default, all data (profiles, time series, spectra, particle data, cross sections, volume data) are output in netCDF 64bit-offset format (see chapter 4.5.1?). Exception: restart data (local files BININ, BINOUT, PARTICLE_RESTART_DATA_IN, PARTICLE_RESTART_DATA_OUT) are always output in FORTRAN binary format.

The numerical precision of the netCDF output is determined with parameter netcdf_precision.

Other netCDF formats (classic, netCDF4/HDF5) can be selected with parameter netcdf_data_format.

For historical reasons, other data formats are still available. Beside 'netcdf', data_output_format may be assigned the following values:

'avs' - output of 3d volume data in FORTRAN binary format to be read by the graphic software AVS (see chapter 4.5.5?)

Multiple values can be assigned to data_output_format, i.e. if the user wants to have both the "old" data format as well as cross section data in NetCDF format, then data_output_format = 'avs', 'netcdf' has to be assigned.

Warning: There is no guarantee that the "old" formats will be available in future PALM versions (beyond 3.0)!

data_output_pr

C * 10 (100)

100 * ' '

Quantities for which vertical profiles (horizontally averaged) are to be output.

By default vertical profile data is output to the local file DATA_1D_PR_NETCDF. The file's format is netCDF. Further details about processing netCDF data are given in chapter 4.5.1?.

For horizontally averaged vertical profiles always all vertical grid points (0 <= k <= nz+1) are output to file. Vertical profile data refers to the total domain but profiles for subdomains can also be output (see statistic_regions).

The temporal interval of the output times of profiles is assigned via the parameter dt_dopr.

Profiles can also be temporally averaged (see [#averaging_interval_pr averaging_interval_pr).

The following list shows the values which can be assigned to data_output_pr. The profile data is either defined on u-v-levels (variables marked in blue) or on w-levels (green). According to this, the z-coordinates of the individual profiles vary. Beyond that, with a Prandtl layer switched on (prandtl_layer) the lowest output level is z = zu(1) instead of z = zw(0) for profiles w"u", w"v", wu and wv. Turbulence quantities such as w*u* or u*2 are calculated from turbulent fluctuations that are defined as deviations from the instantaneous horizontal average.

Quantity name Meaning Unit
u u-component of the velocity m/s
v v-component of the velocity m/s
w w-component of the velocity m/s
pt Potential temperature K
vpt Virtual potential temperature K
lpt Potential liquid water temperature K
q Total water content kg/kg
qv Specific humidity kg/kg
ql Liquid water content kg/kg
rho Potential density kg/m3
s Scalar concentration kg/m3
sa Salinity psu
e Turbulent kinetic energy (TKE, subgrid-scale) m2/s2
e* Perturbation energy (resolved) m2/s2
p Perturbation pressure Pa
km Eddy diffusivity for momentum m2/s
kh Eddy diffusivity for heat m2/s
l Mixing length m
w"u" u-component of the subgrid-scale vertical momentum flux m2/s2
w*u* u-component of the resolved vertical momentum flux m2/s2
wu u-component of the total vertical momentum flux (w"u" + w*u*) m2/s2
w"v" v-component of the subgrid-scale vertical momentum flux m2/s2
w*v* v-component of the resolved vertical momentum flux m2/s2
wv v-component of the total vertical momentum flux (w"v" + w*v*) m2/s2
w"pt" Subgrid-scale vertical sensible heat flux K m/s
w*pt* Resolved vertical sensible heat flux K m/s
wpt Total vertical sensible heat flux (w"pt" + w*pt*) K m/s
w*pt*BC Subgrid-scale vertical sensible heat flux using the Bott-Chlond scheme K m/s
wptBC Total vertical sensible heat flux using the Bott-Chlond scheme (w"pt" + w*pt*BC) K m/s
w"vpt" Subgrid-scale vertical buoyancy flux K m/s
w*vpt* Resolved vertical buoyancy flux K m/s
wvpt Total vertical buoyancy flux (w"vpt" + w*vpt*) K m/s
w"q" Subgrid-scale vertical water flux kg/kg m/s
w*q* Resolved vertical water flux kg/kg m/s
wq Total vertical water flux (w"q" + w*q*) kg/kg m/s
w"qv" Subgrid-scale vertical latent heat flux kg/kg m/s
w*qv* Resolved vertical latent heat flux kg/kg m/s
wqv Total vertical latent heat flux (w"qv" + w*qv*) kg/kg m/s
w"s" Subgrid-scale vertical scalar concentration flux kg/m3 m/s
w*s* Resolved vertical scalar concentration flux kg/m3 m/s
ws Total vertical scalar concentration flux (w"s" + w*s*) kg/m3 m/s
w"sa" Subgrid-scale vertical salinity flux psu m/s
w*sa* Resolved vertical salinity flux psu m/s
wsa Total vertical salinity flux (w"sa" + w*sa*) psu m/s
w*e* Vertical flux of perturbation energy (resolved) m3/s3
u*2 Variance of the u-velocity component (resolved) m2/s2
v*2 Variance of the v-velocity component (resolved) m2/s2
w*2 Variance of the w-velocity component (resolved) m2/s2
pt*2 Variance of the potential temperature (resolved) K2
w*3 Third moment of the w-velocity component (resolved) m3/s3
Sw Skewness of the w-velocity component (resolved, Sw = w3/(w2)1.5) m3/s2 / (m2/s2)1.5
w*2pt* Third moment (resolved) K m2/s2
w*pt*2 Third moment (resolved) K2 m2/s2
w*u*u*:dz Energy production by shear (resolved) m2/s3
w*p*:dz Energy production by turbulent transport of pressure fluctuations (resolved) Pa m/s2
w"e:dz Energy production by transport of resolved-scale TKE m2/s3
hyp Hydrostatic pressure dbar



Beyond that, initial profiles (t=0) of some variables can additionally be output (this output is only done once with the first plot output and not repeated with the profile output at later times). The names of these profiles result from the ones specified above leaded by a hash "#". Allowed values are:

#u, #v, #pt, #km, #kh, #l, #lpt, #q, #qv, #s, #sa, #vpt

Profile names preceded by a hash automatically imply that profiles for these variables are also output at later times. It is not necessary and not allowed to specify the same profile name with and without hash simultaneously(this would lead to an netCDF error).

These initial profiles have been either set by the user or have been calculated by a 1d-model prerun.

The user is allowed to extend the above list of quantities by defining his own output quantities (see the user-parameter data_output_pr_user).

data_output_2d_on_each_pe

L

.T.

Output 2d cross section data by one or all processors.

In runs with several processors, by default, each processor outputs cross section data of its subdomain into an individual file. After PALM has finished, the contents of these files have to be sampled into one file using the program combine_plot_fields.x.

Alternatively, by assigning data_output_2d_on_each_pe = .F., the respective data is gathered on PE0 and output is done directly into one file, so combine_plot_fields.x does not have to be called. However, in case of very large numbers of horizontal gridpoints, sufficient memory is required on PE0.

do2d_at_begin

L

.F.

Output of 2d cross section data at the beginning of a run.

The temporal intervals of output times of 2d cross section data (see data_output) are usually determined with parameters dt_do2d_xy, dt_do2d_xz and dt_do2d_yz. By assigning do2d_at_begin = .T. an additional output will be made at the beginning of a run (thus at the time t = 0 or at the respective starting times of restart runs).

do3d_at_begin

L

.F.

Output of 3d volume data at the beginning of a run.

The temporal intervals of output times of 3d volume data (see data_output) is usually determined with parameter dt_do3d. By assigning do3d_at_begin = .T. an additional output will be made at the beginning of a run (thus at the time t = 0 or at the respective starting times of restart runs).

do3d_compress

L

.F.

Output of data for 3d plots in compressed form.

This parameter only applies for data_output_format = 'avs'.

Output of 3d volume data may need huge amounts of disc storage (up to several Terabytes ore more). Data compression can serve to reduce this requirement. PALM is able to output 3d data in compressed form using 32-bit integers, if do3d_compress = .T. is assigned. This yields a loss of accuracy, but the file size is clearly reduced. The parameter do3d_comp_prec can be used to separately define the number of significant digits for each quantity.

So far compressed data output is only possible for Cray-T3E machines. Additional information for handling compressed data is given in chapter 4.5.6?.

do3d_comp_prec

C * 7 (100)

see right

Significant digits in case of compressed data output.

This parameter only applies for data_output_format = 'avs'.

In case that data compression is used for output of 3d data (see do3d_compress), this parameter determines the number of significant digits which are to be output.

Fewer digits clearly reduce the amount of data. Assignments have to be given separately for each individual quantity via a character string of the form '<quantity name><number of significant digits>', e.g. 'pt2'. Only those quantities listed in data_output are admitted. Up to 9 significant digits are allowed (but large values are not very reasonable because they do not effect a significant compression).

The default assignment is do3d_comp_prec = 'u2', 'v2', 'w2', 'p5', 'pt2'.

dt_averaging_input

R

0.0

Temporal interval of data which are subject to temporal averaging (in s).

By default, data from each timestep within the interval defined by averaging_interval are used for calculating the temporal average. By choosing dt_averaging_input > dt, the number of time levels entering the average can be minimized. This reduces the CPU-time of a run but may worsen the quality of the average's statistics.

With variable time step (see dt), the number of time levels entering the average can vary from one averaging interval to the next (for a more detailed explanation see averaging_interval). It is approximately given by the quotient of averaging_interval / MAX( dt_averaging_input, dt) (which gives a more or less exact value if a fixed timestep is used and if this is an integral divisor of dt_averaging_input).

Example:

With an averaging interval of 100.0 s and dt_averaging_input = 10.0, the time levels entering the average have a (minimum) distance of 10.0 s (their distance may of course be larger if the current timestep is larger than 10.0 s), so the average is calculated from the data of (maximum) 10 time levels.

It is allowed to change dt_averaging_input during a job chain. If the last averaging interval of the run previous to the change could not be completed (i.e. has to be finished in the current run), the individual profiles and/or spectra entering the averaging are not uniformly distributed over the averaging interval.

Parameter dt_averaging_input_pr can be used to define a different temporal interval for vertical profile data and spectra.

dt_averaging_input_pr

R

value of
dt_averaging
_input

Temporal interval of data which are subject to temporal averaging of vertical profiles and/or spectra (in s).

By default, data from each timestep within the interval defined by averaging_interval_pr, and averaging_interval_sp are used for calculating the temporal average. By choosing dt_averaging_input_pr > dt, the number of time levels entering the average can be minimized. This reduces the CPU-time of a run but may worsen the quality of the average's statistics.

For more explanations see parameter dt_averaging_input.

dt_data_output

R

9999999.9

Temporal interval at which data (3d volume data (instantaneous or time averaged), cross sections (instantaneous or time averaged), vertical profiles, spectra) shall be output (in s).

If data output is switched on (see data_output, data_output_pr, [sppar, and section_xy), this parameter can be used to assign the temporal interval at which these data shall be output. Output can be skipped at the beginning of a simulation using parameter skip_time_data_output, which has zero value by default. Reference time is the beginning of the simulation, i.e. output takes place at times t = skip_time_data_output + dt_data_output, skip_time_data_output + 2*dt_data_output, skip_time_data_output + 3*dt_data_output, etc. Since output is only done at the discrete time levels given by the timestep used, the actual output times can slightly deviate from these theoretical values.

Individual temporal intervals for the different output quantities can be assigned using parameters dt_do3d, dt_do2d_xy, dt_do2d_xz, dt_do2d_yz, dt_dopr, dt_dosp, and dt_data_output_av.

dt_data_output_av

R

value of
dt_data
_output

Temporal interval at which time averaged 3d volume data and/or 2d cross section data shall be output (in s).

If data output of time averaged 2d and 3d data is switched on (see data_output and section_xy), this parameter can be used to assign the temporal interval at which they shall be output. Output can be skipped at the beginning of a simulation using parameter skip_time_data_output_av, which has zero value by default. Reference time is the beginning of the simulation, i.e. output takes place at times t = skip_time_data_output_av + dt_data_output_av, skip_time_data_output_av + 2*dt_data_output_av, skip_time_data_output_av + 3*dt_data_output_av, etc. Since output is only done at the discrete time levels given by the timestep used, the actual output times can slightly deviate from these theoretical values.

The length of the averaging interval is controlled via parameter averaging_interval.

dt_dopr

R

value of
dt_data
_output

Temporal interval at which data of vertical profiles shall be output (to local file DATA_1D_PR_NETCDF) (in s).

If output of horizontally averaged vertical profiles is switched on (see data_output_pr), this parameter can be used to assign the temporal interval at which profile data shall be output. Output can be skipped at the beginning of a simulation using parameter skip_time_dopr, which has zero value by default. Reference time is the beginning of the simulation, thus t = 0, i.e. output takes place at times t = skip_time_dopr + dt_dopr, skip_time_dopr + 2*dt_dopr, skip_time_dopr + 3*dt_dopr, etc. Since profiles can not be calculated for times lying within a time step interval, the output times can deviate from these theoretical values. If a time step ranges from t = 1799.8 to t = 1800.2, then in the example above the output would take place at t = 1800.2. In general, the output always lie between t = 1800.0 and t = 1800.0 + dt. If the model uses a variable time step, these deviations from the theoretical output times will of course be different for each output time.

In order to guarantee an output of profile data at the end of a simulation (see end_time) in any way, end_time should be equal or a little bit larger than the respective theoretical output time. For example, if dt_dopr = 900.0 and 3600.0 seconds are to be simulated, then end_time >= 3600.0 should be chosen.

A selection of profiles to be output can be done via parameter data_output_pr.

dt_dopr_listing

R

9999999.9

Temporal interval at which data of vertical profiles shall be output (output for printouts, local file LIST_PROFIL) (in s).

This parameter can be used to assign the temporal interval at which profile data shall be output. Reference time is the beginning of the simulation, thus t = 0. For example if dt_dopr_listing = 1800.0, then output takes place at t = 1800.0, 3600.0, 5400.0, etc. Since profiles can not be calculated for times lying within a time step interval, the output times can deviate from these theoretical values. If a time step ranges from t = 1799.8 to t = 1800.2, then in the example above the output would take place at t = 1800.2. In general, the output always lie between t = 1800.0 and t = 1800.0 + dt (numbers are related to the example above). If the model uses a variable time step, these deviations from the theoretical output times will of course be different for each output time.

In order to guarantee an output of profile data at the end of a simulation (see end_time) in any way, end_time should be a little bit larger than the respective theoretical output time. For example, if dt_dopr_listing = 900.0 and 3600.0 seconds are to be simulated, then it should be at least end_time > 3600.0 + dt. If variable time steps are used (which is the default), dt should be properly estimated.

Data and output format of the file LIST_PROFIL is internally fixed. In this file the profiles of the most important model variables are arranged in adjacent columns.

dt_dots

R

see right

Temporal interval at which time series data shall be output (in s).

The default interval for the output of timeseries is calculated as shown below (this tries to minimize the number of calls of flow_statistics)

IF ( averaging_interval_pr == 0.0 )  THEN
   dt_dots = MIN( dt_run_control, dt_dopr )
ELSE
   dt_dots = MIN( dt_run_control, dt_averaging_input_pr )
ENDIF

This parameter can be used to assign the temporal interval at which data points shall be output. Reference time is the beginning of the simulation, i.e. output takes place at times t = dt_dots, 2*dt_dots, 3*dt_dots, etc. The actual output times can deviate from these theoretical values (see dt_dopr). Is dt_dots < dt, then data of the time series are written after each time step (if this is requested it should be dt_dots = 0).

The default value of dt_dots is calculated as follows:

IF ( averaging_interval_pr == 0.0 )  THEN
   dt_dots = MIN( dt_run_control, dt_dopr )
ELSE
   dt_dots = MIN( dt_run_control, dt_averaging_input_pr )
ENDIF

(which minimizes the number of calls of routine flow_statistics).

By default time series data is output to the local file DATA_1D_TS_NETCDF. Because of the default settings of dt_dots, it will generally be created for each model run. The file's format is netCDF. Further details about processing netCDF data are given in chapter 4.5.1?.

The file contains the following timeseries quantities (the first column gives the name of the quantities as used in the netCDF file):

Quantity name Meaning Unit
E Total (resolved and subgrid-scale) kinetic energy of the flow (normalized with respect to the total number of grid points) m2/s2
E* Resolved-scale kinetic energy of the flow (normalized with respect to the total number of grid points) m2/s2
dt Time step size s
u* Friction velocity (horizontal average) m/s
w* Vertical velocity scale of the CBL (horizontal average) m/s
th* Temperature scale (Prandtl layer), defined as w"pt"0 / u* (horizontal average)K
umax Maximum u-component of the velocity m/s
vmax Maximum v-component of the velocity m/s
wmax Maximum w-component of the velocity m/s
div_old Divergence of the velocity field before the pressure solver has been called (normalized with respect to the total number of grid points) 1/s
div_new Divergence of the velocity field after the pressure solver has been called (normalized with respect to the total number of grid points) 1/s
z_i_wpt Height of the convective boundary layer (horizontal average) determined by the height of the minimum sensible heat flux m
z_i_pt Height of the convective boundary layer (horizontal average) determined by the temperature profile, following the criterion of Sullivan et al. (1998) m
w"pt"0 Subgrid-scale sensible heat flux at k=0 (horizontal average), constant within Prandtl-layer K m/s
w"pt" Subgrid-scale heat flux (horizontal average) for z = zw(1) K m/s
wpt Total heat flux (horizontal average) for z = zw(1) K m/s
w"u"0 Subgrid-scale momentum flux (u-component) at k=0 (horizontal average), constant within Prandtl-layer m2/s2
w"v"0 Subgrid-scale momentum flux (v-component) at k=0 (horizontal average), constant within Prandtl-layer m2/s2
w"q"0 Subgrid-scale humidity flux at k=0 (horizontal average), constant within Prandtl-layer, zero values are output if humidity is not used kg/kg m/s
pt(0) Potential temperature at the surface (horizontal average) K
pt(zp) Potential temperature for z = zu(1) (horizontal average) K
L Monin-Obukhov length



Additionally, the user can add his own timeseries quantities to the file, by using the user-interface subroutines user_init.f90 and user_statistics.f90 These routines contain (as comment lines) a simple example how to do this.

Time series data refers to the total domain, but time series for subdomains can also be output (see statistic_regions). However, the following time series always present the values of the total model domain (even with output for subdomains): umax, vmax, wmax, div_old, div_new.

dt_do2d_xy

R

value of
dt_data
_output

Temporal interval at which horizontal cross section data shall be output (in s).

If output of horizontal cross sections is switched on (see data_output and section_xy), this parameter can be used to assign the temporal interval at which cross section data shall be output. Output can be skipped at the beginning of a simulation using parameter skip_time_do2d_xy, which has zero value by default. Reference time is the beginning of the simulation, i.e. output takes place at times t = skip_time_do2d_xy + dt_do2d_xy, skip_time_do2d_xy + 2*dt_do2d_xy, skip_time_do2d_xy + 3*dt_do2d_xy, etc. The actual output times can deviate from these theoretical values (see dt_dopr).

Parameter do2d_at_begin has to be used if an additional output is wanted at the start of a run (thus at the time t = 0 or at the respective starting times of restart runs).

dt_do2d_xz

R

value of
dt_data
_output

Temporal interval at which vertical cross sections data (xz) shall be output (in s).

If output of horizontal cross sections is switched on (see data_output and section_xz), this parameter can be used to assign the temporal interval at which cross section data shall be output. Output can be skipped at the beginning of a simulation using parameter skip_time_do2d_xz, which has zero value by default. Reference time is the beginning of the simulation, i.e. output takes place at times t = skip_time_do2d_xz + dt_do2d_xz, skip_time_do2d_xz + 2*dt_do2d_xz, skip_time_do2d_xz + 3*dt_do2d_xz, etc. The actual output times can deviate from these theoretical values (see dt_dopr).

Parameter do2d_at_begin has to be used if an additional output is wanted at the start of a run (thus at the time t = 0 or at the respective starting times of restart runs).

dt_do2d_yz

R

value of
dt_data
_output

Temporal interval at which vertical cross section data (yz) shall be output (in s).

If output of horizontal cross sections is switched on (see data_output and section_yz), this parameter can be used to assign the temporal interval at which cross section data shall be output. Output can be skipped at the beginning of a simulation using parameter skip_time_do2d_yz, which has zero value by default. Reference time is the beginning of the simulation, i.e. output takes place at times t = skip_time_do2d_yz + dt_do2d_yz, skip_time_do2d_yz + 2*dt_do2d_yz, skip_time_do2d_yz + 3*dt_do2d_yz, etc. The actual output times can deviate from these theoretical values (see dt_dopr).

Parameter do2d_at_begin has to be used if an additional output is wanted at the start of a run (thus at the time t = 0 or at the respective starting times of restart runs).

dt_do3d

R

value of
dt_data
_output

Temporal interval at which 3d volume data shall be output (in s).

If output of 3d-volume data is switched on (see data_output), this parameter can be used to assign the temporal interval at which 3d-data shall be output. Output can be skipped at the beginning of a simulation using parameter skip_time_do3d, which has zero value by default. Reference time is the beginning of the simulation, i.e. output takes place at times t = skip_time_do3d + dt_do3d, skip_time_do3d + 2*dt_do3d, skip_time_do3d + 3*dt_do3d, etc. The actual output times can deviate from these theoretical values (see dt_dopr).

Parameter do3d_at_begin has to be used if an additional output is wanted at the start of a run (thus at the time t = 0 or at the respective starting times of restart runs).

dt_run_control

R

60.0

Temporal interval at which run control output is to be made (in s).

Run control information is output to the local ASCII-file RUN_CONTROL At each output time, one line with information about the size of the time step, maximum speeds, total kinetic energy etc. is written to this file. Reference time is the beginning of the simulation, i.e. output takes place at times t = dt_run_control, 2*dt_run_control, 3*dt_run_control, etc., and always at the beginning of a model run (thus at the time t = 0 or at the respective starting times of restart runs). The actual output times can deviate from these theoretical values (see dt_dopr).

Run control information is output after each time step can be achieved via dt_run_control = 0.0.

force_print_header

L

.F.

Steering of header output to the local file RUN_CONTROL.

By default, informations about the model parameters in use are output to the beginning of file RUN_CONTROL for initial runs only (these informations are identical to that which are output to the local file HEADER). With force_print_header = .T., these informations are also output to RUN_CONTROL at restart runs.

netcdf_data_format

I

2

Data format for netCDF files.

This variable defines the format of the netCDF files. Following values are allowed:

1 - netCDF classic format (filesize limited to 2GB)

2 - netCDF 64-bit-offset format (large file support, but single variable still limited to 2GB)

3 - netCDF-4 (HDF5) format (files can be as large as file system supports; unlimited variable size; allows parallel I/O)

4 - netCDF-4 format, but with NF90_CLASSIC_MODEL bit set (some new features of netCDF4 are not available)

Important:
Setting netcdf_data_format > 2 requires a netCDF4 library (set -I, -L, and -l options for compiling and linking appropriately in configuration file). Also, preprocessor switch _netcdf4 has to be set (see line starting with %cpp_opts in the mrun configuration file).

Files with netCDF4 format cannot be read with netCDF3 libraries.

netcdf_precision

C*20 (10)

single precision for all output quantities

Defines the accuracy of the netCDF output.

By default, all netCDF output data (see data_output_format) have single precision (4 byte) accuracy. Double precision (8 byte) can be choosen alternatively.
Accuracy for the different output data (cross sections, 3d-volume data, spectra, etc.) can be set independently.
'<out>_NF90_REAL4' (single precision) or '<out>_NF90_REAL8' (double precision) are the two principally allowed values for netcdf_precision, where the string '<out>' can be chosen out of the following list:

'xy' horizontal cross section
'xz' vertical (xz) cross section
'yz' vertical (yz) cross section
'2d' all cross sections
'3d' volume data
'pr' vertical profiles
'ts' time series, particle time series
'sp' spectra
'prt' particles
'all' all output quantities


Example:
If all cross section data and the particle data shall be output in double precision and all other quantities in single precision, then netcdf_precision = '2d_NF90_REAL8' , 'prt_NF90_REAL8' has to be assigned.

normalizing_region

I

0

Determines the subdomain from which the normalization quantities are calculated.

If output data of the horizontally averaged vertical profiles (see data_output_pr) is to be normalized (see cross_normalized_x, cross_normalized_y), the respective normalization quantities are by default calculated from the averaged data of the total model domain (normalizing_region = 0) and are thus representative for the total domain. Instead of that, normalization quantities can also be calculated for a subdomain. The wanted subdomain can be given with the parameter normalizing_region, where 1 <= normalizing_region <= 9 must hold. These quantities are then used for normalizing of all profiles (even for that of the total domain).

precipitation_amount_interval

R

value of
dt_do2d_xy

Temporal interval for which the precipitation amount (in mm) shall be calculated and output (in s).

This parameter requires precipitation = .TRUE.. The interval must be smaller or equal than the output interval for 2d horizontal cross sections given by dt_do2d_xy). The output of the precipitation amount also requires setting of data_output = 'pra*'.

section_xy

I(100)

no section

Position of cross section(s) for output of 2d horizontal cross sections (grid point index k).

If output of horizontal cross sections is selected (see data_output), this parameter can be used to define the position(s) of the cross section(s). Up to 100 positions of cross sections can be selected by assigning section_xy the corresponding vertical grid point index/indices k of the requested cross section(s). The exact location (height level) of the cross section depends on the variable for which the output is made: zu(k) for scalars and horizontal velocities, zw(k) for the vertical velocity. Information about the exact location of the cross section is contained in the netCDF output file (if the default netCDF output is switched on; see data_output_format).

Assigning section_xy = -1 creates the output of horizontal cross sections averaged along z. In the netCDF output file these (averaged) cross sections are given the z-coordinate -1.0.

Assignments to section_xy does not effect the output of horizontal cross sections of variable u* and theta* and the liquid water path lwp*. For these quantities always only one cross section (for z=zu(1)) is output.

section_xz

I(100)

no section

Position of cross section(s) for output of 2d (xz) vertical cross sections (grid point index j).

If output of vertical xz cross sections is selected (see data_output), this parameter can be used to define the position(s) of the cross section(s). Up to 100 positions of cross sections can be selected by assigning section_xz the corresponding horizontal grid point index/indices j of the requested cross section(s). The exact position (in y-direction) of the cross section is given by j*dy or (j-0.5)*dy, depending on which grid the output quantity is defined. However, in the netCDF output file (if the default netCDF output is switched on; see data_output_format) no distinction is made between the quantities and j*dy is used for all positions.

Assigning section_xz = -1 creates the output of vertical cross sections averaged along y. In the netCDF output file these (averaged) cross sections are given the y-coordinate -1.0.

section_yz

I(100)

no section

Position of cross section(s) for output of 2d (yz) vertical cross sections (grid point index i).

If output of vertical yz cross sections is selected (see data_output), this parameter can be used to define the position(s) of the cross section(s). Up to 100 positions of cross sections can be selected by assigning section_yz the corresponding horizontal grid point index/indices i of the requested cross section(s). The exact position (in x-direction) of the cross section is given by i*dx or (i-0.5)*dx, depending on which grid the output quantity is defined. However, in the netCDF output file (if the default netCDF output is switched on; see data_output_format) no distinction is made between the quantities and i*dx is used for all positions.

Assigning section_yz = -1 creates the output of vertical cross sections averaged along x. In the netCDF output file these (averaged) cross sections are given the x-coordinate -1.0.

skip_time_data_output

R

0.0

No data output before this interval has passed (in s).

This parameter causes that data output activities are starting not before this interval (counting from the beginning of the simulation, t=0) has passed. By default, this applies for output of instantaneous 3d volume data, cross section data, spectra and vertical profile data as well as for temporally averaged 2d and 3d data. Individual intervals can be assigned using parameters skip_time_do3d, skip_time_do2d_xy, skip_time_do2d_xy, skip_time_do2d_yz, skip_time_dosp, skip_time_dopr and skip_time_data_output_av.

Example:
If the user has set dt_data_output = 3600.0 and skip_time_data_output = 1800.0, then the first output will be done at t = 5400 s.

skip_time_data_output_av

R

value of
skip_time
_data_output

No output of temporally averaged 2d/3d data before this interval has passed (in s).

This parameter causes that data output activities are starting not before this interval (counting from the beginning of the simulation, t=0) has passed.

Example:
If the user has set dt_data_output_av = 3600.0 and skip_time_data_output_av = 1800.0, then the first output will be done at t = 5400 s.

skip_time_dopr

R

value of
skip_time
_data_output

No output of vertical profile data before this interval has passed (in s).

This parameter causes that data output activities are starting not before this interval (counting from the beginning of the simulation, t=0) has passed.

Example:
If the user has set dt_dopr = 3600.0 and skip_time_dopr = 1800.0, then the first output will be done at t = 5400 s.

skip_time_do2d_xy

R

value of
skip_time
_data_output

No output of instantaneous horizontal cross section data before this interval has passed (in s).

This parameter causes that data output activities are starting not before this interval (counting from the beginning of the simulation, t=0) has passed.

Example:
If the user has set dt_do2d_xy = 3600.0 and skip_time_do2d_xy = 1800.0, then the first output will be done at t = 5400 s.

skip_time_do2d_xz

R

value of
skip_time
_data_output

No output of instantaneous vertical (xz) cross section data before this interval has passed (in s).

This parameter causes that data output activities are starting not before this interval (counting from the beginning of the simulation, t=0) has passed.

Example:
If the user has set dt_do2d_xz = 3600.0 and skip_time_do2d_xz = 1800.0, then the first output will be done at t = 5400 s.

skip_time_do2d_yz

R

value of
skip_time
_data_output

No output of instantaneous vertical (yz) cross section data before this interval has passed (in s).

This parameter causes that data output activities are starting not before this interval (counting from the beginning of the simulation, t=0) has passed.

Example:
If the user has set dt_do2d_yz = 3600.0 and skip_time_do2d_yz = 1800.0, then the first output will be done at t = 5400 s.

skip_time_do3d

R

value of
skip_time
_data_output

No output of instantaneous 3d volume data before this interval has passed (in s).

This parameter causes that data output activities are starting not before this interval (counting from the beginning of the simulation, t=0) has passed.

Example:
If the user has set dt_do3d = 3600.0 and skip_time_do3d = 1800.0, then the first output will be done at t = 5400 s.

statistic_regions

dummy

dummy

dummy

termination_time_needed

dummy

dummy

dummy

use_prior_plot1d_parameters

dummy

dummy

dummy

z_max_do1d

dummy

dummy

dummy

z_max_do1d_normalized

dummy

dummy

dummy

z_max_do2d

dummy

dummy

dummy

cross_normalized_x

dummy

dummy

dummy

cross_normalized_y

dummy

dummy

dummy

cross_profiles

dummy

dummy

dummy

cross_xtext

dummy

dummy

dummy

profile_columns

dummy

dummy

dummy

profile_rows

dummy

dummy

dummy



Run steering:

Parameter Name FORTRAN
Type
Default
Value
Explanation

create_disturbances

L

.T.

Switch to impose random perturbations to the horizontal velocity field.

With create_disturbances = .T., random perturbations can be imposed to the horizontal velocity field at certain times e.g. in order to trigger off the onset of convection, etc..

The temporal interval between these times can be steered with dt_disturb, the vertical range of the perturbations with disturbance_level_b and disturbance_level_t, and the perturbation amplitude with disturbance_amplitude. In case of non-cyclic lateral boundary conditions (see bc_lr and bc_ns), the horizontal range of the perturbations is determined by inflow_disturbance_begin and inflow_disturbance_end. A perturbation is added to each grid point with its individual value determined by multiplying the disturbance amplitude with a uniformly distributed random number. After this, the arrays of u and v are smoothed by applying a Shuman-filter twice and made divergence-free by applying the pressure solver.

The random number generator to be used can be chosen with random_generator.

As soon as the desired flow features have developed (e.g. convection has started), further imposing of perturbations is not necessary and can be omitted (this does not hold for non-cyclic lateral boundaries!). This can be steered by assigning an upper limit value for the perturbation energy (the perturbation energy is defined by the deviation of the velocity from the mean flow) using the parameter disturbance_energy_limit. As soon as the perturbation energy has exceeded this energy limit, no more random perturbations are assigned.

Timesteps where a random perturbation has been imposed are marked in the local file RUN_CONTROL by the character "D" appended to the values of the maximum horizontal velocities.

disturbance_amplitude

R

0.25

Maximum perturbation amplitude of the random perturbations imposed to the horizontal velocity field (in m/s).

The parameter create_disturbances describes how to impose random perturbations to the horizontal velocity field. Since the perturbation procedure includes two filter operations, the amplitude assigned by disturbance_amplitude is only an approximate value of the real magnitude of the perturbation.

disturbance_energy_limit

R

0.01

Upper limit value of the perturbation energy of the velocity field used as a criterion for imposing random perturbations (in m2/s2).

The parameter create_disturbances describes how to impose random perturbations to the horizontal velocity field. The perturbation energy is defined as the volume average (over the total model domain) of the squares of the deviations of the velocity components from the mean flow (horizontal average). If the perturbation energy exceeds the assigned value, random perturbations to the fields of horizontal velocities are imposed no more. The value of this parameter usually must be determined by trial and error (it depends e.g. on the total number of grid points).

disturbance_level_b

R

zu(3) or zu(nz*2/3) see right

Lower limit of the vertical range for which random perturbations are to be imposed on the horizontal wind field (in m).

This parameter must hold the condition zu(3) <= disturbance_level_b <= zu(nz-2). Additionally, disturbance_level_b <= disturbance_level_t must also hold.

In case of ocean runs (see ocean) the default value is disturbance_level_b = zu(nz * 2 / 3) (negative).

The parameter create_disturbances describes how to impose random perturbations to the horizontal velocity field.

disturbance_level_t

R

zu(nz/3) or zu(nzt-3) see right

Upper limit of the vertical range for which random perturbations are to be imposed on the horizontal wind field (in m).

This parameter must hold the condition disturbance_level_t <= zu(nz-2). Additionally, disturbance_level_b <= disturbance_level_t must also hold.

In case of ocean runs (see ocean) the default value is disturbance_level_t = zu(nzt - 3) (negative).

The parameter create_disturbances how to impose random perturbations to the horizontal velocity field.

dt

R

variable

Time step to be used by the 3d-model (in s).

This parameter is described in detail with the initialization parameters (see dt). Additionally, it may be used as a run parameter and then applies to all restart runs (until it is changed again). A switch from a constant time step to a variable time step can be achieved with dt = -1.0.

dt_coupling

R

9999999.9

Temporal interval for the data exchange in case of runs with coupled models? (e.g. atmosphere - ocean) (in s).

This parameter has an effect only in case of a run with coupled models. It is available starting from version 3.3a.

This parameter specifies the temporal interval at which data are exchanged at the interface between coupled models (currently: interface between atmosphere and ocean). If this parameter is not explicitly specified in the parameter files for both coupled models, or if there is an inconsistency between its values for both coupled models, the execution will terminate and an informative error message will be given. In order to ensure synchronous coupling throughout the simulation, dt_coupling should be chosen larger than dt_max.

dt_disturb

R

9999999.9

Temporal interval at which random perturbations are to be imposed on the horizontal velocity field (in s).

The parameter create_disturbances describes how to impose random perturbations to the horizontal velocity field.

dt_max

R

20.0

Maximum allowed value of the timestep (in s).

By default, the maximum timestep is restricted to be 20 s. This might be o.k. for simulations of any kind of atmospheric turbulence but may have to be changed for other situations.

dt_restart

R

9999999.9

Temporal interval at which a new restart run is to be carried out (in s).

For a description how to assign restart times manually see run time parameter restart_time. dt_restart does not show any effect, if restart_time has not been set.

For coupled runs? this parameter must be equal in both parameter files PARIN and PARIN_O.

end_time

R

0.0

Simulation time of the 3D model (in s).

The simulation time is starting from the beginning of the initialization run (t = 0), not starting from the beginning of the respective restart run.

For coupled runs? this parameter must be equal in both parameter files PARIN and PARIN_O.

restart_time

R

9999999.9

Simulated time after which a restart run is to be carried out (in s).

The simulated time refers to the beginning of the initial run (t = 0), not to the beginning of the respective restart run. Restart runs can additionally be forced to be carried out in regular intervals using the run time parameter dt_restart.

Note:
A successful operation of this parameter requires additional modifications in the mrun-call for the respective run (see chapter 3.3?).

The choice of restart_time or dt_restart does not override the automatic start of restart runs in case that the job runs out of CPU time.

For coupled runs? this parameter must be equal in both parameter files PARIN and PARIN_O.