[Dart-dev] [4273] DART/trunk: Changed the documentation and dependent files to reflect the

nancy at ucar.edu nancy at ucar.edu
Fri Feb 12 15:55:44 MST 2010


Revision: 4273
Author:   thoar
Date:     2010-02-12 15:55:44 -0700 (Fri, 12 Feb 2010)
Log Message:
-----------
Changed the documentation and dependent files to reflect the 
new location of DART/obs_sequence/obs_seq_to_netcdf

I figured CAM might as well have the 'native' ability to build the
executable - since WRF and POP already have it.

The observations/utilities/threed_sphere/quickbuild.csh will build
it for all models that use 3D location types.

Modified Paths:
--------------
    DART/trunk/models/POP/work/input.nml
    DART/trunk/models/POP/work/path_names_obs_seq_to_netcdf
    DART/trunk/models/cam/work/input.nml
    DART/trunk/models/wrf/work/input.nml
    DART/trunk/obs_sequence/obs_seq_to_netcdf.f90
    DART/trunk/obs_sequence/obs_seq_to_netcdf.html
    DART/trunk/obs_sequence/obs_seq_to_netcdf.nml
    DART/trunk/observations/utilities/threed_sphere/input.nml
    DART/trunk/observations/utilities/threed_sphere/path_names_obs_seq_to_netcdf

Added Paths:
-----------
    DART/trunk/models/cam/work/mkmf_obs_seq_to_netcdf
    DART/trunk/models/cam/work/path_names_obs_seq_to_netcdf

-------------- next part --------------
Modified: DART/trunk/models/POP/work/input.nml
===================================================================
--- DART/trunk/models/POP/work/input.nml	2010-02-12 21:26:40 UTC (rev 4272)
+++ DART/trunk/models/POP/work/input.nml	2010-02-12 22:55:44 UTC (rev 4273)
@@ -291,6 +291,7 @@
 &obs_seq_to_netcdf_nml
    obs_sequence_name = 'obs_seq.final'
    obs_sequence_list = '',
+   append_to_netcdf  = .false.,
    lonlim1    =    0.0,
    lonlim2    =  360.0,
    latlim1    =  -90.0,

Modified: DART/trunk/models/POP/work/path_names_obs_seq_to_netcdf
===================================================================
--- DART/trunk/models/POP/work/path_names_obs_seq_to_netcdf	2010-02-12 21:26:40 UTC (rev 4272)
+++ DART/trunk/models/POP/work/path_names_obs_seq_to_netcdf	2010-02-12 22:55:44 UTC (rev 4273)
@@ -1,6 +1,5 @@
 assim_model/assim_model_mod.f90
 common/types_mod.f90
-diagnostics/threed_sphere/obs_seq_to_netcdf.f90
 location/threed_sphere/location_mod.f90
 models/POP/model_mod.f90
 models/POP/dart_pop_mod.f90
@@ -8,6 +7,7 @@
 obs_def/obs_def_mod.f90
 obs_kind/obs_kind_mod.f90
 obs_sequence/obs_sequence_mod.f90
+obs_sequence/obs_seq_to_netcdf.f90
 random_nr/random_nr_mod.f90
 random_seq/random_seq_mod.f90
 time_manager/schedule_mod.f90

Modified: DART/trunk/models/cam/work/input.nml
===================================================================
--- DART/trunk/models/cam/work/input.nml	2010-02-12 21:26:40 UTC (rev 4272)
+++ DART/trunk/models/cam/work/input.nml	2010-02-12 22:55:44 UTC (rev 4273)
@@ -249,3 +249,25 @@
    print_obs_locations = .false.,
    verbose = .false.  /
 
