NetCDF data output#


PALM is able to output data of different quantities as time series, vertical profiles (usually horizontally averaged), two-dimensional cross sections or 3d-volume data. Depending on the kind of output (time series, profiles, etc.) and the output format (ASCII or binary) data is written to different files (file descriptions can be found here). All data output files are in netCDF format, which can be processed by numerous open source and commercial visualization software. Data from netCDF files can also be easily read from python of Fortran programs provided that a netCDF library is installed.

The format of netCDF files generated by PALM is determined by the runtime-parameter netcdf_data_format. The accuracy of the netCDF output data can be set with parameter netcdf_precision. By default, data has single (4 byte) precision in order to keep the file size small.

In order to further reduce the netCDF file size, different compression algorithms can be used for output of 2d- and 3d-data (see netcdf_compression_method, netcdf_compression_level, and netcdf_compression_nsd).

The following table gives an overview about the different kind of netCDF output data offered by PALM. In addition to the local names of the files, the table also lists the minimum parameter settings which are necessary to switch on the output, as well as the parameters to be used to control the output.

Kind of data Local filename (file extension) Parameter settings necessary to switch on output Further parameters for output control
vertical profiles DATA_1D_PR_NETCDF (_pr) data_output_pr, dt_data_output (or dt_dopr) averaging_interval, (or averaging_interval_pr), netcdf_data_format, dt_averaging_input, dt_averaging_input_pr, skip_time_data_output (or skip_time_dopr), statistic_regions
timeseries DATA_1D_TS_NETCDF (_ts) dt_dots netcdf_data_format, statistic_regions
spectra DATA_1D_SP_NETCDF (_sp) comp_spectra_level, data_output_sp, dt_data_output (or dt_dosp), spectra_direction averaging_interval (or averaging_interval_sp), netcdf_data_format, dt_averaging_input_pr, skip_time_data_output (or skip_time_dosp)
2d cross section (xy) DATA_2D_XY_NETCDF (_xy) data_output (or data_output_user), dt_data_output (or dt_do2d_xy), section_xy netcdf_data_format, data_output_2d_on_each_pe, do2d_at_begin, skip_time_data_output (or skip_time_do2d_xy)
2d cross section (xy), time-averaged DATA_2D_XY_AV_NETCDF (_av_xy) data_output (or data_output_user), dt_data_output (or dt_data_output_av or dt_do2d_xy), section_xy averaging_interval, dt_averaging_input, netcdf_data_format, data_output_2d_on_each_pe, do2d_at_begin, skip_time_data_output (or skip_time_data_output_av or skip_time_do2d_xy)
2d cross section (xz) DATA_2D_XZ_NETCDF (_xz) data_output (or data_output_user), dt_data_output (or dt_do2d_xz), section_xz netcdf_data_format, data_output_2d_on_each_pe, do2d_at_begin, skip_time_data_output (or skip_time_do2d_xz)
2d cross section (xz), time-averaged DATA_2D_XZ_AV_NETCDF (_av_xz) data_output (or data_output_user), dt_data_output (or dt_data_output_av or dt_do2d_xz), section_xz averaging_interval, dt_averaging_input, netcdf_data_format, data_output_2d_on_each_pe, do2d_at_begin, skip_time_data_output (or skip_time_data_output_av or skip_time_do2d_xz)
2d cross section (yz) DATA_2D_YZ_NETCDF (_yz) data_output (or data_output_user), dt_data_output (or dt_do2d_yz), section_yz netcdf_data_format, data_output_2d_on_each_pe, do2d_at_begin, skip_time_data_output (or skip_time_do2d_yz)
2d cross section (yz), time-averaged DATA_2D_YZ_AV_NETCDF (_av_yz) data_output (or data_output_user), dt_data_output (or dt_data_output_av or dt_do2d_yz), section_yz averaging_interval, dt_averaging_input, netcdf_data_format, data_output_2d_on_each_pe, do2d_at_begin, skip_time_data_output (or skip_time_data_output_av or skip_time_do2d_yz)
3d volume DATA_3D_NETCDF (_3d) data_output (or data_output_user), or dt_data_output (or dt_do3d) netcdf_data_format, do3d_at_begin, nz_do3d, skip_time_data_output (or skip_time_do3d)
3d volume, time-averaged DATA_3D_AV_NETCDF (_av_3d) data_output (or data_output_user), dt_data_output (or dt_data_output_av or dt_do3d) averaging_interval, dt_averaging_input, netcdf_data_format, do3d_at_begin, nz_do3d, skip_time_data_output (or skip_time_data_output_av, or skip_time_do3d)
particle timeseries DATA_1D_PTS_NETCDF (_pts) data_output_pts, dt_data_output (or dt_dopts) pts_increment, pts_percentage, extend_prts_filesize, maximum_number_of_output_particles
agent attributes DATA_AGT_NETCDF (_agt) dt_write_agent_data dim_size_agtnum_manual, dim_size_factor_agtnum

In addition to the kind of data listed above, it is possible to output quantities at arbitrary locations by using the masked data output.