[Dart-dev] [4924] DART/trunk/models/cam: Major update to cam-related files. Notably:

nancy at ucar.edu nancy at ucar.edu
Tue May 31 11:25:55 MDT 2011


Revision: 4924
Author:   nancy
Date:     2011-05-31 11:25:55 -0600 (Tue, 31 May 2011)
Log Message:
-----------
Major update to cam-related files.  Notably:  
- Added the changes needed to the CAM build tree for CAM 4.0.x
- Updates to CAM documentation to bring it in sync with the
current code.
- All trans routines replaced with: dart_to_cam, cam_to_dart, 
and advance_time.
- Minor changes to CAM model_mod, including adding a routine to
write out the times file so utilities can call it in a single
location, plus additional optional arg on write routine.
- Most debugging output is off by default; a new namelist
item 'print_details' will re-enable the original output.
- Added build support for new tools (closest member, common
subset, fill inflation) and removed for obsolete (merge obs).
- The original 'trans' build files and src are now in a
'deprecated' directory so if users need them for backwards
compatibility, they are still available.
- The archive scripts are updated for the HPSS (hsi) and
the MSS versions (msrcp) are removed.
- The shell_scripts and full_experiment scripts are updated.

Modified Paths:
--------------
    DART/trunk/models/cam/full_experiment/analyses2initial.csh
    DART/trunk/models/cam/full_experiment/clm_FillValue_vars.csh
    DART/trunk/models/cam/full_experiment/job_mpi.csh
    DART/trunk/models/cam/shell_scripts/advance_model.csh
    DART/trunk/models/cam/shell_scripts/input.pert0.nml
    DART/trunk/models/cam/shell_scripts/run-cam.csh
    DART/trunk/models/cam/work/caminput.nc
    DART/trunk/models/cam/work/input.nml

Added Paths:
-----------
    DART/trunk/models/cam/CCSM4_0_DART_mods.gztar
    DART/trunk/models/cam/deprecated/
    DART/trunk/models/cam/deprecated/README
    DART/trunk/models/cam/deprecated/mkmf_trans_date_to_dart
    DART/trunk/models/cam/deprecated/mkmf_trans_pv_sv
    DART/trunk/models/cam/deprecated/mkmf_trans_pv_sv_pert0
    DART/trunk/models/cam/deprecated/mkmf_trans_pv_sv_time0
    DART/trunk/models/cam/deprecated/mkmf_trans_sv_pv
    DART/trunk/models/cam/deprecated/mkmf_trans_time
    DART/trunk/models/cam/deprecated/path_names_trans_date_to_dart
    DART/trunk/models/cam/deprecated/path_names_trans_pv_sv
    DART/trunk/models/cam/deprecated/path_names_trans_pv_sv_pert0
    DART/trunk/models/cam/deprecated/path_names_trans_pv_sv_time0
    DART/trunk/models/cam/deprecated/path_names_trans_sv_pv
    DART/trunk/models/cam/deprecated/path_names_trans_time
    DART/trunk/models/cam/deprecated/trans_date_to_dart.f90
    DART/trunk/models/cam/deprecated/trans_date_to_dart.html
    DART/trunk/models/cam/deprecated/trans_pv_sv.f90
    DART/trunk/models/cam/deprecated/trans_pv_sv_pert0.f90
    DART/trunk/models/cam/deprecated/trans_pv_sv_time0.f90
    DART/trunk/models/cam/deprecated/trans_pv_sv_time0.html
    DART/trunk/models/cam/deprecated/trans_sv_pv.f90
    DART/trunk/models/cam/deprecated/trans_time.f90
    DART/trunk/models/cam/full_experiment/auto_ICs2hpss.csh
    DART/trunk/models/cam/full_experiment/auto_diag2hpss_LSF.csh
    DART/trunk/models/cam/full_experiment/auto_diagPOP2hpss_LSF.csh
    DART/trunk/models/cam/full_experiment/auto_re2hpss_LSF.csh
    DART/trunk/models/cam/full_experiment/hpss2restart.csh
    DART/trunk/models/cam/full_experiment/obs_seq2hpss.csh
    DART/trunk/models/cam/shell_scripts/advance_model.retry.csh
    DART/trunk/models/cam/shell_scripts/input.nml.diag.template
    DART/trunk/models/cam/shell_scripts/monthlydiags.csh
    DART/trunk/models/cam/work/cam_phis.nc

Removed Paths:
-------------
    DART/trunk/models/cam/full_experiment/auto_ICs2ms.csh
    DART/trunk/models/cam/full_experiment/auto_diag2ms_LSF.csh
    DART/trunk/models/cam/full_experiment/auto_diagPOP2ms_LSF.csh
    DART/trunk/models/cam/full_experiment/auto_re2ms_LSF.csh
    DART/trunk/models/cam/full_experiment/ms2restart.csh
    DART/trunk/models/cam/full_experiment/obs_seq2ms.csh
    DART/trunk/models/cam/trans_date_to_dart.f90
    DART/trunk/models/cam/trans_date_to_dart.html
    DART/trunk/models/cam/trans_pv_sv.f90
    DART/trunk/models/cam/trans_pv_sv_pert0.f90
    DART/trunk/models/cam/trans_pv_sv_time0.f90
    DART/trunk/models/cam/trans_pv_sv_time0.html
    DART/trunk/models/cam/trans_sv_pv.f90
    DART/trunk/models/cam/trans_time.f90
    DART/trunk/models/cam/work/mkmf_trans_date_to_dart
    DART/trunk/models/cam/work/mkmf_trans_pv_sv
    DART/trunk/models/cam/work/mkmf_trans_pv_sv_pert0
    DART/trunk/models/cam/work/mkmf_trans_pv_sv_time0
    DART/trunk/models/cam/work/mkmf_trans_sv_pv
    DART/trunk/models/cam/work/mkmf_trans_time
    DART/trunk/models/cam/work/path_names_trans_date_to_dart
    DART/trunk/models/cam/work/path_names_trans_pv_sv
    DART/trunk/models/cam/work/path_names_trans_pv_sv_pert0
    DART/trunk/models/cam/work/path_names_trans_pv_sv_time0
    DART/trunk/models/cam/work/path_names_trans_sv_pv
    DART/trunk/models/cam/work/path_names_trans_time