+&schedule_nml
+   calendar        = 'Gregorian',
+   first_bin_start =  2007, 1, 01, 3, 0, 0 ,
+   first_bin_end   =  2007, 1, 01, 9, 0, 0 ,
+   last_bin_end    =  2007, 1, 15, 0, 0, 0 ,
+   bin_interval_days    = 0,
+   bin_interval_seconds = 21600,
+   max_num_bins         = 1000,
+   print_table          = .true.
+   /
+
+&obs_seq_to_netcdf_nml
+   obs_sequence_name = 'obs_seq.final',
+   obs_sequence_list = '',
+   append_to_netcdf  = .false.,
+   lonlim1    =    0.0,
+   lonlim2    =  360.0,
+   latlim1    =  -90.0,
+   latlim2    =   90.0,
+   verbose    = .false.
+   /
+

Added: DART/trunk/models/cam/work/mkmf_obs_seq_to_netcdf
===================================================================
--- DART/trunk/models/cam/work/mkmf_obs_seq_to_netcdf	                        (rev 0)
+++ DART/trunk/models/cam/work/mkmf_obs_seq_to_netcdf	2010-02-12 22:55:44 UTC (rev 4273)
@@ -0,0 +1,18 @@
+#!/bin/csh
+#
+# DART software - Copyright \xA9 2004 - 2010 UCAR. This open source software is
+# provided by UCAR, "as is", without charge, subject to all terms of use at
+# http://www.image.ucar.edu/DAReS/DART/DART_download
+#
+# $Id: mkmf_obs_seq_to_netcdf 4208 2009-12-24 22:39:39Z thoar $
+
+../../../mkmf/mkmf -p obs_seq_to_netcdf -t ../../../mkmf/mkmf.template -c"-Duse_netCDF" \
+ -a "../../.." path_names_obs_seq_to_netcdf
+
+exit $status
+
+# <next few lines under version control, do not edit>
+# $URL: $
+# $Revision: $
+# $Date: $
+


Property changes on: DART/trunk/models/cam/work/mkmf_obs_seq_to_netcdf
___________________________________________________________________
Added: svn:executable
   + *

Added: DART/trunk/models/cam/work/path_names_obs_seq_to_netcdf
===================================================================
--- DART/trunk/models/cam/work/path_names_obs_seq_to_netcdf	                        (rev 0)
+++ DART/trunk/models/cam/work/path_names_obs_seq_to_netcdf	2010-02-12 22:55:44 UTC (rev 4273)
@@ -0,0 +1,14 @@
+assim_model/assim_model_mod.f90
+common/types_mod.f90
+location/threed_sphere/location_mod.f90
+models/cam/model_mod.f90
+mpi_utilities/null_mpi_utilities_mod.f90
+obs_def/obs_def_mod.f90
+obs_kind/obs_kind_mod.f90
+obs_sequence/obs_sequence_mod.f90
+obs_sequence/obs_seq_to_netcdf.f90
+random_nr/random_nr_mod.f90
+random_seq/random_seq_mod.f90
+time_manager/schedule_mod.f90
+time_manager/time_manager_mod.f90
+utilities/utilities_mod.f90

Modified: DART/trunk/models/wrf/work/input.nml
===================================================================
--- DART/trunk/models/wrf/work/input.nml	2010-02-12 21:26:40 UTC (rev 4272)
+++ DART/trunk/models/wrf/work/input.nml	2010-02-12 22:55:44 UTC (rev 4273)
@@ -257,6 +257,7 @@
 &obs_seq_to_netcdf_nml  
    obs_sequence_name = 'obs_seq.final',
    obs_sequence_list = '',
+   append_to_netcdf  = .false.,
    lonlim1    =    0.0,
    lonlim2    =  360.0,
    latlim1    =  -90.0,

Modified: DART/trunk/obs_sequence/obs_seq_to_netcdf.f90
===================================================================
--- DART/trunk/obs_sequence/obs_seq_to_netcdf.f90	2010-02-12 21:26:40 UTC (rev 4272)
+++ DART/trunk/obs_sequence/obs_seq_to_netcdf.f90	2010-02-12 22:55:44 UTC (rev 4273)
@@ -209,8 +209,8 @@
 call get_time_from_schedule(TimeMax, schedule, Nepochs, 2)
 call get_calendar_string(calendarstring)
 
