Changes between Version 16 and Version 17 of doc/app/netcdf
- Timestamp:
- Feb 19, 2015 12:19:50 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
doc/app/netcdf
v16 v17 1 1 == NetCDF data output == 2 2 [[TracNav(doc/app/datatoc|nocollapse)]] 3 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 are written to different files (file descriptions can be found [wiki:doc/app/iofiles here]). By default, all data output files are in netCDF format ([[http://www.unidata.ucar.edu/software/netcdf/]]), which can be processed by many public domain and commercial (graphic) software. Data from netCDF files can also be easily read from FORTRAN programs provided that a netCDF library is available. 4 5 Due to historical reasons, PALM can also output data in other formats suitable for some special graphic software. The exact format of these files corresponds to the requirements of the respective software. Still available at IMUK is '''AVS''' (e.g. iso-surfaces of 3d volume data). A description of the usage of the '''AVS''' software is given [wiki:doc/app/avs here]. 3 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 are written to different files (file descriptions can be found [wiki:doc/app/iofiles here]). All data output files are in netCDF format ([[http://www.unidata.ucar.edu/software/netcdf/]]), which can be processed by many public domain and commercial (graphic) software. Data from netCDF files can also be easily read from FORTRAN programs provided that a netCDF library is available. 6 4 7 5 In the following pages, steering of the different data output and how to create plots of the data is described by some examples. Not all details of steering are mentioned. If necessary, these can be found within the description of the respective parameters. For most purposes it should be sufficient to read [wiki:doc/app/ncgen Generation of a PALM netCDF file] and [wiki:doc/app/ncexample Example of a PALM netCDF data set] which explains the PALM-netCDF-output. 8 6 9 The standard data output of PALM is netCDF (network Common Data Form) in 64-bit offset format. netCDF is an interface to a library of data access functions for storing and retrieving data in the form of arrays. netCDF is an abstraction that supports a view of data as a collection of self-describing, portable objects that can be accessed through a simple interface (protable means that netCDF data files can be read on any machine regardless of where they have been created). Array values may be accessed directly, without knowing details of how the data are stored. Auxiliary information about the data, such as what units are used, may be stored with the data. Generic utilities and application programs can access netCDF datasets (files) and transform, combine, analyze, or display specified fields of the data, e.g. the contents of a netCDF dataset can be viewed using the command '''ncdump''' (see further below). Many (public domain) graphic software has built in interfaces to read netCDF datasets (e.g. '''ferret''' or '''NCL''' ([wiki:doc/app/ncl see here])). The complete netCDF documentation is available from the netCDF homepage ([[http://www.unidata.ucar.edu/software/netcdf/|netCDF]]). The netCDF tutorial for FORTRAN90 can also be found at the netCDF homepage ([[http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-f90/|netCDF for FORTRAN90]]).7 Standard data output of PALM is netCDF (network Common Data Form) in 64-bit offset format. netCDF is an interface to a library of data access functions for storing and retrieving data in the form of arrays. netCDF is an abstraction that supports a view of data as a collection of self-describing, portable objects that can be accessed through a simple interface (protable means that netCDF data files can be read on any machine regardless of where they have been created). Array values may be accessed directly, without knowing details of how the data are stored. Auxiliary information about the data, such as what units are used, may be stored with the data. Generic utilities and application programs can access netCDF datasets (files) and transform, combine, analyze, or display specified fields of the data, e.g. the contents of a netCDF dataset can be viewed using the command '''ncdump''' (see further below). Many (public domain) graphic software has built in interfaces to read netCDF datasets (e.g. '''ferret''' or '''NCL''' ([wiki:doc/app/ncl see here])). The complete netCDF documentation is available from the netCDF homepage ([[http://www.unidata.ucar.edu/software/netcdf/|netCDF]]). The netCDF tutorial for FORTRAN90 can also be found at the netCDF homepage ([[http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-f90/|netCDF for FORTRAN90]]). 10 8 11 The general output format of PALM data is determined by the runtime-parameter [wiki:doc/app/d3par#data_output_format data_output_format] (data_output_format = 'netcdf', by default). For historical reasons, some alternative formats can be selected. The accuracy of the netCDF output data can be set with parameter [wiki:doc/app/d3par#netcdf_precision netcdf_precision]. By default, data have single (4 byte) precision. Runtime-parameter [wiki:doc/app/d3par#data_output_format data_output_format] can be used to choose between the different netCDF file formats (classic, 64-bit offset, netCDF4/HDF5). The 64-bit offset format allows creating large files (file size only limited by the underlying file system), but each output variable (array) is still limited to 2GB. In netCDF4 format, there is no limit for the size of variables, and it also allows parallel I/O into one output file. However, some (graphic) software still does not support netCDF4 format.9 The format of netCDF files generated by PALM is determined by the runtime-parameter [wiki:doc/app/d3par#netcdf_data_format netcdf_data_format] (netcdf_data_format = 3, by default). All current netCDF file formats are available (classic, 64-bit offset, netCDF4/HDF5). The 64-bit offset format allows creating large files (file size only limited by the underlying file system), but each output variable (array) is still limited to 2GB. In netCDF4 format, there is no limit for the size of variables, and it also allows parallel I/O into one output file. However, some (graphic) software still does not support netCDF4 format. The accuracy of the netCDF output data can be set with parameter [wiki:doc/app/d3par#netcdf_precision netcdf_precision]. By default, data have single (4 byte) precision. 12 10 13 11 PALM allows the output of various data (e.g. cross sections, vertical profiles, timeseries, etc.) into different files. 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. … … 26 24 }}} 27 25 {{{#!td 28 [wiki:doc/app/d3par#averaging_interval averaging_interval], (or [wiki:doc/app/d3par#averaging_interval_pr averaging_interval_pr]), [wiki:doc/app/d3par# data_output_format data_output_format], [wiki:doc/app/d3par#dt_averaging_input dt_averaging_input], [wiki:doc/app/d3par#dt_averaging_input_pr dt_averaging_input_pr], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/d3par#skip_time_dopr skip_time_dopr]), [wiki:doc/app/inipar#statistic_regions statistic_regions]26 [wiki:doc/app/d3par#averaging_interval averaging_interval], (or [wiki:doc/app/d3par#averaging_interval_pr averaging_interval_pr]), [wiki:doc/app/d3par#netcdf_data_format netcdf_data_format], [wiki:doc/app/d3par#dt_averaging_input dt_averaging_input], [wiki:doc/app/d3par#dt_averaging_input_pr dt_averaging_input_pr], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/d3par#skip_time_dopr skip_time_dopr]), [wiki:doc/app/inipar#statistic_regions statistic_regions] 29 27 }}} 30 28 |---------------- … … 39 37 }}} 40 38 {{{#!td 41 [wiki:doc/app/d3par# data_output_format data_output_format], [wiki:doc/app/inipar#statistic_regions statistic_regions]39 [wiki:doc/app/d3par#netcdf_data_format netcdf_data_format], [wiki:doc/app/inipar#statistic_regions statistic_regions] 42 40 }}} 43 41 |---------------- … … 52 50 }}} 53 51 {{{#!td 54 [wiki:doc/app/d3par#averaging_interval averaging_interval] (or [wiki:doc/app/sppar#averaging_interval_sp averaging_interval_sp]), [wiki:doc/app/d3par# data_output_format data_output_format], [wiki:doc/app/d3par#dt_averaging_input_pr dt_averaging_input_pr], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/sppar#skip_time_dosp skip_time_dosp])52 [wiki:doc/app/d3par#averaging_interval averaging_interval] (or [wiki:doc/app/sppar#averaging_interval_sp averaging_interval_sp]), [wiki:doc/app/d3par#netcdf_data_format netcdf_data_format], [wiki:doc/app/d3par#dt_averaging_input_pr dt_averaging_input_pr], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/sppar#skip_time_dosp skip_time_dosp]) 55 53 }}} 56 54 |---------------- … … 65 63 }}} 66 64 {{{#!td 67 [wiki:doc/app/d3par# data_output_format data_output_format], [wiki:doc/app/d3par#data_output_2d_on_each_pe data_output_2d_on_each_pe], [wiki:doc/app/d3par#do2d_at_begin do2d_at_begin], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/d3par#skip_time_do2d_xy skip_time_do2d_xy])65 [wiki:doc/app/d3par#netcdf_data_format netcdf_data_format], [wiki:doc/app/d3par#data_output_2d_on_each_pe data_output_2d_on_each_pe], [wiki:doc/app/d3par#do2d_at_begin do2d_at_begin], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/d3par#skip_time_do2d_xy skip_time_do2d_xy]) 68 66 }}} 69 67 |---------------- … … 78 76 }}} 79 77 {{{#!td 80 [wiki:doc/app/d3par#averaging_interval averaging_interval], [wiki:doc/app/d3par#dt_averaging_input dt_averaging_input], [wiki:doc/app/d3par# data_output_format data_output_format], [wiki:doc/app/d3par#data_output_2d_on_each_pe data_output_2d_on_each_pe], [wiki:doc/app/d3par#do2d_at_begin do2d_at_begin], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/d3par#skip_time_data_output_av skip_time_data_output_av], or [wiki:doc/app/d3par#skip_time_do2d_xy skip_time_do2d_xy])78 [wiki:doc/app/d3par#averaging_interval averaging_interval], [wiki:doc/app/d3par#dt_averaging_input dt_averaging_input], [wiki:doc/app/d3par#netcdf_data_format netcdf_data_format], [wiki:doc/app/d3par#data_output_2d_on_each_pe data_output_2d_on_each_pe], [wiki:doc/app/d3par#do2d_at_begin do2d_at_begin], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/d3par#skip_time_data_output_av skip_time_data_output_av], or [wiki:doc/app/d3par#skip_time_do2d_xy skip_time_do2d_xy]) 81 79 }}} 82 80 |---------------- … … 91 89 }}} 92 90 {{{#!td 93 [wiki:doc/app/d3par# data_output_format data_output_format], [wiki:doc/app/d3par#data_output_2d_on_each_pe data_output_2d_on_each_pe], [wiki:doc/app/d3par#do2d_at_begin do2d_at_begin], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output], ([wiki:doc/app/d3par#skip_time_do2d_xz skip_time_do2d_xz]91 [wiki:doc/app/d3par#netcdf_data_format netcdf_data_format], [wiki:doc/app/d3par#data_output_2d_on_each_pe data_output_2d_on_each_pe], [wiki:doc/app/d3par#do2d_at_begin do2d_at_begin], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output], ([wiki:doc/app/d3par#skip_time_do2d_xz skip_time_do2d_xz] 94 92 }}} 95 93 |---------------- … … 104 102 }}} 105 103 {{{#!td 106 [wiki:doc/app/d3par#averaging_interval averaging_interval], [wiki:doc/app/d3par#dt_averaging_input dt_averaging_input], [wiki:doc/app/d3par# data_output_format data_output_format], [wiki:doc/app/d3par#data_output_3d_on_each_pe data_output_on_each_pe], [wiki:doc/app/d3par#do2d_at_begin do2d_at_begin], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/d3par#skip_time_data_output_av skip_time_data_output_av], or [wiki:doc/app/d3par#skip_time_do2d_xz])104 [wiki:doc/app/d3par#averaging_interval averaging_interval], [wiki:doc/app/d3par#dt_averaging_input dt_averaging_input], [wiki:doc/app/d3par#netcdf_data_format netcdf_data_format], [wiki:doc/app/d3par#data_output_3d_on_each_pe data_output_on_each_pe], [wiki:doc/app/d3par#do2d_at_begin do2d_at_begin], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/d3par#skip_time_data_output_av skip_time_data_output_av], or [wiki:doc/app/d3par#skip_time_do2d_xz]) 107 105 }}} 108 106 |---------------- … … 117 115 }}} 118 116 {{{#!td 119 [wiki:doc/app/d3par# data_output_format data_output_format], [wiki:doc/app/d3par#data_output_2d_on_each_pe data_output_2d_on_each_pe], [wiki:doc/app/d3par#do2d_at_begin do2d_at_begin], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/d3par#skip_time_do2d_yz skip_time_do2d_yz]117 [wiki:doc/app/d3par#netcdf_data_format netcdf_data_format], [wiki:doc/app/d3par#data_output_2d_on_each_pe data_output_2d_on_each_pe], [wiki:doc/app/d3par#do2d_at_begin do2d_at_begin], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/d3par#skip_time_do2d_yz skip_time_do2d_yz] 120 118 }}} 121 119 |---------------- … … 130 128 }}} 131 129 {{{#!td 132 [wiki:doc/app/d3par#averaging_interval averaging_interval], [wiki:doc/app/d3par#dt_averaging_input dt_averaging_input], [wiki:doc/app/d3par# data_output_format data_output_format], [wiki:doc/app/d3par#data_output_2d_on_each_pe data_output_2d_on_each_pe], [wiki:doc/app/d3par#do2d_at_begin do2d_at_begin], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/d3par#skip_time_data_output_av skip_time_data_output_av], or [wiki:doc/app/d3par#skip_time_do2d_yz skip_time_do2d_yz], or [wiki:doc/app/d3par#skip_time_do2d_yz skip_time_do2d_yz])130 [wiki:doc/app/d3par#averaging_interval averaging_interval], [wiki:doc/app/d3par#dt_averaging_input dt_averaging_input], [wiki:doc/app/d3par#netcdf_data_format netcdf_data_format], [wiki:doc/app/d3par#data_output_2d_on_each_pe data_output_2d_on_each_pe], [wiki:doc/app/d3par#do2d_at_begin do2d_at_begin], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/d3par#skip_time_data_output_av skip_time_data_output_av], or [wiki:doc/app/d3par#skip_time_do2d_yz skip_time_do2d_yz], or [wiki:doc/app/d3par#skip_time_do2d_yz skip_time_do2d_yz]) 133 131 }}} 134 132 |---------------- … … 143 141 }}} 144 142 {{{#!td 145 [wiki:doc/app/d3par# data_output_format data_output_format], [wiki:doc/app/d3par#do3d_at_begin do3d_at_begin], [wiki:doc/app/inipar#nz_do3d nz_do3d], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/d3par#skip_time_do3d skip_time_do3d])143 [wiki:doc/app/d3par#netcdf_data_format netcdf_data_format], [wiki:doc/app/d3par#do3d_at_begin do3d_at_begin], [wiki:doc/app/inipar#nz_do3d nz_do3d], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/d3par#skip_time_do3d skip_time_do3d]) 146 144 }}} 147 145 |---------------- … … 156 154 }}} 157 155 {{{#!td 158 [wiki:doc/app/d3par#averaging_interval averaging_interval], [wiki:doc/app/d3par#dt_averaging_input dt_averaging_input], [wiki:doc/app/d3par# data_output_format data_output_format], [wiki:doc/app/d3par#do3d_at_begin do3d_at_begin], [wiki:doc/app/inipar#nz_do3d nz_do3d], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/d3par#skip_time_data_output_av skip_time_data_output_av], or [wiki:doc/app/d3par#skip_time_do3d skip_time_do3d])156 [wiki:doc/app/d3par#averaging_interval averaging_interval], [wiki:doc/app/d3par#dt_averaging_input dt_averaging_input], [wiki:doc/app/d3par#netcdf_data_format netcdf_data_format], [wiki:doc/app/d3par#do3d_at_begin do3d_at_begin], [wiki:doc/app/inipar#nz_do3d nz_do3d], [wiki:doc/app/d3par#skip_time_data_output skip_time_data_output] (or [wiki:doc/app/d3par#skip_time_data_output_av skip_time_data_output_av], or [wiki:doc/app/d3par#skip_time_do3d skip_time_do3d]) 159 157 }}} 160 158 |----------------