Property Changed:
----------------
    DART/trunk/models/cam/

-------------- next part --------------

Property changes on: DART/trunk/models/cam
___________________________________________________________________
Added: svn:mergeinfo
   + /DART/branches/cam-update:4903-4923

Added: DART/trunk/models/cam/CCSM4_0_DART_mods.gztar
===================================================================
(Binary files differ)


Property changes on: DART/trunk/models/cam/CCSM4_0_DART_mods.gztar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: DART/trunk/models/cam/deprecated/README
===================================================================
--- DART/trunk/models/cam/deprecated/README	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/README	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,19 @@
+The files in this directory are deprecated.
+
+The mkmf_trans_* and path_names_trans_* files are for building
+the original translation tools between DART initial condition/
+restart file format and CAM netCDF file format, and also translating
+time between DART and CAM formats.  All are completely superceeded
+by the following 3 tools:
+
+dart_to_cam
+cam_to_dart
+advance_time
+
+If you need to continue to use the original tools, 
+copy the source files into DART/models/cam, copy the mkmf_*
+and path_names_* files into ../work, and run ./quickbuild.csh
+from the work directory.
+
+
+


Property changes on: DART/trunk/models/cam/deprecated/README
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: DART/trunk/models/cam/deprecated/mkmf_trans_date_to_dart
===================================================================
--- DART/trunk/models/cam/deprecated/mkmf_trans_date_to_dart	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/mkmf_trans_date_to_dart	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,18 @@
+#!/bin/csh
+#
+# DART software - Copyright 2004 - 2011 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/mkmf -p trans_date_to_dart -t ../../../mkmf/mkmf.template -c "-Duse_netCDF" \
+ -a "../../.." path_names_trans_date_to_dart
+
+exit $status
+
+# <next few lines under version control, do not edit>
+# $URL$
+# $Revision$
+# $Date$
+


Property changes on: DART/trunk/models/cam/deprecated/mkmf_trans_date_to_dart
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + text/plain
Added: svn:keywords
   + Date Rev Author HeadURL Id
Added: svn:eol-style
   + native

Added: DART/trunk/models/cam/deprecated/mkmf_trans_pv_sv
===================================================================
--- DART/trunk/models/cam/deprecated/mkmf_trans_pv_sv	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/mkmf_trans_pv_sv	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,18 @@
+#!/bin/csh
+#
+# DART software - Copyright 2004 - 2011 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/mkmf -p trans_pv_sv -t ../../../mkmf/mkmf.template -c "-Duse_netCDF" \
+ -a "../../.." path_names_trans_pv_sv
+
+exit $status
+
+# <next few lines under version control, do not edit>
+# $URL$
+# $Revision$
+# $Date$
+


Property changes on: DART/trunk/models/cam/deprecated/mkmf_trans_pv_sv
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + text/plain
Added: svn:keywords
   + Date Rev Author HeadURL Id
Added: svn:eol-style
   + native

Added: DART/trunk/models/cam/deprecated/mkmf_trans_pv_sv_pert0
===================================================================
--- DART/trunk/models/cam/deprecated/mkmf_trans_pv_sv_pert0	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/mkmf_trans_pv_sv_pert0	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,18 @@
+#!/bin/csh
+#
+# DART software - Copyright 2004 - 2011 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/mkmf -p trans_pv_sv_pert0 -t ../../../mkmf/mkmf.template -c "-Duse_netCDF" \
+ -a "../../.." path_names_trans_pv_sv_pert0
+
+exit $status
+
+# <next few lines under version control, do not edit>
+# $URL$
+# $Revision$
+# $Date$
+


Property changes on: DART/trunk/models/cam/deprecated/mkmf_trans_pv_sv_pert0
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + text/plain
Added: svn:keywords
   + Date Rev Author HeadURL Id
Added: svn:eol-style
   + native

Added: DART/trunk/models/cam/deprecated/mkmf_trans_pv_sv_time0
===================================================================
--- DART/trunk/models/cam/deprecated/mkmf_trans_pv_sv_time0	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/mkmf_trans_pv_sv_time0	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,18 @@
+#!/bin/csh
+#
+# DART software - Copyright 2004 - 2011 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/mkmf -p trans_pv_sv_time0 -t ../../../mkmf/mkmf.template -c "-Duse_netCDF" \
+ -a "../../.." path_names_trans_pv_sv_time0
+
+exit $status
+
+# <next few lines under version control, do not edit>
+# $URL$
+# $Revision$
+# $Date$
+


Property changes on: DART/trunk/models/cam/deprecated/mkmf_trans_pv_sv_time0
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + text/plain
Added: svn:keywords
   + Date Rev Author HeadURL Id
Added: svn:eol-style
   + native