-minl = set_location( (/ lonlim1, latlim1, 0.0_r8, 1 /)) ! vertical unimportant
-maxl = set_location( (/ lonlim2, latlim2, 0.0_r8, 1 /)) ! vertical unimportant
+minl = set_location( (/ lonlim1, latlim1, 0.0_r8, 1.0_r8 /)) ! vertical unimportant
+maxl = set_location( (/ lonlim2, latlim2, 0.0_r8, 1.0_r8 /)) ! vertical unimportant
 
 !----------------------------------------------------------------------
 ! Prepare the variables

Modified: DART/trunk/obs_sequence/obs_seq_to_netcdf.html
===================================================================
--- DART/trunk/obs_sequence/obs_seq_to_netcdf.html	2010-02-12 21:26:40 UTC (rev 4272)
+++ DART/trunk/obs_sequence/obs_seq_to_netcdf.html	2010-02-12 22:55:44 UTC (rev 4273)
@@ -3,7 +3,7 @@
 <HTML>
 <HEAD>
 <TITLE>program obs_seq_to_netcdf</TITLE>
-<link rel="stylesheet" type="text/css" href="../../doc/html/doc.css">
+<link rel="stylesheet" type="text/css" href="../doc/html/doc.css">
 </HEAD>
 <BODY>
 <A NAME="TOP"></A>
@@ -35,11 +35,11 @@
     class=program>plot_obs_netcdf.m</em>.
    <br />
    <br />
-   <a  href="../../doc/images/plot_obs_netcdf_fig1.png">
-   <img src="../../doc/images/plot_obs_netcdf_fig1.png" 
+   <a  href="../doc/images/plot_obs_netcdf_fig1.png">
+   <img src="../doc/images/plot_obs_netcdf_fig1.png" 
         alt="DART observation 3D scatterplot" height=300 /></a>
-   <a  href="../../doc/images/plot_obs_netcdf_fig2.png">
-   <img src="../../doc/images/plot_obs_netcdf_fig2.png" 
+   <a  href="../doc/images/plot_obs_netcdf_fig2.png">
+   <img src="../doc/images/plot_obs_netcdf_fig2.png" 
         alt="DART 'bad' QC 3D scatterplot" height=300 /></a>
    <br />
    <br />
@@ -56,7 +56,7 @@
    There is also a facility for exploring the spatial distributions 
    of quantities like bias between the ensemble mean and the 
    observations: 
-   <em class=file>DART/observations/utilities/threed_sphere/</em><em 
+   <em class=file>DART/diagnostics/matlab/</em><em 
        class=program>plot_obs_netcdf_diffs.m</em>.
    <br />
    <br />
@@ -66,10 +66,27 @@
    are read from file <em class=file>input.nml</em>.
 </P>
 
+
 <H3 class="indent1">What's on the horizon ...</H3>
 <P>
    <em class=program>obs_seq_to_netcdf</em> 
    is a step toward encoding our observations in netCDF files.
+<br />
+<br />
+   <em class=new>The dependence on the <em class=file>threed_sphere/location_mod.f90</em>
+   has been removed. This program will soon be available to any conforming 
+   <em class=file>location_mod.f90</em>.</em> Also, this program no longer tries
+   to construct 'wind' observations from horizontal components since the program really
+   should be faithful to preserving exactly what is in the input file. i.e. We're not
+   making stuff up.
+<br />
+<br />
+   There are more Matlab scripts in the works ... keep an eye out for a 
+   <em class=program>link_obs.m</em> script that will create several linked
+   figures with the ability to 'brush' data in one view and have those selected
+   data (and attributes) get highlighted in the other views. There are still
+   a couple nuances to the figures that I'd like to get right before I release it
+   for general consumption -- Tim.
 </P>
 
 <!--==================================================================-->
@@ -112,7 +129,7 @@
 <div class=namelist>
 <pre>
 <em class=call>namelist / obs_seq_to_netcdf_nml / </em> 
-   obs_sequence_name, obs_sequence_list, 
+   obs_sequence_name, obs_sequence_list, append_to_netcdf,
    lonlim1, lonlim2, latlim1, latlim2, verbose
 </pre>
 </div>
