[Dart-dev] [5919] DART/branches/development/obs_sequence: reflects the fact you can now use an ensemble size of 1 ...
nancy at ucar.edu
nancy at ucar.edu
Mon Nov 5 14:25:02 MST 2012
Revision: 5919
Author: thoar
Date: 2012-11-05 14:25:00 -0700 (Mon, 05 Nov 2012)
Log Message:
-----------
reflects the fact you can now use an ensemble size of 1 ... IFF
it is the "prior ensemble mean"
Modified Paths:
--------------
DART/branches/development/obs_sequence/obs_selection.html
DART/branches/development/obs_sequence/obs_seq_coverage.html
DART/branches/development/obs_sequence/obs_seq_verify.html
-------------- next part --------------
Modified: DART/branches/development/obs_sequence/obs_selection.html
===================================================================
--- DART/branches/development/obs_sequence/obs_selection.html 2012-11-05 16:52:56 UTC (rev 5918)
+++ DART/branches/development/obs_sequence/obs_selection.html 2012-11-05 21:25:00 UTC (rev 5919)
@@ -37,10 +37,10 @@
<P>
This specialized tool selects out a subset of the input observations.
-For a more general purpose tool, see the
-<a href="obs_sequence_tool.hmtl">obs_sequence_tool</a>.
+For a more general purpose tool, see the
+<a href="obs_sequence_tool.html">obs_sequence_tool</a>.
The tool which creates the input selection file is
-<a href="obs_seq_coverage.hmtl">obs_seq_coverage</a>.
+<a href="obs_seq_coverage.html">obs_seq_coverage</a>.
This tool takes a selected list of observation
types, times, and locations, and extracts only the matching
observations out of a longer set of obs_sequence files.
@@ -66,7 +66,7 @@
</P>
<div class=namelist>
<pre>
-<em class=call>namelist / obs_selection_nml / </em>
+<em class=call>namelist / obs_selection_nml / </em>
filename_seq, filename_seq_list, num_input_files, filename_out,
selection_file, print_only, calendar
</pre>
@@ -75,7 +75,7 @@
<div class=indent1><!-- Description -->
<P>
-This <em class=code>&obs_selection</em> namelist is read from
+This <em class=code>&obs_selection</em> namelist is read from
the <em class=file>input.nml</em> file.
</P>
@@ -85,7 +85,7 @@
<TH align=left>Description </TH></TR>
<TR><!--contents--><TD valign=top>filename_seq</TD>
<!-- type --><TD>character(len=129), dimension(500)</TD>
- <!--descript--><TD>The array of names of the observation sequence files to process,
+ <!--descript--><TD>The array of names of the observation sequence files to process,
up to a max count of 500 files. (Specify only the actual number of
input files. It is not necessary to specify 500 entries.)
Default: ''</TD></TR>
@@ -94,7 +94,7 @@
<!--descript--><TD>An alternative way to specify the list of input files.
The name of a text file which contains, one per line,
the names of the observation sequence files to process.
- You can only specify one of filename_seq OR
+ You can only specify one of filename_seq OR
filename_seq_list, not both.
Default: ''</TD></TR>
<TR><!--contents--><TD valign=top>num_input_files</TD>
@@ -111,7 +111,7 @@
<TR><!--contents--><TD valign=top>selections_file</TD>
<!-- type --><TD>character(len=129)</TD>
<!--descript--><TD>The name of the input file containing the mask of observation
- definitions (the textfile output of obs_seq_coverage).
+ definitions (the textfile output of <a href="obs_seq_coverage.html">obs_seq_coverage</a>).
Default: 'obsdef_mask.txt'</TD></TR>
<TR><!--contents--><TD valign=top>print_only</TD>
<!-- type --><TD>logical</TD>
@@ -123,8 +123,8 @@
<TR><!--contents--><TD valign=top>calendar</TD>
<!-- type --><TD>character(len=32)</TD>
<!--descript--><TD>Set to the name of the calendar; only controls the
- printed output for the dates of the first and last observations in
- the file. Set this to "no_calendar" if the
+ printed output for the dates of the first and last observations in
+ the file. Set this to "no_calendar" if the
observations are not using any calendar.
Default "gregorian".</TD></TR>
</TABLE>
@@ -143,7 +143,7 @@
other executable programs. It is also possible to build the
tool in the <tt>$DART/observations/utilities</tt> directory.
The <tt>preprocess</tt> program must be built and run first, to define
-what set of observation types will be supported. See the
+what set of observation types will be supported. See the
<a href="../preprocess/preprocess.html">preprocess documentation</a>
for more details on how to define the list and run it.
The combined list of all observation types which will be encountered
@@ -180,10 +180,10 @@
<A NAME="FilesUsed"></A>
<HR>
<H2>FILES</H2>
-<UL><LI><em class="file">input.nml</em></LI>
- <LI>The input files specified in the <em class="code">filename_seq</em>
+<UL><LI><em class=file>input.nml</em></LI>
+ <LI>The input files specified in the <em class=code>filename_seq</em>
namelist variable.</LI>
- <LI>The output file specified in the <em class="code">filename_out</em>
+ <LI>The output file specified in the <em class=code>filename_out</em>
namelist variable.</LI>
</UL>
@@ -210,7 +210,7 @@
<TR><TH>Routine</TH><TH>Message</TH><TH>Comment</TH></TR>
<TR><!-- routine --><TD VALIGN=top>obs_selection</TD>
- <!-- message --><TD VALIGN=top>num_input_files > max_num_input_files.
+ <!-- message --><TD VALIGN=top>num_input_files > max_num_input_files.
change max_num_input_files in source file</TD>
<!-- comment --><TD VALIGN=top>The default is 500 files.</TD>
</TR>
Modified: DART/branches/development/obs_sequence/obs_seq_coverage.html
===================================================================
--- DART/branches/development/obs_sequence/obs_seq_coverage.html 2012-11-05 16:52:56 UTC (rev 5918)
+++ DART/branches/development/obs_sequence/obs_seq_coverage.html 2012-11-05 21:25:00 UTC (rev 5919)
@@ -41,12 +41,12 @@
sequence files to determine which observation locations report
frequently enough to be useful for a verification study. The big picture
is to be able to pare down a large set of observations into a compact
-observation sequence file to run through <em class="program">filter</em>
+observation sequence file to run through <em class=program>filter</em>
with all of the intended observation types flagged as
-<em class="option">evaluate_only</em>. DART's forward operators then
+<em class=option>evaluate_only</em>. DART's forward operators then
get applied and all the forecasts are preserved in a
-standard <em class="file">obs_seq.final</em> file - perhaps more
-appropriately called <em class="file">obs_seq.forecast</em>!
+standard <em class=file>obs_seq.final</em> file - perhaps more
+appropriately called <em class=file>obs_seq.forecast</em>!
Paring down the input observation sequence file cuts down on the unnecessary
application of the forward operator to create observation copies that will
not be used anyway ...
@@ -55,10 +55,10 @@
<img src="../doc/images/forecasting_diagram.png" alt="forecast evaluation schematic" width=90% />
<P>
-<em class="program">obs_seq_coverage</em> results in two output files:
+<em class=program>obs_seq_coverage</em> results in two output files:
</P>
<ul>
-<li><em class="file">obsdef_mask.txt</em> contains the list of observation definitions
+<li><em class=file>obsdef_mask.txt</em> contains the list of observation definitions
(but not the observations themselves) that are desired. The observation definitions
include the locations and times for each of the desired observation types. This file
is read by <a href="obs_selection.html">obs_selection</a> and combined with the raw
@@ -66,10 +66,10 @@
use in a forecast.
<br />
</li>
-<li><em class="file">obsdef_mask.nc</em> contains information needed to be able
+<li><em class=file>obsdef_mask.nc</em> contains information needed to be able
to plot the times and locations of the observations in a manner to help explore
the design of the verification locations/network.
-<em class="file">obsdef_mask.nc</em> is <em class=strong>required</em> by
+<em class=file>obsdef_mask.nc</em> is <em class=strong>required</em> by
<a href="obs_seq_verify.html">obs_seq_verify</a>, the program
that reorders the observations into a structure that
makes it easy to calculate statistics like ROC, etc.</li>
@@ -81,7 +81,7 @@
to make several forecasts to build statistical strength, it is important
to use the SAME set of observation locations for all the forecasts that will
be verified together. To make the discussion easier, let's define the
-<em class="option">verification network</em> as the set of locations and times
+<em class=option>verification network</em> as the set of locations and times
for a particular observation type.
<br />
<br />
@@ -92,20 +92,20 @@
<br />
<br />
The only complicated part of determining the verification network is the
-temporal component. The initial time (usually an <em class="option">analysis time</em>
+temporal component. The initial time (usually an <em class=option>analysis time</em>
from a previous assimilation), the
-<em class="option">verification interval</em>, and the
-<em class="option">forecast length</em>
+<em class=option>verification interval</em>, and the
+<em class=option>forecast length</em>
completely specify the temporal aspect of a forecast. The following example
has a verification interval of 6 hours and a forecast length of 24 hours. We adopt the
convention of also including the initial conditions (a "nowcast") in the
"forecast", so there are 5 times of interest - which we will call
-<em class="option">verification times</em> and are represented by
+<em class=option>verification times</em> and are represented by
<img src="../doc/images/verification_time_icon.png" alt="verification icon" width=3% />.
The candidate observation sequence files are scanned to select all the
observations that are <strong>closest</strong> to the verification times.
The difference in time between the "nowcast" and the "forecast" is the
-<em class="option">forecast lead</em>.
+<em class=option>forecast lead</em>.
<br />
<br />
<img src="../doc/images/simple_forecast.png" alt="simple forecast" width=60% />
@@ -124,14 +124,14 @@
The diagram below illustrates the logic behind determining the list of
verification times for a pretty common scenario: a 24-hour forecast with a
forecast lead of 6 hours, repeated the next day.
-The <em class="option">first_analysis</em> is at VT1 - let's call it 00Z day 1.
+The <em class=option>first_analysis</em> is at VT1 - let's call it 00Z day 1.
We need to have observations available at: <br />
VT1 (00Z day1),
VT2 (06Z day1),
VT3 (12Z day1),
VT4 (18Z day1), and
VT5 (24Z day1 / 00Z day2).
-The <em class="option">last_analysis</em> starts at VT5 00Z day 2 and must verify at<br />
+The <em class=option>last_analysis</em> starts at VT5 00Z day 2 and must verify at<br />
VT5 (00Z day2),
VT6 (06Z day2),
VT7 (12Z day2),
@@ -146,7 +146,7 @@
adding extra constraints on the verification network.
<em class=program>obs_seq_coverage</em> simply provides these possible
forecasts "for free", there is no assumption about <strong>needing</strong> them.
-We will use the variable <em class="option">verification_times</em> to describe
+We will use the variable <em class=option>verification_times</em> to describe
the complete set of times for all possible forecasts. In our example above,
there are 5 possible forecasts, each forecast consisting of 5 verification
times (the analysis time and the 4 forecast lead times). As such, there are
@@ -201,10 +201,10 @@
<br />
<br />
You can specify <strong>either</strong>
- <em class="option">obs_sequence_name</em>
+ <em class=option>obs_sequence_name</em>
<strong>or</strong>
- <em class="option">obs_sequence_list</em> -- not both.
- One of them has to be an empty string ... i.e. <em class="option">''</em>.
+ <em class=option>obs_sequence_list</em> -- not both.
+ One of them has to be an empty string ... i.e. <em class=option>''</em>.
</P>
<TABLE border=0 cellpadding=3 width=100%>
@@ -220,12 +220,12 @@
everything to the right, and a directory structure to the left.
The directory structure is then queried to see if it can be
incremented to handle a sequence of observation files.
- The default behavior of <em class="program">obs_seq_coverage</em>
+ The default behavior of <em class=program>obs_seq_coverage</em>
is to look for additional files to include until the files
are exhausted or an <em class=file>obs_seq.final</em> file
is found that contains observations beyond the timeframe of
interest.<br />e.g. 'obsdir_001/obs_seq.final' will cause
- <em class="program">obs_seq_coverage</em> to look for
+ <em class=program>obs_seq_coverage</em> to look for
'obsdir_002/obs_seq.final', and so on.<br />
If this is set, <em class=option>obs_sequence_list</em> must be set to ''.
<br />
@@ -270,7 +270,7 @@
of the verification times.
This file is used in conjunction with
<a href="obs_seq_verify.html">obs_seq_verify</a> to reorder the
- <em class="file">obs_seq.forecast</em> into a structure that will
+ <em class=file>obs_seq.forecast</em> into a structure that will
facilitate calculating the statistics and scores of the forecasts.
<br />
Default: 'obsdef_mask.nc'</TD></TR>
@@ -334,7 +334,7 @@
<TR><!--contents--><TD valign=top> lonlim2 </TD>
<!-- type --><TD valign=top> real </TD>
<!--descript--><TD>Easternmost longitude of desired region.
- <em class="new">If any of these values is <b>less than</b>
+ <em class=new>If any of these values is <b>less than</b>
the westernmost values, it defines a region that spans the
prime meridian. No problem.</em> It is perfectly acceptable
to specify lonlim1 = 330 , lonlim2 = 50 to identify a region
@@ -389,23 +389,23 @@
<HR>
<H2>FILES</H2>
<UL>
- <LI><em class="file">input.nml</em> is used for
- <em class="option">obs_seq_coverage_nml</em><br /></LI>
+ <LI><em class=file>input.nml</em> is used for
+ <em class=option>obs_seq_coverage_nml</em><br /></LI>
<LI>A text file containing the metadata for the observations to be used
for forecast evaluation is created. This file is subsequently
required by <a href="obs_selection.html">obs_selection</a> to
subset the set of input observation sequence files into a
single observation sequence file
- (<em class="file">obs_seq.evaluate</em>) for the forecast step.
+ (<em class=file>obs_seq.evaluate</em>) for the forecast step.
<br />
- (<em class="file">obsdef_mask.txt</em> is the default name)<br /></LI>
+ (<em class=file>obsdef_mask.txt</em> is the default name)<br /></LI>
<LI>A netCDF file containing the metadata for a much larger set of
observations that may be used is created. This file is subsequently
required by <a href="obs_seq_coverage.html">obs_seq_coverage</a> to
define the desired times and locations for the verification.
<br />
- (<em class="file">obsdef_mask.nc</em> is the default name)</LI>
+ (<em class=file>obsdef_mask.nc</em> is the default name)</LI>
</UL>
<!--==================================================================-->
@@ -437,34 +437,34 @@
In this example, we are generating an <em class=file>obsdef_mask.txt</em>
file for a single forecast. All the required input observation sequence
filenames will be contained in a file referenced by the
-<em class="option">obs_sequence_list</em> variable. We'll also restrict
+<em class=option>obs_sequence_list</em> variable. We'll also restrict
the observations to a specific rectangular (in Lat/Lon) region.
It is convenient to turn on the verbose option the first time
to get a feel for the logic. Here are the namelist settings if you want to
verify the METAR_U_10_METER_WIND and METAR_V_10_METER_WIND observations over the
entire globe every 6 hours for 2 days starting 18Z 8 Jun 2008:
</p>
-<div class="routine">
+<div class=routine>
<pre>
&obs_seq_coverage_nml
obs_sequence_name = '',
- obs_sequence_list = <em class="input">'obs_file_list.txt'</em>,
- obs_of_interest = <em class="input">'METAR_U_10_METER_WIND'</em>,
- <em class="input">'METAR_V_10_METER_WIND'</em>,
+ obs_sequence_list = <em class=input>'obs_file_list.txt'</em>,
+ obs_of_interest = <em class=input>'METAR_U_10_METER_WIND'</em>,
+ <em class=input>'METAR_V_10_METER_WIND'</em>,
textfile_out = 'obsdef_mask.txt',
netcdf_out = 'obsdef_mask.nc',
calendar = 'Gregorian',
- first_analysis = <em class="input"> 2008, 6, 8, 18, 0, 0 </em>,
- last_analysis = <em class="input"> 2008, 6, 8, 18, 0, 0 </em>,
- forecast_length_days = <em class="input">2</em>,
- forecast_length_seconds = <em class="input">0</em>,
- verification_interval_seconds = <em class="input">21600</em>,
+ first_analysis = <em class=input> 2008, 6, 8, 18, 0, 0 </em>,
+ last_analysis = <em class=input> 2008, 6, 8, 18, 0, 0 </em>,
+ forecast_length_days = <em class=input>2</em>,
+ forecast_length_seconds = <em class=input>0</em>,
+ verification_interval_seconds = <em class=input>21600</em>,
temporal_coverage_percent = 100.0,
- lonlim1 = <em class="input"> 0.0</em>,
- lonlim2 = <em class="input"> 360.0</em>,
- latlim1 = <em class="input"> -90.0</em>,
- latlim2 = <em class="input"> 90.0</em>,
- verbose = <em class="input">.true.</em>,
+ lonlim1 = <em class=input> 0.0</em>,
+ lonlim2 = <em class=input> 360.0</em>,
+ latlim1 = <em class=input> -90.0</em>,
+ latlim2 = <em class=input> 90.0</em>,
+ verbose = <em class=input>.true.</em>,
/
</pre>
</div>
@@ -495,7 +495,7 @@
It is convenient to turn on the verbose option the first time.
Here is a portion of the run-time output:
</p>
-<div class="unix">
+<div class=unix>
<pre>
[thoar at mirage2 work]$ ./obs_seq_coverage | & tee my.log
Starting program obs_seq_coverage
@@ -565,15 +565,15 @@
</div>
<H4 class=indent1>Discussion</H4>
<p>
-Note that the values of <em class="code">ASSIMILATE_THESE_OBS_TYPES</em> and
-<em class="code">EVALUATE_THESE_OBS_TYPES</em> are completely irrelevant -
+Note that the values of <em class=code>ASSIMILATE_THESE_OBS_TYPES</em> and
+<em class=code>EVALUATE_THESE_OBS_TYPES</em> are completely irrelevant -
since we're not actually doing an assimilation.
The <strong>BIG</strong> difference between the two output files is
-that <em class="file">obsdef_mask.txt</em> contains the metadata
-for just the matching observations while <em class="file">obsdef_mask.nc</em>
+that <em class=file>obsdef_mask.txt</em> contains the metadata
+for just the matching observations while <em class=file>obsdef_mask.nc</em>
contains the metadata for all candidate locations as well as a lot of
information about the desired verification times. It is possible to explore
-<em class="file">obsdef_mask.nc</em> to review the selection criteria to
+<em class=file>obsdef_mask.nc</em> to review the selection criteria to
include observations/"stations" that do not perfectly match the original selection
criteria.
<br />
@@ -582,7 +582,7 @@
<a href="http://www.unidata.ucar.edu/software/netcdf/docs/netcdf/ncdump.html">ncdump</a>.
</p>
-<div class="unix">
+<div class=unix>
<pre>
netcdf obsdef_mask {
dimensions:
@@ -687,15 +687,15 @@
to see what station has what observation type.
<br />
<br />
-The <em class="option">stations</em> variable is fundamentally a flag that
+The <em class=option>stations</em> variable is fundamentally a flag that
indicates if the station has all of the desired verification times. Combine
that information with the <em class=option>obs_type</em> and
-<em class="option">location</em> to determine where your verifications of
+<em class=option>location</em> to determine where your verifications of
any particular observation type will take place.
<br />
<br />
-Now that you have the <em class="file">obsdef_mask.txt</em>, you can run
-<em class="program">obs_selection.f90</em> to subset the observation sequence
+Now that you have the <em class=file>obsdef_mask.txt</em>, you can run
+<a href="obs_selection.html">obs_selection</a> to subset the observation sequence
files into one compact file to use in your ensemble forecast.
</P>
@@ -739,7 +739,7 @@
<!-- message --><TD VALIGN=top>'xxxxxx ' is not a known observation type.'</TD>
<!-- comment --><TD VALIGN=top>one of the <em class=option>obs_of_interest</em>
namelist entries specifies an observation type that is not supported.
- Perhaps you need to rerun <em class="program">preprocess</em> with support
+ Perhaps you need to rerun <em class=program>preprocess</em> with support
for the observation, or perhaps it is spelled incorrectly. All
DART observation types are strictly uppercase.</TD></TR>
@@ -766,16 +766,16 @@
<TR><!-- routine --><TD VALIGN=top>set_required_times</TD>
<!-- message --><TD VALIGN=top>'namelist: forecast length is not a multiple of the verification interval'</TD>
<!-- comment --><TD VALIGN=top>The namelist settings for
- <em class="option">forecast_length_[days,seconds]</em> and
- <em class="option">verification_interval_seconds</em> do not make sense.
+ <em class=option>forecast_length_[days,seconds]</em> and
+ <em class=option>verification_interval_seconds</em> do not make sense.
Refer to <a href="#coverage">the forecast time diagram</a>.
<TR><!-- routine --><TD VALIGN=top>set_required_times</TD>
<!-- message --><TD VALIGN=top>'namelist: last analysis time is not a multiple of the verification interval'</TD>
<!-- comment --><TD VALIGN=top>The namelist settings for
- <em class="option">first_analysis</em> and
- <em class="option">last_analysis</em> are not separated by a multiple of
- <em class="option">verification_interval_seconds</em>.
+ <em class=option>first_analysis</em> and
+ <em class=option>last_analysis</em> are not separated by a multiple of
+ <em class=option>verification_interval_seconds</em>.
Refer to <a href="#coverage">the forecast time diagram</a>.
</TD></TR>
Modified: DART/branches/development/obs_sequence/obs_seq_verify.html
===================================================================
--- DART/branches/development/obs_sequence/obs_seq_verify.html 2012-11-05 16:52:56 UTC (rev 5918)
+++ DART/branches/development/obs_sequence/obs_seq_verify.html 2012-11-05 21:25:00 UTC (rev 5919)
@@ -42,9 +42,9 @@
<P>
<em class=program>obs_seq_verify</em> reorders the observations from a
forecast run of DART into a structure that is amenable for the evaluation
-of the forecast. The big picture is that the verification locations and times
-identified in the <em class="file">obsdef_mask.nc</em> and the observations
-from the forecast run (usually called <em class="file">obs_seq.forecast.YYYYMMDDHH</em>)
+of the forecast. The big picture is that the verification locations and times
+identified in the <em class=file>obsdef_mask.nc</em> and the observations
+from the forecast run (usually called <em class=file>obs_seq.forecast.YYYYMMDDHH</em>)
are put into a netCDF variable that looks like this:
<br />
<br />
@@ -52,46 +52,54 @@
<img src="../doc/images/verify_variable_shape.png" alt="verify variable" width=75% />
<br />
<br />
-<em class=program>obs_seq_verify</em> can read in a series of
-observation sequence files - each of the files <strong>must</strong> contain
-the entire forecast from a single analysis time. The name of each file is required to
-reflect the analysis time. Use <a href="obs_sequence_tool.html">obs_sequence_tool</a> to
+<em class=program>obs_seq_verify</em> can read in a series of
+observation sequence files - each of the files <strong>must</strong> contain
+the <strong>entire forecast from a single analysis time</strong>.
+The name of each file is required to reflect the analysis time.
+Use <a href="obs_sequence_tool.html">obs_sequence_tool</a> to
concatenate multiple files into a single observation sequence file if necessary.
-Only the individual ensemble members forecast values are used - the ensemble
-mean and spread (as individual copies) are completely ignored.
+<em class=removed>Only the individual ensemble members forecast values are used - the ensemble
+mean and spread (as individual copies) are completely ignored.</em>
+
+The individual "<em class=units>prior ensemble member NNNN</em>"
+copies are used. As a special case, the
+"<em class=units>prior ensemble mean</em>" copy is used <em>if and only if</em>
+there are no individual ensemble members present (i.e. <em class=file>input.nml</em>
+<em class=code>&filter_nml:num_output_obs_members</em> == <em class=input>0</em>).
+
</P>
<table>
-<tr><th align="left">Dimension</th>
- <th align="left">Explanation</th>
+<tr><th align=left>Dimension</th>
+ <th align=left>Explanation</th>
</tr>
-<tr><td valign="top">analysisT</td>
- <td valign="top">This is the netCDF UNLIMITED dimension, so it is easy to
+<tr><td valign=top>analysisT</td>
+ <td valign=top>This is the netCDF UNLIMITED dimension, so it is easy to
'grow' this dimension. This corresponds to the number of
forecasts one would like to compare.</td>
</tr>
-<tr><td valign="top">stations</td>
- <td valign="top">The unique horizontal locations in the verification network.</td>
+<tr><td valign=top>stations</td>
+ <td valign=top>The unique horizontal locations in the verification network.</td>
</tr>
-<tr><td valign="top">levels</td>
- <td valign="top">The vertical level at each location.</td>
+<tr><td valign=top>levels</td>
+ <td valign=top>The vertical level at each location.</td>
</tr>
-<tr><td valign="top">copy</td>
- <td valign="top">This dimension designates the quantity of interest; the observation,
- the forecast value, or the observation error variance.
- These quantities are the ones required to calculate the
+<tr><td valign=top>copy</td>
+ <td valign=top>This dimension designates the quantity of interest; the observation,
+ the forecast value, or the observation error variance.
+ These quantities are the ones required to calculate the
evaluation statistics.</td>
</tr>
-<tr><td valign="top">nmembers</td>
- <td valign="top">Each ensemble member contributes a forecast value.</td>
+<tr><td valign=top>nmembers</td>
+ <td valign=top>Each ensemble member contributes a forecast value.</td>
</tr>
-<tr><td valign="top">forecast_lead </td>
- <td valign="top">This dimension relates to the amount of time between the start of the
+<tr><td valign=top>forecast_lead </td>
+ <td valign=top>This dimension relates to the amount of time between the start of the
forecast and the verification.</td>
</tr>
</table>
<p>
-The <a href="#Usage">USAGE</a> section has more on the actual use of
+The <a href="#Usage">USAGE</a> section has more on the actual use of
<em class=program>obs_seq_verify</em>.
</P>
@@ -111,7 +119,7 @@
<div class=namelist>
<pre>
<em class=call>namelist / obs_seq_verify_nml / </em>
- obs_sequence_name, obs_sequence_list, station_template,
+ obs_sequence_name, obs_sequence_list, station_template,
netcdf_out, calendar, obtype_string, verbose
</pre>
</div>
@@ -144,16 +152,16 @@
everything to the right, and a directory structure to the left.
The directory structure is then queried to see if it can be
incremented to handle a sequence of observation files.
- The default behavior of <em class="program">obs_seq_verify</em>
+ The default behavior of <em class=program>obs_seq_verify</em>
is to look for additional files to include until the files
are exhausted or a file
is found that contains observations beyond the timeframe of
interest.<br />e.g. 'obsdir_001/obs_seq.forecast' will cause
- <em class="program">obs_seq_verify</em> to look for
+ <em class=program>obs_seq_verify</em> to look for
'obsdir_002/obs_seq.forecast', and so on.<br />
If this is set, <em class=option>obs_sequence_list</em> must be set to ''.
<br />
- Default '' - an empty string.</TD></TR>
+ Default '' - an empty string.</TD></TR>
<TR><!--contents--><TD valign=top> obs_sequence_list </TD>
<!-- type --><TD valign=top> character(len=129) </TD>
@@ -175,16 +183,16 @@
<TR><!--contents--><TD valign=top> netcdf_out </TD>
<!-- type --><TD valign=top> character(len=129) </TD>
- <!--descript--><TD>The base portion of the filename of the file that will
+ <!--descript--><TD>The base portion of the filename of the file that will
contain the forecast quantities. Since each observation type of interest
- is processed with a separate run of <em class="program">obs_seq_verify</em>,
+ is processed with a separate run of <em class=program>obs_seq_verify</em>,
the observation type string is used to create a unique output filename.
<br />
Default: 'forecast.nc'</TD></TR>
<TR><!--contents--><TD valign=top> calendar </TD>
<!-- type --><TD valign=top> character(len=129) </TD>
- <!--descript--><TD>The type of the calendar used to interpret the dates.
+ <!--descript--><TD>The type of the calendar used to interpret the dates.
<br />
Default: 'Gregorian'</TD></TR>
@@ -201,7 +209,7 @@
<TR><!--contents--><TD valign=top> verbose </TD>
<!-- type --><TD valign=top> logical </TD>
<!--descript--><TD>Print extra run-time information.<br />
- Default: .false. </TD></TR>
+ Default: .false. </TD></TR>
</TABLE>
@@ -238,31 +246,31 @@
<HR>
<H2>FILES</H2>
<UL>
- <LI><em class="file">input.nml</em> is used for
- <em class="option">obs_seq_verify_nml</em><br /></LI>
-
+ <LI><em class=file>input.nml</em> is used for
+ <em class=option>obs_seq_verify_nml</em><br /></LI>
+
<LI>A netCDF file containing the metadata for the verification network.
This file is created by <a href="obs_seq_coverage.html">obs_seq_coverage</a> to
define the desired times and locations for the verification.
<br />
- (<em class="file">obsdef_mask.nc</em> is the default name)<br /></LI>
+ (<em class=file>obsdef_mask.nc</em> is the default name)<br /></LI>
- <LI>One or more observation sequence files from <em class="program">filter</em> run
- in <em class="option">forecast</em> mode - meaning all the observations were
- flagged as <em class="option">evaluate_only</em>. It is required/presumed that
+ <LI>One or more observation sequence files from <em class=program>filter</em> run
+ in <em class=option>forecast</em> mode - meaning all the observations were
+ flagged as <em class=option>evaluate_only</em>. It is required/presumed that
all the ensemble members are output to the observation sequence file
(see <a href="../filter/filter.hmtl#Namelist">num_output_obs_members</a>).
Each observation sequence file contains all the forecasts from a single
analysis time and the filename extension must reflect the analysis time
used to start the forecast.
<br />
- (<em class="file">obs_seq.forecast.YYYYMMDDHH</em> is the default name)<br /></LI>
+ (<em class=file>obs_seq.forecast.YYYYMMDDHH</em> is the default name)<br /></LI>
- <LI>Every execution of <em class="program">obs_seq_verify</em> results in
+ <LI>Every execution of <em class=program>obs_seq_verify</em> results in
one netCDF file that contains the observation being verified. If
- <em class="code">obtype_string = 'METAR_U_10_METER_WIND'</em>, and
- <em class="code">netcdf_out = 'forecast.nc'</em>; the resulting
- filename will be <em class="code">METAR_U_10_METER_WIND_forecast.nc</em>.
+ <em class=code>obtype_string = 'METAR_U_10_METER_WIND'</em>, and
+ <em class=code>netcdf_out = 'forecast.nc'</em>; the resulting
+ filename will be <em class=code>METAR_U_10_METER_WIND_forecast.nc</em>.
</LI>
</UL>
@@ -275,13 +283,13 @@
<H2>USAGE</H2>
<P>
-<em class=program>obs_seq_verify</em> is built in
+<em class=program>obs_seq_verify</em> is built in
.../DART/models/<em class=italic>your_model</em>/work, in the same way
as the other DART components.
<br />
<br />
-Once the forecast has completed, each observation type may be extracted
-from the observation sequence file and stuffed into the appropriate
+Once the forecast has completed, each observation type may be extracted
+from the observation sequence file and stuffed into the appropriate
verification structure. Each observation type must be processed serially
at this time, and each results in a separate output netCDF file. Essentially,
<em class=program>obs_seq_verify</em> sorts an unstructured, unordered set of
@@ -292,53 +300,53 @@
<img src="../doc/images/verification_48hrX6hr.png" alt="Example 1" width=75% />
<br />
<br />
-In this example, the <em class=file>obsdef_mask.nc</em> file was created by running
+In this example, the <em class=file>obsdef_mask.nc</em> file was created by running
<a href="obs_seq_coverage.html">obs_seq_coverage</a> with the namelist specified in the
-<a href="obs_seq_coverage.html#example48x6">single 48hour forecast evaluated every 6 hours</a> example. The <em class=file>obsdef_mask.txt</em> file was used to mask the
-input observation sequence files by <a href="obs_selection.html">obs_selection</a> and
-the result was run through <a href="../filter/filter.html">filter</a> with the
-observations marked as <em class="option">evaluate_only</em> - resulting in a file
-called <em class="file">obs_seq.forecast.2008060818</em>.
+<a href="obs_seq_coverage.html#example48x6">single 48hour forecast evaluated every 6 hours</a> example. The <em class=file>obsdef_mask.txt</em> file was used to mask the
+input observation sequence files by <a href="obs_selection.html">obs_selection</a> and
+the result was run through <a href="../filter/filter.html">filter</a> with the
+observations marked as <em class=option>evaluate_only</em> - resulting in a file
+called <em class=file>obs_seq.forecast.2008060818</em>.
<br />
<br />
-Just to reiterate the example, both namelists for <em class=program>obs_seq_coverage</em>
+Just to reiterate the example, both namelists for <em class=program></em>
and <em class=program>obs_seq_verify</em> are provided below.
</p>
-<div class="routine">
+<div class=routine>
<pre>
&obs_seq_coverage_nml
obs_sequence_name = '',
- obs_sequence_list = <em class="input">'obs_file_list.txt'</em>,
- obs_of_interest = <em class="input">'METAR_U_10_METER_WIND'</em>,
- <em class="input">'METAR_V_10_METER_WIND'</em>,
+ obs_sequence_list = <em class=input>'obs_file_list.txt'</em>,
+ obs_of_interest = <em class=input>'METAR_U_10_METER_WIND'</em>,
+ <em class=input>'METAR_V_10_METER_WIND'</em>,
textfile_out = 'obsdef_mask.txt',
netcdf_out = 'obsdef_mask.nc',
calendar = 'Gregorian',
- first_analysis = <em class="input"> 2008, 6, 8, 18, 0, 0 </em>,
- last_analysis = <em class="input"> 2008, 6, 8, 18, 0, 0 </em>,
- forecast_length_days = <em class="input">2</em>,
- forecast_length_seconds = <em class="input">0</em>,
- verification_interval_seconds = <em class="input">21600</em>,
+ first_analysis = <em class=input> 2008, 6, 8, 18, 0, 0 </em>,
+ last_analysis = <em class=input> 2008, 6, 8, 18, 0, 0 </em>,
+ forecast_length_days = <em class=input>2</em>,
+ forecast_length_seconds = <em class=input>0</em>,
+ verification_interval_seconds = <em class=input>21600</em>,
temporal_coverage_percent = 100.0,
- lonlim1 = <em class="input"> 0.0</em>,
- lonlim2 = <em class="input"> 360.0</em>,
- latlim1 = <em class="input"> -90.0</em>,
- latlim2 = <em class="input"> 90.0</em>,
- verbose = <em class="input">.true.</em>
+ lonlim1 = <em class=input> 0.0</em>,
+ lonlim2 = <em class=input> 360.0</em>,
+ latlim1 = <em class=input> -90.0</em>,
+ latlim2 = <em class=input> 90.0</em>,
+ verbose = <em class=input>.true.</em>
/
&obs_seq_verify_nml
- obs_sequence_name = <em class="input">'obs_seq.forecast.2008060818'</em>,
+ obs_sequence_name = <em class=input>'obs_seq.forecast.2008060818'</em>,
obs_sequence_list = '',
station_template = 'obsdef_mask.nc',
netcdf_out = 'forecast.nc',
- obtype_string = <em class="input">'METAR_U_10_METER_WIND'</em>,
- verbose = .true.
+ obtype_string = <em class=input>'METAR_U_10_METER_WIND'</em>,
+ verbose = .true.
/
</pre>
</div>
<p>
-The pertinent information from the <em class="file">obsdef_mask.nc</em> file is
+The pertinent information from the <em class=file>obsdef_mask.nc</em> file is
summarized (from <em class=option> ncdump -v experiment_times,analysis,forecast_lead obsdef_mask.nc</em>) as follows:
</p>
<pre>
@@ -351,29 +359,29 @@
</pre>
<p>
There is one analysis time, 9 forecast leads and 9 verification times.
-The analysis time is the same as the first verification time.
+The analysis time is the same as the first verification time.
The run-time output of <em class=program>obs_seq_verify</em> and a dump
of the resulting netCDF file follows:
-<div class="unix">
+<div class=unix>
<pre>
-[thoar at mirage2 work]$ <em class="input">./obs_seq_verify |& tee my.verify.log</em>
+[thoar at mirage2 work]$ <em class=input>./obs_seq_verify |& tee my.verify.log</em>
Starting program obs_seq_verify
Initializing the utilities module.
Trying to log to unit 10
Trying to open file dart_log.out
-
+
--------------------------------------
- Starting ... at YYYY MM DD HH MM SS =
+ Starting ... at YYYY MM DD HH MM SS =
2011 3 1 10 2 54
Program obs_seq_verify
--------------------------------------
-
+
set_nml_output Echo NML values to log file only
Trying to open namelist log dart_log.nml
------------------------------------------------------
-
-
+
+
-------------- ASSIMILATE_THESE_OBS_TYPES --------------
RADIOSONDE_TEMPERATURE
RADIOSONDE_U_WIND_COMPONENT
@@ -383,18 +391,18 @@
-------------- EVALUATE_THESE_OBS_TYPES --------------
RADIOSONDE_SPECIFIC_HUMIDITY
------------------------------------------------------
-
+
find_ensemble_size: opening obs_seq.forecast.2008060818
location_mod: Ignoring vertical when computing distances; horizontal only
find_ensemble_size: There are 50 ensemble members.
-
+
fill_stations: There are 221 stations of interest,
fill_stations: ... and 9 times of interest.
InitNetCDF: METAR_U_10_METER_WIND_forecast.nc is fortran unit 5
-
+
obs_seq_verify: opening obs_seq.forecast.2008060818
analysis 1 date is 2008 Jun 08 18:00:00
-
+
index 6 is prior ensemble member 1
index 8 is prior ensemble member 2
index 10 is prior ensemble member 3
@@ -402,10 +410,10 @@
index 100 is prior ensemble member 48
index 102 is prior ensemble member 49
index 104 is prior ensemble member 50
-
+
QC index 1 NCEP QC index
QC index 2 DART quality control
-
+
Processing obs 10000 of 84691
Processing obs 20000 of 84691
Processing obs 30000 of 84691
@@ -414,22 +422,22 @@
Processing obs 60000 of 84691
Processing obs 70000 of 84691
Processing obs 80000 of 84691
-
+
METAR_U_10_METER_WIND dimlen 1 is 9
METAR_U_10_METER_WIND dimlen 2 is 50
METAR_U_10_METER_WIND dimlen 3 is 3
METAR_U_10_METER_WIND dimlen 4 is 1
@@ Diff output truncated at 40000 characters. @@
More information about the Dart-dev
mailing list