Added: DART/trunk/models/cam/deprecated/mkmf_trans_sv_pv
===================================================================
--- DART/trunk/models/cam/deprecated/mkmf_trans_sv_pv	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/mkmf_trans_sv_pv	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,18 @@
+#!/bin/csh
+#
+# DART software - Copyright 2004 - 2011 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/mkmf -p trans_sv_pv -t ../../../mkmf/mkmf.template -c "-Duse_netCDF" \
+ -a "../../.." path_names_trans_sv_pv
+
+exit $status
+
+# <next few lines under version control, do not edit>
+# $URL$
+# $Revision$
+# $Date$
+


Property changes on: DART/trunk/models/cam/deprecated/mkmf_trans_sv_pv
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + text/plain
Added: svn:keywords
   + Date Rev Author HeadURL Id
Added: svn:eol-style
   + native

Added: DART/trunk/models/cam/deprecated/mkmf_trans_time
===================================================================
--- DART/trunk/models/cam/deprecated/mkmf_trans_time	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/mkmf_trans_time	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,18 @@
+#!/bin/csh
+#
+# DART software - Copyright 2004 - 2011 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/mkmf -p trans_time -t ../../../mkmf/mkmf.template -c "-Duse_netCDF" \
+ -a "../../.." path_names_trans_time
+
+exit $status
+
+# <next few lines under version control, do not edit>
+# $URL$
+# $Revision$
+# $Date$
+


Property changes on: DART/trunk/models/cam/deprecated/mkmf_trans_time
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + text/plain
Added: svn:keywords
   + Date Rev Author HeadURL Id
Added: svn:eol-style
   + native

Added: DART/trunk/models/cam/deprecated/path_names_trans_date_to_dart
===================================================================
--- DART/trunk/models/cam/deprecated/path_names_trans_date_to_dart	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/path_names_trans_date_to_dart	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,5 @@
+models/cam/trans_date_to_dart.f90
+time_manager/time_manager_mod.f90
+mpi_utilities/null_mpi_utilities_mod.f90
+utilities/utilities_mod.f90
+common/types_mod.f90

Added: DART/trunk/models/cam/deprecated/path_names_trans_pv_sv
===================================================================
--- DART/trunk/models/cam/deprecated/path_names_trans_pv_sv	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/path_names_trans_pv_sv	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,11 @@
+obs_kind/obs_kind_mod.f90
+models/cam/trans_pv_sv.f90
+models/cam/model_mod.f90
+assim_model/assim_model_mod.f90
+utilities/utilities_mod.f90
+mpi_utilities/null_mpi_utilities_mod.f90
+common/types_mod.f90
+time_manager/time_manager_mod.f90
+location/threed_sphere/location_mod.f90
+random_seq/random_seq_mod.f90
+random_nr/random_nr_mod.f90

Added: DART/trunk/models/cam/deprecated/path_names_trans_pv_sv_pert0
===================================================================
--- DART/trunk/models/cam/deprecated/path_names_trans_pv_sv_pert0	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/path_names_trans_pv_sv_pert0	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,11 @@
+models/cam/trans_pv_sv_pert0.f90
+models/cam/model_mod.f90
+obs_kind/obs_kind_mod.f90
+assim_model/assim_model_mod.f90
+utilities/utilities_mod.f90
+mpi_utilities/null_mpi_utilities_mod.f90
+common/types_mod.f90
+time_manager/time_manager_mod.f90
+location/threed_sphere/location_mod.f90
+random_seq/random_seq_mod.f90
+random_nr/random_nr_mod.f90

Added: DART/trunk/models/cam/deprecated/path_names_trans_pv_sv_time0
===================================================================
--- DART/trunk/models/cam/deprecated/path_names_trans_pv_sv_time0	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/path_names_trans_pv_sv_time0	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,11 @@
+models/cam/trans_pv_sv_time0.f90
+models/cam/model_mod.f90
+obs_kind/obs_kind_mod.f90
+assim_model/assim_model_mod.f90
+utilities/utilities_mod.f90
+mpi_utilities/null_mpi_utilities_mod.f90
+common/types_mod.f90
+time_manager/time_manager_mod.f90
+location/threed_sphere/location_mod.f90
+random_seq/random_seq_mod.f90
+random_nr/random_nr_mod.f90

Added: DART/trunk/models/cam/deprecated/path_names_trans_sv_pv
===================================================================
--- DART/trunk/models/cam/deprecated/path_names_trans_sv_pv	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/path_names_trans_sv_pv	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,11 @@
+obs_kind/obs_kind_mod.f90
+models/cam/trans_sv_pv.f90
+models/cam/model_mod.f90
+assim_model/assim_model_mod.f90
+utilities/utilities_mod.f90
+mpi_utilities/null_mpi_utilities_mod.f90
+common/types_mod.f90
+location/threed_sphere/location_mod.f90
+time_manager/time_manager_mod.f90
+random_seq/random_seq_mod.f90
+random_nr/random_nr_mod.f90

Added: DART/trunk/models/cam/deprecated/path_names_trans_time
===================================================================
--- DART/trunk/models/cam/deprecated/path_names_trans_time	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/path_names_trans_time	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,11 @@
+obs_kind/obs_kind_mod.f90
+models/cam/trans_time.f90
+time_manager/time_manager_mod.f90
+assim_model/assim_model_mod.f90
+utilities/utilities_mod.f90
+mpi_utilities/null_mpi_utilities_mod.f90
+common/types_mod.f90
+location/threed_sphere/location_mod.f90
+random_seq/random_seq_mod.f90
+random_nr/random_nr_mod.f90
+models/cam/model_mod.f90

