<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul, pre { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[3797] DART/trunk/obs_sequence: In obs_sequence_mod, 2 important fixes.</title>
</head>
<body>

<div id="msg">
<dl>
<dt>Revision</dt> <dd>3797</dd>
<dt>Author</dt> <dd>nancy</dd>
<dt>Date</dt> <dd>2009-03-31 11:39:38 -0600 (Tue, 31 Mar 2009)</dd>
</dl>

<h3>Log Message</h3>
<pre>In obs_sequence_mod, 2 important fixes.  First, in the interactive create 
routine, test the time of the next observation and only use the faster
insert subroutine when the time is later than the previous obs.  The old
code allowed obs to be inserted in the wrong time order and no errors were
detected.  It resulted in obs files which ran through filter without complaint,
but some obs could be assimilated in the wrong time window.   Second, add
error checking code in the insert subroutine; if the optional third argument
is given to insert, test the time and ensure it is valid relative to the
given insert point, before doing the forward search.  Otherwise, error out.

In obs_sequence_tool, add a time validation routine.  It traces the linked
list and errors out on any observations which are not monotonically increasing
in time.  This should help catch any files which were created with the
interactive routine and where the obs were not in time order.</pre>

<h3>Modified Paths</h3>
<ul>
  <li>DART/trunk/obs_sequence/obs_sequence_mod.f90</li>
  <li>DART/trunk/obs_sequence/obs_sequence_tool.f90</li>
</ul>


</div>
</body>
</html>