@@ -165,6 +182,16 @@
             of the 'ls' command to a file, a text editor, or another program.
 	    Default '' - and empty string.</TD></TR>  
 
+<TR><!--contents--><TD valign=top>   append_to_netcdf   </TD>
+    <!--  type  --><TD valign=top>   logical   </TD>
+    <!--descript--><TD>This gives control over whether to overwrite or append to
+            an existing netcdf output file. It is envisioned that you may want
+            to combine multiple observation sequence files into one netcdf file
+            (i.e.&nbsp;<em class=code>append_to_netcdf=.true.</em>) to explore 
+            the effects on data coverage, etc. The default behavior is to create
+            a new <em class=file>obs_epoch_xxx.nc</em> file with every execution.<BR>
+            Default: .false. </TD></TR>  
+
 <TR><!--contents--><TD valign=top>   lonlim1   </TD>
     <!--  type  --><TD valign=top>   real      </TD>
     <!--descript--><TD>Westernmost longitude of the region.<BR>
@@ -221,7 +248,7 @@
 </P>
 
 <center>
-<img src="../../doc/images/schedule.png" alt="DART assimilation schedule" height=200>
+<img src="../doc/images/schedule.png" alt="DART assimilation schedule" height=200>
 </center>
 
 <TABLE border=0 cellpadding=3 width=100%>
@@ -375,7 +402,7 @@
         <em class="code">obs_seq_to_netcdf_nml</em> and 
         <em class="code">schedule_nml</em>.
 	</LI>
-    <LI><em class="file">obs_sequence_xxx.nc</em> is a 
+    <LI><em class="file">obs_epoch_xxx.nc</em> is a 
         netCDF output file for assimilation period 'xxx'. Each
         observation copy is preserved - as are any/all QC values/copies.
 	</LI>
@@ -399,7 +426,7 @@
 	</LI>
 </UL>
 
-<H3 class="indent1">Discussion of obs_sequence_xxx.nc structure</H3>
+<H3 class="indent1">Discussion of obs_epoch_xxx.nc structure</H3>
 <P>
 <a href="http://www.image.ucar.edu/DAReS/Documentation/index.jsp#sequences">
 This might be a good time to review the basic observation sequence 
@@ -411,8 +438,8 @@
 sensible plots of the observations. Some important aspects are highlighted. 
 </P>
 <pre>
