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 time steps 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 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 time steps 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.
|
cross_profiles
|
C*100 (100)
|
see right
|
Determines which vertical profiles are to be presented in which coordinate system if the plot software palmplot (see also postprocessing with ncl) is used.
The default assignment is:
' u v '
' theta ',
' w"theta" w*theta* w*theta*BC wtheta wthetaBC ',
' w"u" w*u* wu w"v"w*v* wv ',
' km kh ',
' l ' ,
14 * ' '
If output of vertical profiles is produced (see data_output_pr) the appropriate data are written to a NetCDF file. Simultaneously, the model produces an attribute in the header of the NetCDF file which describes the layout for a plot to be generated with the plot software palmplot. The parameter cross_profiles determines how many coordinate systems (panels) the plot contains and which profiles are supposed to be drawn into which panel. (Currently, palmplot is limited to three profiles per panel.) cross_profiles expects a character string (up to 100 characters long) for each coordinate system, which consists of the names of the profiles to be drawn into this system (all available profiles and their respective names are described at parameter data_output_pr). The single names have to be separated by one blank (' ') and a blank must be spent also at the beginning and at the end of the string.
Example:
cross_profiles = ' u v ', ' theta '
In this case, the plot consists of two coordinate systems (panels) with the first panel containing the profiles of the horizontal velocity components ( 'u' and 'v' ) of all output times (see dt_dopr) and the second one containing the profiles of the potential temperature ( 'theta' ).
Whether the coordinate systems are actually drawn, depends on whether data of the appropriate profiles were output during the run (profiles to be output have to be selected with the parameter data_output_pr). For example, if data_output_pr = 'u', 'v' was assigned, then the plot only consists of one panel, since no profiles of the potential temperature were output. On the other hand, if profiles were assigned to data_output_pr whose names do not appear in cross_profiles, this profiles will be plotted separately behind the profiles defined in cross_profiles.
The arrangement of the panels in the plot can be controlled with the parameters profile_columns and profile_rows. Up to 100 panels systems are allowed in a plot (however, they may be distributed on several pages).
|
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_3D_NETCDF. If the user has switched on the output of temporally averaged data, these are written separately to local files DATA_2D_XY_AV_NETCDF, DATA_2D_XZ_AV_NETCDF, DATA_2D_YZ_AV_NETCDF, and DATA_3D_AV_NETCDF, respectively.
The filenames already suggest that all files are in netCDF format. Information 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 output 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. These are always output at a fictitious first grid level above the surface, i.e., at z = zu(nzb+1)):
Quantity name | Meaning | Unit | Remarks
|
---|
e | SGS turbulence kinetic energy | m2/s2 |
| lwp* | liquid water path | kg/m2 | only horizontal cross section is allowed, requires bulk_cloud_model = .T.
| nr | rain drop number density | 1/m3 | requires bulk_cloud_model = .T. and cloud_scheme = seifert_beheng and precipitation = .T.
| ol* | Obukhov length in the constant flux layer | m | only horizontal cross section is allowed
| p | perturbation 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 cloud_scheme = kessler and precipitation = .T.
| prr | precipitation rate | kg/kg m/s | requires cloud_scheme = seifert_beheng and precipitation = .T.
| q | water vapor mixing ratio (or total water mixing ratio if cloud physics is switched on) | kg/kg | requires humidity = .T.
| qc | cloud water mixing ratio | kg/kg | requires bulk_cloud_model = .T. and cloud_scheme = seifert_beheng
| ql | liquid water mixing ratio | kg/kg | requires bulk_cloud_model = .T. or cloud_droplets = .T.
| ql_c | change in liquid water mixing ratio due to condensation/evaporation during last time step | 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.
| qr | rain water mixing ratio | kg/kg | requires bulk_cloud_model = .T. and cloud_scheme = seifert_beheng and precipitation = .T.
| qsws* | surface latent heatflux | kg/kg m/s or W/m2 | only horizontal cross section is allowed (see section_xy), requires humidity = .T.
| qv | water vapor mixing ratio | kg/kg | requires bulk_cloud_model = .T.
| rho | density | kg/m3 | requires ocean = .T.
| s | concentration of the scalar | kg m-3 or ppm | requires passive_scalar = .T.
| sa | salinity | psu | requires ocean = .T.
| shf* | surface sensible heatflux | K m/s or W/m2 | only horizontal cross section is allowed
| ssws* | surface scalarflux | kg m-2 s-1 or ppm m s-1 | only horizontal cross section is allowed (see section_xy), requires passive_scalar = .T.
| t* | (near surface) characteristic temperature | K | only horizontal cross section is allowed
| theta | potential temperature | K |
| thetal | liquid water potential temperature | K | requires bulk_cloud_model = .T.
| thetav | virtual potential temperature | K | requires humidity = .T.
| theta_2m* | 2 m air potential temperature (estimated from logarithmis interpolation/extrapolation) | K | only horizontal cross section is allowed
| ti | turbulence intensity (absolute value of the rotation vector) | 1/s |
| tsurf* | surface temperature | K | only horizontal cross section is allowed
| u | u-component of the velocity | m/s |
| us* | (near surface) friction velocity | m/s | only horizontal cross section is allowed
| v | v-component of the velocity | m/s |
| w | w-component of the velocity | m/s |
| z0* | roughness length | m |
| z0h* | roughness length for scalar quantities | m |
|
The following quantities can be additionally output when the land surface model (LSM) is used:
Quantity name | Meaning | Unit | Remarks
|
---|
c_liq* | coverage of plants with liquid water | | only horizontal cross section is allowed
| c_soil* | coverage of the land surface with bare soil | | only horizontal cross section is allowed
| c_veg* | coverage of the land surface with vegetation | | only horizontal cross section is allowed
| ghf* | ground (soil) heat flux (from energy balance) | W/m2 | only horizontal cross section is allowed
| lai* | leaf area index | m2/m2 | only horizontal cross section is allowed
| m_liq* | liquid water level on plants | m | only horizontal cross section is allowed
| m_soil | volumetric soil moisture | m3/m3 |
| qsws_liq* | surface latent heat flux due to evaporation/condensation of liquid water on plants (from energy balance) | W/m2 | only horizontal cross section is allowed
| qsws_soil* | surface latent heat flux due to evaporation/precipitation of bare soil (from energy balance) | W/m2 | only horizontal cross section is allowed
| qsws_veg* | surface latent heat flux due to transpiration of plants (from energy balance) | W/m2 | only horizontal cross section is allowed
| r_a* | aerodynamic resistance | s/m | only horizontal cross section is allowed
| r_s* | resistance of the surface (soil + vegetation) | s/m | only horizontal cross section is allowed
| t_soil | soil temperature | K |
|
The following quantities can be additionally output when a radiation model is used:
Quantity name | Meaning | Unit | Remarks
|
---|
rad_net* | Net radiation flux at the surface | W/m2 | only horizontal cross section is allowed
| rad_lw_in* | Incoming longwave radiation flux | W/m2 | only horizontal cross section is allowed
| rad_lw_out* | Outgoing longwave radiation flux | W/m2 | only horizontal cross section is allowed
| rad_sw_in* | Incoming longwave radiation flux | W/m2 | only horizontal cross section is allowed
| rad_sw_out* | Outgoing shortwave radiation flux | W/m2 | only horizontal cross section is allowed
|
In case of radiation_scheme = 'rrtmg', the following data can be additionally output:
Quantity name | Meaning | Unit
|
---|
rad_lw_cs_hr | Clear-sky longwave radiative heating rate | K/h
| rad_lw_hr | Longwave radiative heating rate | K/h
| rad_lw_in | Incoming longwave radiation flux | W/m2
| rad_lw_out | Outgoing longwave radiation flux | W/m2
| rad_sw_cs_hr | Clear-sky shortwave radiative heating rate | K/h
| rad_sw_hr | Shortwave radiative heating rate | K/h
| rad_sw_in | Incoming shortwave radiation flux | W/m2
| rad_sw_out | Outgoing shortwave radiation flux | W/m2
|
The following quantities can be additionally output when the plant canopy model (PCM) is used:
Quantity name | Meaning | Unit | Remarks
|
---|
pcm_lad | leaf area density | m2/m3 | only 3D output possible
| pcm_heatrate | plant canopy heating rate (by solar radiation) | K/s | only 3D output possible
| pcm_transpirationrate | plant canopy transpiration rate (by solar radiation) | kg m / (kg s) | only 3D output possible
| pcm_latentrate | plant canopy latent heat flux | K/s | only 3D output possible
| pcm_bowenratio | Bowen ratio | - | only 3D output possible
|
The following quantities can be additionally output when the indoor model (IM) is used:
Quantity name | Meaning | Unit | Remarks
|
---|
im_hf_roof | heatflux at building roof | K m / s | only 3D output possible
| im_hf_roof_waste | waste heatflux at building roof | K m / s | only 3D output possible
| im_hf_wall_win | heatflux at building walls and windows | K m / s | only 3D output possible
| im_hf_wall_win_waste | waste heatflux at building walls and windows | K m / s | only 3D output possible
| im_t_indoor_mean | mean indoor temperature (horizontal building average at each storey) | K | only 3D output possible
|
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 to 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', 'theta_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:
Besides 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 User-defined output quantities). 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 by 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 separate 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 called by palmrun).
Alternatively, PALM is able to collect all grid points of a cross section on PE0 before an 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 grid points, 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 separately by each processor so that combine_plot_fields.x has to be called anyway after PALM has been finished.
|
data_output_masks
|
C *10 (max_masks, 100)
|
max_masks *100* ' '
|
Quantities for which masked data are to be output.
Unlimited different masks can be defined (see Masked data output). For each mask different instantaneous or temporally averaged quantities (up to 100) can be output. The masks are steered with the parameters mask_x, mask_y, mask_z, mask_x_loop, mask_y_loop, mask_z_loop, and mask_k_over_surface. It is possible to scale the masked data with a specified length for each direction (see mask_scale_x, mask_scale_y, and mask_scale_z).
By default, masked data are output to local files DATA_MASK_01_NETCDF, DATA_MASK_02_NETCDF, ... . If the user has switched on the output of temporally averaged data, these are written separately to local files DATA_MASK_01_AV_NETCDF, DATA_MASK_02_AV_NETCDF, ... . The file's format is netCDF. Further details about processing netCDF data are given in netCDF data output.
The following quantities are available for output by default:
Quantity name | Meaning | Unit | Remarks
|
---|
e | SGS turbulence kinetic energy | m2/s2 |
| nr | rain drop number density | 1/m3 | requires bulk_cloud_model = .T. and cloud_scheme = seifert_beheng and precipitation = .T.
| p | perturpation pressure | N/m2, Pa |
| pc | particle/droplet concentration | #/gridbox |
| pr | mean particle/droplet radius | m |
| q | water vapor mixing ratio (or total water mixing ratio if cloud physics is switched on) | kg/kg | requires humidity = .T.
| qc | cloud water mixing ratio | kg/kg | requires bulk_cloud_model = .T. and cloud_scheme = seifert_beheng
| ql | liquid water mixing ratio | kg/kg | requires bulk_cloud_model = .T. or cloud_droplets = .T.
| ql_c | change in liquid water mixing ratio due to condensation/evaporation during last time step | 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.
| qv | water vapor mixing ratio | kg/kg | requires bulk_cloud_model = .T.
| qr | rain water mixing ratio | kg/kg | requires bulk_cloud_model = .T. and cloud_scheme = seifert_beheng and precipitation = .T.
| rho | density | kg/m3 | requires ocean = .T.
| s | concentration of the scalar | kg m-3 or ppm | requires passive_scalar = .T.
| sa | salinity | psu | requires ocean = .T.
| theta | potential temperature | K |
| thetal | liquid water potential temperature | K | requires bulk_cloud_model = .T.
| thetav | virtual potential temperature | K | requires humidity = .T.
| ti | turbulence intensity (absolute value of the rotation vector) | 1/s |
| u | u-component of the velocity | m/s |
| v | v-component of the velocity | m/s |
| w | w-component of the velocity | m/s |
|
Example:
data_output_masks(1,:) = 'u', 'v', 'u_av', 'v_av',
data_output_masks(2,:) = 'w', 'w_av',
data_output_masks(3,:) = 'theta', 'u', 'v', 'w',
This example will create the following output:
Mask 1: Instantaneous data of u- and v-velocity component (by default on file DATA_MASK_01_NETCDF) and temporally averaged
data of u- and v-velocity component (by default on file DATA_MASK_01_AV_NETCDF)
Mask 2: Instantaneous data of w-velocity component (by default on file DATA_MASK_02_NETCDF) and temporally averaged data of
w-velocity component (by default on file DATA_MASK_02_AV_NETCDF)
Mask 3: Instantaneous data of potential temperature, u-, v- and w-velocity component (by default on file
DATA_MASK_03_NETCDF)
The user is allowed to extend the above list of quantities by defining his own output quantities (see the user-parameter data_output_masks_user).
The time intervals of the output times for each mask are determined via dt_domask.
Individual time interval for output of temporally averaged data can be assigned using the parameter dt_data_output_av. The length of the averaging interval is controlled via parameter averaging_interval. No particular parameters are existent for steering the time-averaged output of each separate mask.
The parameter skip_time_domask can be used to shift data output activities for a given time interval.
By default, up to 50 different masks can be assigned (max_masks = 50). If you wish to output more masks, change max_masks in module.f90 to the desired value.
|
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 netCDF data output.
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).
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 red) or on w-levels (green). According to this, the z-coordinates of the individual profiles vary. Beyond that, with a constant flux layer switched on (constant_flux_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
|
---|
e | Turbulence kinetic energy (TKE, subgrid-scale) | m2/s2
| e* | Perturbation energy (resolved) (composed of variances or fluxes, see details) | m2/s2
| hyp | Hydrostatic Pressure | hPa
| kh | Eddy diffusivity for heat | m2/s
| km | Eddy diffusivity for momentum | m2/s
| l | Mixing length | m
| nr | Rain drop number density | 1/m3
| p | Perturbation pressure | Pa
| prho | Potential density | kg/m3
| q | Total water mixing ratio | kg/kg
| q*2 | Variance of the water vapor / total water mixing ratio (in case of bulk_cloud_model = .T.) (resolved) | kg2/kg2
| qc | Cloud water mixing ratio | kg/kg
| ql | Liquid water mixing ratio | kg/kg
| qr | Rain water mixing ratio | kg/kg
| qv | Water vapor mixing ratio | kg/kg
| prr | Precipitation rate | kg/kg m/s
| rho | Air Density | kg/m3
| rho_sea_water | Ocean Density | kg/m3
| s | Scalar concentration (requires passive_scalar = .T.) | kg m-3 or ppm
| s*2 | Variance of the passive scalar (resolved, requires passive_scalar = .T.) | (kg m-3)2
| sa | Salinity | psu
| Sw | Skewness of the w-velocity component (resolved, Sw = w3/(w2)1.5) | m3/s2 / (m2/s2)1.5
| td_lsa_q | horizontal large scale advection tendency for humidity | kg/(kg s)
| td_lsa_thetal | horizontal large scale advection tendency for temperature | K/s
| td_nud_q | nudging tendency for humidity | kg/(kg s)
| td_nud_thetal | nudging tendency for temperature | K/s
| td_nud_u | nudging tendency for u-velocity component | m/s2
| td_nud_v | nudging tendency for v-velocity component | m/s2
| td_sub_q | horizontal large scale subsidence tendency for humidity | kg/(kg s)
| td_sub_thetal | horizontal large scale subsidence tendency for temperature | K/s
| theta | Potential temperature | K
| theta*2 | Variance of the potential temperature (resolved) | K2
| thetal | Liquid water potential temperature | K
| thetav | Virtual potential temperature | K
| u | u-component of the velocity | m/s
| u*2 | Variance or horizontal momentum flux (in case of momentum_advec = 'ws-scheme', see details) of the u-velocity component (resolved) | m2/s2
| ug | u-component of the geostrophic wind | m/s
| v | v-component of the velocity | m/s
| v*2 | Variance or horizontal momentum flux (in case of momentum_advec = 'ws-scheme', see details) of the v-velocity component (resolved) | m2/s2
| vg | v-component of the geostrophic wind | m/s
| w | w-component of the velocity | m/s
| w*2 | Variance or vertical momentum flux (in case of momentum_advec = 'ws-scheme', see details) of the w-velocity component (resolved) | m2/s2
| w*3 | Third moment of the w-velocity component (resolved) | m3/s3
| w*e* | Vertical flux of perturbation energy (resolved) | m3/s3
| w*p*:dz | Transport of resolved-scale TKE due to pressure fluctuations (term in resolved TKE budget) | Pa m/s2
| w"q" | Subgrid-scale vertical water flux | kg/kg m/s
| w*q* | Covariance or resolved vertical water flux (in case of scalar_advec = 'ws-scheme', see details) | 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* | Covariance or resolved vertical latent heat flux (in case of scalar_advec = 'ws-scheme', see details) | 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 (requires passive_scalar = .T.) | kg m-2 s-1 or ppm m s-1
| w*s* | Resolved vertical scalar concentration flux (requires passive_scalar = .T.) | kg m-2 s-1 or ppm m s-1
| ws | Total vertical scalar concentration flux (w"s" + w*s*) (requires passive_scalar = .T.) | kg m-2 s-1 or ppm m s-1
| w"sa" | Subgrid-scale vertical salinity flux | psu m/s
| w*sa* | Covariance or resolved vertical salinity flux (in case of scalar_advec = 'ws-scheme', see details) | psu m/s
| wsa | Total vertical salinity flux (w"sa" + w*sa*) | psu m/s
| w_subs | large-scale vertical velocity | m/s
| w"theta" | Subgrid-scale vertical sensible heat flux | K m/s
| w*theta* | Covariance or resolved vertical sensible heat flux (in case of scalar_advec = 'ws-scheme', see details) | K m/s
| wtheta | Total vertical sensible heat flux (w"theta" + w*theta*) | K m/s
| w*theta*BC | Subgrid-scale vertical sensible heat flux using the Bott-Chlond scheme | K m/s
| wthetaBC | Total vertical sensible heat flux using the Bott-Chlond scheme (w"theta" + w*theta*BC) | K m/s
| w"thetav" | Subgrid-scale vertical buoyancy flux | K m/s
| w*thetav* | Resolved vertical buoyancy flux | K m/s
| wthetav | Total vertical buoyancy flux (w"thetav" + w*thetav*) | K m/s
| w*2theta* | Third moment (resolved) | K m2/s2
| w*theta*2 | Third moment (resolved) | K2 m/s
| w"u" | u-component of the subgrid-scale vertical momentum flux | m2/s2
| w*u* | Covariance or u-component of the resolved vertical momentum flux (in case of momentum_advec = 'ws-scheme', see details) | m2/s2
| wu | u-component of the total vertical momentum flux (w"u" + w*u*) | m2/s2
| w*u*u*:dz | Transport of resolved-scale TKE due to turbulence (term in resolved TKE budget) | m2/s3
| w"v" | v-component of the subgrid-scale vertical momentum flux | m2/s2
| w*v* | Covariance or v-component of the resolved vertical momentum flux (in case of momentum_advec = 'ws-scheme', see details) | m2/s2
| wv | v-component of the total vertical momentum flux (w"v" + w*v*) | m2/s2
|
The following vertical profiles can be additionally output when the land surface model (LSM) is used:
Quantity name | Meaning | Unit
|
---|
m_soil | volumetric soil moisture content | m3/m3
| t_soil | soil temperature | K
|
The following vertical profiles can be additionally output when the RRTMG radiation model (see also radiation_scheme is used:
Quantity name | Meaning | Unit
|
---|
rad_lw_in | incoming longwave radiation | W/m2
| rad_lw_out | incoming longwave radiation | W/m2
| rad_sw_in | incoming shortwave radiation | W/m2
| rad_sw_out | incoming shortwave radiation | W/m2
|
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 led by a hash "#". Allowed values are:
#u, #v, #theta, #km, #kh, #l, #thetal, #q, #qv, #s, #sa, #thetav (, #t_soil, #m_soil)
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 a 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 grid points, sufficient memory is required on PE0.
|
debug_output
|
L
|
.F.
|
Flag for debug output to UNIT 9 during initialization phase and final actions of PALM run.
By adding the parameter debug_output = .T., pre-defined debug_message(s) will be printed to the DEBUG_00* files (UNIT=9) in the temporary directory of a PALM run for each processor core. This can be very helpful to narrow down the location of a model crash simply by setting this parameter instead of having to add WRITE statements and re-compile the code. Once the location is narrowed down, set debug_output = .F. and implement your own CALL debug_message (....). You may search the SOURCE code for the string "debug_message" to find out how it works.
NOTE: Adding CALL debug_message (....) in new places might require setting of
USE control_parameters, &
ONLY: debug_output, debug_string
if not already set.
Additionally, the flag debug_output_timestep enables debug output during timestepping. Keep in mind that this may create very large DEBUG files.
|
debug_output_timestep
|
L
|
.F.
|
Flag for debug output to UNIT 9 during timestepping.
For further details, see debug_output.
|
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).
|
dt_averaging_input
|
R
|
0.0
|
Temporal interval of data which are subject to temporal averaging (in s).
By default, data from each time step 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 time step 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 time step 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 time step 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, data_output_sp, 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. The 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 time step 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_domask, dt_dopr, dt_dosp, and dt_data_output_av.
Warning: In case of parallel NetCDF I/O (netcdf_data_format >= 5), setting small values for dt_data_output may result in HDF errors during model initialization, since internal NetCDF thresholds are execeeded. This especially can happen if large 3d arrays are output.
|
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. The 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 time step 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_domask
|
R (max_masks)
|
max_masks * value of dt_data _output
|
Temporal interval at which instantaneous masked data shall be output (in s).
If output of masked data is switched on (see data_output_masks), this parameter can be used to assign the temporal interval at which these data shall be output. For each mask, a separate output time can be assigned.
Example:
dt_domask = 600., 1800., 600.
In this example output of mask 1 is done every 600s, of mask 2 every 1800s and of mask 3 every 600s.
By default the temporal interval of data_output is used.
Output can be skipped at the beginning of a simulation using parameter skip_time_domask, which has zero value by default. The reference time is the beginning of the simulation, i.e. output takes place at times t = skip_time_domask + dt_domask, skip_time_domask + 2*dt_domask, skip_time_domask + 3*dt_domask, etc. Since output is only done at the discrete time levels given by the time step used, the actual output times can slightly deviate from these theoretical values.
|
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. The 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. The 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 lies 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 are 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 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
minimizing the number of calls of routine flow_statistics.
The 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). If dt_dots < time step dt, then data of the time series are written after each time step. This can be forced by setting dt_dots = 0.
Time series data are output to the local file DATA_1D_TS_NETCDF, which is generally created for each model run due to the default settings of dt_dots. The file's format is NetCDF. Further details about processing of NetCDF data are given in chapter NetCDF data output.
The file contains the following time-series quantities (the first column gives the name of the quantities as used in the NetCDF file), all of which are automatically output without having to be prescribed by the user, since the size of the time-series file is rather small:
Quantity name | Meaning | Unit
|
---|
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
| 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
| dt | Time step size | s
| E | Total kinetic energy of the flow, E = 0.5 * (u2+v2+w2), (3D domain average) | m2/s2
| E* | Resolved-scale turbulence kinetic energy of the flow (3D domain average) | m2/s2
| ol | Monin-Obukhov length | m
| q* | Humidity scale (constant flux layer), defined as w"q"0 / us* (horizontal average) | kg/kg
| th* | Temperature scale (constant flux layer), defined as w"theta"0 / us* (horizontal average) | K
| theta(0) | Potential temperature at the surface (horizontal average) | K
| theta(z_mo) | Potential temperature for z = zu(1) (horizontal average) | K
| umax | Maximum u-component of the velocity | m/s
| us* | Friction velocity (horizontal average) | m/s
| vmax | Maximum v-component of the velocity | m/s
| w* | Vertical velocity scale of the CBL (horizontal average) | m/s
| w"q"0 | Subgrid-scale humidity flux at k=0 (horizontal average) within the constant flux layer, zero values are output if humidity is not used | kg/kg m/s
| w"theta" | Subgrid-scale heat flux (horizontal average) for z = zw(1) | K m/s
| w"theta"0 | Subgrid-scale sensible heat flux at k=0 (horizontal average) within the constant flux layer | K m/s
| w"u"0 | Subgrid-scale momentum flux (u-component) at k=0 (horizontal average) within the constant flux layer | m2/s2
| w"v"0 | Subgrid-scale momentum flux (v-component) at k=0 (horizontal average) within the constant flux layer | m2/s2
| wmax | Maximum w-component of the velocity | m/s
| wtheta | Total heat flux (horizontal average) for z = zw(1) | K m/s
| zi_theta | Height of the convective boundary layer (horizontal average) determined by the temperature profile, following the criterion of Sullivan et al. (1998) | m
| zi_wtheta | Height of the convective boundary layer (horizontal average) determined by the height of the minimum sensible heat flux | m
|
The following quantities are additionally output when the land surface model (LSM) is used:
Quantity name | Meaning | Unit
|
---|
ghf | ground (soil) heat flux (horizontal average) | W/m2
| qsws_liq | surface latent heat flux due to evaporation/condensation of liquid water on plants (from energy balance, horizontal average) | W/m2
| qsws_soil | surface latent heat flux due to bare soil evaporation/precipitation (from energy balance, horizontal average) | W/m2
| qsws_veg | surface latent heat flux due to transpiration of plants (from energy balance, horizontal average) | W/m2
| r_a | aerodynamic resistance (horizontal average) | s/m
| r_s | resistance of the surface (soil + vegetation, horizontal average) | s/m
|
The following quantity is additionally output when a radiation model is used:
Quantity name | Meaning | Unit
|
---|
rad_net | net radiation flux at the surface (horizontal average) | W/m2
| rad_lw_in | incoming longwave radiation flux at the surface (horizontal average) | W/m2
| rad_lw_out | outgoing longwave radiation flux at the surface (horizontal average) | W/m2
| rad_sw_in | incoming shortwave radiation flux at the surface (horizontal average) | W/m2
| rad_sw_out | outgoing shortwave radiation flux at the surface (horizontal average) | W/m2
|
The following quantities are additionally output when radiation_scheme = 'rrtmg' is set:
Quantity name | Meaning | Unit
|
---|
rrtm_aldif | albedo for diffuse longwave radiation (horizontal average) | 0-1
| rrtm_aldir | albedo for direct longwave radiation (horizontal average) | 0-1
| rrtm_asdif | albedo for diffuse shortwave radiation (horizontal average) | 0-1
| rrtm_asdir | albedo for direct shortwave radiation (horizontal average) | 0-1
|
Additionally, the user can add own time series quantities to the file by using the user-interface subroutines user_init.f90 and user_statistics.f90. These routines contain a simple example (as comment lines) on how to do this.
By default, time-series data refer to the total domain, but data can also be output for user-defined subdomains (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. The 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. The 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. The 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. The 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).
Warning: In case of parallel NetCDF I/O (netcdf_data_format >= 5), setting small values for dt_do3d may result in HDF errors during model initialization, since internal NetCDF thresholds are execeeded. This especially can happen if large 3d arrays are output.
|
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. The 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.
|
|
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.
|
mask_k_over_surface
|
I
|
max_masks *100* -1.0
|
Grid index above surface which to take for terrain-following masked output.
This parameter gives the vertical index of a grid-point layer above terrain which to output in the specified mask.
Example:
mask_k_over_surface(1,:) = 2, 5 will result in an output of all specified variables in mask 1 at the second and fith grid point above the surface.
When mask_k_over_surface is specified for a mask, mask_z and mask_z_loop are ignored for this mask. mask_scale_z has no effect on values given in mask_k_over_surface.
|
mask_scale_x
|
R
|
1.0
|
Scaling length for masked data output along x-direction.
This parameter defines the length which scales the positions of the masked data along x-direction.
Example:
mask_scale_x = 10. will scale the positions (e.g. 0.m, 500.m, 1000.m) for masked output along x-direction by 10.0 (-> mask_x = 0., 50., 100.).
For scaling the masked data along y-direction use mask_scale_y. For scaling the masked data along z-direction use mask_scale_z.
|
mask_scale_y
|
R
|
1.0
|
Scaling length for masked data output along y-direction.
This parameter defines the length which scales the positions of the masked data along y-direction.
Example:
mask_scale_y = 10. will scale the positions (e.g. 0.m, 500.m, 1000.m) for masked output along y-direction by 10.0 (-> mask_y = 0., 50., 100.).
For scaling the masked data along x-direction use mask_scale_x. For scaling the masked data along z-direction use mask_scale_z.
|
mask_scale_z
|
R
|
1.0
|
Scaling length for masked data output along z-direction.
This parameter defines the length which scales the positions of the masked data along z-direction.
Example:
mask_scale_z = 10. will scale the positions (e.g. 0.m, 500.m, 1000.m) for masked output along z-direction by 10.0 (-> mask_z = 0., 50., 100.).
For scaling the masked data along x-direction use mask_scale_x. For scaling the masked data along y-direction use mask_scale_y.
|
mask_x
|
R (max_masks, 100)
|
max_masks *100* -1.0
|
All x-coordinates of mask positions (in multiples of mask_scale_x).
This parameter defines all positions along x-direction where quantities for masked data are to be output (see data_output_mask). For each mask a separate mask_x has to be assigned.
Example:
mask_x(1,:) = 50., 100., 500., 550., 600.
mask_x(2,:) = 1000.
This example will create outputs at the specified points (at xu-grid in m, if mask_scale_x is not used; outputs on
the x-grid are shifted by half of the grid spacing forward (e.g. x = 75.0, 125.0, 525.0, 575.0, 625.0, if dx=
50.0)).
If you use mask_scale_x, mask_x has to be assigned in "grid point position along x-direction [m]/mask_scale_x " (e.g. mask_scale_x = 10.0 -> mask_x(1,:) = 0., 5., 10., 50., 55., 60.).
The default results in output at every grid point along the x-direction, i.e. from 0 to nx.
If you want to output quantities at positions with constant spaces (e.g. every 100m), use the parameter mask_x_loop.
Locations for y-direction can be assigned with the parameters mask_y or mask_y_loop. Locations for z-direction can be assigned with the parameters mask_z or mask_z_loop.
Further examples are given in Masked data output.
|
mask_y
|
R (max_masks, 100)
|
max_masks *100* -1.0
|
All y-coordinates of mask positions (in multiples of mask_scale_y).
This parameter defines all positions along y-direction where quantities for masked data are to be output (see data_output_mask). For each mask a separate mask_y has to be assigned.
Example:
mask_y(1,:) = 50., 100., 500., 550., 600.
mask_y(2,:) = 1000.
This example will create outputs at the specified points (at yv-grid in m, if mask_scale_x is not used; outputs on
the y-grid are shifted by half of the grid spacing forward (e.g. y = 75.0, 125.0, 525.0, 575.0, 625.0, if dy=
50.0)).
If you use mask_scale_y, mask_y has to be assigned in "grid point position along y-direction [m]/mask_scale_y " (e.g. mask_scale_y = 10.0 -> mask_y(1,:) = 0., 5., 10., 50., 55., 60.).
The default results in output at every grid point along the y-direction, i.e. from 0 to ny.
If you want to output quantities at positions with constant spaces (e.g. every 100m), use the parameter mask_y_loop.
Locations for x-direction can be assigned with the parameters mask_x or mask_x_loop. Locations for z-direction can be assigned with the parameters mask_z or mask_z_loop.
Further examples are given in Masked data output.
|
mask_z
|
R (max_masks, 100)
|
max_masks *100* -1.0
|
All z-coordinates of mask positions (in multiples of mask_scale_z).
This parameter defines all positions along z-direction where quantities for masked data are to be output (see data_output_mask). For each mask a separate mask_z has to be assigned.
Example:
mask_z(1,:) = 50., 100., 500., 550., 600.
mask_z(2,:) = 1000.
This example will create outputs at the specified points (at zw-grid in m, if mask_scale_x is not used; outputs on
the zu-grid are shifted by half of the grid spacing downward (e.g. zu = 25.0, 75.0, 475.0, 525.0, 575.0, if dz= 50.0)).
If you use mask_scale_z, mask_z has to be assigned in "grid point position along z-direction [m]/mask_scale_z " (e.g. mask_scale_z = 10.0 -> mask_z(1,:) = 0., 5., 10., 50., 55., 60.).
The default results in output at every grid point along the z-direction, i.e. from 0 to nz.
If you want to output quantities at positions with constant spaces (e.g. every 100m), use the parameter mask_z_loop.
Locations for x-direction can be assigned with the parameters mask_x or mask_x_loop. Locations for y-direction can be assigned with the parameters mask_y or mask_y_loop.
Further examples are given in Masked data output.
|
mask_x_loop
|
R (max_masks, 3)
|
max_masks * (/-1.0, -1.0, -1.0/)
|
Loop begin, end and stride for x-coordinates of mask locations for masks (in multiples of mask_scale_x).
This parameter should be used if masked data are to be output at periodic positions. The first parameter assigns the start position (e.g. 0m), the second one the end position (e.g. 2000m) and the third one the stride (e.g. 100m):
mask_x_loop(1,:) = 0.0,2000.,100.
This example will create outputs every 100m along x-direction (at xu-grid in m, if mask_scale_x is not used; outputs on the x-grid are shifted by half of the grid spacing forward).
For each mask a separate mask_x_loop has to be assigned.
The default results in output at every grid point along the x-direction, i.e. from 0 to nx.
Note: If mask_x is also specified, mask_x_loop will be ignored.
Further examples are given in Masked data output.
|
mask_y_loop
|
R (max_masks, 3)
|
max_masks * (/-1.0, -1.0, -1.0/)
|
Loop begin, end and stride for y-coordinates of mask locations for masks (in multiples of mask_scale_y).
This parameter should be used if masked data are to be output at periodic positions (e.g. every 100m along y-direction). The first parameter assigns the start position (e.g. 0m), the second one the end position (e.g. 2000m) and the third one the stride (e.g. 100m):
mask_y_loop(1,:) = 0.0,2000.,100.
This example will create outputs every 100m along y-direction (at yv-grid in m, if mask_scale_x is not used; outputs on the y-grid are shifted by half of the grid spacing forward).
For each mask a separate mask_y_loop has to be assigned.
The default results in output at every grid point along the y-direction, i.e. from 0 to ny.
Note: If mask_y is also specified, mask_y_loop will be ignored.
Further examples are given in Masked data output.
|
mask_z_loop
|
R (max_masks, 3)
|
max_masks * (/-1.0, -1.0, -1.0/)
|
Loop begin, end and stride for z-coordinates of mask locations for masks (in multiples of mask_scale_z).
This parameter should be used if masked data are to be output at periodic positions (e.g. every 100m along z-direction). The first parameter assigns the start position (e.g. 0m), the second one the end position (e.g. 2000m) and the third one the stride (e.g. 100m):
mask_z_loop(1,:) = 0.0,2000.,100.
This example will create outputs every 100m along z-direction (at zw-grid in m, if mask_scale_x is not used; outputs on the zu-grid are shifted by half of the grid spacing downward).
For each mask a separate mask_z_loop has to be assigned.
The default results in output at every grid point along the z-direction, i.e. from 0 to nz.
Note: If mask_z is also specified, mask_z_loop will be ignored. If you have assigned dz_stretch_level, mask_z_loop will fail above dz_stretch_level. If masked outputs are desired above dz_stretch_level, you should use mask_z instead.
Further examples are given in Masked data output.
|
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), without parallel I/O support
| 4 | netCDF-4 format, but with NF90_CLASSIC_MODEL bit set (some new features of netCDF4 are not available), without parallel I/O support
| 5 | same as 3, but with parallel I/O support
| 6 | same as 4, but with parallel I/O support
|
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 -D__netcdf4 has to be set (see line starting with %cpp_options in the palmrun configuration file).
Files with netCDF4 format cannot be read with netCDF3 libraries.
Parallel file support (netcdf_data_format > 4) additionally requires to set the preprocessor switch -D__netcdf4_parallel.
Warning: In case of parallel I/O (netcdf_data_format >= 5), setting small values for dt_data_output or dt_do3d may result in HDF errors during model initialization, since internal NetCDF thresholds are execeeded. This especially can happen if large 3d arrays are output.
|
netcdf_deflate
|
I
|
0
|
Data compression level for NetCDF4/HDF5 format.
The data compression must be given in the range 0-9, where 0 means no compression, and 9 highest compression. Typically, compression level 1 should be sufficient. Higher data compression rates require additional time. The compression only works for the NetCDF4/HDF5 format in non-parallel mode (see netcdf_data_format).
|
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, 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 = .T.. 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*'.
|
profile_columns
|
I
|
2
|
Number of coordinate systems to be plotted in one row by plot software palmplot (see also postprocessing with ncl).
It determines the layout of plots of horizontally averaged profiles (data_output_pr) when plotted with the plot software palmplot. Generally, the number and sequence of coordinate systems (panels) to be plotted on one page are determined by cross_profiles. profile_columns determines how many panels are to be arranged next to each other in one row (number of columns). The respective number of rows on a page is assigned by profile_rows. According to their order given by data_output_pr, the panels are arranged beginning in the top row from left to right and then continued in the following row.
|
profile_rows
|
I
|
3
|
Number of rows of coordinate systems to be plotted on one page by plot software palmplot (see also postprocessing with ncl).
It determines the layout of plots of horizontally averaged profiles. See profile_columns.
|
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.
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 us* 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, 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, 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_xz, 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_domask
|
R (max_masks)
|
max_masks *0.0
|
No output of masked 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_domask = 3600.0 and skip_time_domask = 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
| | |
This parameter now belongs to the initialization parameters and therefore has to be set within the NAMELIST group inipar. See statistic_regions for an explanation of this parameter.
|
termination_time_needed
|
R
|
35.0
|
CPU time needed for terminal actions at the end of a run in batch mode (in s).
If the environment variable write_binary is set .T. (see Initialization and restart runs), PALM checks the remaining CPU time of the job after each time step. Time integration must not consume the CPU time completely since several actions still have to be carried out after time integration has finished (e.g. writing of binary data for the restart run, carrying out output commands, copying of local files to their permanent destinations, etc.) which also takes some time. Furthermore, the parameter has also to account for the CPU time consumed by the job before the PALM executable has started (e.g. required for providing input data, or for compiling the user-interface code, etc.). The maximum possible time needed for these activities plus a reserve is to be given with the parameter termination_time_needed. Among other things, it depends on the number of grid points used. If its value is selected too small, then the respective job will be prematurely aborted by the queuing system, which may result in a data loss and will possibly interrupt the job chain.
An abort happens in any way, if the activation string restart is not given with the palmrun-option -a and if the job has additionally been assigned an insufficient CPU time by palmrun option -t.
|
nz_do3d
|
I
|
nz+1
|
Limits the output of 3d volume data along the vertical direction (grid point index k).
By default, data for all grid points along z are output. The parameter nz_do3d can be used to limit the output up to a certain vertical grid point (e.g. in order to reduce the amount of output data). It affects all output of volume data ("normal" output to file, see data_output).
|