[Dart-dev] [4210] DART/trunk/models: Huge overhaul to conform to HTML spec and to provide

nancy at ucar.edu nancy at ucar.edu
Wed Jan 6 13:41:50 MST 2010


Revision: 4210
Author:   thoar
Date:     2010-01-06 13:41:50 -0700 (Wed, 06 Jan 2010)
Log Message:
-----------
Huge overhaul to conform to HTML spec and to provide
new terms of use. This highlights some inconsistencies
in variable names of our required interfaces.
Must fix that in the not-too-distant future.

Modified Paths:
--------------
    DART/trunk/models/MITgcm_ocean/model_mod.html
    DART/trunk/models/PBL_1d/model_mod.html
    DART/trunk/models/POP/model_mod.html
    DART/trunk/models/cam/model_mod.html
    DART/trunk/models/coamps/model_mod.html
    DART/trunk/models/forced_lorenz_96/model_mod.html
    DART/trunk/models/ikeda/model_mod.html
    DART/trunk/models/lorenz_04/model_mod.html
    DART/trunk/models/lorenz_63/model_mod.html
    DART/trunk/models/lorenz_84/model_mod.html
    DART/trunk/models/lorenz_96/model_mod.html
    DART/trunk/models/model_mod.html
    DART/trunk/models/pe2lyr/model_mod.html
    DART/trunk/models/simple_advection/model_mod.html
    DART/trunk/models/wrf/model_mod.html

Property Changed:
----------------
    DART/trunk/models/MITgcm_ocean/model_mod.html

-------------- next part --------------
Modified: DART/trunk/models/MITgcm_ocean/model_mod.html
===================================================================
--- DART/trunk/models/MITgcm_ocean/model_mod.html	2009-12-24 23:07:40 UTC (rev 4209)
+++ DART/trunk/models/MITgcm_ocean/model_mod.html	2010-01-06 20:41:50 UTC (rev 4210)
@@ -1,70 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+          "http://www.w3.org/TR/html4/strict.dtd">
 <HTML>
 <HEAD>
 <TITLE>module MITgcm_ocean model_mod</TITLE>
-<link rel="stylesheet" type="text/css" href="../../doc/html/doc.css"></link> 
+<link rel="stylesheet" type="text/css" href="../../doc/html/doc.css">
 </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                          !!
-!!                                                                       !!
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
--->
+<A NAME="TOP"></A>
 
-<DIV ALIGN=CENTER>
-<A HREF="#Interface">INTERFACE</A> / 
-<A HREF="#PublicEntities">PUBLIC COMPONENTS</A> / 
+<div>
+<center>
+<A HREF="#Interface">INTERFACES</A> / 
 <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> /
-<A HREF="#PrivateComponents">PRIVATE COMPONENTS</A>
-</DIV>
+<A HREF="#PrivateComponents">PRIVATE COMPONENTS</A> /
+<A HREF="#Legalese">TERMS OF USE</A>
+</center>
+</div>
 
-<!--==================================================================-->
-
 <H1>MODULE MITgcm_ocean</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>
+<!-- version tag follows, do not edit --><P>$Id$</P>
 
-<P class=indent1>
-   A note about documentation style. Optional arguments are enclosed in
-   brackets <em class=optionalcode>[like this]</em>.
-</P>
-
-<!--==================================================================-->
-
-<A NAME="OVERVIEW"></A>
-<HR>
-<H2>OVERVIEW</H2>
 <P>
    The <a href="http://mitgcm.org/">MIT ocean GCM</a> version 'checkpoint59a' 
    is the foundation of this directory. It was modified by Ibrahim Hoteit 
@@ -130,10 +89,10 @@
    <tr><td valign="top"><a href="trans_sv_pv.html">trans_sv_pv.f90</a></td>
        <td>converts the DART output into snapshot files to be used as 
            ocean model input datasets (specified in 
-           <em class="file">data</em><em class="code">&#38;PARM05</em>); creates
+           <em class="file">data</em><em class="code">&amp;PARM05</em>); creates
            a new <em class="file">data</em> namelist file 
            (<em class="file">data.DART</em>) containing the correct 
-            <em class="code">&#PARM03;startTime,endTime</em> values to advance
+            <em class="code">&amp;PARM03;startTime,endTime</em> values to advance
            the ocean model the expected amount; and creates
            a new <em class="file">data.cal</em> namelist file 
            (<em class="file">data.cal.DART</em>) containing the calendar information.
@@ -146,9 +105,9 @@
 
  <p>
    The data assimilation period is controlled in the
-   <em class="file">input.nml</em><em class="code">&#38;model_nml</em>
+   <em class="file">input.nml</em><em class="code">&amp;model_nml</em>
    namelist. In combination with the ocean model dynamics timestep
-   <em class="file">data</em><em class="code">&#38;PARM03:deltaTClock</em>
+   <em class="file">data</em><em class="code">&amp;PARM03:deltaTClock</em>
    this determines the amount of time the model will advance for each
    assimilation cycle.
  </p>
@@ -199,9 +158,9 @@
    <a name="ModelTimestepping"></a>
    <BR>
    <h4 class="indent1">Controlling the model advances</h4>
-<p>
+<P>
    The assimilation period is specified by two namelist parameters 
