[Dart-dev] [3623] DART/trunk/models/MITgcm_ocean: documentation,
imagine that ...
nancy at ucar.edu
nancy at ucar.edu
Mon Oct 13 16:20:42 MDT 2008
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/dart-dev/attachments/20081013/e4e7ed46/attachment-0001.html
-------------- next part --------------
Modified: DART/trunk/models/MITgcm_ocean/model_mod.f90
===================================================================
--- DART/trunk/models/MITgcm_ocean/model_mod.f90 2008-10-10 18:40:42 UTC (rev 3622)
+++ DART/trunk/models/MITgcm_ocean/model_mod.f90 2008-10-13 22:20:41 UTC (rev 3623)
@@ -2377,7 +2377,8 @@
subroutine prog_var_to_vector(s,t,u,v,eta,x)
!------------------------------------------------------------------
-!
+! deprecated in favor of snapshot_files_to_sv
+
real(r4), dimension(:,:,:), intent(in) :: s,t,u,v
real(r4), dimension(:,:), intent(in) :: eta
real(r8), dimension(:), intent(out) :: x
Modified: DART/trunk/models/MITgcm_ocean/model_mod.html
===================================================================
--- DART/trunk/models/MITgcm_ocean/model_mod.html 2008-10-10 18:40:42 UTC (rev 3622)
+++ DART/trunk/models/MITgcm_ocean/model_mod.html 2008-10-13 22:20:41 UTC (rev 3623)
@@ -132,69 +132,6 @@
namelist value. DART then communicates the start/stop times to the
ocean model.
- <a name="ModelTimestepping"></a>
- <BR>
- <h4 class="indent1">Controlling the model advances</h4>
- The ocean model <b>MUST always</b> start from the input datasets defined
- in the <em class="file">data</em><em class="code">&PARM05</em> namelist.
- Apparently, this requires
- <em class="file">data</em><em class="code">&PARM03:startTime</em> to be <b>0.0</b>.
- One of the DART support routines (<a href="trans_sv_pv.html">trans_sv_pv</a>)
- converts the DART state vector to the filenames defined in
- <em class="file">data</em><em class="code">&PARM05</em> and creates a new
- <em class="file">data.cal</em> namelist. The ocean model then
- advances till <em class="file">data</em><em class="code">&PARM03:endTime</em>
- and writes out snapshot files. <a href="trans_pv_sv.html">trans_pv_sv</a> converts the
- snapshot files to a DART-compatible file which is ingested by
- <em class="program">filter</em>. <em class="program">filter</em> also reads
- the observation sequence file to determine which observations are
- within the assimilation window, assimilates them, and writes out a
- set of restart files, one for each ensemble member.
- <em class="program">filter</em> then waits for each instance of the
- ocean model (one instance for each ensemble member) to advance to
- <em class="file">data</em><em class="code">&PARM03:endTime</em>.
- The whole process repeats
- until 1) there are no more observations to assimilate (i.e. the
- observation sequence file is exhausted) or 2) the time specified by
- <em class="file">input.nml</em><em class="code">&filter_nml:last_obs_days,last_obs_seconds</em>
- has been reached.
-</P>
-
- <ol>
- <li>create a set of initial conditions for DART</li>
- <li>create a set of observations</li>
- <li>modify <em class="file">data</em>,
- <em class="file">data.cal</em>, and
- <em class="file">input.nml</em> to control
- the experiment</li>
- </ol>
-
-<P>
-The first step would be to run a 'perfect model' experiment, which is the
-same for the low-order models as it is for MITgcm_ocean.
-<BR>
-
-1) create_obs_sequence
-<BR>
-2) create_fixed_network_seq,
-<BR>
-3) perfect_model_obs,
-<BR>
-4) filter
-<BR>
-<BR>
-
-Steps 1,2 are required to create an (empty) observation sequence file,
-usually called 'obs_seq.in'. It has the locations and times and 'what' you want
-to observe (S, T, U, V, Eta) ... but no actual values. perfect_model_obs starts from
-one state vector (in perfect_ics) and advances a single instance of the ocean model
-to the appropriate time and then performs the forward operator to extract the expected
-value of the observation - and stuffs it into the observation sequence. When all the
-observations have been harvested, the fully-populated observation sequence file
-(obs_seq.out)
-is written. You should choose the 'ascii' format for this to ensure the values are
-sensible.
-
<a name="InitialEnsemble"></a>
<BR>
<h4 class="indent1">Generating the initial ensemble</h4>
@@ -207,7 +144,8 @@
<BR>
The ensemble has to come from 'somewhere else'. I ran the model forward
(outside the DART framework) for 14 days and output snapshot files ever 12 hours.
- One state vector can be generated from a set of snapshot files using 'trans_pv_sv'.
+ One state vector can be generated from a set of snapshot files using
+ <em class="program">trans_pv_sv</em>.
I called this my 'initial ensemble' - it's better than nothing, but it is ENTIRELY
unknown if this creates an intial ensemble with sufficient spread. Just for
comparison, the initial ensemble for the atmospheric models is derived from
@@ -223,7 +161,8 @@
<a href="../../../utilities/restart_file_utility.f90">restart_file_utility</a>
to overwrite the timestep in the header of the initial conditions file. After
you have created all the initial conditions files, you can simply 'cat' them
- all together.
+ all together. Even if the script doesn't work <em>out-of-the-box</em>, it
+ should be readable enough to be some help.
<a name="BigEndian"></a>
<BR>
@@ -234,6 +173,88 @@
is different, but we have put notes in each <em class="file">mkmf.template</em>
if we know how to achieve this.
+ <a name="ModelTimestepping"></a>
+ <BR>
+ <h4 class="indent1">Controlling the model advances</h4>
+ The ocean model <b>MUST always</b> start from the input datasets defined
+ in the <em class="file">data</em><em class="code">&PARM05</em> namelist.
+ Apparently, this requires
+ <em class="file">data</em><em class="code">&PARM03:startTime</em> to be <b>0.0</b>.
+ One of the DART support routines (<a href="trans_sv_pv.html">trans_sv_pv</a>)
+ converts the DART state vector to the filenames defined in
+ <em class="file">data</em><em class="code">&PARM05</em> and creates a new
+ <em class="file">data.cal</em> namelist. The ocean model then
+ advances till <em class="file">data</em><em class="code">&PARM03:endTime</em>
+ and writes out snapshot files. <a href="trans_pv_sv.html">trans_pv_sv</a> converts the
+ snapshot files to a DART-compatible file which is ingested by
+ <em class="program">filter</em>. <em class="program">filter</em> also reads
+ the observation sequence file to determine which observations are
+ within the assimilation window, assimilates them, and writes out a
+ set of restart files, one for each ensemble member.
+ <em class="program">filter</em> then waits for each instance of the
+ ocean model (one instance for each ensemble member) to advance to
+ <em class="file">data</em><em class="code">&PARM03:endTime</em>.
+ The whole process repeats
+ until 1) there are no more observations to assimilate (i.e. the
+ observation sequence file is exhausted) or 2) the time specified by
+ <em class="file">input.nml</em><em class="code">&filter_nml:last_obs_days,last_obs_seconds</em>
+ has been reached.
+
+ <a name="GettingStarted"></a>
+ <BR>
+ <h4 class="indent1">Getting Started</h4>
+ I always like running something akin to a 'perfect model' experiment to start.
+ Since I have not come up with a good way to perturb a single model state to
+ generate an ensemble, here's the next best thing. Please keep in mind that the
+ details for running each program are covered in their own documentation.
+
+ <ol>
+ <li>create a set of initial conditions for DART as described in
+ <a href="#InitialEnsemble">Generating the intial ensemble</a> and keep a copy
+ of the 'middle' snapshot - then use it as the initial condition
+ for <em class="program">perfect_model_obs</em>.</li>
+ <li>create a TINY set of 'perfect' observations in the normal fashion:
+ <a href="../../../obs_sequence/create_obs_sequence.html">create_obs_sequence.f90</a>
+ and then
+ <a href="../../../obs_sequence/create_fixed_network_seq.html">create_fixed_network_seq.f90</a>
+ to create an empty observation sequence file (usually called
+ <em class="file">obs_seq.in</em>)
+ </li>
+ <li>modify <em class="file">data</em>,
+ <em class="file">data.cal</em>, and
+ <em class="file">input.nml</em> to control
+ the experiment and populate the observation sequence file by
+ running <a href="../../../perfect_model_obs/perfect_model_obs.html">perfect_model_obs</a>
+ </li>
+ <li>Now use the full ensemble of initial conditions from Step 1 and run
+ <a href="../../../filter/filter.html">filter</a></li>
+ </ol>
+
+ A perfectly sensible approach to get to know the system would be to try to
+ <ol>
+ <li>assimilate data for the first assimilation period and stop. Do not advance
+ the model at all. The filter namelist can control all of this and you do
+ not need to have a working <em class="program">advance_model.csh</em>
+ script, or even a working ocean model (as long as you have input data files).</li>
+ <li>advance the model first and then assimilate data for the first assimilation
+ period and stop.</li>
+ <li>advance, assimilate and advance again. This tests the whole DART facility.</li>
+ </ol>
+
+ <a name="ExploringOutput"></a>
+ <h4 class="indent1">Exploring the Output</h4>
+ Is pretty much like any other model. The netCDF files have the model
+ prognostic variables before and after the assimilation. There are Matlab®
+ scripts for perusing the netCDF files in the <em class="file">DART/matlab</em>
+ directory. There are Matlab® scripts for exploring the performance of the
+ assimilation in observation-space (after running
+ <a href="../../../diagnostics/threed_sphere/obs_diag.html">obs_diag.f90</a> to
+ explore the <em class="file">obs_seq.final</em> file) - use the scripts starting
+ with 'plot_', i.e. <em class="file">DART/diagnostics/matlab/plot_*.m</em>.
+ As always, there are some model-specific item you should know about in
+ <em class="file">DART/models/MITgcm_ocean/matlab</em>, and
+ <em class="file">DART/models/MITgcm_ocean/shell_scripts</em>.
+
</P>
<!--==================================================================-->
@@ -1084,7 +1105,10 @@
<em class="code">prog_var_to_vector</em>
packs the prognostic variables [S,T,U,V,Eta] read from the snapshot files
into a DART vector. The DART vector is simply a 1D vector that includes all
-the 'dry' cells as well as the 'wet' ones.
+the 'dry' cells as well as the 'wet' ones. This routine is not presently
+used (since we never have [S,T,U,V,Eta] as such in memory). See
+<a href="#snapshot_files_to_sv">snapshot_files_to_sv</a>.
+
</P>
<TABLE width=100% border=0 summary="" cellpadding=3>
@@ -1941,10 +1965,16 @@
<A NAME="FilesUsed"></A>
<BR><HR><BR>
<H2>FILES</H2>
-<UL><LI>inputfile1</LI>
- <LI>namelistfile</LI>
- <LI>outputfile</LI>
+<UL>
+ <LI>input namelist files: <em class="file">data, data.cal, input.nml</em></LI>
+ <LI>input data file: <em class="file">filter_ics, perfect_ics</em></LI>
+ <LI>output data files:
+ <em class="file">[S,T,U,V,Eta].YYYYMMDD.HHMMSS.[data,meta]</em></LI>
</UL>
+<P class="indent1">
+Please note that there are <strong>many</strong> more files needed to
+advance the ocean model, none of which are discussed here.
+</P>
<!--==================================================================-->
<!-- Cite references, if need be. -->
@@ -1964,18 +1994,179 @@
<H2>ERROR CODES and CONDITIONS</H2>
<div class="errors">
<TABLE border=1 cellspacing=1 cellpadding=10 width=100%>
-<TR><TH>Routine</TH><TH>Message</TH><TH>Comment</TH></TR>
+<TR><TH>Routine</TH><TH width="50%">Message</TH><TH>Comment</TH></TR>
-<TR><!-- routine --><TD VALIGN=top>xxxx</TD>
- <!-- message --><TD VALIGN=top>size of [argument] is incorrect</TD>
- <!-- comment --><TD VALIGN=top>The size of [argument] must be 1 and 4</TD>
+<TR><!-- routine --><TD VALIGN=top>static_init_model</TD>
+ <!-- message --><TD VALIGN=top>... At present, DART only supports equal
+values.</TD>
+ <!-- comment --><TD VALIGN=top>namelist PARM03 has deltaTmom /=
+deltaTtracer /= deltaTClock</TD>
</TR>
-<TR><!-- routine --><TD VALIGN=top>xxxx</TD>
- <!-- message --><TD VALIGN=top>yyyyy</TD>
- <!-- comment --><TD VALIGN=top>bad judgement<BR>
- What were you thinking?</TD>
+<TR><!-- routine --><TD VALIGN=top>static_init_model</TD>
+ <!-- message --><TD VALIGN=top>could not figure out number of
+longitudes from delX in namelist</TD>
+ <!-- comment --><TD VALIGN=top>Every entry in PARM04:delX is a perfect
+zero [the default value] ... indicating there are no longitudes. That can't be good.</TD>
</TR>
+
+<TR><!-- routine --><TD VALIGN=top>static_init_model</TD>
+ <!-- message --><TD VALIGN=top>could not figure out number of
+latitudes from delY in namelist</TD>
+ <!-- comment --><TD VALIGN=top>Every entry in PARM04:delY is a perfect
+zero [the default value] ... indicating there are no latitudes.</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>static_init_model</TD>
+ <!-- message --><TD VALIGN=top>could not figure out number of
+depth levelss from delZ in namelist</TD>
+ <!-- comment --><TD VALIGN=top>Every entry in PARM04:delZ is a perfect
+zero [the default value] ... indicating there are no depth levels.</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>read_meta</TD>
+ <!-- message --><TD VALIGN=top>unable to parse line <*>
+ from <some_file> </TD>
+ <!-- comment --><TD VALIGN=top>unable to match character string
+'nDims = [' in the snapshot metadata file.
+</TD>
+
+<TR><!-- routine --><TD VALIGN=top>read_meta</TD>
+ <!-- message --><TD VALIGN=top>unable to determine nDims
+ from <some_file> </TD>
+ <!-- comment --><TD VALIGN=top>snapshot metadata file has the string
+'nDims = [' but the value cannot be understood.
+</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>read_meta</TD>
+ <!-- message --><TD VALIGN=top>unable to read line <*>
+ from <some_file> </TD>
+ <!-- comment --><TD VALIGN=top>no comment.
+</TD>
+
+<TR><!-- routine --><TD VALIGN=top>read_meta</TD>
+ <!-- message --><TD VALIGN=top>unable to parse dimList(<*>)
+ from <some_file> </TD>
+ <!-- comment --><TD VALIGN=top>snapshot metadata file has the string
+'dimList = [' but the value cannot be understood.
+</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>read_meta</TD>
+ <!-- message --><TD VALIGN=top>unable to determine dimList
+ from <some_file> </TD>
+ <!-- comment --><TD VALIGN=top>snapshot metadata file has the string
+'dimList = [' but the values are all nonsensical.
+</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>read_meta</TD>
+ <!-- message --><TD VALIGN=top>unable to parse dataprec
+ from <some_file> </TD>
+ <!-- comment --><TD VALIGN=top>snapshot metadata file has the string
+'dataprec = [' but the value cannot be understood.
+</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>read_meta</TD>
+ <!-- message --><TD VALIGN=top>unable to determine dataprec
+ from <some_file> </TD>
+ <!-- comment --><TD VALIGN=top>snapshot metadata file has the string
+'dataprec = [' but the values are all nonsensical.
+</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>read_meta</TD>
+ <!-- message --><TD VALIGN=top>unable to parse nrecords
+ from <some_file> </TD>
+ <!-- comment --><TD VALIGN=top>snapshot metadata file has the string
+'nrecords = [' but the value cannot be understood.
+</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>read_meta</TD>
+ <!-- message --><TD VALIGN=top>unable to determine nrecords
+ from <some_file> </TD>
+ <!-- comment --><TD VALIGN=top>snapshot metadata file has the string
+'nrecords = [' but the values are all nonsensical.
+</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>read_meta</TD>
+ <!-- message --><TD VALIGN=top>unable to parse timeStepNumber
+ from <some_file> </TD>
+ <!-- comment --><TD VALIGN=top>snapshot metadata file has the string
+'timeStepNumber = [' but the value cannot be understood.
+</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>read_meta</TD>
+ <!-- message --><TD VALIGN=top>unable to determine timeStepNumber
+ from <some_file> </TD>
+ <!-- comment --><TD VALIGN=top>snapshot metadata file has the string
+'timeStepNumber = [' but the values are all nonsensical.
+</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>write_meta</TD>
+ <!-- message --><TD VALIGN=top>unable to open file
+ <some_file> for writing</TD>
+ <!-- comment --><TD VALIGN=top>no comment.
+</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>read_Nd_snapshot</TD>
+ <!-- message --><TD VALIGN=top>storage mode mismatch for
+ <some_file> </TD>
+ <!-- comment --><TD VALIGN=top>DART is expecting a 32bit float in the
+snapshot file. This is tricky to check, since it is possible to
+redefine the <em class="unix">r4</em> storage type (in <em
+class="file">common/types_mod.f90</em>) to be a 64bit float, in which case
+you don't want to get a 32bit float. This check must be manually disabled
+by editing the logic in <em class="code">read_Nd_snapshot</em> to handle
+the case where the snapshot file storage is 64bit.
+</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>read_Nd_snapshot</TD>
+ <!-- message --><TD VALIGN=top>dim 1 does not match delX grid size
+ from namelist ... </TD>
+ <!-- comment --><TD VALIGN=top>the snapshot file metadata does not
+match the number of longitudes inferred from PARM04:delX
+</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>read_Nd_snapshot</TD>
+ <!-- message --><TD VALIGN=top>dim 2 does not match delY grid size
+ from namelist ... </TD>
+ <!-- comment --><TD VALIGN=top>the snapshot file metadata does not
+match the number of latitudes inferred from PARM04:delY
+</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>read_Nd_snapshot</TD>
+ <!-- message --><TD VALIGN=top>dim 3 does not match delZ grid size
+ from namelist ... </TD>
+ <!-- comment --><TD VALIGN=top>the snapshot file metadata does not
+match the number of depths inferred from PARM04:delZ
+</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>read_Nd_snapshot</TD>
+ <!-- message --><TD VALIGN=top>cannot open (<*>)
+ <some_file> for reading</TD>
+ <!-- comment --><TD VALIGN=top>the (<*>) is the Fortran error code
+</TD>
+</TR>
+
+<TR><!-- routine --><TD VALIGN=top>read_Nd_snapshot</TD>
+ <!-- message --><TD VALIGN=top>unable to read (<*>) snapshot file
+ <some_file></TD>
+ <!-- comment --><TD VALIGN=top>the (<*>) is the Fortran error code
+</TD>
+</TR>
+
</TABLE>
</div>
Added: DART/trunk/models/MITgcm_ocean/trans_pv_sv.html
===================================================================
--- DART/trunk/models/MITgcm_ocean/trans_pv_sv.html (rev 0)
+++ DART/trunk/models/MITgcm_ocean/trans_pv_sv.html 2008-10-13 22:20:41 UTC (rev 3623)
@@ -0,0 +1,220 @@
+<HTML>
+<HEAD>
+<TITLE>program trans_pv_sv</TITLE>
+<link rel="stylesheet" type="text/css" href="../../doc/html/doc.css"></link>
+</HEAD>
+<BODY>
+<!--
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!! !!
+!! GNU General Public License !!
+!! !!
+!! This file is part of the Data Assimilation Research Testbed (DART). !!
+!! !!
+!! DART is free software; you can redistribute it and/or modify !!
+!! it and are expected to follow the terms of the GNU General Public !!
+!! License as published by the Free Software Foundation. !!
+!! !!
+!! DART is distributed in the hope that it will be useful, !!
+!! but WITHOUT ANY WARRANTY; without even the implied warranty of !!
+!! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the !!
+!! GNU General Public License for more details. !!
+!! !!
+!! You should have received a copy of the GNU General Public License !!
+!! along with DART; if not, write to: !!
+!! Free Software Foundation, Inc. !!
+!! 59 Temple Place, Suite 330 !!
+!! Boston, MA 02111-1307 USA !!
+!! or see: !!
+!! http://www.gnu.org/licenses/gpl.txt !!
+!! !!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+-->
+
+<DIV ALIGN=CENTER>
+<A HREF="#Namelist">NAMELIST</A> /
+<A HREF="#FilesUsed">FILES</A> /
+<A HREF="#References">REFERENCES</A> /
+<A HREF="#Errors">ERRORS</A> /
+<A HREF="#KnownBugs">BUGS</A> /
+<A HREF="#FuturePlans">PLANS</A>
+</DIV>
+
+<!--==================================================================-->
+
+<H1>PROGRAM trans_pv_sv</H1>
+<A NAME="HEADER"></A>
+<TABLE summary="">
+<TR><TD>Contact: </TD><TD> Tim Hoar </TD></TR>
+<TR><TD>Revision: </TD><TD> $Revision$ </TD></TR>
+<TR><TD>Source: </TD><TD> $URL$ </TD></TR>
+<TR><TD>Change Date: </TD><TD> $Date$ </TD></TR>
+<TR><TD>Change history:</TD><TD> try "svn log" or "svn diff" </TD></TR>
+</TABLE>
+
+<!--==================================================================-->
+
+<A NAME="OVERVIEW"></A>
+<HR>
+<H2 class="indent1">OVERVIEW</H2>
+<P class="indent1">
+ <em class="program">trans_pv_sv</em> is responsible for converting the ocean
+ model 'snapshot' files to a DART 'initial conditions' file. In order to do that,
+ the valid time for the snapshot files must be calculated from several pieces of
+ information: the filename contains a timestep index, the
+ <em class="file">data</em><em class="unix">&PARM03</em> namelist contains
+ information about the amount of time per timestep, and the
+ <em class="file">data.cal</em><em class="unix">&CAL_NML</em>
+ namelist contains the start time. Additionally, the grid characteristics must
+ be read from <em class="file">data</em><em class="unix">&PARM04</em>.
+
+ Consequently, the files
+ <em class="file">data</em>, and <em class="file">data.cal</em> as well as
+ the general <em class="file">input.nml</em> are needed in addition to the snapshot
+ files.
+ <BR>
+ <BR>
+ This program has a number of options that are driven from namelists and
+ <strong>one</strong> piece of input read from STDIN: the integer representing the
+ timestep index of the snapshot file set.
+</P>
+
+<H2 class="indent1">Usage</H2>
+<P class="indent1">
+ The output filename is hardwired to that expected by
+ <em class="program">filter</em>.
+ This example creates an output file named
+ <em class="file">assim_model_state_ud</em>
+ from the following files in the local directory:<br><br>
+ <em class="file">S.0000000096.data</em><br>
+ <em class="file">T.0000000096.data</em><br>
+ <em class="file">U.0000000096.data</em><br>
+ <em class="file">V.0000000096.data</em><br>
+ <em class="file">Eta.0000000096.data</em>
+ <div class="unix">
+ ./trans_pv_sv < 96
+ </div><br>
+</P>
+
+<!--==================================================================-->
+
+<A NAME="OTHER MODULES USED"></A>
+<HR>
+<H2 class="indent1">OTHER MODULES USED</H2>
+<PRE class="indent1">
+types_mod
+utilities_mod
+model_mod
+assim_model_mod
+time_manager_mod
+</PRE>
+
+<A NAME="Namelist"></A>
+<HR>
+<H2 class="indent1">NAMELIST</H2>
+<P class="indent1">
+This program has no namelist of its own, but some of the underlying modules
+require namelists. To avoid duplication and, possibly, some inconsistency
+in the documentation, only a list of the required namelists is provided here,
+with a hyperlink to the full documentation for each namelist.
+</P>
+
+<TABLE border=0 cellpadding=3 width=100% class="indent1">
+<TR><TH align="left">Namelist</TH><TH align="left">Primary Purpose</TH></TR>
+<TR><TD><a
+ href="../../utilities/utilities_mod.html#Namelist">utilities_nml</a></TD>
+ <TD>set the termination level and file name for the run-time log</TD></TR>
+<TR><TD><a
+ href="../../assim_model/assim_model_mod.html#Namelist">assim_model_mod_nml</a></TD>
+ <TD>write DART restart files in binary or ASCII</TD></TR>
+
+<TR><TD><a href="model_mod.html#Namelist">model_nml</a></TD>
+ <TD>write netCDF files with prognostic variables</TD></TR>
+
+<TR><TD><a href="model_mod.html#namelist_cal_nml">CAL_NML</a></TD>
+ <TD>determine start time of the ocean model</TD></TR>
+
+<TR><TD><a href="model_mod.html#namelist_parm03">PARM03</a></TD>
+ <TD>the amount of time per model timestep for deciphering snapshot filenames</TD></TR>
+
+<TR><TD><a href="model_mod.html#namelist_parm04">PARM04</a></TD>
+ <TD>ocean model grid parameters</TD></TR>
+</table>
+
+<!--==================================================================-->
+<!-- Describe the Files Used by this module. -->
+<!--==================================================================-->
+
+<A NAME="FilesUsed"></A>
+<HR>
+<H2 class="indent1">FILES</H2>
+<UL class="indent1">
+ <LI>input namelist files: <em class="file">data, data.cal,
+input.nml</em></LI>
+ <LI>input snapshot files: <em class="file">[S,T,U,V,Eta].nnnnnnnnnn.[data[,.meta]]
+</em></LI>
+ <LI>output initial conditions file: <em class="file">assim_model_state_ud</em></LI>
+</UL>
+
+<!--==================================================================-->
+<!-- Cite references, if need be. -->
+<!--==================================================================-->
+
+<A NAME="References"></A>
+<HR>
+<H2 class="indent1">REFERENCES</H2>
+
+<!--==================================================================-->
+<!-- Describe all the error conditions and codes. -->
+<!-- Putting a <BR> after the synopsis creates a nice effect. -->
+<!--==================================================================-->
+
+<A NAME="Errors"></A>
+<HR>
+<H2 class="indent1">ERROR CODES and CONDITIONS</H2>
+<P class="indent1">The most common problem is trying to read the Fortran
+direct-access big-endian snapshot files on a little-endian architecture.
+This can manifest itself in very misleading ways. Make sure you have the
+right compiler settings to be able to read these files. There is no one
+error message that indicates the read was unsuccessful.<BR><BR>
+The read takes place in
+<a href="model_mod.html#read_snapshot">model_mod:read_snapshot()</a>.
+</P>
+<div class="errors">
+<TABLE border=1 cellspacing=1 cellpadding=10 width=100% class="indent1">
+<TR><TH>Routine</TH><TH>Message</TH><TH>Comment</TH></TR>
+
+<TR><!-- routine --><TD VALIGN=top>trans_sv_pv</TD>
+ <!-- message --><TD VALIGN=top>unable to read timestep from stdin.</TD>
+ <!-- comment --><TD VALIGN=top>look at the example in the 'Usage' section.</TD>
+</TR>
+
+</TABLE>
+</div>
+
+<!--==================================================================-->
+<!-- Describe the bugs. -->
+<!--==================================================================-->
+
+<A NAME="KnownBugs"></A>
+<HR>
+<H2 class="indent1">KNOWN BUGS</H2>
+<P class="indent1">
+There are no known bugs.
+</P>
+
+<!--==================================================================-->
+<!-- Descibe Future Plans. -->
+<!--==================================================================-->
+
+<A NAME="FuturePlans"></A>
+<HR>
+<H2 class="indent1">FUTURE PLANS</H2>
+<P class="indent1">
+None at this time. Feel free to suggest improvements.
+</P>
+
+<!--==================================================================-->
+
+</BODY>
+</HTML>
Property changes on: DART/trunk/models/MITgcm_ocean/trans_pv_sv.html
___________________________________________________________________
Name: svn:mime-type
+ text/html
Name: svn:keywords
+ Date Rev Author URL Id
Name: svn:eol-style
+ native
Added: DART/trunk/models/MITgcm_ocean/trans_sv_pv.html
===================================================================
--- DART/trunk/models/MITgcm_ocean/trans_sv_pv.html (rev 0)
+++ DART/trunk/models/MITgcm_ocean/trans_sv_pv.html 2008-10-13 22:20:41 UTC (rev 3623)
@@ -0,0 +1,206 @@
+<HTML>
+<HEAD>
+<TITLE>program trans_sv_pv</TITLE>
+<link rel="stylesheet" type="text/css" href="../../doc/html/doc.css"></link>
+</HEAD>
+<BODY>
+<!--
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!! !!
+!! GNU General Public License !!
+!! !!
+!! This file is part of the Data Assimilation Research Testbed (DART). !!
+!! !!
+!! DART is free software; you can redistribute it and/or modify !!
+!! it and are expected to follow the terms of the GNU General Public !!
+!! License as published by the Free Software Foundation. !!
+!! !!
+!! DART is distributed in the hope that it will be useful, !!
+!! but WITHOUT ANY WARRANTY; without even the implied warranty of !!
+!! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the !!
+!! GNU General Public License for more details. !!
+!! !!
+!! You should have received a copy of the GNU General Public License !!
+!! along with DART; if not, write to: !!
+!! Free Software Foundation, Inc. !!
+!! 59 Temple Place, Suite 330 !!
+!! Boston, MA 02111-1307 USA !!
+!! or see: !!
+!! http://www.gnu.org/licenses/gpl.txt !!
+!! !!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+-->
+
+<DIV ALIGN=CENTER>
+<A HREF="#Namelist">NAMELIST</A> /
+<A HREF="#FilesUsed">FILES</A> /
+<A HREF="#References">REFERENCES</A> /
+<A HREF="#Errors">ERRORS</A> /
+<A HREF="#KnownBugs">BUGS</A> /
+<A HREF="#FuturePlans">PLANS</A>
+</DIV>
+
+<!--==================================================================-->
+
+<H1>PROGRAM trans_sv_pv</H1>
+<A NAME="HEADER"></A>
+<TABLE summary="">
+<TR><TD>Contact: </TD><TD> Tim Hoar </TD></TR>
+<TR><TD>Revision: </TD><TD> $Revision$ </TD></TR>
+<TR><TD>Source: </TD><TD> $URL$ </TD></TR>
+<TR><TD>Change Date: </TD><TD> $Date$ </TD></TR>
+<TR><TD>Change history:</TD><TD> try "svn log" or "svn diff" </TD></TR>
+</TABLE>
+
+<!--==================================================================-->
+
+<A NAME="OVERVIEW"></A>
+<HR>
+<H2 class="indent1">OVERVIEW</H2>
+<P class="indent1">
+ <em class="program">trans_sv_pv</em> is responsible for converting a DART
+ 'initial conditions' file to a set of model 'snapshot' files.
+ This is easier than the reverse process because the DART initial conditions file
+ have a header that contains the valid time for the accompanying state.
+ <BR><BR>
+ The input filename is hardwired to that expected by
+ <em class="program">filter</em> and the output filenames are able to be
+ parsed into an appropriate
+ <em class="file">data.cal</em><em class="unix">&CAL_NML</em> namelist
+ and can be used as input to the
+ <em class="file">data</em><em class="unix">&PARM05</em> namelist specifying
+ the filenames to use to cold-start the ocean model.
+ <em class="program">trans_sv_pv</em> also creates a new
+ <em class="file">data.cal</em> to reflect the (new) starting date of the model.
+ <BR>
+ <BR>
+ The output filename is comprised of 4 parts: the variable name, the startDate_1
+ component (YYYYMMDD), the startDate_2 component (HHMMSS), and the extension (.data
+ for the data and .meta for the metadata). The startDate_1 and startDate_2 pieces
+ are identical in format to that used by identically named variables in the
+ <em class="file">data.cal</em><em class="unix">&CAL_NML</em> namelist.
+</P>
+
+<H2 class="indent1">Usage</H2>
+<P class="indent1">
+ There must be several input files in the current working directory;
+ most of these are required by the <em class="unix">model_mod</em>
+ interface. The input filename is hardwired to
+ <em class="file">assim_model_state_ic</em>.
+ Assuming the time tag in the input file is set to 06Z 23 July 1996, this
+ example creates output files named<br>
+ <em class="file">S.19960723.060000.[data,meta]</em><br>
+ <em class="file">T.19960723.060000.[data,meta]</em><br>
+ <em class="file">U.19960723.060000.[data,meta]</em><br>
+ <em class="file">V.19960723.060000.[data,meta]</em><br>
+ <em class="file">Eta.19960723.060000.[data,meta]</em>, and<br>
+ <em class="file">data.cal.new</em>
+ <div class="unix">
+ mv some_DART_ics_input_file assim_model_state_ic<br>
+ ./trans_sv_pv <br>
+ cp data.cal.new data.cal
+ </div><br>
+</P>
+
+<!--==================================================================-->
+
+<A NAME="OTHER MODULES USED"></A>
+<HR>
+<H2 class="indent1">OTHER MODULES USED</H2>
+<PRE class="indent1">
+types_mod
+utilities_mod
+model_mod
+assim_model_mod
+time_manager_mod
+</PRE>
+
+<A NAME="Namelist"></A>
+<HR>
+<H2 class="indent1">NAMELIST</H2>
+<P class="indent1">
+This program has no namelist of its own, but some of the underlying modules
+require namelists to be read, even if the values are not used.
+To avoid duplication and, possibly, some inconsistency
+in the documentation; only a list of the required namelists is provided -
+with a hyperlink to the full documentation for each namelist.
+</P>
+
+<TABLE border=0 cellpadding=3 width=100% class="indent1">
+<TR><TH align="left">Namelist</TH><TH align="left">Primary Purpose</TH></TR>
+<TR><TD><a
+ href="../../utilities/utilities_mod.html#Namelist">utilities_nml</a></TD>
+ <TD>set the termination level and file name for the run-time log</TD></TR>
+
+<TR><TD><a href="model_mod.html#namelist_cal_nml">CAL_NML</a></TD>
+ <TD>must be read, values are not used</TD></TR>
+
+<TR><TD><a href="model_mod.html#namelist_parm03">PARM03</a></TD>
+ <TD>must be read, values are not used</TD></TR>
+
+<TR><TD><a href="model_mod.html#namelist_parm04">PARM04</a></TD>
+ <TD>ocean model grid parameters</TD></TR>
+</table>
+
+<!--==================================================================-->
+<!-- Describe the Files Used by this module. -->
+<!--==================================================================-->
+
+<A NAME="FilesUsed"></A>
+<HR>
+<H2 class="indent1">FILES</H2>
+<UL class="indent1">
+ <LI>input namelist files: <em class="file">data, data.cal, input.nml</em></LI>
+ <LI>output namelist file: <em class="file">data.cal.new</em></LI>
+ <LI>input data file: <em class="file">assim_model_state_ic</em></LI>
+ <LI>output data files:
+ <em class="file">[S,T,U,V,Eta].YYYYMMDD.HHMMSS.[data,meta]</em></LI>
+</UL>
+
+<!--==================================================================-->
+<!-- Cite references, if need be. -->
+<!--==================================================================-->
+
+<A NAME="References"></A>
+<HR>
+<H2 class="indent1">REFERENCES</H2>
+
+<!--==================================================================-->
+<!-- Describe all the error conditions and codes. -->
+<!-- Putting a <BR> after the synopsis creates a nice effect. -->
+<!--==================================================================-->
+
+<A NAME="Errors"></A>
+<HR>
+<H2 class="indent1">ERROR CODES and CONDITIONS</H2>
+<P class="indent1">There are no error conditions specific to
+<em class="program">trans_sv_pv</em>.
+</P>
+</div>
+
+<!--==================================================================-->
+<!-- Describe the bugs. -->
+<!--==================================================================-->
+
+<A NAME="KnownBugs"></A>
+<HR>
+<H2 class="indent1">KNOWN BUGS</H2>
+<P class="indent1">
+There are no known bugs.
+</P>
+
+<!--==================================================================-->
+<!-- Descibe Future Plans. -->
+<!--==================================================================-->
+
+<A NAME="FuturePlans"></A>
+<HR>
+<H2 class="indent1">FUTURE PLANS</H2>
+<P class="indent1">
+None at this time. Feel free to suggest improvements.
+</P>
+
+<!--==================================================================-->
+
+</BODY>
+</HTML>
Property changes on: DART/trunk/models/MITgcm_ocean/trans_sv_pv.html
___________________________________________________________________
Name: svn:mime-type
+ text/html
Name: svn:keywords
+ Date Rev Author URL Id
Name: svn:eol-style
+ native
More information about the Dart-dev
mailing list