Ignore:
Timestamp:
Mar 13, 2007 2:52:40 AM (18 years ago)
Author:
raasch
Message:

Id string added to all html files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/DOC/app/chapter_4.5.1.html

    r54 r62  
    11<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    22<html><head>
    3 <meta content="text/html; charset=windows-1252" http-equiv="CONTENT-TYPE"><title>PALM chapter 4.5.1</title> <meta content="StarOffice 7 (Win32)" name="GENERATOR"> <meta content="Siegfried Raasch" name="AUTHOR"> <meta content="20041022;12155949" name="CREATED"> <meta content="20041117;11232134" name="CHANGED"> <meta content="parallel LES model" name="KEYWORDS"> <style>
     3<meta content="text/html; charset=windows-1252" http-equiv="CONTENT-TYPE"><title>PALM chapter 4.5.1</title>
     4<meta content="StarOffice 7 (Win32)" name="GENERATOR">
     5<meta content="Siegfried Raasch" name="AUTHOR"> <meta content="20041022;12155949" name="CREATED"> <meta content="20041117;11232134" name="CHANGED"> <meta content="parallel LES model" name="KEYWORDS"> <style>
    46<!--
    57@page { size: 21cm 29.7cm }
     
    1618self-describing, <span style="font-weight: bold;">portable</span>
    1719objects that can be accessed through a simple interface (protable means
    18 that NetCDF data files can be read on any machine regardless of where they
     20that NetCDF data files can be read on any machine regardless of where
     21they
    1922have been created). Array values may be accessed directly, without
    2023knowing details of how the data are stored. Auxiliary information about
     
    2629(see <a href="#ncdump">further below</a>).
    2730Many (public domain) graphic software has built in interfaces to read
    28 NetCDF datasets (e.g. <span style="font-weight: bold;">ferret</span> or <span style="font-weight: bold;">NCL</span>). The complete NetCDF documentation
     31NetCDF datasets (e.g. <span style="font-weight: bold;">ferret</span>
     32or <span style="font-weight: bold;">NCL</span>).
     33The complete NetCDF documentation
    2934is available from the <a href="http://www.unidata.ucar.edu/packages/netcdf/docs.html">NetCDF
    3035homepage</a>. The NetCDF tutorial for FORTRAN90 can also be found
     
    4853different files. The following table gives an overview about the
    4954different kind of NetCDF output data offered by PALM. Beside the local
    50 names of the files, the table also lists the minimum parameter settings which
     55names of the files, the table also lists the minimum parameter settings
     56which
    5157are necessary to switch on the output, as well as the parameters to be
    5258used to control the output.<br><br><table style="text-align: left; width: 750px; height: 226px;" border="1" cellpadding="2" cellspacing="2"><tbody><tr><td align="left" valign="top"><span style="font-weight: bold;">kind of data</span></td><td align="left" valign="top"><span style="font-weight: bold;">local filename</span></td><td align="left" valign="top"><span style="font-weight: bold;">parameter settings necessary to
     
    6167<a href="chapter_4.2.html#skip_time_data_output">skip_time_data_output</a>
    6268(or <a href="chapter_4.2.html#skip_time_dopr">skip_time_dopr</a>),
    63 <a href="chapter_4.1.html#statistic_regions">statistic_regions</a></td></tr><tr><td align="left" valign="top">timeseries</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_1D_TS_NETCDF">DATA_1D_TS_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#dt_dots">dt_dots</a></td><td align="left" valign="top"><a href="chapter_4.2.html#data_output_format">data_output_format</a>, <a href="chapter_4.1.html#statistic_regions">statistic_regions</a></td></tr><tr><td align="left" valign="top">spectra</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_1D_SP_NETCDF">DATA_1D_SP_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#comp_spectra_level">comp_spectra_level</a>,
     69<a href="chapter_4.1.html#statistic_regions">statistic_regions</a></td></tr><tr><td align="left" valign="top">timeseries</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_1D_TS_NETCDF">DATA_1D_TS_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#dt_dots">dt_dots</a></td><td align="left" valign="top"><a href="chapter_4.2.html#data_output_format">data_output_format</a>,
     70<a href="chapter_4.1.html#statistic_regions">statistic_regions</a></td></tr><tr><td align="left" valign="top">spectra</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_1D_SP_NETCDF">DATA_1D_SP_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#comp_spectra_level">comp_spectra_level</a>,
    6471<a href="chapter_4.2.html#data_output_sp">data_output_sp</a>,
    6572<a href="chapter_4.2.html#dt_data_output">dt_data_output</a>
     
    148155<a href="chapter_4.2.html#nz_do3d">nz_do3d</a>, <a href="chapter_4.2.html#skip_time_data_output">skip_time_data_output</a>
    149156(or <a href="chapter_4.2.html#skip_time_data_output_av">skip_time_data_output_av</a>,
    150 or <a href="chapter_4.2.html#skip_time_do3d">skip_time_do3d</a>)</td></tr><tr><td align="undefined" valign="undefined">particle timeseries</td><td style="vertical-align: top;"><a href="chapter_3.4.html#DATA_1D_PTS_NETCDF">DATA_1D_PTS_NETCDF</a></td><td style="vertical-align: top;"><a href="chapter_4.2.html#dt_data_output">dt_data_output</a> (or <a href="chapter_4.2.html#dt_dopts">dt_dopts</a>)</td><td align="undefined" valign="undefined"></td></tr><tr><td align="left" valign="top">particle attributes</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_PRT_NETCDF">DATA_PRT_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#dt_write_particle_data">dt_write_particle_data</a></td><td align="left" valign="top"></td></tr></tbody></table><br><br><span style="font-weight: bold;">Creating, contents and
     157or <a href="chapter_4.2.html#skip_time_do3d">skip_time_do3d</a>)</td></tr><tr><td align="undefined" valign="undefined">particle
     158timeseries</td><td style="vertical-align: top;"><a href="chapter_3.4.html#DATA_1D_PTS_NETCDF">DATA_1D_PTS_NETCDF</a></td><td style="vertical-align: top;"><a href="chapter_4.2.html#dt_data_output">dt_data_output</a>
     159(or <a href="chapter_4.2.html#dt_dopts">dt_dopts</a>)</td><td align="undefined" valign="undefined"></td></tr><tr><td align="left" valign="top">particle attributes</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_PRT_NETCDF">DATA_PRT_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#dt_write_particle_data">dt_write_particle_data</a></td><td align="left" valign="top"></td></tr></tbody></table><br><br><span style="font-weight: bold;">Creating, contents and
    151160post-processing of a PALM NetCDF file</span><br><br>This
    152161section describes, step-by-step, the creation, storage, and
     
    184193output of time-averaged data, the string <span style="font-style: italic;">'_av'</span> has to be
    185194additionally appended to the respective name string (see <a href="chapter_4.2.html#data_output">data_output</a>).<br><br><br></li><li>
    186 <p style="line-height: 100%;">Instantaneous data are output in NetCDF
     195<p style="line-height: 100%;">Instantaneous data are
     196output in NetCDF
    187197format
    188198into the
     
    213223additional file suffix, should be the string <span style="font-style: italic;">'nc'</span>, because many
    214224application programs expect NetCDF files to have the file extension <span style="font-style: italic;">'.nc'</span>. (This
    215 additional suffix given in the 6th column is always put at the very end of the filename, even
    216 in case of cycle numbers.)<br><br>Time averaged data are output into local file&nbsp;<a href="chapter_3.4.html#DATA_2D_XY_AV_NETCDF">DATA_2D_XY_AV_NETCDF</a> which requires an additional file connection statement<br><br><span style="font-family: monospace;">&nbsp;&nbsp; DATA_2D_XY_AV_NETCDF out:loc:tr&nbsp; xy#&nbsp; ~/$fname/OUTPUT/$fname&nbsp; _xy_av nc&nbsp;&nbsp; .</span><br></p></li><li>With
     225additional suffix given in the 6th column is always put at the very end
     226of the filename, even
     227in case of cycle numbers.)<br><br>Time averaged data are
     228output into local file&nbsp;<a href="chapter_3.4.html#DATA_2D_XY_AV_NETCDF">DATA_2D_XY_AV_NETCDF</a>
     229which requires an additional file connection statement<br><br><span style="font-family: monospace;">&nbsp;&nbsp;
     230DATA_2D_XY_AV_NETCDF out:loc:tr&nbsp; xy#&nbsp;
     231~/$fname/OUTPUT/$fname&nbsp; _xy_av nc&nbsp;&nbsp; .</span><br></p></li><li>With
    217232parallel runs and choice of <a href="chapter_4.2.html#data_output_2d_on_each_pe">data_output_2d_on_each_pe</a>
    218233= <i>.T.</i>
     
    223238PLOT2D_XY_0000). These files have FORTRAN binary format. After PALM has
    224239finished, their content is merged into the final local destination file
    225 DATA_2D_XY_NETCDF by the program <span style="font-family: monospace;">combine_plot_fields</span>.&nbsp;<span style="font-weight: bold;"></span>This is done by adding the following output command to the configuration file:<br><br><span style="font-family: monospace;">&nbsp; &nbsp;OC:[[$
     240DATA_2D_XY_NETCDF by the program <span style="font-family: monospace;">combine_plot_fields</span>.&nbsp;<span style="font-weight: bold;"></span>This is done by
     241adding the following output command to the configuration file:<br><br><span style="font-family: monospace;">&nbsp; &nbsp;OC:[[$
    226242( echo $localhost | cut -c1-3 ) = imbh ]] &amp;&amp;
    227243combine_plot_fields.x &nbsp; &nbsp; .</span><br><br>Using
     
    255271display of NetCDF datasets. One of the easiest ways to display the PALM
    256272data is the <a style="font-family: monospace;" href="http://ferret.wrc.noaa.gov/Ferret/">ferret</a>
    257 graphical user interface (GUI). On the IMUK-Linux-cluster, this can be called by
     273graphical user interface (GUI). On the IMUK-Linux-cluster, this can be
     274called by
    258275executing the command<br><br><span style="font-family: monospace;">&nbsp; &nbsp;ferret
    259276-gui &nbsp; &nbsp; .</span><br><br><span style="font-family: monospace;">ferret</span> is also
     
    268285as soon as available.<br><br><br></li><li><a name="netcdf_example_program"></a>One
    269286of the most flexible general ways for postprocessing NetCDF data
    270 is&nbsp;reading these data into a FORTRAN program. The&nbsp;<font color="#000000"></font><a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/read_palm_netcdf_data.f90"><font color="#000080">example program</font></a> shows how to read 2d or 3d NetCDF datasets created by PALM. Compiling this program requires that the
     287is&nbsp;reading these data into a FORTRAN program. The&nbsp;<a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/read_palm_netcdf_data.f90"><font color="#000080">example program</font></a> shows
     288how to read 2d or 3d NetCDF datasets created by PALM. Compiling this
     289program requires that the
    271290NetCDF library is installed (if neccessary, please ask your system
    272 administrator). Some compilation instructions are given in the header of the
     291administrator). Some compilation instructions are given in the header
     292of the
    273293example program.<br><br><br></li><li>By
    274294default, each PALM job creates its own NetCDF files. If permanent files
     
    276296higher cycle numbers will be created. However, in case of a job chain,
    277297it is possible to extend the NetCDF datasets created by the initial
    278 run&nbsp;with data from the restart run(s). As a result, data of all
     298run&nbsp;with data from the restart run(s). As a result, data of
     299all
    279300output times of the complete job chain are contained in one file and
    280301the number of data files to be handled by the user may be reduced
    281 significantly.<br>To extend a NetCDF dataset (created by a previous run
     302significantly.<br>To extend a NetCDF dataset (created by a
     303previous run
    282304of a job chain) with data from the current run requires that this
    283305dataset must be provided as an INPUT file. This may be difficult in
    284306case that PALM is running on a remote host because typically the output
    285 data files from the previous run have been already transferred by <span style="font-weight: bold;">mrun</span> to the local workstation with a file connection statement like<br><br><span style="font-family: monospace;">&nbsp;
    286 &nbsp;DATA_2D_XY_NETCDF &nbsp;out:loc:tr&nbsp;&nbsp;xy#:xyf
    287 &nbsp;~/palm/current_version/JOBS/$fname/OUTPUT &nbsp;_xy&nbsp; nc</span><br><br>and thus they are not available on the remote host any more. <br>A
     307data files from the previous run have been already transferred by <span style="font-weight: bold;">mrun</span> to the local
     308workstation with a file connection statement like<br><br><span style="font-family: monospace;">&nbsp;
     309&nbsp;DATA_2D_XY_NETCDF
     310&nbsp;out:loc:tr&nbsp;&nbsp;xy#:xyf
     311&nbsp;~/palm/current_version/JOBS/$fname/OUTPUT
     312&nbsp;_xy&nbsp; nc</span><br><br>and thus
     313they are not available on the remote host any more. <br>A
    288314workaround for solving this problem is to create an additional copy of
    289315the output file on the remote machine by adding the file connection
    290 statement<br><br><span style="font-family: monospace;">&nbsp;&nbsp; DATA_2D_XY_NETCDF&nbsp; out:loc&nbsp; xy#:xyf&nbsp; ~/palm/current_version/JOBS/$fname/OUTPUT&nbsp; _xy&nbsp; nc</span><br><br>This additional copy can then be accessed from a restart job as an input file using the file connection statement<br><br><span style="font-family: monospace;">&nbsp;&nbsp; DATA_2D_XY_NETCDF&nbsp; in:locopt&nbsp;&nbsp;xyf&nbsp; ~/palm/current_version/JOBS/$fname/OUTPUT&nbsp; _xy&nbsp; nc</span><br><br>Here the file attribut <span style="font-family: monospace;">locopt</span>
     316statement<br><br><span style="font-family: monospace;">&nbsp;&nbsp;
     317DATA_2D_XY_NETCDF&nbsp; out:loc&nbsp; xy#:xyf&nbsp;
     318~/palm/current_version/JOBS/$fname/OUTPUT&nbsp; _xy&nbsp; nc</span><br><br>This
     319additional copy can then be accessed from a restart job as an input
     320file using the file connection statement<br><br><span style="font-family: monospace;">&nbsp;&nbsp;
     321DATA_2D_XY_NETCDF&nbsp; in:locopt&nbsp;&nbsp;xyf&nbsp;
     322~/palm/current_version/JOBS/$fname/OUTPUT&nbsp; _xy&nbsp; nc</span><br><br>Here
     323the file attribut <span style="font-family: monospace;">locopt</span>
    291324(2nd column) guarantees that the job continues if a permanent file does
    292325not exist (e.g. in case of an initial run). Otherwise, the job would be
    293 aborted.<br>Although the dataset created by the last run of a job chain
     326aborted.<br>Although the dataset created by the last run of a job
     327chain
    294328will contain data from all selected time levels of the complete job
    295329chain, the main disadvantage of this workaround is that the datasets
     
    297331and may consume large disc space. They have to be deleted "by hand" by
    298332the user on the local machine as well as on the remote
    299 machine&nbsp;because they only contain redundant data from the earlier
    300 time levels which are already contained&nbsp;in the dataset created by
    301 the last job of the job chain.<br><br><span style="font-weight: bold;">Note:</span><br>Extension of PALM NetCDF datasets of 2d horizontal cross sections requires that parameters <a href="chapter_4.2.html#data-output">data_output</a> and <a href="chapter_4.2.html#section_xy">section_xy</a>&nbsp;
     333machine&nbsp;because they only contain redundant data from the
     334earlier
     335time levels which are already contained&nbsp;in the dataset created
     336by
     337the last job of the job chain.<br><br><span style="font-weight: bold;">Note:</span><br>Extension
     338of PALM NetCDF datasets of 2d horizontal cross sections requires that
     339parameters <a href="chapter_4.2.html#data-output">data_output</a>
     340and <a href="chapter_4.2.html#section_xy">section_xy</a>&nbsp;
    302341for the restart runs are set identical to the initial run. In case of a
    303342value mismatch between initial and restart runs, a warning is issued in
    304343the job protocol file and the dataset will contain only data from those
    305 timelevels calculated within the restart run.<br>Similar restrictions apply for all other PALM NetCDF datasets (i.e. profiles, vertical cross sections, volume data, etc.).</li></ol><br>&nbsp;<br><span style="font-weight: bold;"><a name="NetCDF_example"></a>Example of a PALM NetCDF dataset</span><br><br>The
     344timelevels calculated within the restart run.<br>Similar
     345restrictions apply for all other PALM NetCDF datasets (i.e. profiles,
     346vertical cross sections, volume data, etc.).</li></ol><br>&nbsp;<br><span style="font-weight: bold;"><a name="NetCDF_example"></a>Example
     347of a PALM NetCDF dataset</span><br><br>The
    306348NetCDF dataset described here contains data of instantaneous horizontal
    307349cross sections and has been created using the settings of the <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/example_p3d">example
     
    3093514.4</a>),
    310352i.e. it contains section data of the w-velocity-component and of the
    311 potential temperature for vertical grid levels with index <span style="font-family: monospace;">k = 2</span> and <span style="font-family: monospace;">k = 10</span>, selected by the respective parameter settings <a href="chapter_4.2.html#data_output">data_output</a> = <span style="font-style: italic;">'w_xy'</span>, <span style="font-style: italic;">'pt_xy'</span>, and <a href="chapter_4.2.html#section_xy">section_xy</a> = <span style="font-style: italic;">2</span>, <span style="font-style: italic;">10</span>. Output has been created after every 900 s (<a href="chapter_4.2.html#dt_data_output">dt_data_output</a> = <span style="font-style: italic;">900.0</span>). Because of <a href="chapter_4.2.html#end_time">end_time</a> = <span style="font-style: italic;">3600.0</span>, the file contains data of 4 time levels (t = 900, 1800, 2700, 3600 s).<br>Supposed that the name of the NetCDF dataset is <span style="font-family: monospace;">example_xy.nc</span>, an analysis of the file contents using the command<br><br><span style="font-family: monospace;">&nbsp; &nbsp;ncdump -c example_xy.nc</span><br><br>will create the following output. The original ncdump output is displayed using <span style="font-family: monospace;">fixed spacing</span>, additional explanations are given in <span style="font-style: italic; font-family: monospace;">italian</span>.<br><br><div style="margin-left: 40px;"><span style="font-family: monospace;">netcdf&nbsp;example_xy { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="font-style: italic;">! filename</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">dimensions: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="font-style: italic;">! 41 gridpoints along x and y, 4 timelevels</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; time = UNLIMITED ; // (4 currently) &nbsp; &nbsp;<span style="font-style: italic;">! unlimited means that&nbsp;additional time levels can be added (e.g. by</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;
    312 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
    313 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
    314 &nbsp;<span style="font-style: italic;">! restart jobs)</span><br>&nbsp;&nbsp;&nbsp; zu_xy = 2 ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="font-style: italic;">! vertical dimension (2, because two cross sections are selected);</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; zw_xy = 2 ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="font-style: italic;">! there are two different vertical dimensions zu and zw because due</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; zu1_xy = 1 ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! to the staggered grid the z-levels of variables are those of the</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
    315 x = 41 ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
    316 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! u- or the w-component of the velocity</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; y = 41 ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">variables: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! precision, dimensions, and units of the variables</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; double time(time) ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="font-style: italic;">! the variables containing the time levels and grid point coordinates</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; time:units = "seconds" ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! have the same names as the respective dimensions</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; double zu_xy(zu_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; zu_xy:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; double zw_xy(zw_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; zw_xy:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; double zu1_xy(zu1_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; zu1_xy:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; double ind_z_xy(zu_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ind_z_xy:units = "gridpoints" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; double x(x) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; x:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; double y(y) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; y:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; float w_xy(time, zw_xy, y, x) ; &nbsp; &nbsp; &nbsp; &nbsp;<span style="font-style: italic;">! array of the vertical velocity; it has 4 dimensions: x and y,</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; w_xy:long_name = "w_xy" ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="font-style: italic;">! because it is a horizontal cross section, zw_xy, which defines</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; w_xy:units = "m/s" ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! the vertical levels of the sections, and time, for the time levels</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; float pt_xy(time, zu_xy, y, x) ; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! array of the potential temperature, which is defined on the u-grid</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pt_xy:long_name = "pt_xy" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pt_xy:units = "K" ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">// global attributes:</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; :Conventions = "COARDS" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
    317 &nbsp;&nbsp;&nbsp; :title = "PALM&nbsp;&nbsp; 3.0&nbsp; run:
    318 example.00&nbsp; host: ibmh&nbsp; 13-04-06 15:12:43" ; &nbsp;<span style="font-style: italic;">! PALM run-identifier</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; :VAR_LIST = ";w_xy;pt_xy;" ; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! the list of output quantities contained in this dataset;</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;
    319 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
    320 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
    321 &nbsp;<span style="font-style: italic;">! this global attribute can be used by FORTRAN programs to identify</span><br>&nbsp;
    322 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
    323 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
    324 &nbsp;<span style="font-style: italic;">! and read the quantities contained in the file</span><br>data:</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;time = 905.3, 1808.98, 2711.98, 3603.59 ; <span style="font-style: italic;">! values of the four time levels</span></span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;zu_xy = 75, 475 ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! heights of the two selected cross sections (u-grid)</span></span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;zw_xy = 100, 500 ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;zu1_xy = 25 ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;x = 0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, &nbsp; <span style="font-style: italic;">! x-coordinates of the gridpoints</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, </span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; 1400, 1450, 1500, 1550, 1600, 1650, 1700, 1750, 1800, 1850, 1900, 1950, </span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; 2000 ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;y = 0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, </span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, </span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; 1400, 1450, 1500, 1550, 1600, 1650, 1700, 1750, 1800, 1850, 1900, 1950, </span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; 2000 ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">}</span><br></div><br>If the option <span style="font-family: monospace;">-c</span> is omitted in the <span style="font-family: monospace;">ncdump</span> call, then also the complete grid point data of all quantities are output to the terminal.<br><br>The &nbsp;<a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/read_palm_netcdf_data.f90"><font color="#000080">example program</font></a><span style="font-weight: bold;"></span> shows how to read this 2d
     353potential temperature for vertical grid levels with index <span style="font-family: monospace;">k = 2</span> and <span style="font-family: monospace;">k = 10</span>,
     354selected by the respective parameter settings <a href="chapter_4.2.html#data_output">data_output</a> = <span style="font-style: italic;">'w_xy'</span>, <span style="font-style: italic;">'pt_xy'</span>, and <a href="chapter_4.2.html#section_xy">section_xy</a> = <span style="font-style: italic;">2</span>, <span style="font-style: italic;">10</span>. Output has been
     355created after every 900 s (<a href="chapter_4.2.html#dt_data_output">dt_data_output</a>
     356= <span style="font-style: italic;">900.0</span>).
     357Because of <a href="chapter_4.2.html#end_time">end_time</a>
     358= <span style="font-style: italic;">3600.0</span>,
     359the file contains data of 4 time levels (t = 900, 1800, 2700, 3600 s).<br>Supposed
     360that the name of the NetCDF dataset is <span style="font-family: monospace;">example_xy.nc</span>,
     361an analysis of the file contents using the command<br><br><span style="font-family: monospace;">&nbsp; &nbsp;ncdump
     362-c example_xy.nc</span><br><br>will create the
     363following output. The original ncdump output is displayed using <span style="font-family: monospace;">fixed spacing</span>,
     364additional explanations are given in <span style="font-style: italic; font-family: monospace;">italian</span>.<br><br><div style="margin-left: 40px;"><span style="font-family: monospace;">netcdf&nbsp;example_xy {
     365&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     366&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="font-style: italic;">! filename</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">dimensions: &nbsp;
     367&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     368&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     369&nbsp; &nbsp; &nbsp;<span style="font-style: italic;">!
     37041 gridpoints along x and y, 4 timelevels</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     371time = UNLIMITED ; // (4 currently) &nbsp; &nbsp;<span style="font-style: italic;">! unlimited means
     372that&nbsp;additional time levels can be added (e.g. by</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;
     373&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     374&nbsp; &nbsp; &nbsp; &nbsp;
     375&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     376&nbsp; &nbsp; &nbsp; &nbsp;
     377&nbsp;<span style="font-style: italic;">! restart jobs)</span><br>&nbsp;&nbsp;&nbsp;
     378zu_xy = 2 ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     379&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     380&nbsp; &nbsp; &nbsp;<span style="font-style: italic;">!
     381vertical dimension (2, because two cross sections are selected);</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     382zw_xy = 2 ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     383&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     384&nbsp; &nbsp; &nbsp;<span style="font-style: italic;">!
     385there are two different vertical dimensions zu and zw because due</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     386zu1_xy = 1 ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     387&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     388&nbsp; &nbsp; <span style="font-style: italic;">!
     389to the staggered grid the z-levels of variables are those of the</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     390x = 41 ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     391&nbsp; &nbsp; &nbsp; &nbsp;
     392&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! u- or the w-component of the
     393velocity</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     394y = 41 ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">variables: &nbsp;
     395&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     396&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     397&nbsp; &nbsp; &nbsp; <span style="font-style: italic;">!
     398precision, dimensions, and units of the variables</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     399double time(time) ; &nbsp; &nbsp; &nbsp; &nbsp;
     400&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="font-style: italic;">! the variables containing the
     401time levels and grid point coordinates</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     402&nbsp;&nbsp;&nbsp; time:units = "seconds" ; &nbsp;
     403&nbsp; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! have the same names as the
     404respective dimensions</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     405double zu_xy(zu_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     406&nbsp;&nbsp;&nbsp; zu_xy:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     407double zw_xy(zw_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     408&nbsp;&nbsp;&nbsp; zw_xy:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     409double zu1_xy(zu1_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     410&nbsp;&nbsp;&nbsp; zu1_xy:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     411double ind_z_xy(zu_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     412&nbsp;&nbsp;&nbsp; ind_z_xy:units = "gridpoints" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     413double x(x) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     414&nbsp;&nbsp;&nbsp; x:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     415double y(y) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     416&nbsp;&nbsp;&nbsp; y:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     417float w_xy(time, zw_xy, y, x) ; &nbsp; &nbsp; &nbsp;
     418&nbsp;<span style="font-style: italic;">! array of the
     419vertical velocity; it has 4 dimensions: x and y,</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     420&nbsp;&nbsp;&nbsp; w_xy:long_name = "w_xy" ; &nbsp;
     421&nbsp; &nbsp; &nbsp; &nbsp;<span style="font-style: italic;">! because it is a horizontal
     422cross section, zw_xy, which defines</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     423&nbsp;&nbsp;&nbsp; w_xy:units = "m/s" ; &nbsp;
     424&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! the vertical levels of the
     425sections, and time, for the time levels</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     426float pt_xy(time, zu_xy, y, x) ; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! array of the potential
     427temperature, which is defined on the u-grid</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     428&nbsp;&nbsp;&nbsp; pt_xy:long_name = "pt_xy" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     429&nbsp;&nbsp;&nbsp; pt_xy:units = "K" ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">// global attributes:</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     430&nbsp;&nbsp;&nbsp; :Conventions = "COARDS" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     431&nbsp;&nbsp;&nbsp; :title = "PALM&nbsp;&nbsp;
     4323.0&nbsp; run:
     433example.00&nbsp; host: ibmh&nbsp; 13-04-06 15:12:43" ;
     434&nbsp;<span style="font-style: italic;">! PALM
     435run-identifier</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     436&nbsp;&nbsp;&nbsp; :VAR_LIST = ";w_xy;pt_xy;" ; &nbsp;
     437&nbsp; &nbsp; <span style="font-style: italic;">!
     438the list of output quantities contained in this dataset;</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;
     439&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     440&nbsp; &nbsp; &nbsp; &nbsp;
     441&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     442&nbsp; &nbsp; &nbsp; &nbsp;
     443&nbsp;<span style="font-style: italic;">! this global
     444attribute can be used by FORTRAN programs to identify</span><br>&nbsp;
     445&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     446&nbsp; &nbsp; &nbsp; &nbsp;
     447&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     448&nbsp; &nbsp; &nbsp; &nbsp;
     449&nbsp;<span style="font-style: italic;">! and read the
     450quantities contained in the file</span><br>data:</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;time = 905.3,
     4511808.98, 2711.98, 3603.59 ; <span style="font-style: italic;">!
     452values of the four time levels</span></span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;zu_xy = 75, 475 ;
     453&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
     454&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="font-style: italic;">! heights of the two selected
     455cross sections (u-grid)</span></span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;zw_xy = 100, 500 ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;zu1_xy = 25 ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;x = 0, 50, 100,
     456150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, &nbsp; <span style="font-style: italic;">! x-coordinates of the gridpoints</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     457750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300,
     4581350, </span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     4591400, 1450, 1500, 1550, 1600, 1650, 1700, 1750, 1800, 1850, 1900, 1950,
     460</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     4612000 ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;y = 0, 50, 100,
     462150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, </span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     463750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300,
     4641350, </span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     4651400, 1450, 1500, 1550, 1600, 1650, 1700, 1750, 1800, 1850, 1900, 1950,
     466</span><br style="font-family: monospace;"><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;
     4672000 ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">}</span><br></div><br>If
     468the option <span style="font-family: monospace;">-c</span>
     469is omitted in the <span style="font-family: monospace;">ncdump</span>
     470call, then also the complete grid point data of all quantities are
     471output to the terminal.<br><br>The &nbsp;<a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/INSTALL/read_palm_netcdf_data.f90"><font color="#000080">example program</font></a><span style="font-weight: bold;"></span> shows how to read
     472this 2d
    325473horizontal cross section dataset from a FORTRAN program (<a href="#netcdf_example_program">see above</a>).<br><hr>
    326 <p style="line-height: 100%;"><br><font color="#000080"><font color="#000080"><a href="chapter_4.5.html"><font color="#000080"><img name="Grafik1" src="left.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img name="Grafik2" src="up.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.5.2.html"><font color="#000080"><img style="border: 2px solid ; width: 32px; height: 32px;" alt="" name="Grafik3" src="right.gif"></font></a></font></font></p>
    327 <p style="line-height: 100%;"><span style="font-style: italic;">Last
    328 change:</span> 08/02/07 (SR)&nbsp;</p>
     474<p style="line-height: 100%;"><br><font color="#000080"><font color="#000080"><a href="chapter_4.5.html"><font color="#000080"><img name="Grafik1" src="left.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="index.html"><font color="#000080"><img name="Grafik2" src="up.gif" align="bottom" border="2" height="32" width="32"></font></a><a href="chapter_4.5.2.html"><font color="#000080"><img style="border: 2px solid ; width: 32px; height: 32px;" alt="" name="Grafik3" src="right.gif"></font></a></font></font></p><p style="line-height: 100%;"><span style="font-style: italic;">Last
     475change:</span> $Id$&nbsp;</p>
    329476</body></html>
Note: See TracChangeset for help on using the changeset viewer.