-   in the <em class="file">input.nml</em><em class="code">&#38;model_nml</em> namelist:
+   in the <em class="file">input.nml</em><em class="code">&amp;model_nml</em> namelist:
    <em class="code">assimilation_period_days</em> and
    <em class="code">assimilation_period_seconds</em>.
    Normally, all observations within (+/-) HALF of the total assimilation 
@@ -209,7 +168,7 @@
    <BR>
    <BR>
    The time of the initial conditions is specified by two namelist parameters 
-   in the <em class="file">input.nml</em><em class="code">&#38;model_nml</em> namelist:
+   in the <em class="file">input.nml</em><em class="code">&amp;model_nml</em> namelist:
    <em class="code">init_time_days</em> and
    <em class="code">init_time_seconds</em>; depending on the settings of these
    parameters, the times may or may not come directly from the DART initial 
@@ -217,19 +176,19 @@
    <BR>
    <BR>
    The ocean model <b>MUST always</b> start from the input datasets defined 
-   in the <em class="file">data</em><em class="code">&#38;PARM05</em> namelist. 
+   in the <em class="file">data</em><em class="code">&amp;PARM05</em> namelist. 
    Apparently, this requires 
-   <em class="file">data</em><em class="code">&#38;PARM03:startTime</em> to be <b>0.0</b>. 
+   <em class="file">data</em><em class="code">&amp;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 files used in 
-   <em class="file">data</em><em class="code">&#38;PARM05</em> and creates new 
-   <em class="file">data.cal</em><em class="code">&#38;CAL_NML</em> and 
-   <em class="file">data</em><em class="code">&#38;PARM03</em> namelists with
+   <em class="file">data</em><em class="code">&amp;PARM05</em> and creates new 
+   <em class="file">data.cal</em><em class="code">&amp;CAL_NML</em> and 
+   <em class="file">data</em><em class="code">&amp;PARM03</em> namelists with
    values appropriate to advance the model to the desired time.
    <BR>
    <BR>
    The ocean model then 
-   advances till <em class="file">data</em><em class="code">&#38;PARM03:endTime</em> 
+   advances till <em class="file">data</em><em class="code">&amp;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 
@@ -238,21 +197,23 @@
    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">&#38;PARM03:endTime</em>.
+   <em class="file">data</em><em class="code">&amp;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">&#38;filter_nml:last_obs_days,last_obs_seconds</em> 
+   <em class="file">input.nml</em><em class="code">&amp;filter_nml:last_obs_days,last_obs_seconds</em> 
    has been reached.
-<p>
+</P>
 
    <a name="GettingStarted"></a>
    <BR>
    <h4 class="indent1">Getting Started</h4>
+<P>
    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.
+</P>
    
    <ol>
       <li>create a set of initial conditions for DART as described in 
@@ -276,7 +237,10 @@
           <a href="../../../filter/filter.html">filter</a></li>
    </ol>
 
+   <P>
    A perfectly sensible approach to get to know the system would be to try to 
+   </P>
+
    <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
@@ -289,6 +253,7 @@
 
    <a name="ExploringOutput"></a>
    <h4 class="indent1">Exploring the Output</h4>
+   <P>
    Is pretty much like any other model. The netCDF files have the model
    prognostic variables before and after the assimilation. There are Matlab&#174;
    scripts for perusing the netCDF files in the <em class="file">DART/matlab</em>
@@ -300,14 +265,14 @@
    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>
 
-</P>
-
 <!--==================================================================-->
 
-<A NAME="OTHER MODULES USED"></A>
-<BR><HR><BR>
+<A NAME="OtherModulesUsed"></A>
+<HR>
 <H2>OTHER MODULES USED</H2>
+
 <PRE>
 types_mod
 time_manager_mod
@@ -319,10 +284,16 @@
 </PRE>
 
 <!--==================================================================-->
+<!-- Note to authors. The first row of the table is different.        -->
+<!--==================================================================-->
+<!-- Declare all public entities ...                                  -->
+<!-- duplicate public routines template as many times as necessary    -->
+<!-- make sure you replace all yyyroutine?? strings                   -->
+<!--==================================================================-->
 
 <A NAME="Interface"></A>
-<BR><HR><BR>
-<H2>INTERFACES USED</H2>
+<HR>
+<H2>PUBLIC INTERFACES</H2>
 
 <P>
 Only a select number of interfaces used are discussed here.
@@ -335,8 +306,6 @@
 <TR><TD>&nbsp;</TD><TD><A HREF="../../location/threed_sphere/location_mod.html#set_location">set_location</A></TD></TR>
 </TABLE>
 
-<H3 class="indent1">NOTES</H3>
-
 <P>
 The ocean model namelists <em class="file">data</em>, and 
 <em class="file">data.cal</em> <em class=strong>MUST</em> be 
@@ -346,16 +315,6 @@
 the current time of the model output.
 </P>
 
-<!--==================================================================-->
-<!-- Declare all public entities ...                                  -->
-<!-- duplicate public routines template as many times as necessary    -->
-<!-- make sure you replace all yyyroutine?? strings                   -->
-<!--==================================================================-->
-
-<A NAME="PublicEntities"></A>
-<BR><HR><BR>
-<H2>PUBLIC COMPONENTS PROVIDED</H2>
-
 <TABLE>
 <TR><TD colspan="2">Required Interface Routines</TD></TR>
 <TR><TD><em class=call>use model_mod, only : </em></TD>
