Changeset 62 for palm/trunk/DOC/app/chapter_4.5.1.html
- Timestamp:
- Mar 13, 2007 2:52:40 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/DOC/app/chapter_4.5.1.html
r54 r62 1 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 2 <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> 4 6 <!-- 5 7 @page { size: 21cm 29.7cm } … … 16 18 self-describing, <span style="font-weight: bold;">portable</span> 17 19 objects 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 20 that NetCDF data files can be read on any machine regardless of where 21 they 19 22 have been created). Array values may be accessed directly, without 20 23 knowing details of how the data are stored. Auxiliary information about … … 26 29 (see <a href="#ncdump">further below</a>). 27 30 Many (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 31 NetCDF datasets (e.g. <span style="font-weight: bold;">ferret</span> 32 or <span style="font-weight: bold;">NCL</span>). 33 The complete NetCDF documentation 29 34 is available from the <a href="http://www.unidata.ucar.edu/packages/netcdf/docs.html">NetCDF 30 35 homepage</a>. The NetCDF tutorial for FORTRAN90 can also be found … … 48 53 different files. The following table gives an overview about the 49 54 different 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 55 names of the files, the table also lists the minimum parameter settings 56 which 51 57 are necessary to switch on the output, as well as the parameters to be 52 58 used 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 … … 61 67 <a href="chapter_4.2.html#skip_time_data_output">skip_time_data_output</a> 62 68 (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>, 64 71 <a href="chapter_4.2.html#data_output_sp">data_output_sp</a>, 65 72 <a href="chapter_4.2.html#dt_data_output">dt_data_output</a> … … 148 155 <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> 149 156 (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 157 or <a href="chapter_4.2.html#skip_time_do3d">skip_time_do3d</a>)</td></tr><tr><td align="undefined" valign="undefined">particle 158 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> 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 151 160 post-processing of a PALM NetCDF file</span><br><br>This 152 161 section describes, step-by-step, the creation, storage, and … … 184 193 output of time-averaged data, the string <span style="font-style: italic;">'_av'</span> has to be 185 194 additionally 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 196 output in NetCDF 187 197 format 188 198 into the … … 213 223 additional file suffix, should be the string <span style="font-style: italic;">'nc'</span>, because many 214 224 application 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 <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;"> DATA_2D_XY_AV_NETCDF out:loc:tr xy# ~/$fname/OUTPUT/$fname _xy_av nc .</span><br></p></li><li>With 225 additional suffix given in the 6th column is always put at the very end 226 of the filename, even 227 in case of cycle numbers.)<br><br>Time averaged data are 228 output into local file <a href="chapter_3.4.html#DATA_2D_XY_AV_NETCDF">DATA_2D_XY_AV_NETCDF</a> 229 which requires an additional file connection statement<br><br><span style="font-family: monospace;"> 230 DATA_2D_XY_AV_NETCDF out:loc:tr xy# 231 ~/$fname/OUTPUT/$fname _xy_av nc .</span><br></p></li><li>With 217 232 parallel runs and choice of <a href="chapter_4.2.html#data_output_2d_on_each_pe">data_output_2d_on_each_pe</a> 218 233 = <i>.T.</i> … … 223 238 PLOT2D_XY_0000). These files have FORTRAN binary format. After PALM has 224 239 finished, 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>. <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;"> OC:[[$ 240 DATA_2D_XY_NETCDF by the program <span style="font-family: monospace;">combine_plot_fields</span>. <span style="font-weight: bold;"></span>This is done by 241 adding the following output command to the configuration file:<br><br><span style="font-family: monospace;"> OC:[[$ 226 242 ( echo $localhost | cut -c1-3 ) = imbh ]] && 227 243 combine_plot_fields.x .</span><br><br>Using … … 255 271 display of NetCDF datasets. One of the easiest ways to display the PALM 256 272 data 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 273 graphical user interface (GUI). On the IMUK-Linux-cluster, this can be 274 called by 258 275 executing the command<br><br><span style="font-family: monospace;"> ferret 259 276 -gui .</span><br><br><span style="font-family: monospace;">ferret</span> is also … … 268 285 as soon as available.<br><br><br></li><li><a name="netcdf_example_program"></a>One 269 286 of the most flexible general ways for postprocessing NetCDF data 270 is reading these data into a FORTRAN program. The <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 287 is reading these data into a FORTRAN program. The <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 288 how to read 2d or 3d NetCDF datasets created by PALM. Compiling this 289 program requires that the 271 290 NetCDF library is installed (if neccessary, please ask your system 272 administrator). Some compilation instructions are given in the header of the 291 administrator). Some compilation instructions are given in the header 292 of the 273 293 example program.<br><br><br></li><li>By 274 294 default, each PALM job creates its own NetCDF files. If permanent files … … 276 296 higher cycle numbers will be created. However, in case of a job chain, 277 297 it is possible to extend the NetCDF datasets created by the initial 278 run with data from the restart run(s). As a result, data of all 298 run with data from the restart run(s). As a result, data of 299 all 279 300 output times of the complete job chain are contained in one file and 280 301 the 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 302 significantly.<br>To extend a NetCDF dataset (created by a 303 previous run 282 304 of a job chain) with data from the current run requires that this 283 305 dataset must be provided as an INPUT file. This may be difficult in 284 306 case 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;"> 286 DATA_2D_XY_NETCDF out:loc:tr xy#:xyf 287 ~/palm/current_version/JOBS/$fname/OUTPUT _xy nc</span><br><br>and thus they are not available on the remote host any more. <br>A 307 data files from the previous run have been already transferred by <span style="font-weight: bold;">mrun</span> to the local 308 workstation with a file connection statement like<br><br><span style="font-family: monospace;"> 309 DATA_2D_XY_NETCDF 310 out:loc:tr xy#:xyf 311 ~/palm/current_version/JOBS/$fname/OUTPUT 312 _xy nc</span><br><br>and thus 313 they are not available on the remote host any more. <br>A 288 314 workaround for solving this problem is to create an additional copy of 289 315 the output file on the remote machine by adding the file connection 290 statement<br><br><span style="font-family: monospace;"> DATA_2D_XY_NETCDF out:loc xy#:xyf ~/palm/current_version/JOBS/$fname/OUTPUT _xy 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;"> DATA_2D_XY_NETCDF in:locopt xyf ~/palm/current_version/JOBS/$fname/OUTPUT _xy nc</span><br><br>Here the file attribut <span style="font-family: monospace;">locopt</span> 316 statement<br><br><span style="font-family: monospace;"> 317 DATA_2D_XY_NETCDF out:loc xy#:xyf 318 ~/palm/current_version/JOBS/$fname/OUTPUT _xy nc</span><br><br>This 319 additional copy can then be accessed from a restart job as an input 320 file using the file connection statement<br><br><span style="font-family: monospace;"> 321 DATA_2D_XY_NETCDF in:locopt xyf 322 ~/palm/current_version/JOBS/$fname/OUTPUT _xy nc</span><br><br>Here 323 the file attribut <span style="font-family: monospace;">locopt</span> 291 324 (2nd column) guarantees that the job continues if a permanent file does 292 325 not 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 326 aborted.<br>Although the dataset created by the last run of a job 327 chain 294 328 will contain data from all selected time levels of the complete job 295 329 chain, the main disadvantage of this workaround is that the datasets … … 297 331 and may consume large disc space. They have to be deleted "by hand" by 298 332 the user on the local machine as well as on the remote 299 machine because they only contain redundant data from the earlier 300 time levels which are already contained 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> 333 machine because they only contain redundant data from the 334 earlier 335 time levels which are already contained in the dataset created 336 by 337 the last job of the job chain.<br><br><span style="font-weight: bold;">Note:</span><br>Extension 338 of PALM NetCDF datasets of 2d horizontal cross sections requires that 339 parameters <a href="chapter_4.2.html#data-output">data_output</a> 340 and <a href="chapter_4.2.html#section_xy">section_xy</a> 302 341 for the restart runs are set identical to the initial run. In case of a 303 342 value mismatch between initial and restart runs, a warning is issued in 304 343 the 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> <br><span style="font-weight: bold;"><a name="NetCDF_example"></a>Example of a PALM NetCDF dataset</span><br><br>The 344 timelevels calculated within the restart run.<br>Similar 345 restrictions apply for all other PALM NetCDF datasets (i.e. profiles, 346 vertical cross sections, volume data, etc.).</li></ol><br> <br><span style="font-weight: bold;"><a name="NetCDF_example"></a>Example 347 of a PALM NetCDF dataset</span><br><br>The 306 348 NetCDF dataset described here contains data of instantaneous horizontal 307 349 cross 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 … … 309 351 4.4</a>), 310 352 i.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;"> 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 example_xy { <span style="font-style: italic;">! filename</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">dimensions: <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;"> time = UNLIMITED ; // (4 currently) <span style="font-style: italic;">! unlimited means that additional time levels can be added (e.g. by</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 312 313 314 <span style="font-style: italic;">! restart jobs)</span><br> zu_xy = 2 ; <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;"> zw_xy = 2 ; <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;"> zu1_xy = 1 ; <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;"> 315 x = 41 ; 316 <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;"> y = 41 ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">variables: <span style="font-style: italic;">! precision, dimensions, and units of the variables</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> double time(time) ; <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;"> time:units = "seconds" ; <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;"> double zu_xy(zu_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> zu_xy:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> double zw_xy(zw_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> zw_xy:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> double zu1_xy(zu1_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> zu1_xy:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> double ind_z_xy(zu_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> ind_z_xy:units = "gridpoints" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> double x(x) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> x:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> double y(y) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> y:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> float w_xy(time, zw_xy, y, x) ; <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;"> w_xy:long_name = "w_xy" ; <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;"> w_xy:units = "m/s" ; <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;"> float pt_xy(time, zu_xy, y, x) ; <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;"> pt_xy:long_name = "pt_xy" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> 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;"> :Conventions = "COARDS" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> 317 :title = "PALM 3.0 run: 318 example.00 host: ibmh 13-04-06 15:12:43" ; <span style="font-style: italic;">! PALM run-identifier</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> :VAR_LIST = ";w_xy;pt_xy;" ; <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;"> 319 320 321 <span style="font-style: italic;">! this global attribute can be used by FORTRAN programs to identify</span><br> 322 323 324 <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;"> 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;"> zu_xy = 75, 475 ; <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;"> zw_xy = 100, 500 ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;"> zu1_xy = 25 ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;"> x = 0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, <span style="font-style: italic;">! x-coordinates of the gridpoints</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, </span><br style="font-family: monospace;"><span style="font-family: monospace;"> 1400, 1450, 1500, 1550, 1600, 1650, 1700, 1750, 1800, 1850, 1900, 1950, </span><br style="font-family: monospace;"><span style="font-family: monospace;"> 2000 ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;"> 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;"> 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 1350, </span><br style="font-family: monospace;"><span style="font-family: monospace;"> 1400, 1450, 1500, 1550, 1600, 1650, 1700, 1750, 1800, 1850, 1900, 1950, </span><br style="font-family: monospace;"><span style="font-family: monospace;"> 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 <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 353 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>, 354 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 355 created 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>). 357 Because of <a href="chapter_4.2.html#end_time">end_time</a> 358 = <span style="font-style: italic;">3600.0</span>, 359 the file contains data of 4 time levels (t = 900, 1800, 2700, 3600 s).<br>Supposed 360 that the name of the NetCDF dataset is <span style="font-family: monospace;">example_xy.nc</span>, 361 an analysis of the file contents using the command<br><br><span style="font-family: monospace;"> ncdump 362 -c example_xy.nc</span><br><br>will create the 363 following output. The original ncdump output is displayed using <span style="font-family: monospace;">fixed spacing</span>, 364 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 example_xy { 365 366 <span style="font-style: italic;">! filename</span></span><br style="font-family: monospace;"><span style="font-family: monospace;">dimensions: 367 368 369 <span style="font-style: italic;">! 370 41 gridpoints along x and y, 4 timelevels</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 371 time = UNLIMITED ; // (4 currently) <span style="font-style: italic;">! unlimited means 372 that additional time levels can be added (e.g. by</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 373 374 375 376 377 <span style="font-style: italic;">! restart jobs)</span><br> 378 zu_xy = 2 ; 379 380 <span style="font-style: italic;">! 381 vertical dimension (2, because two cross sections are selected);</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 382 zw_xy = 2 ; 383 384 <span style="font-style: italic;">! 385 there are two different vertical dimensions zu and zw because due</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 386 zu1_xy = 1 ; 387 388 <span style="font-style: italic;">! 389 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;"> 390 x = 41 ; 391 392 <span style="font-style: italic;">! u- or the w-component of the 393 velocity</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 394 y = 41 ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">variables: 395 396 397 <span style="font-style: italic;">! 398 precision, dimensions, and units of the variables</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 399 double time(time) ; 400 <span style="font-style: italic;">! the variables containing the 401 time levels and grid point coordinates</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 402 time:units = "seconds" ; 403 <span style="font-style: italic;">! have the same names as the 404 respective dimensions</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 405 double zu_xy(zu_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> 406 zu_xy:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> 407 double zw_xy(zw_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> 408 zw_xy:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> 409 double zu1_xy(zu1_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> 410 zu1_xy:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> 411 double ind_z_xy(zu_xy) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> 412 ind_z_xy:units = "gridpoints" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> 413 double x(x) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> 414 x:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> 415 double y(y) ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> 416 y:units = "meters" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> 417 float w_xy(time, zw_xy, y, x) ; 418 <span style="font-style: italic;">! array of the 419 vertical velocity; it has 4 dimensions: x and y,</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 420 w_xy:long_name = "w_xy" ; 421 <span style="font-style: italic;">! because it is a horizontal 422 cross section, zw_xy, which defines</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 423 w_xy:units = "m/s" ; 424 <span style="font-style: italic;">! the vertical levels of the 425 sections, and time, for the time levels</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 426 float pt_xy(time, zu_xy, y, x) ; <span style="font-style: italic;">! array of the potential 427 temperature, which is defined on the u-grid</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 428 pt_xy:long_name = "pt_xy" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> 429 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;"> 430 :Conventions = "COARDS" ;</span><br style="font-family: monospace;"><span style="font-family: monospace;"> 431 :title = "PALM 432 3.0 run: 433 example.00 host: ibmh 13-04-06 15:12:43" ; 434 <span style="font-style: italic;">! PALM 435 run-identifier</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 436 :VAR_LIST = ";w_xy;pt_xy;" ; 437 <span style="font-style: italic;">! 438 the list of output quantities contained in this dataset;</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 439 440 441 442 443 <span style="font-style: italic;">! this global 444 attribute can be used by FORTRAN programs to identify</span><br> 445 446 447 448 449 <span style="font-style: italic;">! and read the 450 quantities contained in the file</span><br>data:</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;"> time = 905.3, 451 1808.98, 2711.98, 3603.59 ; <span style="font-style: italic;">! 452 values of the four time levels</span></span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;"> zu_xy = 75, 475 ; 453 454 <span style="font-style: italic;">! heights of the two selected 455 cross sections (u-grid)</span></span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;"> zw_xy = 100, 500 ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;"> zu1_xy = 25 ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;"> x = 0, 50, 100, 456 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, <span style="font-style: italic;">! x-coordinates of the gridpoints</span></span><br style="font-family: monospace;"><span style="font-family: monospace;"> 457 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 458 1350, </span><br style="font-family: monospace;"><span style="font-family: monospace;"> 459 1400, 1450, 1500, 1550, 1600, 1650, 1700, 1750, 1800, 1850, 1900, 1950, 460 </span><br style="font-family: monospace;"><span style="font-family: monospace;"> 461 2000 ;</span><br style="font-family: monospace;"><br style="font-family: monospace;"><span style="font-family: monospace;"> y = 0, 50, 100, 462 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, </span><br style="font-family: monospace;"><span style="font-family: monospace;"> 463 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200, 1250, 1300, 464 1350, </span><br style="font-family: monospace;"><span style="font-family: monospace;"> 465 1400, 1450, 1500, 1550, 1600, 1650, 1700, 1750, 1800, 1850, 1900, 1950, 466 </span><br style="font-family: monospace;"><span style="font-family: monospace;"> 467 2000 ;</span><br style="font-family: monospace;"><span style="font-family: monospace;">}</span><br></div><br>If 468 the option <span style="font-family: monospace;">-c</span> 469 is omitted in the <span style="font-family: monospace;">ncdump</span> 470 call, then also the complete grid point data of all quantities are 471 output to the terminal.<br><br>The <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 472 this 2d 325 473 horizontal 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) </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 475 change:</span> $Id$ </p> 329 476 </body></html>
Note: See TracChangeset
for help on using the changeset viewer.