Copied: DART/trunk/models/cam/deprecated/trans_date_to_dart.f90 (from rev 4923, DART/trunk/models/cam/trans_date_to_dart.f90)
===================================================================
--- DART/trunk/models/cam/deprecated/trans_date_to_dart.f90	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/trans_date_to_dart.f90	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,72 @@
+! DART software - Copyright 2004 - 2011 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
+
+program trans_date_to_dart
+
+! <next few lines under version control, do not edit>
+! $URL$
+! $Id$
+! $Revision$
+! $Date$
+
+!----------------------------------------------------------------------
+! purpose: generate a Gregorian/DART date & time from standard date and time
+!
+! method: Read ASCII input(/output) file containing yyyy/mm/dd hh:mm:ss . 
+!         Reform time and date into form needed by DART.
+!         Write out CAM time and date to i/o file for use in input.nlm . 
+!
+! author: Kevin Raeder 8/18/03
+!
+!----------------------------------------------------------------------
+
+use utilities_mod,    only : get_unit, initialize_utilities, finalize_utilities
+use time_manager_mod, only : time_type, write_time, &
+                             get_time, set_time, get_date, set_date, &
+                             set_calendar_type, GREGORIAN, get_calendar_type
+
+implicit none
+
+! version controlled file description for error handling, do not edit
+character(len=128), parameter :: &
+   source   = "$URL$", &
+   revision = "$Revision$", &
+   revdate  = "$Date$"
+
+integer               :: calendar_type = GREGORIAN
+integer               :: file_unit, seconds, &
+                         year, month, day, hour, minute, second, &
+                         cam_date, cam_tod
+type(time_type)       :: dart_time
+character (len = 128) :: file_name = 'date_greg'
+
+call initialize_utilities('Trans_date_to_dart')
+
+call set_calendar_type(calendar_type)
+! debug
+seconds = get_calendar_type()
+PRINT*,'calendar type = ',seconds
+
+file_unit = get_unit()
+PRINT*,'file_unit = ',file_unit
+
+! read in date and time 
+open(unit = file_unit, file = file_name, status='old',form='formatted')
+read(file_unit, '(I4,5(1X,I2))') year, month, day, hour, minute, second
+PRINT*,'read in date = ',year, month, day, hour, minute, second
+
+! create and write DART date (Gregorian)
+dart_time = set_date(year, month, day, hour, minute, second)
+call write_time (file_unit,dart_time)
+
+! create and write CAM date
+cam_date = (year)*10000 + month*100 + day
+cam_tod  = hour*3600 + minute*60 + second
+write (file_unit,'(2I8)') cam_date, cam_tod
+
+close(unit = file_unit)
+
+call finalize_utilities()
+
+end program trans_date_to_dart

Copied: DART/trunk/models/cam/deprecated/trans_date_to_dart.html (from rev 4923, DART/trunk/models/cam/trans_date_to_dart.html)
===================================================================
--- DART/trunk/models/cam/deprecated/trans_date_to_dart.html	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/trans_date_to_dart.html	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+          "http://www.w3.org/TR/html4/strict.dtd">
+<HTML>
+<HEAD>
+<TITLE>program trans_date_to_dart</TITLE>
+<link rel="stylesheet" type="text/css" href="../../doc/html/doc.css" />
+</HEAD>
+<BODY>
+<A NAME="TOP"></A>
+
+<H1>PROGRAM <em class="program">trans_date_to_dart</em></H1>
+
+<table border=0 summary="" cellpadding=5>
+<tr>
+    <td valign=middle>
+    <img src="../../doc/html/Dartboard9.png" alt="DART project logo" height=70 />
+    </td>
+    <td>
+       <P>Jump to <a href="../../index.html">DART Documentation Main Index</a><br />
+          <small><small>version information for this file: <br />
+          <!-- version tag follows, do not edit -->
+          $Id$</small></small>
+       </P></td>
+</tr>
+</table>
+
+<A HREF="#Legalese">TERMS OF USE</A>
+
+<H2>Overview</H2>
+
+<P>
+<em class="program">trans_date_to_dart</em> translates a standard date and time into 
+Gregorian and DART date/time pairs.  It will be compiled automatically by 
+<em class="program">.../DART/models/cam/work/quickbuild.csh</em> or it can be built
+in the usual way.
+It opens a pre-existing file called '<em class="file">date_greg</em>' 
+which must be in the run directory and which must contain a date and time on the 
+first line, in the form
+</P>
+<PRE>
+yyyy/mm/dd hh:mm:ss
+</PRE>
+<P>
+It will write out the gregorian day and time onto line 2 of the same file.
+It will also write out the date in the format the CAM wants to see onto the 3rd line.
+It does not require any namelist input from <em class="file">input.nml</em>&nbsp;.
+</P>
+
+<!--==================================================================-->
+<!-- Legalese & Metadata                                              -->
+<!--==================================================================-->
+
+<A NAME="Legalese"></A>
+<HR>
+<H2>Terms of Use</H2>
+
+<P>
+DART software - Copyright 2004 - 2011 UCAR.<br>
+This open source software is provided by UCAR, "as is",<br>
+without charge, subject to all terms of use at<br>
+<a href="http://www.image.ucar.edu/DAReS/DART/DART_download">
+http://www.image.ucar.edu/DAReS/DART/DART_download</a>
+</P>
+
+<TABLE border=0 cellpadding=0 width=100% summary="">
+<TR><TD valign=top>Contact:       </TD><TD> Kevin Raeder </TD></TR>
+<TR><TD valign=top>Revision:      </TD><TD> $Revision$ </TD></TR>
+<TR><TD valign=top>Source:        </TD><TD> $URL$ </TD></TR>
+<TR><TD valign=top>Change Date:   </TD><TD> $Date$ </TD></TR>
+<TR><TD valign=top>Change&nbsp;history:&nbsp;</TD><TD> try "svn&nbsp;log" or "svn&nbsp;diff" </TD></TR>
+</TABLE>
+
+<!--==================================================================-->
+
+</BODY>
+</HTML>