@@ -394,51 +353,64 @@
 <TR><TD>&nbsp;</TD><TD><A HREF="#write_data_namelistfile">write_data_namelistfile</A></TD></TR>
 </TABLE>
 
-<H3 class="indent1">NOTES</H3>
-
 <P>
-Ocean model namelist interfaces <em class="code">&#38;PARM03</em>,
-<em class="code">&#38;PARM04</em>, and 
-<em class="code">&#38;PARM04</em> are read from 
+Ocean model namelist interfaces <em class="code">&amp;PARM03</em>,
+<em class="code">&amp;PARM04</em>, and 
+<em class="code">&amp;PARM04</em> are read from 
 file <em class="file">data</em>.
-Ocean model namelist interface <em class="code">&#38;CAL_NML</em>,
+Ocean model namelist interface <em class="code">&amp;CAL_NML</em>,
 is read from file <em class="file">data.cal</em>.
 </P>
 
-<!--===================== DESCRIPTION OF FUNCTION ====================-->
+<P>
+   A note about documentation style.
+   Optional arguments are enclosed in brackets
+   <em class=optionalcode>[like this]</em>.
+</P>
 
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
+
 <A NAME="get_model_size"></A>
-<BR><BR>
-<div class="routine">
-<em class="call"> model_size = get_model_size( )</em>
+<br>
+<div class=routine>
+<em class=call>model_size = get_model_size( )</em>
 <pre>
-integer                               :: <em class="code"> get_model_size </em>
+integer :: <em class=code>get_model_size</em>
 </pre>
 </div>
 
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+<div class=indent1>
+<!-- Description -->
 
 <P>
-Returns the length of the model state vector as an integer. 
-This includes all nested domains.
+Returns the length of the model state vector.
+Required.
 </P>
+
+<TABLE width=100% border=0 summary="" cellpadding=3>
+
+<TR><TD valign=top><em class=code>model_size</em></TD>
+    <TD>The length of the model state vector.</TD></TR>
+
+</TABLE>
+
 </div>
+<br>
 
-<!--=================== DESCRIPTION OF SUBROUTINE ====================-->
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
 
 <A NAME="adv_1step"></A>
-<BR><BR>
-<div class="routine">
-<em class="call">call adv_1step(x, time)</em>
+<br>
+<div class=routine>
+<em class=call>call adv_1step(x, time)</em>
 <pre>
-real(r8), dimension(:),   intent(inout) :: <em class="code"> x </em>
-type(time_type),          intent(in)    :: <em class="code"> time </em>
+real(r8), dimension(:), intent(inout) :: <em class=code>x</em>
+type(time_type),        intent(in)    :: <em class=code>time</em>
 </pre>
 </div>
 
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+<div class=indent1>
+<!-- Description -->
 
 <P>
 <em class="code">adv_1step</em>
@@ -446,24 +418,36 @@
 Advancing the model is done through the <em class="program">advance_model</em> script.
 This is a NULL_INTERFACE, provided only for compatibility with the DART requirements.
 </P>
+
+<TABLE width=100% border=0 summary="" cellpadding=3>
+
+<TR><TD valign=top><em class=code>x</em></TD>
+    <TD>State vector of length model_size.</TD></TR>
+
+<TR><TD valign=top><em class=code>time&nbsp;&nbsp;&nbsp;</em></TD>
+    <TD>Specifies time of the initial model state.</TD></TR>
+
+</TABLE>
+
 </div>
+<br>
 
-<!--=================== DESCRIPTION OF SUBROUTINE ====================-->
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
 
 <A NAME="get_state_meta_data"></A>
-<BR><BR>
-<div class="routine">
-<em class="call">call get_state_meta_data (index_in, location, 
-                          <em class=optionalcode>[, var_type]</em> )</em>
+<br>
+<div class=routine>
+<em class=call>call get_state_meta_data (index_in, location, 
+                          <em class=optionalcode>[,&nbsp;var_type]</em> )</em>
 <pre>
-integer,                  intent(in)    :: <em class="code"> index_in </em>
-type(location_type),      intent(out)   :: <em class="code"> location </em>
-integer, optional,        intent(out)   :: <em class=optionalcode> var_type </em>
+integer,             intent(in)  :: <em class=code>index_in</em>
+type(location_type), intent(out) :: <em class=code>location</em>
+integer, optional,   intent(out) :: <em class=optionalcode> var_type </em>
 </pre>
 </div>
 
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+<div class=indent1>
+<!-- Description -->
 
 <P>
 <em class="code">get_state_meta_data</em>
@@ -480,10 +464,10 @@
 
 <TABLE width=100% border=0 summary="" cellpadding=3>
 
-<TR><TD valign=top><em class="code">index_in</em></TD>
-    <TD>Index into the long state vector.</TD></TR>
+<TR><TD valign=top><em class=code>index_in&nbsp;&nbsp;&nbsp;</em></TD>
+    <TD>Index of state vector element about which information is requested.</TD></TR>
 
-<TR><TD valign=top><em class="code">location</em></TD>
+<TR><TD valign=top><em class=code>location</em></TD>
     <TD>Returns the 3D location of the indexed state variable.
         The <em class="code">location_ type</em> comes from
         <em class="file">DART/location/threed_sphere/location_mod.f90</em>.
