[Dart-dev] [4213] DART/trunk: Huge overhaul to conform to HTML spec and to provide
nancy at ucar.edu
nancy at ucar.edu
Fri Jan 8 17:16:03 MST 2010
Revision: 4213
Author: thoar
Date: 2010-01-08 17:16:03 -0700 (Fri, 08 Jan 2010)
Log Message:
-----------
Huge overhaul to conform to HTML spec and to provide
new terms of use.
Modified Paths:
--------------
DART/trunk/assim_model/assim_model_mod.html
DART/trunk/assim_tools/assim_tools_mod.html
DART/trunk/common/types_mod.html
DART/trunk/cov_cutoff/cov_cutoff_mod.html
DART/trunk/doc/html/cgd_cam.shtml
DART/trunk/doc/html/filter_async_modes.html
DART/trunk/doc/html/index.shtml
DART/trunk/doc/html/mpi_intro.html
DART/trunk/ensemble_manager/ensemble_manager_mod.html
DART/trunk/index.html
DART/trunk/location/oned/location_mod.html
DART/trunk/location/threed_sphere/location_mod.html
DART/trunk/models/cam/doc/index.html
DART/trunk/models/cam/doc/script_doc.html
DART/trunk/models/cam/doc/trans_date_to_dart_instr.html
DART/trunk/models/cam/doc/trans_pv_sv_time0_instr.html
DART/trunk/mpi_utilities/mpi_utilities_mod.html
DART/trunk/ncep_obs/prep_bufr/prep_bufr.html
DART/trunk/obs_def/DEFAULT_obs_def_mod.html
DART/trunk/obs_def/obs_def_1d_state_mod.html
DART/trunk/obs_def/obs_def_dew_point_mod.html
DART/trunk/obs_def/obs_def_mod.html
DART/trunk/obs_def/obs_def_ocean_mod.html
DART/trunk/obs_def/obs_def_radar_mod.html
DART/trunk/obs_kind/DEFAULT_obs_kind_mod.html
DART/trunk/obs_kind/obs_kind_mod.html
DART/trunk/obs_model/obs_model_mod.html
DART/trunk/random_nr/random_nr_mod.html
DART/trunk/random_seq/random_seq_mod.html
DART/trunk/reg_factor/reg_factor_mod.html
DART/trunk/smoother/smoother_mod.html
DART/trunk/time_manager/schedule_mod.html
DART/trunk/time_manager/time_manager_mod.html
DART/trunk/utilities/utilities_mod.html
Property Changed:
----------------
DART/trunk/obs_def/obs_def_ocean_mod.html
-------------- next part --------------
Modified: DART/trunk/assim_model/assim_model_mod.html
===================================================================
--- DART/trunk/assim_model/assim_model_mod.html 2010-01-08 17:22:15 UTC (rev 4212)
+++ DART/trunk/assim_model/assim_model_mod.html 2010-01-09 00:16:03 UTC (rev 4213)
@@ -1,66 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>module assim_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 assim_model_mod</H1>
-<A NAME="HEADER"></A>
-<TABLE summary="">
-<TR><TD>Contact: </TD><TD> Jeff Anderson </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>
-<!--==================================================================-->
-
-<A NAME="OVERVIEW"></A>
-<HR>
-<H2>OVERVIEW</H2>
-
<P>
This module acts as an intermediary between DART compliant models
and the filter. At one time the assim_model_type, which combines a
@@ -77,8 +40,8 @@
<!--==================================================================-->
-<A NAME="OTHER MODULES USED"></A>
-<BR><HR><BR>
+<A NAME="OtherModulesUsed"></A>
+<HR>
<H2>OTHER MODULES USED</H2>
<PRE>
types_mod
@@ -86,88 +49,87 @@
time_manager_mod
utilities_mod
model_mod
-
netcdf
typeSizes (part of netcdf)
</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>PUBLIC INTERFACE</H2>
+<HR>
+<H2>PUBLIC INTERFACES</H2>
<TABLE>
<TR><TD><em class=call>use assim_model_mod, only : </em></TD>
-<TR><TD> </TD><TD><A HREF="#yyyroutine42">adv_1step</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine31">aget_closest_state_time_to</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine5" >aget_initial_condition</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine29">aoutput_diagnostics</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine30">aread_state_restart</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyypubtype1" >assim_model_type</A> </TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine32">awrite_state_restart</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine41">close_restart</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine11">copy_assim_model</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine20">end_assim_model</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine44">ens_mean_for_model</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine28">finalize_diag_output</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine45">get_close_maxdist_init</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine46">get_close_obs</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine47">get_close_obs_init</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine4" >get_closest_state_time_to</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine24">get_diag_input_copy_meta_data</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine43">get_initial_condition</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine3" >get_model_size</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine10">get_model_state_vector</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine9" >get_model_time</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine38">get_model_time_step</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine6" >get_state_meta_data</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine25">init_assim_model</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine22">init_diag_input</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine2" >init_diag_output</A> </TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine23">input_diagnostics</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine13">interpolate</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine35">nc_append_time</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine37">nc_get_tindex</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine36">nc_write_calendar_atts</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyypubtype2" >netcdf_file_type</A> </TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine39">open_restart_read</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine40">open_restart_write</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine19">output_diagnostics</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine34">pert_model_state</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine18">read_state_restart</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine16">set_model_state_vector</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine15">set_model_time</A></TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine1" >static_init_assim_model</A> </TD></TR>
-<TR><TD> </TD><TD><A HREF="#yyyroutine17">write_state_restart</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#adv_1step">adv_1step</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#aget_closest_state_time_to">aget_closest_state_time_to</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#aget_initial_condition" >aget_initial_condition</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#aoutput_diagnostics">aoutput_diagnostics</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#aread_state_restart">aread_state_restart</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#assim_model_type" >assim_model_type</A> </TD></TR>
+<TR><TD> </TD><TD><A HREF="#awrite_state_restart">awrite_state_restart</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#close_restart">close_restart</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#copy_assim_model">copy_assim_model</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#end_assim_model">end_assim_model</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#ens_mean_for_model">ens_mean_for_model</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#finalize_diag_output">finalize_diag_output</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#get_close_maxdist_init">get_close_maxdist_init</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#get_close_obs">get_close_obs</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#get_close_obs_init">get_close_obs_init</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#get_closest_state_time_to" >get_closest_state_time_to</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#get_diag_input_copy_meta_data">get_diag_input_copy_meta_data</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#get_initial_conditions">get_initial_condition</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#get_model_size" >get_model_size</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#get_model_state_vector">get_model_state_vector</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#get_model_time" >get_model_time</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#get_model_time_step">get_model_time_step</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#get_state_meta_data" >get_state_meta_data</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#init_assim_model">init_assim_model</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#init_diag_input">init_diag_input</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#init_diag_output" >init_diag_output</A> </TD></TR>
+<TR><TD> </TD><TD><A HREF="#input_diagnostics">input_diagnostics</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#interpolate">interpolate</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#nc_append_time">nc_append_time</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#nc_get_tindex">nc_get_tindex</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#nc_write_calendar_atts">nc_write_calendar_atts</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#netcdf_file_type" >netcdf_file_type</A> </TD></TR>
+<TR><TD> </TD><TD><A HREF="#open_restart_read">open_restart_read</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#open_restart_write">open_restart_write</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#output_diagnostics">output_diagnostics</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#pert_model_state">pert_model_state</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#read_state_restart">read_state_restart</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#set_model_state_vector">set_model_state_vector</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#set_model_time">set_model_time</A></TD></TR>
+<TR><TD> </TD><TD><A HREF="#static_init_assim_model" >static_init_assim_model</A> </TD></TR>
+<TR><TD> </TD><TD><A HREF="#write_state_restart">write_state_restart</A></TD></TR>
</TABLE>
<H3 class=indent1>NOTES</H3>
<P>
-Optional namelist interface
+Optional namelist interface
<A HREF="#Namelist"> <em class=code>&assim_model_nml</em> </A>
may be read from file <em class=file>input.nml</em>.
</P>
-<!--==================================================================-->
-<!-- Declare all public entities ... -->
-<!-- duplicate public routines template as many times as necessary -->
-<!-- make sure you replace all yyyroutine?? strings -->
-<!--==================================================================-->
+<P>
+ A note about documentation style.
+ Optional arguments are enclosed in brackets
+ <em class=optionalcode>[like this]</em>.
+</P>
-<A NAME="PublicEntities"></A>
-<BR><HR><BR>
-<H2>PUBLIC COMPONENTS</H2>
-<BR>
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
-<!--=================== DESCRIPTION OF A LOCAL TYPE ==================-->
-
-<A NAME="yyypubtype1"></A>
-<BR><HR><BR>
-<div class=type><pre>
+<A NAME="assim_model_type"></A>
+<br>
+<div class=routine>
+<pre>
<em class=call>type assim_model_type</em>
private
real(r8), pointer :: state_vector(:)
@@ -175,9 +137,11 @@
integer :: model_size
integer :: copyID
end type assim_model_type
-</pre></div>
+</pre>
+</div>
-<H3 class=indent1>Description</H3>
+<div class=indent1>
+<!-- Description -->
<P>
This type is used to represent both the state and time of a state
@@ -187,20 +151,24 @@
<TABLE border=0 cellpadding=3 width=100%>
<TR><TH align=left>Component </TH>
<TH align=left>Description </TH></TR>
-<TR><TD valign=top> state_vector </TD>
- <TD>A one dimensional representation of the model state vector. </TD></TR>
-<TR><TD valign=top> time </TD>
- <TD>The time of the model state. </TD></TR>
-<TR><TD valign=top> model_size </TD>
- <TD>Size of the model state vector. </TD></TR>
-<TR><TD valign=top> copyID </TD>
+<TR><TD valign=top> state_vector </TD>
+ <TD>A one dimensional representation of the model state vector.</TD></TR>
+<TR><TD valign=top> time </TD>
+ <TD>The time of the model state.</TD></TR>
+<TR><TD valign=top> model_s </TD>
+ <TD>Size of the model state vector.</TD></TR>
+<TR><TD valign=top> copyID </TD>
<TD>Not used in present implementation.</TD></TR>
</TABLE>
-<!--=================== DESCRIPTION OF A LOCAL TYPE ==================-->
-<A NAME="yyypubtype2"></A>
-<BR><HR><BR>
-<div class=type><pre>
+</div>
+<br>
+
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
+
+<A NAME="netcdf_file_type"></A>
+<br>
+<div class=routine><pre>
<em class=call>type netcdf_file_type</em>
integer :: ncid
integer :: Ntimes
@@ -209,9 +177,11 @@
type(time_type), pointer :: times(:)
character(len = 80) :: fname
end type netcdf_file_type
-</pre></div>
+</pre>
+</div>
-<H3 class=indent1>Description</H3>
+<div class=indent1>
+<!-- Description -->
<P>
Basically, we want to keep a local mirror of the unlimited dimension
@@ -236,42 +206,48 @@
<TD>Netcdf file name. </TD></TR>
</TABLE>
-<!--===================== DESCRIPTION OF SUBROUTINE =====================-->
+</div>
+<br>
-<A NAME="yyyroutine1"></A>
-<P></P><HR><P></P>
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
+
+<A NAME="static_init_assim_model"></A>
+<br>
<div class=routine>
<em class=call>call static_init_assim_model() </em>
-<pre>
-</pre></div>
+</div>
-<H3 class=indent1>Description</H3>
-
+<div class=indent1>
+<!-- Description -->
<P>
Initializes the assim_model class. Must be called before any other
assim_model_mod interfaces are used. Also calls the static initialization
- for the underlying model.
+ for the underlying model. There are no arguments.
</P>
-<H3 class=indent1>Notes</H3>
+</div>
+<br>
-<!--===================== DESCRIPTION OF FUNCTION =====================-->
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
-<A NAME="yyyroutine2"></A>
-<P></P><HR><P></P>
+<A NAME="init_diag_output"></A>
+<br>
<div class=routine>
<em class=call> ncFileID = init_diag_output(FileName, global_meta_data,
- copies_of_field_per_time, meta_data_per_copy <em class=optionalcode>[, lagID]</em>) </em>
+ copies_of_field_per_time, meta_data_per_copy
+ <em class=optionalcode>[, lagID]</em>) </em>
<pre>
type(netcdf_file_type) :: <em class=code>init_diag_output </em>
character (len = *), intent(in) :: <em class=code>FileName </em>
character (len = *), intent(in) :: <em class=code>global_meta_data </em>
integer, intent(in) :: <em class=code>copies_of_field_per_time </em>
character (len = *), intent(in) :: <em class=code>meta_data_per_copy(copies_of_field_per_time) </em>
-integer, optional, intent(in) :: <em class=code>lagID </em>
-</pre></div>
+integer, optional, intent(in) :: <em class=optionalcode>lagID </em>
+</pre>
+</div>
-<H3 class=indent1>Description</H3>
+<div class=indent1>
+<!-- Description -->
<P>
Initializes a netCDF file for output of state space diagnostics. A handle to
@@ -285,13 +261,13 @@
This is not an integer unit number, but a derived type
containing additional information about the opened file.</TD></TR>
-<TR><TD valign=top><em class=code>FileName </em></TD>
+<TR><TD valign=top><em class=code>FileName</em></TD>
<TD>Name of file to open.</TD></TR>
<TR><TD valign=top><em class=code>global_meta_data</em></TD>
<TD>Global metadata that describes the contents of this file.</TD></TR>
-<TR><TD valign=top><em class=code>copies_of_field_per_time</em></TD>
+<TR><TD valign=top><em class=code>copies_of_field_per_time </em></TD>
<TD> Number of copies of data to be written at each time. For instance,
these could be the prior ensemble members, prior ensemble mean,
prior ensemble spread, posterior ensemble members, posterior
@@ -300,45 +276,51 @@
<TR><TD valign=top><em class=code>meta_data_per_copy</em></TD>
<TD> Metadata describing each of the copies.</TD></TR>
-<TR><TD valign=top><em class=code>lagID</em></TD>
+<TR><TD valign=top><em class=optionalcode>lagID</em></TD>
<TD>If using the smoother, which lag number this output is for.</TD></TR>
</TABLE>
-<BR>
+</div>
+<br>
-<!--===================== DESCRIPTION OF FUNCTION =====================-->
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
-<A NAME="yyyroutine3"></A>
-<P></P><HR><P></P>
+<A NAME="get_model_size"></A>
+<br>
<div class=routine>
<em class=call> var = get_model_size() </em>
<pre>
integer :: <em class=code>get_model_size </em>
-</pre></div>
+</pre>
+</div>
-<H3 class=indent1>Description</H3>
+<div class=indent1>
+<!-- Description -->
<P>
Returns the size of the model state vector.
This is a direct pass through to the model_mod.
</P>
-<BR>
+</div>
+<br>
-<!--===================== DESCRIPTION OF FUNCTION =====================-->
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
-<A NAME="yyyroutine4"></A>
-<P></P><HR><P></P>
+<A NAME="get_closest_state_time_to"></A>
+<br>
<div class=routine>
<em class=call> var = get_closest_state_time_to(assim_model, time) </em>
<pre>
type(time_type) :: <em class=code> get_closest_state_time_to </em>
type(assim_model_type), intent(in) :: <em class=code> assim_model </em>
type(time_type), intent(in) :: <em class=code> time</em>
-</pre></div>
+</pre>
+</div>
-<H3 class=indent1>Description</H3>
+<div class=indent1>
+<!-- Description -->
<P>
Returns the closest time that a model is capable of advancing a given state to a
@@ -352,7 +334,7 @@
<TR><TD valign=top><em class=code>var</em></TD>
<TD>The closest time to which the model can be advanced is returned.</TD></TR>
-<TR><TD valign=top><em class=code>assim_model </em></TD>
+<TR><TD valign=top><em class=code>assim_model </em></TD>
<TD>A model state vector and time that might be advanced.</TD></TR>
<TR><TD valign=top><em class=code>time</em></TD>
@@ -360,907 +342,1141 @@
</TABLE>
-<BR>
+</div>
+<br>
-<!--==================================================================-->
- <!--============= DESCRIPTION OF A SUBROUTINE =======================-->
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
- <A NAME="yyyroutine5"></A>
- <P></P><HR><P></P>
- <div class=routine>
- <em class=call> call aget_initial_condition(time, x) </em>
- <pre>
- type(time_type), intent(out) :: <em class=code>time</em>
- type(r8), intent(out) :: <em class=code>x</em>
- </pre></div>
- <H3 class=indent1>Description</H3>
- <P>
- Reads an initial time and state vector from a restart format file
- into a real time and real array, which are put into an assim_model_type.
- </P>
- <TABLE width=100% border=0 summary="" celpadding=3>
- <TR><TD valign=top><em class=code>time </em></TD>
- <TD>Contains time of input state vector on return</TD></TR>
- <TR><TD valign=top><em class=code>x </em></TD>
- <TD>Contains state of input state vector on return</TD></TR>
- </TABLE>
- <BR>
+<A NAME="aget_initial_condition"></A>
+<br>
+<div class=routine>
+<em class=call> call aget_initial_condition(time, x) </em>
+<pre>
+type(time_type), intent(out) :: <em class=code>time</em>
+type(r8), intent(out) :: <em class=code>x</em>
+</pre>
+</div>
- <!--================================================================-->
- <!--============= DESCRIPTION OF A SUBROUTINE ======================-->
- <A NAME="yyyroutine6"></A>
- <P></P><HR><P></P>
- <div class=routine>
- <em class=call> call get_state_meta_data() </em>
- <pre>
- </pre></div>
- <H3 class=indent1>Description</H3>
- <P>
-Pass through to model_mod. See model_mod documentation
-for arguments and description.
- </P>
- <TABLE width=100% border=0 summary="" celpadding=3>
- </TABLE>
- <BR>
+<div class=indent1>
+<!-- Description -->
- <!--================================================================-->
-
- <!--============= DESCRIPTION OF A FUNCTION ========================-->
-<A NAME="yyyroutine9"></A>
- <P></P><HR><P></P>
- <div class=routine>
- <em class=call> var = get_model_time(assim_model) </em>
- <pre>
- type(time_type) :: <em class=code>get_model_time</em>
- type(assim_model_type), intent(in) :: <em class=code>assim_model</em>
- </pre></div>
- <H3 class=indent1>Description</H3>
- <P>
- Returns time from an assim_model type.
- </P>
- <TABLE width=100% border=0 summary="" celpadding=3>
- <TR><TD valign=top><em class=code>var </em></TD>
- <TD>Returned time from assim_model</TD></TR>
- <TR><TD valign=top><em class=code>assim_model </em></TD>
- <TD>Assim_model type from which to extract time</TD></TR>
- </TABLE>
- <BR>
+<P>
+Reads an initial time and state vector from a restart format file
+into a real time and real array, which are put into an assim_model_type.
+</P>
- <!--================================================================-->
- <!--============= DESCRIPTION OF A FUNCTION ========================-->
-<A NAME="yyyroutine10"></A>
- <P></P><HR><P></P>
- <div class=routine>
- <em class=call> var = get_model_state_vector(assim_model) </em>
- <pre>
- real(r8) :: <em class=code>get_model_state_vector(model_size)</em>
- type(assim_model_type), intent(in) :: <em class=code>assim_model</em>
- </pre></div>
- <H3 class=indent1>Description</H3>
- <P>
- Returns the state vector component from an assim_model_type.
- </P>
- <TABLE width=100% border=0 summary="" celpadding=3>
- <TR><TD valign=top><em class=code>var </em></TD>
- <TD>Returned state vector</TD></TR>
- <TR><TD valign=top><em class=code>assim_model </em></TD>
- <TD>Input assim_model_type</TD></TR>
- </TABLE>
- <BR>
+<TABLE width=100% border=0 summary="" cellpadding=3>
+<TR><TD valign=top><em class=code>time </em></TD>
+ <TD>Contains time of input state vector on return</TD></TR>
+<TR><TD valign=top><em class=code>x</em></TD>
+ <TD>Contains state of input state vector on return</TD></TR>
+</TABLE>
- <!--================================================================-->
- <!--============= DESCRIPTION OF A SUBROUTINE =======================-->
-<A NAME="yyyroutine11"></A>
- <P></P><HR><P></P>
- <div class=routine>
- <em class=call> call copy_assim_model(model_out, model_in) </em>
- <pre>
- type(assim_model_type), intent(out) :: <em class=code>model_out</em>
- type(assim_model_type), intent(in) :: <em class=code>model_in</em>
- </pre></div>
- <H3 class=indent1>Description</H3>
- <P>
+</div>
+<br>
+
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
+
+<A NAME="get_state_meta_data"></A>
+<br>
+<div class=routine>
+<em class=call> call get_state_meta_data() </em>
+</div>
+
+<div class=indent1>
+<!-- Description -->
+
+<P>
+Pass through to model_mod.
+See model_mod documentation for arguments and description.
+</P>
+
+</div>
+<br>
+
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
+
+<A NAME="get_model_time"></A>
+<br>
+<div class=routine>
+<em class=call> var = get_model_time(assim_model) </em>
+<pre>
+type(time_type) :: <em class=code>get_model_time</em>
+type(assim_model_type), intent(in) :: <em class=code>assim_model</em>
+</pre>
+</div>
+
+<div class=indent1>
+<!-- Description -->
+
+<P>
+Returns time from an assim_model type.
+</P>
+
+<TABLE width=100% border=0 summary="" cellpadding=3>
+<TR><TD valign=top><em class=code>var</em></TD>
+ <TD>Returned time from assim_model</TD></TR>
+<TR><TD valign=top><em class=code>assim_model </em></TD>
+ <TD>Assim_model type from which to extract time</TD></TR>
+</TABLE>
+
+</div>
+<br>
+
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
+
+<A NAME="get_model_state_vector"></A>
+<br>
+<div class=routine>
+<em class=call> var = get_model_state_vector(assim_model) </em>
+<pre>
+real(r8) :: <em class=code>get_model_state_vector(model_size)</em>
+type(assim_model_type), intent(in) :: <em class=code>assim_model</em>
+</pre>
+</div>
+
+<div class=indent1>
+<!-- Description -->
+
+<P>
+Returns the state vector component from an assim_model_type.
+</P>
+
+<TABLE width=100% border=0 summary="" cellpadding=3>
+<TR><TD valign=top><em class=code>var</em></TD>
+ <TD>Returned state vector</TD></TR>
+<TR><TD valign=top><em class=code>assim_model </em></TD>
+ <TD>Input assim_model_type</TD></TR>
+</TABLE>
+
+</div>
+<br>
+
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
+
+<A NAME="copy_assim_model"></A>
+<br>
+<div class=routine>
+<em class=call> call copy_assim_model(model_out, model_in) </em>
+<pre>
+type(assim_model_type), intent(out) :: <em class=code>model_out</em>
+type(assim_model_type), intent(in) :: <em class=code>model_in</em>
+</pre>
+</div>
+
+<div class=indent1>
+<!-- Description -->
+
+<P>
Copies one assim_model_type to another.
- </P>
- <TABLE width=100% border=0 summary="" celpadding=3>
- <TR><TD valign=top><em class=code>model_out </em></TD>
- <TD>Copy.</TD></TR>
- <TR><TD valign=top><em class=code>model_in </em></TD>
- <TD>Data to be copied.</TD></TR>
- </TABLE>
- <BR>
+</P>
- <!--================================================================-->
- <!--============= DESCRIPTION OF A SUBROUTINE =======================-->
-<A NAME="yyyroutine13"></A>
- <P></P><HR><P></P>
- <div class=routine>
- <em class=call> call interpolate(x, location, loctype, obs_vals, istatus) </em>
- <pre>
- real(r8), intent(in) :: <em class=code>x(:)</em>
- type(location_type), intent(in) :: <em class=code>location</em>
- integer, intent(in) :: <em class=code>loctype</em>
- real(r8), intent(out) :: <em class=code>obs_vals</em>
- integer, intent(out) :: <em class=code>istatus</em>
- </pre></div>
- <H3 class=indent1>Description</H3>
- <P>
+<TABLE width=100% border=0 summary="" cellpadding=3>
+<TR><TD valign=top><em class=code>model_out </em></TD>
+ <TD>Copy.</TD></TR>
+<TR><TD valign=top><em class=code>model_in</em></TD>
+ <TD>Data to be copied.</TD></TR>
+</TABLE>
+
+</div>
+<br>
+
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
+
+<A NAME="interpolate"></A>
+<br>
+<div class=routine>
+<em class=call> call interpolate(x, location, loctype, obs_vals, istatus) </em>
+<pre>
+real(r8), intent(in) :: <em class=code>x(:)</em>
+type(location_type), intent(in) :: <em class=code>location</em>
+integer, intent(in) :: <em class=code>loctype</em>
+real(r8), intent(out) :: <em class=code>obs_vals</em>
+integer, intent(out) :: <em class=code>istatus</em>
+</pre>
+</div>
+
+<div class=indent1>
+<!-- Description -->
+
+<P>
Interpolates a given model state variable type to a location given
the model state vector. Nearly direct call to model_interpolate in
model_mod. See model_mod for the error return values in istatus.
- </P>
- <TABLE width=100% border=0 summary="" celpadding=3>
- <TR><TD valign=top><em class=code>x </em></TD>
- <TD>Model state vector.</TD></TR>
- <TR><TD valign=top><em class=code>location </em></TD>
- <TD>Location to which to interpolate.</TD></TR>
- <TR><TD valign=top><em class=code>loctype </em></TD>
- <TD>Type of variable to interpolate.</TD></TR>
- <TR><TD valign=top><em class=code>obs_vals </em></TD>
- <TD>Returned interpolated value.</TD></TR>
- <TR><TD valign=top><em class=code>istatus </em></TD>
- <TD>Returned as 0 if all is well, else various errors.</TD></TR>
- </TABLE>
- <BR>
+</P>
- <!--================================================================-->
- <!--============= DESCRIPTION OF A SUBROUTINE =======================-->
-<A NAME="yyyroutine15"></A>
- <P></P><HR><P></P>
- <div class=routine>
- <em class=call> call set_model_time(assim_model, time) </em>
- <pre>
- type(assim_model_type), intent(inout) :: <em class=code>assim_model</em>
- type(time_type), intent(in) :: <em class=code>time</em>
- </pre></div>
- <H3 class=indent1>Description</H3>
- <P>
- Sets the time in an assim_model_type.
- </P>
- <TABLE width=100% border=0 summary="" celpadding=3>
- <TR><TD valign=top><em class=code>assim_model </em></TD>
- <TD>Set the time in this assim_model_type.</TD></TR>
- <TR><TD valign=top><em class=code>time </em></TD>
- <TD>Set to this time</TD></TR>
- </TABLE>
- <BR>
+<TABLE width=100% border=0 summary="" cellpadding=3>
+<TR><TD valign=top><em class=code>x</em></TD>
+ <TD>Model state vector.</TD></TR>
+<TR><TD valign=top><em class=code>location </em></TD>
+ <TD>Location to which to interpolate.</TD></TR>
+<TR><TD valign=top><em class=code>loctype</em></TD>
+ <TD>Type of variable to interpolate.</TD></TR>
+<TR><TD valign=top><em class=code>obs_vals</em></TD>
+ <TD>Returned interpolated value.</TD></TR>
+<TR><TD valign=top><em class=code>istatus</em></TD>
+ <TD>Returned as 0 if all is well, else various errors.</TD></TR>
+</TABLE>
- <!--================================================================-->
- <!--============= DESCRIPTION OF A SUBROUTINE =======================-->
-<A NAME="yyyroutine16"></A>
- <P></P><HR><P></P>
- <div class=routine>
- <em class=call> call set_model_state_vector(assim_model, state) </em>
- <pre>
- type(assim_model_type), intent(inout) :: <em class=code>assim_model</em>
- real(r8), intent(in) :: <em class=code>state(:)</em>
- </pre></div>
- <H3 class=indent1>Description</H3>
- <P>
- Set the state in an assim_model_type.
- </P>
- <TABLE width=100% border=0 summary="" celpadding=3>
- <TR><TD valign=top><em class=code>assim_model </em></TD>
- <TD>Set the state vector in this assim_model_type.</TD></TR>
- <TR><TD valign=top><em class=code>state </em></TD>
- <TD>The state vector to be inserted.</TD></TR>
- </TABLE>
- <BR>
+</div>
+<br>
- <!--================================================================-->
- <!--============= DESCRIPTION OF A SUBROUTINE =======================-->
-<A NAME="yyyroutine17"></A>
- <P></P><HR><P></P>
- <div class=routine>
- <em class=call> call write_state_restart(assim_model, funit <em class=optionalcode>[, target_time]</em>) </em>
- <pre>
- type(assim_model_type), intent(in) :: <em class=code>assim_model</em>
- integer, intent(in) :: <em class=code>funit</em>
- type(time_type), optional, intent(in) :: <em class=code>target_time</em>
- </pre></div>
- <H3 class=indent1>Description</H3>
- <P>
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
+
+<A NAME="set_model_time"></A>
+<br>
+<div class=routine>
+<em class=call> call set_model_time(assim_model, time) </em>
+<pre>
+type(assim_model_type), intent(inout) :: <em class=code>assim_model</em>
+type(time_type), intent(in) :: <em class=code>time</em>
+</pre>
+</div>
+
+<!-- Description -->
+<div class=indent1>
+
+<P>
+Sets the time in an assim_model_type.
+</P>
+
+<TABLE width=100% border=0 summary="" cellpadding=3>
+<TR><TD valign=top><em class=code>assim_model </em></TD>
+ <TD>Set the time in this assim_model_type.</TD></TR>
+<TR><TD valign=top><em class=code>time</em></TD>
+ <TD>Set to this time</TD></TR>
+</TABLE>
+
+</div>
+<br>
+
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
+
+<A NAME="set_model_state_vector"></A>
+<br>
+<div class=routine>
+<em class=call> call set_model_state_vector(assim_model, state) </em>
+<pre>
+type(assim_model_type), intent(inout) :: <em class=code>assim_model</em>
+real(r8), intent(in) :: <em class=code>state(:)</em>
+</pre>
+</div>
+
+<div class=indent1>
+<!-- Description -->
+
+<P>
+Set the state in an assim_model_type.
+</P>
+
+<TABLE width=100% border=0 summary="" cellpadding=3>
+<TR><TD valign=top><em class=code>assim_model </em></TD>
+ <TD>Set the state vector in this assim_model_type.</TD></TR>
+<TR><TD valign=top><em class=code>state</em></TD>
+ <TD>The state vector to be inserted.</TD></TR>
+</TABLE>
+
+</div>
+<br>
+
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
+
+<A NAME="write_state_restart"></A>
+<br>
+<div class=routine>
+<em class=call> call write_state_restart(assim_model, funit
+<em class=optionalcode>[, target_time]</em>) </em>
+<pre>
+type(assim_model_type), intent(in) :: <em class=code>assim_model</em>
+integer, intent(in) :: <em class=code>funit</em>
+type(time_type), optional, intent(in) :: <em class=optionalcode>target_time</em>
+</pre>
+</div>
+
+<div class=indent1>
+<!-- Description -->
+
+<P>
Writes a restart from an assim_model_type with an optional target_time.
- </P>
- <TABLE width=100% border=0 summary="" celpadding=3>
- <TR><TD valign=top><em class=code>assim_model </em></TD>
- <TD>Write a restart from this assim_model_type.</TD></TR>
- <TR><TD valign=top><em class=code>funit </em></TD>
- <TD>Integer file unit id open for output of restart files.</TD></TR>
- <TR><TD valign=top><em class=code>target_time </em></TD>
- <TD>If present, put this target time at the front of the restart file.</TD></TR>
- </TABLE>
- <BR>
+</P>
- <!--================================================================-->
- <!--============= DESCRIPTION OF A SUBROUTINE =======================-->
-<A NAME="yyyroutine18"></A>
- <P></P><HR><P></P>
- <div class=routine>
- <em class=call> call read_state_restart(assim_model, funit <em class=optionalcode>[, target_time]</em>) </em>
- <pre>
- type(assim_model_type), intent(out) :: <em class=code>assim_model</em>
- integer, intent(in) :: <em class=code>funit</em>
- type(time_type), optional, intent(out) :: <em class=code>target_time</em>
- </pre></div>
- <H3 class=indent1>Description</H3>
- <P>
-Read a state restart file into assim_model_type. Optionally read a prepended
-target time.
- </P>
- <TABLE width=100% border=0 summary="" celpadding=3>
- <TR><TD valign=top><em class=code>assim_model </em></TD>
- <TD>Read the time and state vector from restart into this.</TD></TR>
- <TR><TD valign=top><em class=code>funit </em></TD>
- <TD>File id that has been opened for reading restart files.</TD></TR>
- <TR><TD valign=top><em class=code>target_time </em></TD>
- <TD>If present, read a target time from the front of the file into this.</TD></TR>
- </TABLE>
- <BR>
+<TABLE width=100% border=0 summary="" cellpadding=3>
+<TR><TD valign=top><em class=code>assim_model </em></TD>
+ <TD>Write a restart from this assim_model_type.</TD></TR>
+<TR><TD valign=top><em class=code>funit</em></TD>
+ <TD>Integer file unit id open for output of restart files.</TD></TR>
+<TR><TD valign=top><em class=optionalcode>target_time</em></TD>
+ <TD>If present, put this target time at the front of the restart file.</TD></TR>
+</TABLE>
- <!--================================================================-->
- <!--============= DESCRIPTION OF A SUBROUTINE =======================-->
-<A NAME="yyyroutine19"></A>
- <P></P><HR><P></P>
- <div class=routine>
- <em class=call> call output_diagnostics(ndFileID, state, copy_index) </em>
- <pre>
- type(netcdf_file_type), intent(inout) :: <em class=code>ndFileID</em>
- type(assim_model_type), intent(in) :: <em class=code>state</em>
- integer, optional, intent(in) :: <em class=code>copy_index</em>
- </pre></div>
- <H3 class=indent1>Description</H3>
- <P>
+</div>
+<br>
+
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
+
+
+<A NAME="read_state_restart"></A>
+<br>
+<div class=routine>
+<em class=call> call read_state_restart(assim_model, funit
+<em class=optionalcode>[, target_time]</em>) </em>
+<pre>
+type(assim_model_type), intent(out) :: <em class=code>assim_model</em>
+integer, intent(in) :: <em class=code>funit</em>
+type(time_type), optional, intent(out) :: <em class=optionalcode>target_time</em>
+</pre>
+</div>
+
+<div class=indent1>
+<!-- Description -->
+
+<P>
+Read a state restart file into assim_model_type.
+Optionally read a prepended target time.
+</P>
+
+<TABLE width=100% border=0 summary="" cellpadding=3>
+<TR><TD valign=top><em class=code>assim_model </em></TD>
+ <TD>Read the time and state vector from restart into this.</TD></TR>
+<TR><TD valign=top><em class=code>funit</em></TD>
+ <TD>File id that has been opened for reading restart files.</TD></TR>
+<TR><TD valign=top><em class=optionalcode>target_time</em></TD>
+ <TD>If present, read a target time from the front of the file into this.</TD></TR>
+</TABLE>
+
+</div>
+<br>
+
+<!--===================== DESCRIPTION OF A ROUTINE =====================-->
+
+<A NAME="output_diagnostics"></A>
+<br>
+<div class=routine>
+<em class=call> call output_diagnostics(ndFileID, state
+<em class=optionalcode>[, copy_index]</em>) </em>
+<pre>
+type(netcdf_file_type), intent(inout) :: <em class=code>ndFileID</em>
+type(assim_model_type), intent(in) :: <em class=code>state</em>
+integer, optional, intent(in) :: <em class=optionalcode>copy_index</em>
+</pre>
+</div>
+
+<div class=indent1>
+<!-- Description -->
+
+<P>
Writes one copy of the state time and vector to a netCDF file.
- </P>
- <TABLE width=100% border=0 summary="" celpadding=3>
- <TR><TD valign=top><em class=code>ndFileID </em></TD>
- <TD>An identifier for a netCDF file</TD></TR>
- <TR><TD valign=top><em class=code>state </em></TD>
- <TD>State vector and time</TD></TR>
- <TR><TD valign=top><em class=code>copy_index </em></TD>
- <TD>Which copy of state is to be output</TD></TR>
- </TABLE>
- <BR>
+</P>
- <!--================================================================-->
- <!--============= DESCRIPTION OF A SUBROUTINE =======================-->
-<A NAME="yyyroutine20"></A>
- <P></P><HR><P></P>
- <div class=routine>
- <em class=call> call end_assim_model() </em>
- <pre>
- </pre></div>
- <H3 class=indent1>Description</H3>
- <P>
-Called to clean-up at end of assim_model use. For now just passes through
-to model_mod.
- </P>
- <TABLE width=100% border=0 summary="" celpadding=3>
- </TABLE>
- <BR>
+<TABLE width=100% border=0 summary="" cellpadding=3>
+<TR><TD valign=top><em class=code>ndFileID</em></TD>
+ <TD>An identifier for a netCDF file</TD></TR>
+<TR><TD valign=top><em class=code>state</em></TD>
+ <TD>State vector and time</TD></TR>
+<TR><TD valign=top><em class=optionalcode>copy_index </em></TD>
@@ Diff output truncated at 40000 characters. @@
More information about the Dart-dev
mailing list