Copied: DART/trunk/models/cam/deprecated/trans_pv_sv.f90 (from rev 4923, DART/trunk/models/cam/trans_pv_sv.f90)
===================================================================
--- DART/trunk/models/cam/deprecated/trans_pv_sv.f90	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/trans_pv_sv.f90	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,110 @@
+! DART software - Copyright 2004 - 2011 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
+
+program trans_pv_sv
+
+! <next few lines under version control, do not edit>
+! $URL$
+! $Id$
+! $Revision$
+! $Date$
+
+!----------------------------------------------------------------------
+! purpose: interface between CAM and DART
+!
+! method: Read CAM 'initial' file for model state, but not time (netCDF format).
+!         Get target time from assim_model_state_ic (temp_ic).
+!         Reform fields into a state vector.
+!         Write out state vector in "proprietary" format for DART
+!
+! author: Kevin Raeder 2/21/03
+!         based on prog_var_to_vector and vector_to_prog_var by Jeff Anderson
+!
+!----------------------------------------------------------------------
+
+use        types_mod, only : r8
+use    utilities_mod, only : get_unit, file_exist, &
+                             initialize_utilities, finalize_utilities
+use        model_mod, only : model_type, init_model_instance, end_model_instance, &
+                             prog_var_to_vector, read_cam_init
+use  assim_model_mod, only : assim_model_type, static_init_assim_model, &
+   init_assim_model, get_model_size , set_model_state_vector, write_state_restart, &
+   set_model_time, open_restart_read, open_restart_write, close_restart, &
+   aread_state_restart
+! Guam; move time stripping from advance_model to here
+use time_manager_mod, only : time_type, read_time
+
+implicit none
+
+! version controlled file description for error handling, do not edit
+character(len=128), parameter :: &
+   source   = "$URL$", &
+   revision = "$Revision$", &
+   revdate  = "$Date$"
+
+! character (len = 128) :: file_name = 'caminput.nc', file_out = 'temp_ic'
+! Guam; move time stripping from script into here
+character (len = 128) :: file_name = 'caminput.nc', file_out = 'temp_ud', &
+                         file_time = 'temp_ic'
+
+! Temporary allocatable storage to read in a native format for cam state
+type(assim_model_type) :: x
+type(model_type)       :: var
+type(time_type)        :: model_time, adv_to_time
+real(r8), allocatable  :: x_state(:)
+integer                :: file_unit, x_size
+logical                :: do_output = .false.
+
+call initialize_utilities('Trans_pv_sv')
+
+if(file_exist('element1')) do_output = .true.
+
+! Static init assim model calls static_init_model
+! which now (merge/MPI) calls read_cam_init)
+call static_init_assim_model()
+
+! Initialize the assim_model instance
+call init_assim_model(x)
+
+! Allocate the local state vector
+x_size = get_model_size()
+allocate(x_state(x_size))
+
+! Allocate the instance of the cam model type for storage
+! Nancy; why did we comment this out?  
+!        Do it in read_cam_init?
+!        What about end_model_instance?
+! I'll just point to the space I need, not;    
+call init_model_instance(var)
+
+! Read the file cam state fragments into var, but not time
+call read_cam_init(file_name, var)
+
+! transform fields into state vector for DART
+call prog_var_to_vector(var, x_state)
+
+call end_model_instance(var)
+
+! Put this in the structure
+call set_model_state_vector(x, x_state)
+
+! Integration of model was controlled by the restart file,
+! so we use the target time of the restart file (from assim_model_state)
+! as the current model state time.
+file_unit = open_restart_read(file_time)
+! We're done with x_state, so it can be uselessly filled in aread_state_restart,
+! while getting model_time.
+call aread_state_restart(model_time, x_state, file_unit, adv_to_time)
+call set_model_time (x, adv_to_time)
+call close_restart(file_unit)
+
+! Get channel for output,
+! write out state vector in "proprietary" format
+file_unit = open_restart_write(file_out)
+call write_state_restart(x, file_unit)
+call close_restart(file_unit)
+
+call finalize_utilities()
+
+end program trans_pv_sv