-[shad] % <em class="input">ncdump -v QCMetaData,CopyMetaData,ObsTypesMetaData obs_sequence_001.nc</em>
-netcdf obs_sequence_001 {
+[shad] % <em class="input">ncdump -v QCMetaData,CopyMetaData,ObsTypesMetaData obs_epoch_001.nc</em>
+netcdf obs_epoch_001 {
 dimensions:
         linelen = 129 ;
         nlines = 104 ;
@@ -449,10 +476,6 @@
         int <em class="changed">obs_type(ObsIndex)</em> ;
                 obs_type:long_name = "DART observation type" ;
                 obs_type:explanation = "see ObsTypesMetaData" ;
-        int which_vert(ObsIndex) ;
-                which_vert:long_name = "vertical coordinate system code" ;
-        double location(ObsIndex, location) ;
-                location:long_name = "location of observation" ;
                 location:units = "deg_Lon deg_Lat vertical" ;
         double observations(ObsIndex, <em class="changed">copy</em>) ;
                 observations:long_name = "org observation, estimates, etc." ;
@@ -461,12 +484,23 @@
         int qc(ObsIndex, <em class="changed">qc_copy</em>) ;
                 qc:long_name = "QC values" ;
                 qc:explanation = "see QCMetaData" ;
+        double location(ObsIndex, location) ;
+                location:long_name = "location of observation" ;
+                location:storage_order = "Lon Lat Vertical" ;
+                location:units = "degrees degrees which_vert" ;
+        int which_vert(ObsIndex) ;
+                which_vert:long_name = "vertical coordinate system code" ;
+                which_vert:VERTISUNDEF = -2 ;
+                which_vert:VERTISSURFACE = -1 ;
+                which_vert:VERTISLEVEL = 1 ;
+                which_vert:VERTISPRESSURE = 2 ;
+                which_vert:VERTISHEIGHT = 3 ;
+
 // global attributes:
                 :creation_date = "YYYY MM DD HH MM SS = 2009 05 01 16 51 18" ;
-                :obs_seq_to_netcdf_source = "$URL$" ;
-                :obs_seq_to_netcdf_revision = "$Revision$" ;
-                :obs_seq_to_netcdf_revdate = "$Date$" ;
-                :horizontal_wind = "vector wind derived from U,V components" ;
+                :obs_seq_to_netcdf_source = "$url: http://subversion.ucar.edu/DAReS/DART/trunk/obs_sequence/obs_seq_to_netcdf.f90 $" ;
+                :obs_seq_to_netcdf_revision = "$revision: 4272 $" ;
+                :obs_seq_to_netcdf_revdate = "$date: 2010-02-12 14:26:40 -0700 (Fri, 12 Feb 2010) $" ;
                 :obs_seq_file_001 = "bgrid_solo/work/01_01/obs_seq.final" ;
 data:
 
@@ -558,6 +592,7 @@
 &amp;obs_seq_to_netcdf_nml
    obs_sequence_name = '',
    obs_sequence_list = 'olist',
+   append_to_netcdf  = .false.,
    lonlim1    =    0.0,
    lonlim2    =  360.0,
    latlim1    =  -80.0,
@@ -632,50 +667,42 @@
  obs_seq_to_netcdf  opening /users/thoar/temp/obs_0001/obs_seq.final
  
  num_obs_in_epoch (           1 ) =       103223
- InitNetCDF  obs_sequence_001.nc is fortran unit            5
+ InitNetCDF  obs_epoch_001.nc is fortran unit            5
  num_obs_in_epoch (           2 ) =       186523
- InitNetCDF  obs_sequence_002.nc is fortran unit            5
+ InitNetCDF  obs_epoch_002.nc is fortran unit            5
  num_obs_in_epoch (           3 ) =       110395
- InitNetCDF  obs_sequence_003.nc is fortran unit            5
+ InitNetCDF  obs_epoch_003.nc is fortran unit            5
  num_obs_in_epoch (           4 ) =       191957
- InitNetCDF  obs_sequence_004.nc is fortran unit            5
+ InitNetCDF  obs_epoch_004.nc is fortran unit            5
 
  obs_seq_to_netcdf  opening /users/thoar/temp/obs_0002/obs_seq.final
 
  num_obs_in_epoch (           5 ) =        90683
- InitNetCDF  obs_sequence_005.nc is fortran unit            5
+ InitNetCDF  obs_epoch_005.nc is fortran unit            5
  num_obs_in_epoch (           6 ) =       186316
- InitNetCDF  obs_sequence_006.nc is fortran unit            5
+ InitNetCDF  obs_epoch_006.nc is fortran unit            5
  num_obs_in_epoch (           7 ) =       109465
- InitNetCDF  obs_sequence_007.nc is fortran unit            5
+ InitNetCDF  obs_epoch_007.nc is fortran unit            5
  num_obs_in_epoch (           8 ) =       197441
- InitNetCDF  obs_sequence_008.nc is fortran unit            5
+ InitNetCDF  obs_epoch_008.nc is fortran unit            5
 
  obs_seq_to_netcdf  opening /users/thoar/temp/obs_0003/obs_seq.final
  
  --------------------------------------
  Finished ... at YYYY MM DD HH MM SS = 
                  2009  5 15  9  2 56
- $URL$
- $Revision$
- $Date$
+ $url: http://subversion.ucar.edu/DAReS/DART/trunk/obs_sequence/obs_seq_to_netcdf.f90 $
+ $revision: 4272 $
+ $date: 2010-02-12 14:26:40 -0700 (Fri, 12 Feb 2010) $
  --------------------------------------
 </pre>
 </div>
 
 <H3 class="indent1">Matlab helper functions</H3>
 <P>
-The Matlab <em class="file">netcdf_toolbox</em> 
-subset of functions is no longer being supported by their 
-developers, who are now supporting the 
-<a href="http://mexcdf.sourceforge.net/">snctools</a> 
-set of functions. The Matlab function <em class="program">read_obs_netcdf</em>
-uses the supported <em class="file">snctools</em> toolbox. 
-The migration away
-from the existing DART use of the <em class="file">netcdf_toolbox</em> and the CSIRO
-toolbox <em class="file">matlab_netCDF_OPeNDAP</em> (i.e. the 'getnc'
-function) is complete. This greatly eases the
-installation of the Matlab netcdf widgets.
+DART uses the <a href="http://mexcdf.sourceforge.net/">snctools</a> set of functions. 
+Our m-file <em class=file>DART/diagnostics/matlab/</em><em class="program">read_obs_netcdf</em>
+uses the <em class="file">snctools</em> toolbox. 
 <br />
 <br />
 You will need the 'normal' <em class="file">DART/matlab</em> functions
@@ -848,7 +875,8 @@
 
 <H2>KNOWN BUGS</H2>
 <P>
-none at this time
+Silently and happily returns a structure with zero elements if 
+there are no obs in the desired region. 
 </P>
 
 <!--==================================================================-->

Modified: DART/trunk/obs_sequence/obs_seq_to_netcdf.nml
===================================================================
--- DART/trunk/obs_sequence/obs_seq_to_netcdf.nml	2010-02-12 21:26:40 UTC (rev 4272)
+++ DART/trunk/obs_sequence/obs_seq_to_netcdf.nml	2010-02-12 22:55:44 UTC (rev 4273)
@@ -1,8 +1,9 @@
 # note that only one of name or list can be used, and the other 
 # must be set to '' to avoid ambiguity.
-&obs_to_table_nml
+&obs_seq_to_netcdf_nml
    obs_sequence_name = 'obs_seq.final',
    obs_sequence_list = '',
+   append_to_netcdf  = .false.,
    lonlim1    =    0.0,
    lonlim2    =  360.0,
    latlim1    =  -90.0,

Modified: DART/trunk/observations/utilities/threed_sphere/input.nml
===================================================================
--- DART/trunk/observations/utilities/threed_sphere/input.nml	2010-02-12 21:26:40 UTC (rev 4272)
+++ DART/trunk/observations/utilities/threed_sphere/input.nml	2010-02-12 22:55:44 UTC (rev 4273)
@@ -51,6 +51,7 @@
 &obs_seq_to_netcdf_nml
    obs_sequence_name = 'obs_seq.final',
    obs_sequence_list = '',
+   append_to_netcdf  = .false.,
    lonlim1    =    0.0,
    lonlim2    =  360.0,
    latlim1    =  -90.0,

Modified: DART/trunk/observations/utilities/threed_sphere/path_names_obs_seq_to_netcdf
===================================================================
--- DART/trunk/observations/utilities/threed_sphere/path_names_obs_seq_to_netcdf	2010-02-12 21:26:40 UTC (rev 4272)
+++ DART/trunk/observations/utilities/threed_sphere/path_names_obs_seq_to_netcdf	2010-02-12 22:55:44 UTC (rev 4273)
@@ -1,12 +1,12 @@
 assim_model/assim_model_mod.f90
 common/types_mod.f90
-diagnostics/threed_sphere/obs_seq_to_netcdf.f90
 location/threed_sphere/location_mod.f90
 models/template/model_mod.f90
 mpi_utilities/null_mpi_utilities_mod.f90
 obs_def/obs_def_mod.f90
 obs_kind/obs_kind_mod.f90
 obs_sequence/obs_sequence_mod.f90
+obs_sequence/obs_seq_to_netcdf.f90
 random_nr/random_nr_mod.f90
 random_seq/random_seq_mod.f90
 time_manager/schedule_mod.f90


More information about the Dart-dev mailing list