[Dart-dev] [4855] DART/trunk/models/cam: Kevin prefers the entry point to be model_mod .html, so
nancy at ucar.edu
nancy at ucar.edu
Thu Apr 14 16:04:07 MDT 2011
Revision: 4855
Author: thoar
Date: 2011-04-14 16:04:06 -0600 (Thu, 14 Apr 2011)
Log Message:
-----------
Kevin prefers the entry point to be model_mod.html, so
we are renaming the index.html to be something more appropriate.
It is not really the MAIN page someone should be looking at.
Modified Paths:
--------------
DART/trunk/models/cam/model_mod.html
Added Paths:
-----------
DART/trunk/models/cam/doc/cam_guidelines.html
Removed Paths:
-------------
DART/trunk/models/cam/doc/index.html
-------------- next part --------------
Copied: DART/trunk/models/cam/doc/cam_guidelines.html (from rev 4851, DART/trunk/models/cam/doc/index.html)
===================================================================
--- DART/trunk/models/cam/doc/cam_guidelines.html (rev 0)
+++ DART/trunk/models/cam/doc/cam_guidelines.html 2011-04-14 22:04:06 UTC (rev 4855)
@@ -0,0 +1,550 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+ "http://www.w3.org/TR/html4/strict.dtd">
+<HTML>
+<HEAD>
+<TITLE>DART-CAM setup </TITLE>
+<link rel="stylesheet" type="text/css" href="../../../doc/html/doc.css">
+</HEAD>
+<BODY>
+<A NAME="TOP"></A>
+
+<!--
+! 9/8/05
+! cp new scripts from Doc_scripts to where they belong in DART
+! mv master.html from Doc_scripts to models/cam? (then change links in model_mod.html
+! and master.html.
+! install FAQ into the set-up web page? Use Justin's questions to start
+! more instructions about
+! choices of starting from single inputs/ensembles\
+! users making their own caminput and filter_ic ensemble (or starting from single
+! and having filter make an ensemble, so I'm not responsible for model/data consistency)
+! message 36 in folder justinWI
+! making synthetic obs_seq files vs using ones provided
+! dealing with model version numbers
+! namelist entries for DART; where are they described? all the ..._mod.html pages
+! commit models/cam/work/makall, or remove reference below
+! doc/CAM/Doc_scripts/master.html (and others there?)
+! develope a strategy for dispersing bug fixes and upgrades to users
+!
+!!See updates in /ftp/pub/raeder/DART/Hawaii_pre/README 1/6/2005
+!!
+!!Also, CAM3.0 compiled under pgf90 requires optimization -O1, since -O2
+!!and -fast yield code that doesn't verify against the lower optimization runs.
+!!Note this below.
+!!
+!! make sure scripts are in the right places, and committed.
+!!
+!! FLOW CHART SET-UP? There are lots of steps which won't be necessary for every experiment
+!!
+-->
+
+<center>
+<A HREF="#CALLINGTREE">CALLING TREE</A> /
+<A HREF="#SETUP">SET-UP</A> /
+<A HREF="#FILECONTENTS">FILE CONTENTS</A> /
+<A HREF="#OUTPUTDIRECTORY">OUTPUT DIRECTORY</A> /
+<A HREF="#HINTS">HINTS</A> /
+<A HREF="#SPACE">SPACE</A> /
+<A HREF="#Legalese">TERMS OF USE</A>
+</center>
+
+<H2>DART-CAM OVERVIEW</H2>
+<!-- version tag follows, do not edit --><P>$Id$</P>
+
+<P>
+The up-to-date overview will always be available at
+<a href="http://www.image.ucar.edu/DAReS/DART/cgd_cam.shtml">
+http://www.image.ucar.edu/DAReS/DART/cgd_cam.shtml</a>
+<br><br>
+For the
+<A HREF="../../../doc/html/Jamaica_release.html"> Jamaica release </A>
+the async=3 (.../input.nml:filter_nml) option
+is no longer offered, and has been replaced by async=4.
+This new option runs an MPI filter, which can use either single threaded or MPI CAM.
+The single threaded option will run CAM for 1 ensemble member on
+each processor (up to the lesser of the number of ensemble members
+or the number of processors).
+The MPI CAM option will run CAM for each ensemble member in succession,
+using all the available processors.
+It's not possible (yet) to run several MPI CAMs at the same time,
+each using a subset of the processors.
+<br><br>
+This new option allows users to control the assimilation through a single script,
+'job_mpi.csh',
+except for modifications for machines on which DART-CAM hasn't been tested yet.
+Job_mpi.csh has a section of user set parameters that define many aspects of
+the assimilation.
+It uses those parameters to create a series of batch scripts,
+one for each obs_seq.out file that will be assimilated.
+Their names have the form Exper_obsseq#.script,
+the parts of which are defined in job_mpi.csh.
+It submits all of those scripts to the batch scheduler,
+where they run in succession as resources become available.
+Each obs_seq batch script executes the programs layed out in the calling tree (below).
+<br><br>
+The async=2 option (non-MPI filter and non-MPI CAM) is still available.
+<br><br>
+These options have been tested for DART-CAM in batch submission environments
+PBS and LSF on Linux clusters and IBM AIX.
+<br><br>
+There are, no doubt, things missing from these lists, so don't struggle too long
+before contacting raeder'at'ucar.edu.
+<br><br>
+The sequence of operations for assimilating a single obs_seq.out file follows.
+The functionality of each operation has been restricted to one "domain".
+A script/program is specific to:
+a machine where the experiment is run;
+a model version used in the assimilation;
+the filter version;
+or the experiment being conducted using the choices for the previous 3.
+<br><br>
+<A HREF="../../../models/cam/model_mod.html">Go to cam/model_mod page</A>
+</P>
+
+<A NAME="CALLINGTREE"></A>
+<HR>
+<H2>CALLING TREE</H2>
+<P>
+The calling tree for the scripts and fortran executables when running under
+async=4 is:
+</P>
+
+<TABLE border=0 cellpadding=3 width=100%>
+<TR><TH align=left>SCRIPT </TH>
+ <TH align=left>DOMAIN </TH>
+ <TH align=left>LOCATION OR NOTES </TH></TR>
+
+<TR><!-- script --><TD valign=top>Exper_obsseq#.script</TD>
+ <!-- domain --><TD valign=top>experiment</TD>
+ <!--location--><TD>experiment central directory where I/O and execution are organized.</TD></TR>
+<TR><!-- script --><TD valign=top><pre> -> mpirun filter executable </pre></TD>
+ <!-- domain --><TD valign=top>filter version </TD>
+ <!--location--><TD>local disc on a compute node/processor, or a work directory
+ in the central directory.</TD></TR>
+<TR><!-- script --><TD valign=top><pre> -> advance_model.csh</pre></TD>
+ <!-- domain --><TD valign=top> model </TD>
+ <!--location--><TD> pre-existing work subdirectory of the central directory.</TD></TR>
+<TR><!-- script --><TD valign=top><pre> -> trans_time executable</pre></TD>
+ <!-- domain --><TD valign=top> model </TD>
+ <!--location--><TD>Translates DART time format into CAM time format</TD></TR>
+<TR><!-- script --><TD valign=top><pre> -> trans_sv_pv executable</pre></TD>
+ <!-- domain --><TD valign=top> model </TD>
+ <!--location--><TD>Inserts DART state vector into CAM initial file</TD></TR>
+<TR><!-- script --><TD valign=top><pre> -> run_pc.csh</pre></TD>
+ <!-- domain --><TD valign=top> model </TD>
+ <!--location--><TD> Modified form of run script from CAM, now in DART </TD></TR>
+<TR><!-- script --><TD valign=top><pre> -> bld-namelist </pre></TD>
+ <!-- domain --><TD valign=top> model </TD>
+ <!--location--><TD> uses namelistin and results of trans_time to make CAM namelist </TD></TR>
+<TR><!-- script --><TD valign=top><pre> -> advance of CAM</pre></TD>
+ <!-- domain --><TD valign=top> model </TD>
+ <!--location--><TD>Single threaded or MPI CAM </TD></TR>
+<TR><!-- script --><TD valign=top><pre> -> trans_pv_sv executable</pre></TD>
+ <!-- domain --><TD valign=top> </TD>
+ <!--location--><TD>Translates CAM fields in to DART state vector</TD></TR>
+<TR><!-- script --><TD valign=top><pre> -> qsub auto_re2ms.csh</pre></TD>
+ <!-- domain --><TD valign=top> machine </TD>
+ <!--location--><TD> Central/Experiment/obs_seq_output_directory(i.e. 01_01) </TD></TR>
+</TABLE>
+
+
+<!-- <A NAME="FLOW CHART"></A>
+<HR>
+<H2>FLOW CHART</H2>
+<P>
+The tasks of each script, and communication between them, are summarized in a
+<A HREF="flow_5.xfig.gif" > flow chart </A>.
+Note the key in the lower right corner. The specific mechanisms for transferring control and
+moving files will be found in the scripts.
+</P>
+-->
+
+<!--===============================================-->
+<A NAME="SETUP"></A>
+<!--===============================================-->
+
+<HR>
+<H2>EXPERIMENT SET-UP</H2>
+<P>
+Instructions for setting up a DART-CAM assimilation.
+</P>
+
+<OL TYPE="A">
+ <li>DART
+ <OL TYPE="1">
+ <LI>In .../DART/mkmf link mkmf.template to
+ the mkmf.template.xxxx which is appropriate for your computer
+ (or make one of your own). </LI>
+ <LI>Since you have this file you've already checked out DART. <BR>
+ Edit ...DART/models/cam/work/input.nml:preprocess_nml:input_files
+ to choose obs_def source code files to load via the preprocessor.
+ The default file (obs_def_reanlysis_bufr_mod.f90) will handle
+ observations from NCEP reanalysis BUFR files. (Warning; assimilating the
+ obs in the example GPS obs_seq.out file available from the
+ <A HREF="http://www.image.ucar.edu/pub/DART/Obs_sets">DART large file site</A>
+ requires loading more than just the obs_def_gsp.mod.f90.)</LI>
+ <LI>Script DART/models/cam/work/workshop_setup.csh is recommended for compiling
+ the package.
+ It is set up to compile and run the preprocessor,
+ compile filter and wakeup_filter as MPI processes (async=4),
+ and compile all other executables as single threaded.
+ If you want to use async=2, remove the -mpi flag from the calls
+ to mkmf_filter and mkmf_wakeup_filter. </LI>
+ </OL></li>
+
+ <li>CAM
+ <OL TYPE="1">
+ <LI>Put the DART modifications
+ (.../DART/models/cam/Cam[version#]_DART_mods/*),
+ and any other CAM modifications you have,
+ in the CAM directory of user-provided modifications.
+ CAM's "configure" will use these during compilation.
+ Configure and compile CAM at the resolution/dynamical core desired.
+ Do this in a directory where all your CAM versions will reside,
+ here called CamCentral.</LI>
+<!-- (/home/raeder/Cam3.0/Cam3_0_7_DART_mods) -->
+ <LI>Put the cam executable and config_cache.xml in a subdirectory of
+ the standard cam executable directory (CamCentral/CAM_version/models/atm/cam/bld),
+ which I'll call CAM_config_1-mpi (leave off the -mpi for single threaded CAM).
+ Job_mpi.csh has a variable "CAMsrc" that should point to that location.</LI>
+ <LI>Build a CAM namelist and call it 'namelistin' containing (among the other/default
+ variables defined by the CAM build-namelist):
+ <pre>
+ &camexp
+ ncdata = 'caminput.nc'
+ caseid = 'whatever_you_want'
+ nsrest = 0
+ calendar = 'GREGORIAN'
+ inithist = 'ENDOFRUN'
+ /
+ &clmexp
+ finidat = 'clminput.nc'
+ /
+ </pre>
+ and NOT containing ...
+ <pre>
+ > nhtfrq = 4368
+ > start_ymd = 20020901
+ > start_tod = 0
+ > stop_ymd = 20021201
+ > stop_tod = 0
+ </pre>
+ The CAM build-namelist script will use this to make a new namelist with the correct
+ forecast parameters, named 'namelist'.
+ Put this in CamCentral/CAM_version/models/atm/cam/bld/CAM_config_1-mpi.</LI>
+
+ <LI>Confirm that you have access to all the CAM input files listed in namelistin,
+ or suitable replacements.</LI>
+
+ <LI>Put an appropriate CAM initial file in CAM_config_1-mpi and call it caminput.nc.
+ Put a matching CLM initial file there and call it clminput.nc.
+ Only the grid information is used from these files, so their dates don't matter.
+ </LI>
+ </OL></li>
+
+ <li>Set up an experiment central directory ("Central" here) where there's
+ <A HREF="#SPACE">enough space</A> for output.</li>
+
+ <li>Copy the DART namelist file (<em class=file>DART/models/cam/work/input.nml</em>)
+ into one called "<em class=file>input_1.nml</em>" in Central</li>
+
+ <li>Copy <em class=file>DART/models/cam/shell_scripts/job_mpi.csh</em> to Central</li>
+
+ <li>EXPERIMENT
+ <OL TYPE="1">
+ <LI>Edit job_mpi.csh. It has more detailed instructions about how to:
+ <UL><LI>define experiment output directory names</LI>
+ <LI>tell it whether CAM is MPI</LI>
+ <LI>provide directory name of CAM executable and associated files</LI>
+ <LI>define which obs_seq.out files to use.
+ Some pre-made examples can be found
+ <A HREF="http://www.image.ucar.edu/pub/DART/Obs_sets"> here.</A></LI>
+ <LI>find and link to the obs_seq.out files</LI>
+ <LI>find and link to filter_ic[.#] files.
+ Such an ensemble can be created from CAM initial files using
+ <A HREF="./trans_pv_sv_time0_instr.html">
+ .../DART/models/cam/trans_pv_sv_time0.f90</A>. </LI>
+ <LI>define which CAM and CLM initial files to use.
+ Some initial and filter_ic files are available from
+ <A HREF="http://www.image.ucar.edu/pub/DART/CAM">DART large file site</A></LI>
+ <LI>define which DART version to use</LI>
+ <LI>define resources to be requested by each of the obs_seq_#.script scripts</LI>
+ </UL>
+ </LI>
+
+ <LI>Edit input_1.nml to configure the assimilation of the first obs_seq.out.
+ Be sure that
+ <UL>
+ <LI>filenames listed in it agree with what's required by job_mpi.csh
+ and what is or will be available in the Central directory. </LI>
+ <LI>start from restart is .true. if you have an initial ensemble,
+ .false. otherwise.</LI>
+ <LI>init_time_days is the first Gregorian day of your assimilation.
+ This can be obtained from the program
+ <A HREF="./trans_date_to_dart_instr.html">
+ ...DART/models/cam/trans_date_to_dart.f90 </A> </LI>
+ <LI>init_time_seconds is the first second of your assimilation (usually 0).</LI>
+ </UL>
+ </LI>
+
+ <LI>Copy input_1.nml to input_n.nml and edit input_n.nml.
+ Set start_from_restart to .true.
+ Change init_time_days = -1, init_time_seconds = -1.</LI>
+ <LI>If you need to make up synthetic observations get create_obs_sequence,
+ create_fixed_network_seq and perfect_model_obs.
+ Otherwise, use the obs_seq.out files provided
+ <A href="http://www.image.ucar.edu/pub/DART/Obs_sets">here</A></LI>
+ <LI> Run the experiment by executing job_mpi.csh,
+ either through the batch queue or interactively. </LI>
+ </OL></li>
+</OL>
+<!-- <LI>(MORE? my conventions to make them work with job.csh? A whole new topic? )</LI> -->
+
+<!--===============================================-->
+<A NAME="FILECONTENTS"></A>
+<HR>
+<H2>FILE CONTENTS</H2>
+<P>
+See the <A HREF="../../../doc/html/Jamaica_release.html"> Jamaica release notes </A>
+for diagrams and flowcharts showing DART under the various async options.
+
+The contents of some of the files which appear there are listed here.
+# refers to the list of ensemble members.
+</P>
+
+<TABLE border=0 cellpadding=3 width=100%>
+<TR><TH align=left>FILE </TH>
+ <TH align=left>CONTENTS or PURPOSE </TH></TR>
+<TR><!--file--><TD valign=top>assim_model_state_ic#</TD>
+ <!--purpose--><TD>the state vectors to be used as initial conditions
+ for the next model advance. Contains the state vector time, the target
+ time, and the state vector. </TD></TR>
+<TR><!--file--><TD valign=top>assim_model_state_ud#</TD>
+ <!--purpose--><TD>the updated state vectors returned by the model
+ advance. Contain the state vector time (was the target time) and the
+ state vector for one ensemble member. </TD></TR>
+<TR><!--file--><TD valign=top>filter_ic_old#s</TD>
+ <!--purpose--><TD> the initial conditions to be used by the filter for the
+ next assimilation of a single obs_seq.out file. There may be one of
+ these, or one for each ensemble member, named filter_ic_old.####,
+ where the #### means a 4 digit number such as 0001. </TD></TR>
+
+<TR><!--file--><TD valign=top>filter_ic_new#s</TD>
+ <!--purpose--><TD> same as filter_ic_new#s, except that it/they are produced
+ at the end of the assimilation, for use by the next assimilation. </TD></TR>
+
+<TR><!--file--><TD valign=top>input.nml</TD>
+ <!--purpose--><TD> the filter namelist file, containing the namelists for all the
+ necessary modules of the filter. </TD></TR>
+
+<TR><!--file--><TD valign=top>caminput.nc</TD>
+ <!--purpose--><TD> model initial file provides information about the model
+ to filter, such as state vector size, etc. </TD></TR>
+
+<TR><!--file--><TD valign=top>caminput_#.nc</TD>
+<!--purpose--><TD> CAM has more fields in its initial files than
+ we use in the DART state vector. It's useful to carry these fields along from
+ advance to advance so that they don't need to spin-up as much at the beginning
+ of each advance. trans_sv_pv replaces the state vector fields in these
+ "shells" with the contents of assim_model_state_ic and leaves the other
+ fields alone. </TD></TR>
+
+<TR><!--file--><TD valign=top>namelists</TD>
+ <!--purpose--><TD> the forecast model may need namelist(s) to define its advance. </TD></TR>
+
+<TR><!--file--><TD valign=top>obs_seq.final</TD>
+ <!--purpose--><TD> the innovations in observation space which result from the
+ assimilation of all the chosen obs in obs_seq.out. </TD></TR>
+
+<TR><!--file--><TD valign=top>obs_seq.out</TD>
+ <!--purpose--><TD> the set of observations to be assimilated. How the observations
+ are distributed in time defines when the model advances happen. </TD></TR>
+
+<TR><!--file--><TD valign=top>Posterior_Diag.nc</TD>
+ <!--purpose--><TD> the state vector in model space after each
+ assimilation defined by the obs times in obs_seq.out. </TD></TR>
+
+<TR><!--file--><TD valign=top>Prior_Diag.nc</TD>
+ <!--purpose--><TD> the state vector in model space before each assimilation
+ defined by the obs times in obs_seq.out. It results from the previous model advance.
+ </TD></TR>
+
+
+<TR><!--file--><TD valign=top>True_State.nc</TD>
+ <!--purpose--><TD> the state vector in model space resulting from an execution
+ of perfect_model_obs. These are the model forecast values from which identity obs
+ are derived. </TD></TR>
+
+</TABLE>
+
+<!--===============================================-->
+<A NAME="OUTPUTDIRECTORY"></A>
+<HR>
+<H2>OUTPUT DIRECTORY </H2>
+<P>
+Organization of output directories:
+</P>
+
+<TABLE border=0 cellpadding=3 width=100%>
+<TR><TH align=left>DIRECTORY </TH>
+ <TH align=left>CREATOR </TH>
+ <TH align=left>CONTENTS and PURPOSE </TH></TR>
+<TR><!--directory--><TD valign=top><pre>Central directory </pre> </TD>
+ <!--creator--><TD valign=top> User </TD>
+ <!--purpose--><TD>
+ Location of scripts and pass-through point for files during execution.
+ Typically named according defining characteristics of a *set* of
+ experiments; resolution, model, obs being assimilated, unique model state
+ variables, etc.</TD></TR>
+<TR><!--directory--><TD valign=top><pre> Experiment </pre> </TD>
+ <!--creator--><TD valign=top> job_mpi.csh </TD>
+ <!--purpose--><TD>
+ Location of subdirectories of output and some diagnostics files.
+ Typically where the obs-space diagnostics are calculated using obs_diag. </TD></TR>
+<TR><!--directory--><TD valign=top><pre> Obsseq_# </pre> </TD>
+ <!--creator--><TD valign=top> Exper_obsseq#.script </TD>
+ <!--purpose--><TD>
+ Each holds the obs-space and model-space output from assimilating one obs_seq.out file.
+ It should be named according to the need for
+ obs_diag to see a name with the 2 digit month, underscore, and the
+ number within the series of obs_seq.out files,
+ i.e. 01_02 for the second obs_seq.final of a January case. </TD></TR>
+<TR><!--directory--><TD valign=top><pre> DART </pre> </TD>
+ <!--creator--><TD valign=top> Exper_obsseq#.script </TD>
+ <!--purpose--><TD>
+ Holds the filter restart files (named filter_ic[.#]) created at the end of
+ the filter run for this obs_seq.out. They're used by the next obs_seq.out
+ file to restart.</TD></TR>
+<TR><!--directory--><TD valign=top><pre> CAM</pre> </TD>
+ <!--creator--><TD valign=top> Exper_obsseq#.script </TD>
+ <!--purpose--><TD>
+ Holds the CAM initial file shells which carry along model fields which are not
+ DART state vector fields (preventing the repeated re-spin-up of those variables)</TD></TR>
+<TR><!--directory--><TD valign=top><pre> CLM </pre> </TD>
+ <!--creator--><TD valign=top> Exper_obsseq#.script </TD>
+ <!--purpose--><TD>
+ Same as CAM, but for Community Land Model initial files.</TD></TR>
+</TABLE>
+
+<pre>
+A typical pathname for a restart file in my case would be:
+/scratch/cluster/raeder/T21x80/Taper1/01_03/DART/filter_ic#
+ | | | | restart file(s)
+ | | | DART restart file directory
+ | | Obs_seq (3rd obs_seq.out of a Jan case)
+ | Experiment (reduced influence of obs above 150 hPa)
+ Central directory (resolution x num_ens_members)
+</pre>
+<P>
+You may also want to make a subdirectory within Experiment
+for each set of obs_space postscript and .dat files created by obs_diag and matlab.
+</P>
+
+<!--===============================================-->
+<A NAME="HINTS"></A>
+<HR>
+<H2>HELPFUL HINTS</H2>
+<P>
+For async=2 use the ensemble size, available compute nodes, and processors/node to figure how many
+nodes to request. Make this request in job_mpi.csh. For example, on a machine with
+2 processors/node, and running an assimilation with a
+typical ensemble of 20 members, it's efficient to request 5 nodes.
+This will advance CAM in 2 batches of 10 (1 CAM/processor).
+
+<BR><BR>
+
+Each batch of restart data can be saved to a mass store using (a modified)
+auto_re2ms and retrieved using .../ms2restart. Execute the
+commands with no arguments to see instructions. They package files of each ensemble
+member together, and then bundle batches of ensemble members together for efficient
+storage in a directory named similarly to the one where they exist on the cluster.
+
+<BR><BR>
+
+<!-- If you're not running job_mpi.csh as a batch job,
+ run it as 'nohup ./job_mpi.csh >& /dev/null &', to protect the job from being cutoff
+ by the closure of the window in which it was executed.
+ <BR><BR>
+ -->
+
+Modify and use alias 'rmtemp' to remove the temporary files from
+the central directory where the experiment is run, after a run bombs and
+before running another experiment.
+</P>
+<pre>
+alias rmtemp 'rm *_ud* *_ic[0-9]* cam_*_temp* c[al]minput_[1-9]*.nc \
+ *control filter_ic_old* obs_seq.out times'
+</pre>
+<P>
+Needless to say, be careful that you don't name files you want to
+keep in such a way that they'll be deleted by this.
+</P>
+
+<!--===============================================-->
+<A NAME="SPACE"></A>
+<HR>
+<H2>SPACE REQUIREMENTS</H2>
+<P>
+Space requirements (per ensemble member) for several CAM resolutions.
+</P>
+
+<TABLE border=0 cellpadding=3 width=100%>
+<TR><TH align=left>Resolution </TH>
+ <TH align=left>filter_ic </TH>
+ <TH align=left>CAM initial </TH>
+ <TH align=left>CLM initial </TH>
+ <TH align=left>Diagnostic (assuming no ensemble members)</TH></TR>
+<TR><TD>T5</TD>
+ <TD>0.16 Mb</TD>
+ <TD>0.3 Mb</TD>
+ <TD>0.15 Mb</TD>
+ <TD>1.3 Mb + obs_seq.final</TD></TR>
+<TR><TD>T21</TD>
+ <TD>2.5 Mb</TD>
+ <TD>4.5 Mb</TD>
+ <TD>1.4 Mb</TD>
+ <TD>21 Mb + obs_seq.final</TD></TR>
+<TR><TD>T42</TD>
+ <TD>10 Mb</TD>
+ <TD>18 Mb</TD>
+ <TD>4.5 Mb</TD>
+ <TD>57 Mb + "</TD></TR>
+<TR><TD>T85</TD>
+ <TD>41 Mb</TD>
+ <TD>74 Mb</TD>
+ <TD>15 Mb</TD>
+ <TD>342 Mb + " </TD></TR>
+</TABLE>
+
+<P>
+obs_seq.final typically ranges from 50-150 Mb, independent of model resolution.
+</P>
+
+<!--==================================================================-->
+<!-- Legalese & Metadata -->
+<!--==================================================================-->
+
+<A NAME="Legalese"></A>
+<HR>
+<H2>Terms of Use</H2>
+
+<P>
+DART software - Copyright © 2004 - 2010 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 history: </TD><TD> try "svn log" or "svn diff" </TD></TR>
+</TABLE>
+
+<!--==================================================================-->
+
+</BODY>
+</HTML>
Deleted: DART/trunk/models/cam/doc/index.html
===================================================================
--- DART/trunk/models/cam/doc/index.html 2011-04-14 22:00:42 UTC (rev 4854)
+++ DART/trunk/models/cam/doc/index.html 2011-04-14 22:04:06 UTC (rev 4855)
@@ -1,550 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
- "http://www.w3.org/TR/html4/strict.dtd">
-<HTML>
-<HEAD>
-<TITLE>DART-CAM setup </TITLE>
-<link rel="stylesheet" type="text/css" href="../../../doc/html/doc.css">
-</HEAD>
-<BODY>
-<A NAME="TOP"></A>
-
-<!--
-! 9/8/05
-! cp new scripts from Doc_scripts to where they belong in DART
-! mv master.html from Doc_scripts to models/cam? (then change links in model_mod.html
-! and master.html.
-! install FAQ into the set-up web page? Use Justin's questions to start
-! more instructions about
-! choices of starting from single inputs/ensembles\
-! users making their own caminput and filter_ic ensemble (or starting from single
-! and having filter make an ensemble, so I'm not responsible for model/data consistency)
-! message 36 in folder justinWI
-! making synthetic obs_seq files vs using ones provided
-! dealing with model version numbers
-! namelist entries for DART; where are they described? all the ..._mod.html pages
-! commit models/cam/work/makall, or remove reference below
-! doc/CAM/Doc_scripts/master.html (and others there?)
-! develope a strategy for dispersing bug fixes and upgrades to users
-!
-!!See updates in /ftp/pub/raeder/DART/Hawaii_pre/README 1/6/2005
-!!
-!!Also, CAM3.0 compiled under pgf90 requires optimization -O1, since -O2
-!!and -fast yield code that doesn't verify against the lower optimization runs.
-!!Note this below.
-!!
-!! make sure scripts are in the right places, and committed.
-!!
-!! FLOW CHART SET-UP? There are lots of steps which won't be necessary for every experiment
-!!
--->
-
-<center>
-<A HREF="#CALLINGTREE">CALLING TREE</A> /
-<A HREF="#SETUP">SET-UP</A> /
-<A HREF="#FILECONTENTS">FILE CONTENTS</A> /
-<A HREF="#OUTPUTDIRECTORY">OUTPUT DIRECTORY</A> /
-<A HREF="#HINTS">HINTS</A> /
-<A HREF="#SPACE">SPACE</A> /
-<A HREF="#Legalese">TERMS OF USE</A>
-</center>
-
-<H2>DART-CAM OVERVIEW</H2>
-<!-- version tag follows, do not edit --><P>$Id$</P>
-
-<P>
-The up-to-date overview will always be available at
-<a href="http://www.image.ucar.edu/DAReS/DART/cgd_cam.shtml">
-http://www.image.ucar.edu/DAReS/DART/cgd_cam.shtml</a>
-<br><br>
-For the
-<A HREF="../../../doc/html/Jamaica_release.html"> Jamaica release </A>
-the async=3 (.../input.nml:filter_nml) option
-is no longer offered, and has been replaced by async=4.
-This new option runs an MPI filter, which can use either single threaded or MPI CAM.
-The single threaded option will run CAM for 1 ensemble member on
-each processor (up to the lesser of the number of ensemble members
-or the number of processors).
-The MPI CAM option will run CAM for each ensemble member in succession,
-using all the available processors.
-It's not possible (yet) to run several MPI CAMs at the same time,
-each using a subset of the processors.
-<br><br>
-This new option allows users to control the assimilation through a single script,
-'job_mpi.csh',
-except for modifications for machines on which DART-CAM hasn't been tested yet.
-Job_mpi.csh has a section of user set parameters that define many aspects of
-the assimilation.
-It uses those parameters to create a series of batch scripts,
-one for each obs_seq.out file that will be assimilated.
-Their names have the form Exper_obsseq#.script,
-the parts of which are defined in job_mpi.csh.
-It submits all of those scripts to the batch scheduler,
-where they run in succession as resources become available.
-Each obs_seq batch script executes the programs layed out in the calling tree (below).
-<br><br>
-The async=2 option (non-MPI filter and non-MPI CAM) is still available.
-<br><br>
-These options have been tested for DART-CAM in batch submission environments
-PBS and LSF on Linux clusters and IBM AIX.
-<br><br>
-There are, no doubt, things missing from these lists, so don't struggle too long
-before contacting raeder'at'ucar.edu.
-<br><br>
-The sequence of operations for assimilating a single obs_seq.out file follows.
-The functionality of each operation has been restricted to one "domain".
-A script/program is specific to:
-a machine where the experiment is run;
-a model version used in the assimilation;
-the filter version;
-or the experiment being conducted using the choices for the previous 3.
-<br><br>
-<A HREF="../../../models/cam/model_mod.html">Go to cam/model_mod page</A>
-</P>
-
-<A NAME="CALLINGTREE"></A>
-<HR>
-<H2>CALLING TREE</H2>
-<P>
-The calling tree for the scripts and fortran executables when running under
-async=4 is:
-</P>
-
-<TABLE border=0 cellpadding=3 width=100%>
-<TR><TH align=left>SCRIPT </TH>
- <TH align=left>DOMAIN </TH>
- <TH align=left>LOCATION OR NOTES </TH></TR>
-
-<TR><!-- script --><TD valign=top>Exper_obsseq#.script</TD>
- <!-- domain --><TD valign=top>experiment</TD>
- <!--location--><TD>experiment central directory where I/O and execution are organized.</TD></TR>
-<TR><!-- script --><TD valign=top><pre> -> mpirun filter executable </pre></TD>
- <!-- domain --><TD valign=top>filter version </TD>
- <!--location--><TD>local disc on a compute node/processor, or a work directory
- in the central directory.</TD></TR>
-<TR><!-- script --><TD valign=top><pre> -> advance_model.csh</pre></TD>
- <!-- domain --><TD valign=top> model </TD>
- <!--location--><TD> pre-existing work subdirectory of the central directory.</TD></TR>
-<TR><!-- script --><TD valign=top><pre> -> trans_time executable</pre></TD>
- <!-- domain --><TD valign=top> model </TD>
- <!--location--><TD>Translates DART time format into CAM time format</TD></TR>
-<TR><!-- script --><TD valign=top><pre> -> trans_sv_pv executable</pre></TD>
- <!-- domain --><TD valign=top> model </TD>
- <!--location--><TD>Inserts DART state vector into CAM initial file</TD></TR>
-<TR><!-- script --><TD valign=top><pre> -> run_pc.csh</pre></TD>
- <!-- domain --><TD valign=top> model </TD>
- <!--location--><TD> Modified form of run script from CAM, now in DART </TD></TR>
-<TR><!-- script --><TD valign=top><pre> -> bld-namelist </pre></TD>
- <!-- domain --><TD valign=top> model </TD>
- <!--location--><TD> uses namelistin and results of trans_time to make CAM namelist </TD></TR>
-<TR><!-- script --><TD valign=top><pre> -> advance of CAM</pre></TD>
- <!-- domain --><TD valign=top> model </TD>
- <!--location--><TD>Single threaded or MPI CAM </TD></TR>
-<TR><!-- script --><TD valign=top><pre> -> trans_pv_sv executable</pre></TD>
- <!-- domain --><TD valign=top> </TD>
- <!--location--><TD>Translates CAM fields in to DART state vector</TD></TR>
-<TR><!-- script --><TD valign=top><pre> -> qsub auto_re2ms.csh</pre></TD>
- <!-- domain --><TD valign=top> machine </TD>
- <!--location--><TD> Central/Experiment/obs_seq_output_directory(i.e. 01_01) </TD></TR>
-</TABLE>
-
-
-<!-- <A NAME="FLOW CHART"></A>
-<HR>
-<H2>FLOW CHART</H2>
-<P>
-The tasks of each script, and communication between them, are summarized in a
-<A HREF="flow_5.xfig.gif" > flow chart </A>.
-Note the key in the lower right corner. The specific mechanisms for transferring control and
-moving files will be found in the scripts.
-</P>
--->
-
-<!--===============================================-->
-<A NAME="SETUP"></A>
-<!--===============================================-->
-
-<HR>
-<H2>EXPERIMENT SET-UP</H2>
-<P>
-Instructions for setting up a DART-CAM assimilation.
-</P>
-
-<OL TYPE="A">
- <li>DART
- <OL TYPE="1">
- <LI>In .../DART/mkmf link mkmf.template to
- the mkmf.template.xxxx which is appropriate for your computer
- (or make one of your own). </LI>
- <LI>Since you have this file you've already checked out DART. <BR>
- Edit ...DART/models/cam/work/input.nml:preprocess_nml:input_files
- to choose obs_def source code files to load via the preprocessor.
- The default file (obs_def_reanlysis_bufr_mod.f90) will handle
- observations from NCEP reanalysis BUFR files. (Warning; assimilating the
- obs in the example GPS obs_seq.out file available from the
- <A HREF="http://www.image.ucar.edu/pub/DART/Obs_sets">DART large file site</A>
- requires loading more than just the obs_def_gsp.mod.f90.)</LI>
- <LI>Script DART/models/cam/work/workshop_setup.csh is recommended for compiling
- the package.
- It is set up to compile and run the preprocessor,
- compile filter and wakeup_filter as MPI processes (async=4),
- and compile all other executables as single threaded.
- If you want to use async=2, remove the -mpi flag from the calls
- to mkmf_filter and mkmf_wakeup_filter. </LI>
- </OL></li>
-
- <li>CAM
- <OL TYPE="1">
- <LI>Put the DART modifications
- (.../DART/models/cam/Cam[version#]_DART_mods/*),
- and any other CAM modifications you have,
- in the CAM directory of user-provided modifications.
- CAM's "configure" will use these during compilation.
- Configure and compile CAM at the resolution/dynamical core desired.
- Do this in a directory where all your CAM versions will reside,
- here called CamCentral.</LI>
-<!-- (/home/raeder/Cam3.0/Cam3_0_7_DART_mods) -->
- <LI>Put the cam executable and config_cache.xml in a subdirectory of
- the standard cam executable directory (CamCentral/CAM_version/models/atm/cam/bld),
- which I'll call CAM_config_1-mpi (leave off the -mpi for single threaded CAM).
- Job_mpi.csh has a variable "CAMsrc" that should point to that location.</LI>
- <LI>Build a CAM namelist and call it 'namelistin' containing (among the other/default
- variables defined by the CAM build-namelist):
- <pre>
- &camexp
- ncdata = 'caminput.nc'
- caseid = 'whatever_you_want'
- nsrest = 0
- calendar = 'GREGORIAN'
- inithist = 'ENDOFRUN'
- /
- &clmexp
- finidat = 'clminput.nc'
- /
- </pre>
- and NOT containing ...
- <pre>
- > nhtfrq = 4368
- > start_ymd = 20020901
- > start_tod = 0
- > stop_ymd = 20021201
- > stop_tod = 0
- </pre>
- The CAM build-namelist script will use this to make a new namelist with the correct
- forecast parameters, named 'namelist'.
- Put this in CamCentral/CAM_version/models/atm/cam/bld/CAM_config_1-mpi.</LI>
-
- <LI>Confirm that you have access to all the CAM input files listed in namelistin,
- or suitable replacements.</LI>
-
- <LI>Put an appropriate CAM initial file in CAM_config_1-mpi and call it caminput.nc.
- Put a matching CLM initial file there and call it clminput.nc.
- Only the grid information is used from these files, so their dates don't matter.
- </LI>
- </OL></li>
-
- <li>Set up an experiment central directory ("Central" here) where there's
- <A HREF="#SPACE">enough space</A> for output.</li>
-
- <li>Copy the DART namelist file (<em class=file>DART/models/cam/work/input.nml</em>)
- into one called "<em class=file>input_1.nml</em>" in Central</li>
-
- <li>Copy <em class=file>DART/models/cam/shell_scripts/job_mpi.csh</em> to Central</li>
-
- <li>EXPERIMENT
- <OL TYPE="1">
- <LI>Edit job_mpi.csh. It has more detailed instructions about how to:
- <UL><LI>define experiment output directory names</LI>
- <LI>tell it whether CAM is MPI</LI>
- <LI>provide directory name of CAM executable and associated files</LI>
- <LI>define which obs_seq.out files to use.
- Some pre-made examples can be found
- <A HREF="http://www.image.ucar.edu/pub/DART/Obs_sets"> here.</A></LI>
- <LI>find and link to the obs_seq.out files</LI>
- <LI>find and link to filter_ic[.#] files.
- Such an ensemble can be created from CAM initial files using
- <A HREF="./trans_pv_sv_time0_instr.html">
- .../DART/models/cam/trans_pv_sv_time0.f90</A>. </LI>
- <LI>define which CAM and CLM initial files to use.
- Some initial and filter_ic files are available from
- <A HREF="http://www.image.ucar.edu/pub/DART/CAM">DART large file site</A></LI>
- <LI>define which DART version to use</LI>
- <LI>define resources to be requested by each of the obs_seq_#.script scripts</LI>
- </UL>
- </LI>
-
- <LI>Edit input_1.nml to configure the assimilation of the first obs_seq.out.
- Be sure that
- <UL>
- <LI>filenames listed in it agree with what's required by job_mpi.csh
- and what is or will be available in the Central directory. </LI>
- <LI>start from restart is .true. if you have an initial ensemble,
- .false. otherwise.</LI>
- <LI>init_time_days is the first Gregorian day of your assimilation.
- This can be obtained from the program
- <A HREF="./trans_date_to_dart_instr.html">
- ...DART/models/cam/trans_date_to_dart.f90 </A> </LI>
- <LI>init_time_seconds is the first second of your assimilation (usually 0).</LI>
- </UL>
- </LI>
-
- <LI>Copy input_1.nml to input_n.nml and edit input_n.nml.
- Set start_from_restart to .true.
- Change init_time_days = -1, init_time_seconds = -1.</LI>
- <LI>If you need to make up synthetic observations get create_obs_sequence,
- create_fixed_network_seq and perfect_model_obs.
- Otherwise, use the obs_seq.out files provided
- <A href="http://www.image.ucar.edu/pub/DART/Obs_sets">here</A></LI>
- <LI> Run the experiment by executing job_mpi.csh,
- either through the batch queue or interactively. </LI>
- </OL></li>
-</OL>
-<!-- <LI>(MORE? my conventions to make them work with job.csh? A whole new topic? )</LI> -->
-
-<!--===============================================-->
-<A NAME="FILECONTENTS"></A>
-<HR>
-<H2>FILE CONTENTS</H2>
-<P>
-See the <A HREF="../../../doc/html/Jamaica_release.html"> Jamaica release notes </A>
-for diagrams and flowcharts showing DART under the various async options.
-
-The contents of some of the files which appear there are listed here.
-# refers to the list of ensemble members.
-</P>
-
-<TABLE border=0 cellpadding=3 width=100%>
-<TR><TH align=left>FILE </TH>
- <TH align=left>CONTENTS or PURPOSE </TH></TR>
-<TR><!--file--><TD valign=top>assim_model_state_ic#</TD>
- <!--purpose--><TD>the state vectors to be used as initial conditions
- for the next model advance. Contains the state vector time, the target
@@ Diff output truncated at 40000 characters. @@
More information about the Dart-dev
mailing list