Copied: DART/trunk/models/cam/deprecated/trans_pv_sv_pert0.f90 (from rev 4923, DART/trunk/models/cam/trans_pv_sv_pert0.f90)
===================================================================
--- DART/trunk/models/cam/deprecated/trans_pv_sv_pert0.f90	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/trans_pv_sv_pert0.f90	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,159 @@
+! DART software - Copyright 2004 - 2011 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
+
+program trans_pv_sv_pert0
+
+! <next few lines under version control, do not edit>
+! $URL$
+! $Id$
+! $Revision$
+! $Date$
+
+!----------------------------------------------------------------------
+! purpose: interface between CAM and DART, 
+!          Modify field (esp. parameter field) values to have spread
+!
+! method: Read CAM 'initial' file (netCDF format).
+!         Use ensemble member (in file 'element') to set a unique seed for init_ran1.
+!         Change values by call to model_mod:pert_model_state.
+!         Reform fields into a state vector.
+!         Write out state vector in "proprietary" format for DART
+!
+! author: Kevin Raeder 3/21/07
+!         based on trans_pv_sv_pert0 
+!
+!----------------------------------------------------------------------
+
+use        types_mod, only : r8
+use    utilities_mod, only : nmlfileunit, error_handler, E_ERR, E_MSG, find_namelist_in_file, &
+                             check_namelist_read, initialize_utilities, finalize_utilities
+use        model_mod, only : model_type, init_model_instance, read_cam_init, &
+                             prog_var_to_vector, pert_model_state
+
+use  assim_model_mod, only : assim_model_type, static_init_assim_model, &
+   init_assim_model, get_model_size , set_model_state_vector, write_state_restart, &
+   set_model_time, open_restart_read, open_restart_write, close_restart, &
+   aread_state_restart
+! Guam; move time stripping from advance_model to here
+use time_manager_mod, only : time_type, read_time, set_time
+
+implicit none
+
+! version controlled file description for error handling, do not edit
+character(len=128), parameter :: &
+   source   = "$URL$", &
+   revision = "$Revision$", &
+   revdate  = "$Date$"
+
+character (len = 128) :: file_name = 'caminput.nc', file_out = 'temp_ud'
+! Hawaii;                          file_time = 'temp_ic'
+! trans_pv_sv_pert0 should get its time from the namelist, 
+! not from temp_ic, which came from filter_ics, which will not exist for a new
+! set of fields comprising the state vector.
+
+! Temporary allocatable storage to read in a native format for cam state
+type(assim_model_type) :: x
+type(model_type)       :: var
+type(time_type)        :: model_time
+real(r8), allocatable  :: x_state(:), x_temp(:)
+integer                :: file_unit, x_size, iunit, io
+
+! define exactly the same stuff as in the perfect_model_obs namelist.
+logical :: start_from_restart = .false., output_restart = .false., &
+           interf_provided
+integer :: async = 0
+integer :: init_time_days = 0, init_time_seconds = 0, output_interval = 1, &
+           first_obs_days, first_obs_seconds, &
+           last_obs_days,  last_obs_seconds
+character(len = 129) :: restart_in_file_name  = 'perfect_ics',     &
+                        restart_out_file_name = 'perfect_restart', &
+                        obs_seq_in_file_name  = 'obs_seq.in',      &
+                        obs_seq_out_file_name = 'obs_seq.out',     &
+                        adv_ens_command       = './advance_model.csh'
+
+namelist /perfect_model_obs_nml/                                            &
+          start_from_restart, output_restart, async,                        &
+          init_time_days, first_obs_days, first_obs_seconds, last_obs_days, &
+          last_obs_seconds,init_time_seconds, output_interval,              &
+          restart_in_file_name, restart_out_file_name,                      &
+          obs_seq_in_file_name, obs_seq_out_file_name,                      &
+          adv_ens_command
+
+!-------------------------
+
+call initialize_utilities('trans_sv_pv_pert0')
+
+! Static init assim model calls static_init_model
+PRINT*,'static_init_assim_model in trans_pv_sv'
+call static_init_assim_model()
+
+! Initialize the assim_model instance
+call init_assim_model(x)
+
+! Allocate the local state vector
+x_size = get_model_size()
+allocate(x_state(x_size), x_temp(x_size))
+
+! Allocate the instance of the cam model type for storage
+call init_model_instance(var)
+
+! Read the file cam state fragments into var
+call read_cam_init(file_name, var)
+
+! transform fields into state vector for DART
+call prog_var_to_vector(var, x_state)
+
+! Replace mean/base value and/or add spread to (parameter) fields 
+! according to the namelist entries pert_names, pert_sd, and pert_base_vals.
+! Random value (< pert_sd) will be added to pert_base_vals.
+! The seed for the random # will be derived from the ensemble member #,
+! so it should be unique for each ensemble member (and variable).
+! (This isn't always true for some random number generators).
+
+call pert_model_state(x_state, x_temp, interf_provided)
+
+! Put this in the structure
+call set_model_state_vector(x, x_temp)
+
+! Read the namelist entry
+call find_namelist_in_file("input.nml", "perfect_model_obs_nml", iunit)
+read(iunit, nml = perfect_model_obs_nml, iostat = io)
+call check_namelist_read(iunit, io, "perfect_model_obs_nml")
+
+! Record the namelist values used for the run ...
+write(nmlfileunit, nml=perfect_model_obs_nml)
+write(     *     , nml=perfect_model_obs_nml)
+
+
+call filter_set_initial_time
+
+call set_model_time (x, model_time)
+call close_restart(file_unit)
+
+! Get channel for output 
+file_unit = open_restart_write(file_out)
+PRINT*,'In trans_pv_sv file_out unit = ',file_unit
+PRINT*,' '
+! write out state vector in "proprietary" format
+call write_state_restart(x, file_unit)
+call close_restart(file_unit)
+
+call finalize_utilities()
+
+!-------------------------------------------------------------------------
+contains
+!-------------------------------------------------------------------------
+
+subroutine filter_set_initial_time
+
+if(init_time_days >= 0) then
+   model_time = set_time(init_time_seconds, init_time_days)
+else
+   model_time = set_time(0, 0)
+endif
+
+end subroutine filter_set_initial_time
+
+end program trans_pv_sv_pert0
+

Copied: DART/trunk/models/cam/deprecated/trans_pv_sv_time0.f90 (from rev 4923, DART/trunk/models/cam/trans_pv_sv_time0.f90)
===================================================================
--- DART/trunk/models/cam/deprecated/trans_pv_sv_time0.f90	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/trans_pv_sv_time0.f90	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,148 @@
+! DART software - Copyright 2004 - 2011 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
+
+program trans_pv_sv_time0
+
+! <next few lines under version control, do not edit>
+! $URL$
+! $Id$
+! $Revision$
+! $Date$
+
+!----------------------------------------------------------------------
+! purpose: interface between CAM and DART
+!
+! method: Read CAM 'initial' file (netCDF format).
+!         Reform fields into a state vector.
+!         Write out state vector in "proprietary" format for DART
+!
+! author: Kevin Raeder 2/21/03
+!         based on prog_var_to_vector and vector_to_prog_var by Jeff Anderson
+!
+!----------------------------------------------------------------------
+
+use        types_mod, only : r8
+use    utilities_mod, only : nmlfileunit, error_handler, E_ERR, E_MSG, find_namelist_in_file, &
+                             check_namelist_read, initialize_utilities, finalize_utilities
+use        model_mod, only : model_type, init_model_instance, read_cam_init, &
+                             prog_var_to_vector
+
+use  assim_model_mod, only : assim_model_type, static_init_assim_model, &
+   init_assim_model, get_model_size , set_model_state_vector, write_state_restart, &
+   set_model_time, open_restart_read, open_restart_write, close_restart, &
+   aread_state_restart
+! Guam; move time stripping from advance_model to here
+use time_manager_mod, only : time_type, read_time, set_time
+
+implicit none
+
+! version controlled file description for error handling, do not edit
+character(len=128), parameter :: &
+   source   = "$URL$", &
+   revision = "$Revision$", &
+   revdate  = "$Date$"
+
+character (len = 128) :: file_name = 'caminput.nc', file_out = 'temp_ud'
+! Hawaii;                          file_time = 'temp_ic'
+! trans_pv_sv_time0 should get it's time from the namelist, 
+! not from temp_ic, which came from filter_ics, which will not exist for a new
+! set of fields comprising the state vector.
+
+! Temporary allocatable storage to read in a native format for cam state
+type(assim_model_type) :: x
+type(model_type)       :: var
+type(time_type)        :: model_time
+real(r8), allocatable  :: x_state(:), x_temp(:)
+integer                :: file_unit, x_size, iunit, io
+
+! define exactly the same stuff as in the perfect_model_obs namelist.
+logical :: start_from_restart = .false., output_restart = .false., &
+           interf_provided
+integer :: async = 0
+integer :: init_time_days = 0, init_time_seconds = 0, output_interval = 1, &
+           first_obs_days, first_obs_seconds, &
+           last_obs_days,  last_obs_seconds
+character(len = 129) :: restart_in_file_name  = 'perfect_ics',     &
+                        restart_out_file_name = 'perfect_restart', &
+                        obs_seq_in_file_name  = 'obs_seq.in',      &
+                        obs_seq_out_file_name = 'obs_seq.out',     &
+                        adv_ens_command       = './advance_model.csh'
+
+namelist /perfect_model_obs_nml/                                            &
+          start_from_restart, output_restart, async,                        &
+          init_time_days, first_obs_days, first_obs_seconds, last_obs_days, &
+          last_obs_seconds,init_time_seconds, output_interval,              &
+          restart_in_file_name, restart_out_file_name,                      &
+          obs_seq_in_file_name, obs_seq_out_file_name,                      &
+          adv_ens_command
+
+!-------------------------
+
+call initialize_utilities('Trans_sv_pv_time0')
+
+! Static init assim model calls static_init_model
+PRINT*,'static_init_assim_model in trans_pv_sv'
+call static_init_assim_model()
+
+! Initialize the assim_model instance
+call init_assim_model(x)
+
+! Allocate the local state vector
+x_size = get_model_size()
+allocate(x_state(x_size), x_temp(x_size))
+
+! Allocate the instance of the cam model type for storage
+call init_model_instance(var)
+
+! Read the file cam state fragments into var
+call read_cam_init(file_name, var)
+
+! transform fields into state vector for DART
+call prog_var_to_vector(var, x_state)
+
+! Put this in the structure
+call set_model_state_vector(x, x_state)
+
+! Read the namelist entry
+call find_namelist_in_file("input.nml", "perfect_model_obs_nml", iunit)
+read(iunit, nml = perfect_model_obs_nml, iostat = io)
+call check_namelist_read(iunit, io, "perfect_model_obs_nml")
+
+! Record the namelist values used for the run ...
+write(nmlfileunit, nml=perfect_model_obs_nml)
+write(     *     , nml=perfect_model_obs_nml)
+
+
+call filter_set_initial_time
+
+call set_model_time (x, model_time)
+call close_restart(file_unit)
+
+! Get channel for output 
+file_unit = open_restart_write(file_out)
+PRINT*,'In trans_pv_sv file_out unit = ',file_unit
+PRINT*,' '
+! write out state vector in "proprietary" format
+call write_state_restart(x, file_unit)
+call close_restart(file_unit)
+
+call finalize_utilities()
+
+!-------------------------------------------------------------------------
+contains
+!-------------------------------------------------------------------------
+
+subroutine filter_set_initial_time
+
+if(init_time_days >= 0) then
+   model_time = set_time(init_time_seconds, init_time_days)
+else
+   model_time = set_time(0, 0)
+endif
+
+end subroutine filter_set_initial_time
+
+!-------------------------------------------------------------------------
+end program trans_pv_sv_time0
+

Copied: DART/trunk/models/cam/deprecated/trans_pv_sv_time0.html (from rev 4923, DART/trunk/models/cam/trans_pv_sv_time0.html)
===================================================================
--- DART/trunk/models/cam/deprecated/trans_pv_sv_time0.html	                        (rev 0)
+++ DART/trunk/models/cam/deprecated/trans_pv_sv_time0.html	2011-05-31 17:25:55 UTC (rev 4924)
@@ -0,0 +1,172 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<HTML>
+<HEAD>
+<TITLE>program trans_pv_sv_time0</TITLE>
+<link rel="stylesheet" type="text/css" href="../../doc/html/doc.css" />
+</HEAD>
+<BODY>
+<A NAME="TOP"></A>
+
+<H1>PROGRAM <em class=program>trans_pv_sv_time0</em></H1>
+
+<table border=0 summary="" cellpadding=5>
+<tr>
+    <td valign=middle>
+    <img src="../../doc/html/Dartboard9.png" alt="DART project logo" height=70 />
+    </td>
+    <td>
+       <P>Jump to <a href="../../index.html">DART Documentation Main Index</a><br />
+          <small><small>version information for this file: <br />
+          <!-- version tag follows, do not edit -->
+          $Id$</small></small>
+       </P></td>
+</tr>
+</table>
+
+<A HREF="#Namelist">NAMELIST</A> /
+<A HREF="#FilesUsed">FILES</A> /
+<A HREF="#References">REFERENCES</A> /
+<A HREF="#Errors">ERRORS</A> /
+<A HREF="#FuturePlans">PLANS</A> /
+<A HREF="#Legalese">TERMS OF USE</A>
+
+<H2>Overview</H2>
+
+<H1>Program <em class=program>trans_pv_sv_time0</em></H1>
+
+<P>
+You can make <em class="file">filter_ic</em> files from <em class="file">caminput_#.nc</em> 
+files using the program <em class="file">.../DART/models/cam/trans_pv_sv_time0.f90</em>.
+This is compiled in <em class="file">.../DART/models/cam/work</em> by default if you use 
+<em class="file">quickbuild.csh</em> or it can be compiled standalone in the usual way.
+<em class="program">trans_pv_sv_time0</em> needs to be run for each caminput file. 
+So far there is not a robust script for running <em class="program">trans_pv_sv_time0</em>, 
+but you can write your own. 
+<br><br>
+You'll need to have several files in the directory where <em class="program">trans_pv_sv_time0</em> is run:
+</P>
+
+<UL>
+   <LI><em class="file">input.nml</em> containing <em class=code>perfect_model_nml</em>, 
+        which provides the Gregorian timestamp for <em class="file">filter_ic</em> 
+        in variables
+        <div class="routine"><PRE>
+        &amp;perfect_model_nml
+           init_time_days    = 146827,
+           init_time_seconds = 0,</PRE>
+        </div>
+        <br />
+        This date can be generated using 
+	<A HREF="trans_date_to_dart.html">.../DART/models/cam/trans_date_to_dart.f90</A>.  
+   </LI><br />
+   <LI> '<em class="file">topog_file.nc</em>' for your resolution. 
+        A copy of this should be in with the rest of the CAM
+	input files that are listed in the CAM "namelistin" in variable bnd_topo.  
+	It will be named similarly to 
+        <em class="file">.../something/else/more/topo-from-cami_0000-09-01_64x128_L26_c030918.nc</em>
+   </LI><br />
+   <LI>link or copy your CAM initial file <em class="file">caminput_#.nc</em> 
+       to '<em class="file">caminput.nc</em>', which is the name 
+       <em class="file">trans_pv_sv_time0</em> requires.
+   </LI>
+</UL>
+
+<P>
+Each run of trans_pv_sv_time0 will create a 'temp_ud' file, 
+which should be renamed <em class="file">filter_ic.####</em>, 
+where <em class="code">####&nbsp;=&nbsp;1,...,num_ens</em> (padded with 0s)
+is taken from the caminput_#.nc used as input.
+<!-- You might want to put these new filter_ic files in a directory that has MPI
+in the name, so that you know whether they work with Jamaica (new state vector order)
+or Iceland (old) -->.
+</P>
+
+<!--==================================================================-->
+<!--=================== DESCRIPTION OF A NAMELIST  ===================-->
+<!--==================================================================-->
+
+<A NAME="Namelist"></A>
+<HR>
+<H2>NAMELIST</H2>
+<P>
+There is no namelist unique to this program. 
+</P>
+
+<!--==================================================================-->
+<!-- Describe the Files Used by this module.                          -->
+<!--==================================================================-->
+
+<A NAME="FilesUsed"></A>
+<HR>
+<H2>FILES</H2>
+<P>
+still working on this part
+</P>
+
+<!--==================================================================-->
+<!-- Cite references, if need be.                                     -->
+<!--==================================================================-->
+
+<A NAME="References"></A>
+<HR>
+<H2>REFERENCES</H2>
+<ul>
+<li> none </li>
+</ul>
+
+<!--==================================================================-->
+<!-- Describe all the error conditions and codes.                     -->
+<!--==================================================================-->
+
+<A NAME="Errors"></A>
+<HR>
+<H2>ERROR CODES and CONDITIONS</H2>
+<P>
+still working on this part
+</P>
+
+<H2>KNOWN BUGS</H2>
+<P>
+none at this time
+</P>
+
+<!--==================================================================-->
+<!-- Describe Future Plans.                                           -->
+<!--==================================================================-->
+
+<A NAME="FuturePlans"></A>
+<HR>
+<H2>FUTURE PLANS</H2>
+<P>
+none at this time
+</P>
+
+<!--==================================================================-->
+<!-- Legalese & Metadata                                              -->
+<!--==================================================================-->
+
+<A NAME="Legalese"></A>
+<HR>
+<H2>Terms of Use</H2>
+
+<P>
+DART software - Copyright 2004 - 2011 UCAR.<br>
+This open source software is provided by UCAR, "as is",<br>
+without charge, subject to all terms of use at<br>
+<a href="http://www.image.ucar.edu/DAReS/DART/DART_download">
+http://www.image.ucar.edu/DAReS/DART/DART_download</a>
+</P>
+
+<TABLE border=0 cellpadding=0 width=100% summary="">
+<TR><TD valign=top>Contact:       </TD><TD> Kevin Raeder </TD></TR>

@@ Diff output truncated at 40000 characters. @@


More information about the Dart-dev mailing list