@@ -500,36 +484,34 @@
 
 </TABLE>
 
-<H3 class="indent1">Notes</H3>
-
 <P>
 The list of supported variables in <em class="file">DART/obs_kind/obs_kind_mod.f90</em>
 is created by <em class="program">preprocess</em> using the entries in 
-<em class="file">input.nml</em>[<em class="code">&#38;preprocess_nml, &#38;obs_kind_nml</em>], 
+<em class="file">input.nml</em>[<em class="code">&amp;preprocess_nml, &amp;obs_kind_nml</em>], 
 <em class="file">DEFAULT_obs_kin_mod.F90</em> and
 <em class="file">obs_def_MITgcm_ocean_mod.f90</em>.
 </P>
+
 </div>
+<br>
 
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
 
-<!--=================== DESCRIPTION OF SUBROUTINE ====================-->
-
 <A NAME="model_interpolate"></A>
-<BR><BR>
-<div class="routine">
-<em class="call"> call model_interpolate(x, location, obs_type, interp_val,
-istatus)</em>
+<br>
+<div class=routine>
+<em class=call>call model_interpolate(x, location, itype, obs_val, istatus)</em>
 <pre>
-real(r8), dimension(:),   intent(in)  :: <em class="code"> x </em>
-type(location_type),      intent(in)  :: <em class="code"> location </em>
-integer,                  intent(in)  :: <em class="code"> obs_type </em>
-real(r8),                 intent(out) :: <em class="code"> interp_val </em>
-integer,                  intent(out) :: <em class="code"> istatus </em>
+real(r8), dimension(:), intent(in)  :: <em class=code>x</em>
+type(location_type),    intent(in)  :: <em class=code>location</em>
+integer,                intent(in)  :: <em class=code>itype</em>
+real(r8),               intent(out) :: <em class=code>obs_val</em>
+integer,                intent(out) :: <em class=code>istatus</em>
 </pre>
 </div>
 
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+<div class=indent1>
+<!-- Description -->
 
 <P>
 Given a model state, <em class="code">model_interpolate</em> returns the value of 
@@ -550,39 +532,40 @@
 
 <TABLE width=100% border=0 summary="" cellpadding=3>
 
-<TR><TD valign=top><em class="code">x &nbsp; &nbsp; </em></TD>
-    <TD>Model state vector. </TD></TR>
+<TR><TD valign=top><em class=code>x</em></TD>
+    <TD>A model state vector.</TD></TR>
 
-<TR><TD valign=top><em class="code">location</em></TD>
+<TR><TD valign=top><em class=code>location&nbsp;&nbsp;&nbsp;</em></TD>
     <TD>Location to which to interpolate.</TD></TR>
 
-<TR><TD valign=top><em class="code">obs_type</em></TD>
-    <TD>Integer indexing which type of observation is desired.</TD></TR>
+<TR><TD valign=top><em class=code>itype</em></TD>
+    <TD> Not used.</TD></TR>
 
-<TR><TD valign=top><em class="code">interp_val</em></TD>
-    <TD>The desired observation value at the requested location.</TD></TR>
+<TR><TD valign=top><em class=code>obs_val</em></TD>
+    <TD> The interpolated value from the model.</TD></TR>
 
-<TR><TD valign=top><em class="code">istatus</em></TD>
+<TR><TD valign=top><em class=code>istatus</em></TD>
     <TD>Integer flag indicating the success of the interpolation.
        <BR>success == 0, failure == anything else</TD></TR>
 
 </TABLE>
 
 </div>
+<br>
 
-<!--==================== DESCRIPTION OF FUNCTION =====================-->
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
 
 <A NAME="get_model_time_step"></A>
-<BR><BR>
-<div class="routine">
-<em class="call"> var = get_model_time_step( )</em>
+<br>
+<div class=routine>
+<em class=call>var = get_model_time_step()</em>
 <pre>
-type(time_type)                       :: <em class="code"> get_model_time_step </em>
+type(time_type) :: <em class=code>get_model_time_step</em>
 </pre>
 </div>
 
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+<div class=indent1>
+<!-- Description -->
 
 <P>
 <em class="code">get_model_time_step</em>
@@ -594,16 +577,15 @@
 length are used for the assimilation.
 In the <em class="program">MITgcm_ocean</em> case, this is set from 
 the namelist values for <em class="file">input.nml</em><em
-class="code">&#38;model_nml:assimilation_period_days, assimilation_period_seconds</em>,
+class="code">&amp;model_nml:assimilation_period_days, assimilation_period_seconds</em>,
 after ensuring the forecast length is a multiple of the ocean model dynamical timestep
-declared by <em class="file">data</em><em class="code">&#38;PARM03:deltaTClock</em>.
+declared by <em class="file">data</em><em class="code">&amp;PARM03:deltaTClock</em>.
 </P>
 
 <TABLE width=100% border=0 summary="" cellpadding=3>
 
-<TR><TD valign=top><em class="code">var</em></TD>
-    <TD>the assimilation width, the minimum amount of time the model can be advanced,
-etc.</TD></TR>
+<TR><TD valign=top><em class=code>var&nbsp;&nbsp;&nbsp;</em></TD>
+    <TD>Smallest time step of model.</TD></TR>
 
 </TABLE>
 
@@ -611,22 +593,20 @@
 Please read the note concerning 
 <a href="#ModelTimestepping">Controlling&nbsp;the&nbsp;model&nbsp;advances</a>
 </P>
+
 </div>
+<br>
 
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
 
-
-<!--=================== DESCRIPTION OF SUBROUTINE ====================-->
-
 <A NAME="static_init_model"></A>
-<BR><BR>
-<div class="routine">
-<em class="call">call static_init_model( )</em>
-<pre>
-</pre>
+<br>
+<div class=routine>
+<em class=call>call static_init_model()</em>
 </div>
 
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+<div class=indent1>
+<!-- Description -->
 
 <P>
 <em class="code">static_init_model</em>
@@ -637,27 +617,29 @@
 public interface routines.
 <BR><BR>
 The namelists (all mandatory) are:<BR>
-<em class="file">input.nml</em><em class="code">&#38;model_mod_nml</em>,<BR>
-<em class="file">data.cal</em><em class="code">&#38;CAL_NML</em>,<BR>
-<em class="file">data</em><em class="code">&#38;PARM03</em>,<BR>
-<em class="file">data</em><em class="code">&#38;PARM04</em>, and <BR>
-<em class="file">data</em><em class="code">&#38;PARM05</em>.
+<em class="file">input.nml</em><em class="code">&amp;model_mod_nml</em>,<BR>
+<em class="file">data.cal</em><em class="code">&amp;CAL_NML</em>,<BR>
+<em class="file">data</em><em class="code">&amp;PARM03</em>,<BR>
+<em class="file">data</em><em class="code">&amp;PARM04</em>, and <BR>
+<em class="file">data</em><em class="code">&amp;PARM05</em>.
 </P>
+
+<TABLE width=100% border=0 summary="" cellpadding=3>
+</TABLE>
+
 </div>
+<br>
 
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
 
-<!--=================== DESCRIPTION OF SUBROUTINE ====================-->
-
 <A NAME="end_model"></A>
-<BR><BR>
-<div class="routine">
-<em class="call">call end_model( )</em>
-<pre>
-</pre>
+<br>
+<div class=routine>
+<em class=call>call end_model()</em>
 </div>
 
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+<div class=indent1>
+<!-- Description -->
 
 <P>
 <em class="code">end_model</em>
@@ -665,23 +647,26 @@
 when the model is no longer needed. There are no arguments and no return values.
 This is required by DART but nothing needs to be done for the MITgcm_ocean model.
 </P>
-</div>
 
+<TABLE width=100% border=0 summary="" cellpadding=3>
+</TABLE>
 
+</div>
+<br>
 
-<!--=================== DESCRIPTION OF SUBROUTINE ====================-->
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
 
 <A NAME="init_time"></A>
-<BR><BR>
-<div class="routine">
-<em class="call">call init_time(time) </em>
+<br>
+<div class=routine>
+<em class=call>call init_time(time)</em>
 <pre>
-type(time_type),          intent(out)    :: <em class="code"> time </em>
+type(time_type), intent(out) :: <em class=code>time</em>
 </pre>
 </div>
 
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+<div class=indent1>
+<!-- Description -->
 
 <P>
 <em class="code">init_time</em>
@@ -689,31 +674,33 @@
 to be used. This is frequently used to spin-up models from rest, but is not
 meaningfully supported for the MITgcm_ocean model.  
 The only time this routine would get called is if the 
-<em class="file">input.nml</em><em class="code">&#38;perfect_model_obs_nml:start_from_restart</em> is .false., which is
+<em class="file">input.nml</em><em class="code">&amp;perfect_model_obs_nml:start_from_restart</em> is .false., which is
 not supported in the MITgcm_ocean model.
+</P>
 
-</P>
 <TABLE width=100% border=0 summary="" cellpadding=3>
 
-<TR><TD valign=top><em class="code">time</em></TD>
+<TR><TD valign=top><em class=code>time&nbsp;&nbsp;&nbsp;</em></TD>
     <TD>the starting time for the model if no initial conditions are to be supplied.
     As of Oct 2008, this is hardwired to 0.0</TD></TR>
 </TABLE>
+
 </div>
+<br>
 
-<!--=================== DESCRIPTION OF SUBROUTINE ====================-->
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
 
 <A NAME="init_conditions"></A>
-<BR><BR>
-<div class="routine">
-<em class="call">call init_conditions( x )</em>
+<br>
+<div class=routine>
+<em class=call>call init_conditions(x)</em>
 <pre>
-real(r8), dimension(:),   intent(out)   :: <em class="code"> x </em>
+real(r8), dimension(:), intent(out) :: <em class=code>x</em>
 </pre>
 </div>
 
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+<div class=indent1>
+<!-- Description -->
 
 <P>
 <em class="code">init_conditions</em>
@@ -724,25 +711,29 @@
 
 <TABLE width=100% border=0 summary="" cellpadding=3>
 
-<TR><TD valign=top><em class="code">x</em></TD>
+<TR><TD valign=top><em class=code>x&nbsp;&nbsp;&nbsp;</em></TD>
     <TD>Model state vector. [default is 0.0 for every element of the state vector]</TD></TR>
 
 </TABLE>
+
 </div>
+<br>
 
-<!--==================== DESCRIPTION OF FUNCTION =====================-->
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
 
 <A NAME="nc_write_model_atts"></A>
-<BR><BR>
-<div class="routine">
-<em class="call"> ierr = nc_write_model_atts(ncFileId) </em>
+<br>
+<div class=routine>
+<em class=call>ierr = nc_write_model_atts(ncFileID)</em>
 <pre>
-integer,                              :: <em class="code"> nc_write_model_atts </em>
-integer,                  intent(in)  :: <em class="code"> ncFileId </em>
-</pre></div>
+integer             :: <em class=code>nc_write_model_atts</em>
+integer, intent(in) :: <em class=code>ncFileID</em>
+</pre>
+</div>
 
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+<div class=indent1>
+<!-- Description -->
+
 <P>
 <em class="code">nc_write_model_atts</em>
 writes model-specific attributes to an opened netCDF file:
@@ -756,15 +747,14 @@
 
 <TABLE width=100% border=0 summary="" cellpadding=3>
 
-<TR><TD valign=top><em class="code">ncFileId</em></TD>
-    <TD>Integer file descriptor to opened NetCDF file.</TD></TR>
+<TR><TD valign=top><em class=code>ncFileID&nbsp;&nbsp;&nbsp;</em></TD>
+    <TD>Integer file descriptor to previously-opened netCDF file.</TD></TR>
 
-<TR><TD valign=top><em class="code">ierr</em></TD>
-    <TD>Returned error code.</TD></TR>
+<TR><TD valign=top><em class=code>ierr</em></TD>
+    <TD>Returns a 0 for successful completion.</TD></TR>
 
 </TABLE>
 
-<H3 class="indent1">Note</H3>
 <P>
 <em class="code">nc_write_model_atts</em>
 is responsible for the model-specific attributes in the following DART-output netCDF files:
@@ -772,25 +762,27 @@
 <em class="file">Prior_Diag.nc</em>, and 
 <em class="file">Posterior_Diag.nc</em>.
 </P>
+
 </div>
+<br>
 
-<!--==================== DESCRIPTION OF FUNCTION =====================-->
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
 
 <A NAME="nc_write_model_vars"></A>
-<BR><BR>
-<div class="routine">
-<em class="call"> ierr = nc_write_model_vars(ncFileID, statevec, copyindex, timeindex)</em>
+<br>
+<div class=routine>
+<em class=call>ierr = nc_write_model_vars(ncFileID, statevec, copyindex, timeindex)</em>
 <pre>
-integer                               :: <em class="code"> nc_write_model_vars </em>
-integer,                  intent(in)  :: <em class="code"> ncFileID </em>
-real(r8), dimension(:),   intent(in)  :: <em class="code"> statevec </em>
-integer,                  intent(in)  :: <em class="code"> copyindex</em>
-integer,                  intent(in)  :: <em class="code"> timeindex </em>
+integer                            :: <em class=code>nc_write_model_vars</em>
+integer,                intent(in) :: <em class=code>ncFileID</em>
+real(r8), dimension(:), intent(in) :: <em class=code>statevec</em>
+integer,                intent(in) :: <em class=code>copyindex</em>
+integer,                intent(in) :: <em class=code>timeindex</em>
 </pre>
 </div>
 
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+<div class=indent1>
+<!-- Description -->
 
 <P>
 <em class="code">nc_write_model_vars</em>
@@ -799,7 +791,7 @@
 include multiple ensemble estimates of the state. Whether the state vector is 
 parsed into prognostic variables (S,T,U,V,Eta) or simply written as a 1D array is
 controlled by 
-<em class="file">input.nml</em><em class="code">&#38;model_mod_nml:output_state_vector</em>.
+<em class="file">input.nml</em><em class="code">&amp;model_mod_nml:output_state_vector</em>.
 If <em class="code">output_state_vector&nbsp;=&nbsp;.true.</em> the state vector is written
 as a 1D array (the simplest case, but hard to explore with the diagnostics).
 If <em class="code">output_state_vector&nbsp;=&nbsp;.false.</em> the state vector is parsed
@@ -809,39 +801,41 @@
 
 <TABLE width=100% border=0 summary="" cellpadding=3>
 
-<TR><TD valign=top><em class="code">ncFileID</em></TD>
-    <TD>Integer file descriptor to opened NetCDF file.</TD></TR>
+<TR><TD valign=top><em class=code>ncFileID</em></TD>
+    <TD>file descriptor to previously-opened netCDF file.</TD></TR>
 
-<TR><TD valign=top><em class="code">statevec</em></TD>
-    <TD>State vector.</TD></TR>
+<TR><TD valign=top><em class=code>statevec</em></TD>
+    <TD>A model state vector.</TD></TR>
 
-<TR><TD valign=top><em class="code">copyindex</em></TD>
-    <TD> Integer index of copy to be written. </TD></TR>
+<TR><TD valign=top><em class=code>copyindex&nbsp;&nbsp;&nbsp;</em></TD>
+    <TD> Integer index of copy to be written.</TD></TR>
 
-<TR><TD valign=top><em class="code">timeindex</em></TD>
-    <TD>Integer index of which time in the file is being written.</TD></TR>
+<TR><TD valign=top><em class=code>timeindex</em></TD>
+    <TD>The timestep counter for the given state.</TD></TR>
 
-<TR><TD valign=top><em class="code">ierr</em></TD>
-    <TD>Returned error code. success == 0, failure == -1</TD></TR>
+<TR><TD valign=top><em class=code>ierr</em></TD>
+    <TD>Returns 0 for normal completion.</TD></TR>
 
 </TABLE>
+
 </div>
+<br>
 
-<!--=================== DESCRIPTION OF SUBROUTINE ====================-->
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
 
 <A NAME="pert_model_state"></A>
-<BR><BR>
-<div class="routine">
-<em class="call">call pert_model_state(state, pert_state, interf_provided)</em>
+<br>
+<div class=routine>
+<em class=call>call pert_model_state(state, pert_state, interf_provided)</em>
 <pre>
-real(r8), dimension(:),   intent(in)    :: <em class="code"> state </em>
-real(r8), dimension(:),   intent(out)   :: <em class="code"> pert_state </em>
-logical,                  intent(out)   :: <em class="code"> interf_provided </em>
+real(r8), dimension(:), intent(in)  :: <em class=code>state</em>
+real(r8), dimension(:), intent(out) :: <em class=code>pert_state</em>
+logical,                intent(out) :: <em class=code>interf_provided</em>
 </pre>
 </div>
 
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+<div class=indent1>
+<!-- Description -->
 
 <P>
 Given a model state, <em class="code">pert_model_state</em> produces a 
@@ -854,118 +848,134 @@
 (<em class="code">interf_provided == .true.</em>).
 <BR><BR>
 At present (Oct 2008) the magnitude of the perturbation is wholly determined by 
-<em class="file">input.nml</em><em class="code">&#38;model_mod_nml:model_perturbation_amplitude</em>
+<em class="file">input.nml</em><em class="code">&amp;model_mod_nml:model_perturbation_amplitude</em>
 and <strong>utterly, completely fails</strong>. The resulting model states 
 cause a fatal error when being read in by the ocean model - something like
+</P>
 <pre>
 *** ERROR *** S/R INI_THETA: theta = 0 identically. 
 If this is intentional you will need to edit ini_theta.F to avoid this safety check
 </pre>
+<P>
 A more robust perturbation mechanism is needed (see, for example this routine 
 in the CAM model_mod.f90). Until then, you can avoid using this
 routine by using your own ensemble of initial conditions. This is determined by setting
-<em class="file">input.nml</em><em class="code">&#38;filter_nml:start_from_restart = .false.</em>
+<em class="file">input.nml</em><em class="code">&amp;filter_nml:start_from_restart = .false.</em>
 See also <a href="#InitialEnsemble">Generating the initial ensemble</a> 
 at the start of this document.
 </P>
 
 <TABLE width=100% border=0 summary="" cellpadding=3>
 
-<TR><TD valign=top><em class="code">state</em></TD>
+<TR><TD valign=top><em class=code>state</em></TD>
     <TD>State vector to be perturbed.</TD></TR>
 
-<TR><TD valign=top><em class="code">pert_state</em></TD>
+<TR><TD valign=top><em class=code>pert_state</em></TD>
     <TD>The perturbed state vector.</TD></TR>
 
-<TR><TD valign=top><em class="code">interf_provided</em></TD>
+<TR><TD valign=top><em class=code>interf_provided&nbsp;&nbsp;&nbsp;</em></TD>
     <TD>Because of the 'wet/dry' issue discussed above, this is always <em
     class="code">.true.</em>, indicating a model-specific perturbation is available.</TD></TR>
 
 </TABLE>
+
 </div>
+<br>
 
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
 
-<!--============= DESCRIPTION OF A SUBROUTINE =======================-->
 <A NAME="get_close_maxdist_init"></A>
-<BR><BR>
-<div class="routine">
-<em class="call"> call get_close_maxdist_init(gc, maxdist) </em>
+<br>
+<div class=routine>
+<em class=call>call get_close_maxdist_init(gc, maxdist)</em>
 <pre>
-type(get_close_type), intent(inout) :: <em class="code">gc</em>
-real(r8),             intent(in)    :: <em class="code">maxdist</em>
+type(get_close_type), intent(inout) :: <em class=code>gc</em>
+real(r8),             intent(in)    :: <em class=code>maxdist</em>
 </pre>
 </div>
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+
+<div class=indent1>
+<!-- Description -->
+
 <P>
 Pass-through to the 3-D sphere locations module. See
 <A HREF="../../location/threed_sphere/location_mod.html#get_close_maxdist_init">get_close_maxdist_init()</A> for the documentation of this subroutine.
 </P>
+
 </div>
+<br>
 
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
 
-<!--============= DESCRIPTION OF A SUBROUTINE =======================-->
 <A NAME="get_close_obs_init"></A>
-<BR><BR>
-<div class="routine">
-<em class="call"> call get_close_obs_init(gc, num, obs) </em>
+<br>
+<div class=routine>
+<em class=call>call get_close_obs_init(gc, num, obs)</em>
 <pre>
-type(get_close_type), intent(inout) :: <em class="code">gc</em>
-integer,              intent(in)    :: <em class="code">num</em>
-type(location_type),  intent(in)    :: <em class="code">obs(num)</em>
+type(get_close_type), intent(inout) :: <em class=code>gc</em>
+integer,              intent(in)    :: <em class=code>num</em>
+type(location_type),  intent(in)    :: <em class=code>obs(num)</em>
 </pre>
 </div>
 
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+<div class=indent1>
+<!-- Description -->
+
 <P>
 Pass-through to the 3-D sphere locations module. See
 <A HREF="../../location/threed_sphere/location_mod.html#get_close_obs_init">
 get_close_obs_init()</A> for the documentation of this subroutine.
 </P>
+
 </div>
+<br>
 
-<!--============= DESCRIPTION OF A SUBROUTINE =======================-->
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
+
 <A NAME="get_close_obs"></A>
-<BR><BR>
-<div class="routine">
-<em class="call"> call get_close_obs(gc, base_obs_loc, base_obs_kind, 
-   obs, obs_kind, num_close, close_ind
-     <em class=optionalcode>[, dist]</em>) </em>
+<br>
+<div class=routine>
+<em class=call>call get_close_obs(gc, base_obs_loc, base_obs_kind,
+  obs, obs_kind, num_close, close_ind
+  <em class=optionalcode>[,&nbsp;dist]</em>) </em>
 <pre>
-type(get_close_type), intent(in)  :: <em class="code">gc</em>
-type(location_type),  intent(in)  :: <em class="code">base_obs_loc</em>
-integer,              intent(in)  :: <em class="code">base_obs_kind</em>
-type(location_type),  intent(in)  :: <em class="code">obs(:)</em>
-integer,              intent(in)  :: <em class="code">obs_kind(:)</em>
-integer,              intent(out) :: <em class="code">num_close</em>
-integer,              intent(out) :: <em class="code">close_ind(:)</em>
+type(get_close_type), intent(in)  :: <em class=code>gc</em>
+type(location_type),  intent(in)  :: <em class=code>base_obs_loc</em>
+integer,              intent(in)  :: <em class=code>base_obs_kind</em>
+type(location_type),  intent(in)  :: <em class=code>obs(:)</em>
+integer,              intent(in)  :: <em class=code>obs_kind(:)</em>
+integer,              intent(out) :: <em class=code>num_close</em>
+integer,              intent(out) :: <em class=code>close_ind(:)</em>
 real(r8), optional,   intent(out) :: <em class=optionalcode>dist(:)</em>
 </pre>
 </div>
 
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+<div class=indent1>
+<!-- Description -->
+
 <P>
 Pass-through to the 3-D sphere locations module. See
 <A HREF="../../location/threed_sphere/location_mod.html#get_close_obs">
 get_close_obs()</A> for the documentation of this subroutine.
 </P>
+
 </div>
+<br>
 
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
 
-<!--============= DESCRIPTION OF A SUBROUTINE =======================-->
 <A NAME="ens_mean_for_model"></A>
-<BR><BR>
-<div class="routine">
-<em class="call"> call ens_mean_for_model(ens_mean) </em>
+<br>
+<div class=routine>
+<em class=call>call ens_mean_for_model(ens_mean)</em>
 <pre>
-real(r8), dimension(:), intent(in)  :: <em class="code">ens_mean</em>
+real(r8), dimension(:), intent(in) :: <em class=code>ens_mean</em>
 </pre>
 </div>
 
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+<div class=indent1>
+<!-- Description -->
+
 <P>
 <em class="code">ens_mean_for_model</em>
 saves a copy of the ensemble mean to module-local storage. Sometimes
@@ -975,10 +985,11 @@
 No storage is allocated.
 </P>
 
-<TABLE width=100% border=0 summary="" celpadding=3>
+<TABLE width=100% border=0 summary="" cellpadding=3>
 <TR><TD valign=top><em class="code">ens_mean</em></TD>
     <TD>Ensemble mean state vector</TD></TR>
 </TABLE>
+
 </div>
 
 <BR><HR><BR>
@@ -990,7 +1001,7 @@
 <!--=================== DESCRIPTION OF A LOCAL TYPE ==================-->
 
 <A NAME="MIT_meta_type"></A>
-<BR><BR>
+<br>
 <div class=type>
 <pre>
 <em class="call">type MIT_meta_type</em>
@@ -1005,8 +1016,8 @@
 </pre>
 </div>
 
-<div class="indent1">
-<H3 class="indent1">Description</H3>
+<div class=indent1>
+<!-- Description -->
 
 <P>
 <em class="code">MIT_meta_type</em> is a derived type used to codify
@@ -1037,12 +1048,14 @@
     of the snapshot, you must multiply the timeStepNumber by the amount of time
     in each timestep and add the start time.</TD></TR>
 </TABLE>
+
 </div>
+<br>
 
-<!--===================== DESCRIPTION OF SUBROUTINE =====================-->
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
 
 <A NAME="read_meta"></A>
-<BR><BR>
+<br>
 <div class="routine">
 <em class="call">metadata = read_meta(fbase <em class="optionalcode">[, vartype]</em>)</em>
 <pre>
@@ -1052,8 +1065,8 @@
 </pre>
 </div>
 
-<div class="indent1">

@@ Diff output truncated at 40000 characters. @@


More information about the Dart-dev mailing list