The Data Assimilation Research Testbed (DART) is a public-domain, community facility for doing research on and applying ensemble data assimilation techniques over a variety of models and observation types. It includes many example models and support for common observation types and for different filter types. It also includes material for teaching and learning the basic principles of data assimilation.
DART strives to implement general solutions which work over a range of models and observation types, and to develop theory-based algorithms that solve the many real problems encountered when doing ensemble data assimilation. The algorithms in DART are tested on both simple one-dimensional models (e.g. the Lorenz series of models) as well as full-up 3D NWP (Numerical Weather Prediction) models and GCMs (Global Climate Models). The basic Kalman filter code can be written in a few lines. In practice, however, there are a variety of difficulties resulting from sampling error, model bias, observation error, lack of model divergence, variations in observation density in space and time, etc. There are tools built into the DART framework to address many of these problems.
To get started, look here:
The best way to get to know the DART software is to follow along while reading the tutorial documents in the DART_LAB and then the DART/tutorial directory.
The latest official release is named "Manhattan" but it does not include support for all the previous models. Also, after many years of maintaining full backwards compatibility with previous releases, the Manhattan release is NOT backwards compatible with previous versions. If you cannot use the Manhattan release, this version is named 'Classic' and will continue to be supported. Serious bugs will be fixed but no new features will be added.
Most of the Lanai release information still applies to Classic. See the extensive release notes Lanai_release which include installation help, a walk-through of building and running a model, and then examples of how to use the diagnostics to evaluate the success of the assimilation.
Every source file in the DART system has a corresponding .html file that contains specifics for public interfaces in each of the DART modules, for the executable programs which come with DART, and for how to interface new models into the DART system.
The remainder of this page contains links to all the documentation for this DART release.
Start here if you are looking for DART User-level HTML documentation. DART comes with an extensive set of documentation including release notes for each version, a walk-through on-line tutorial, and a full set of pdf and framemaker tutorial materials.
The Lanai release notes include installation hints, a walk-through of building and running a model, and an overview of the diagnostics. It also includes a list of new or changed models, observation support, diagnostics, and non-backwards compatible changes.
Three tutorials, in PDF format, are available. The first is more introductory and interactive with PDF documents and Hands-On Matlab exercises. The second is a longer, single PDF document which covers much of the background for how and why the algorithms in DART work. The full-fledged DART Tutorial is more of a workshop format, with multiple sections covering various parts of DART with suggested exercises at the end of most sections.
All sections below this one are detailed information on the programming interfaces of all the DART modules, the namelist details, the executable programs which are part of DART. For introductory materials, see the links above.
Here are the subversion updates which have been committed since the original release of the Classic code.
|Commit Date||SVN Revision||Description|
|1 Dec 2017||12164||Added a debug option to the filter namelist, 'write_obs_every_cycle', to output the full obs_seq.final during each cycle of filter. (Very slow - use only when debugging a filter crash.)|
|21 Nov 2017||12139||Added AVISO observation converter. Added a forward operator for 1D models that raises observation values to powers. Fixed some misleading error messages in the obs_sequence_tool. Improved error messages when the wrong string or observation type is read from an observation sequence file. Updates to the Cosmic Ionosphere observation converter for electron density observations. Updates to the ROMS model_mod to support a Mean Dynamic Topography field. Fix for CAM CESM 1.2.1 scripts when more than a single SourceMod file is present in a directory.|
|7 Aug 2017||11885||Updates to the CESM 1.2.1 scripts for CAM.|
|2 Jun 2017||11695||Updates to DART_LAB user interfaces and Matlab diagnostics.|
|22 Mar 2017||11388||Adding Jon Poterjoy's particle filter version of the assim_tools module.|
|15 Mar 2017||11352||Original Classic release.|
To update a checked-out version of DART to the most recent version of this release, cd into the top level directory and run:
To see the commit log messages and the filenames of changed files from subversion, cd into the top level DART directory and run:
svn log -v -r xxxx
where xxxx is the revision number.
To see the code differences in a particular file, cd into the directory with the file you want to compare and run:
svn diff -r xxxx filename
where xxxx is the revision number.
DART contains many library functions and separate executable programs. The main DART executable is the filter program. Other programs generate data or format the diagnostic information.
The executable programs that come with DART include:
The diagnostic programs that process observations after being assimilated by DART include:
The executable programs that convert observations into DART format include:
Executable programs specific to a single model. Many are converters from model file format to DART state vector, and back.
DART comes with several models which can be used to learn about data assimilation, to do actual experiments with real observations, or to use as a template for adding additional models to DART.
All models in the DART project have individual documentation pages, which can be found here (if an html document is not available, the link is to the .f90 source):
Generally read from the file input.nml. We adhere to the F90 standard of starting a namelist with an ampersand '&' and terminating with a slash '/'.
Namelists for Programs:
Namelists for Observation Conversion Programs:
Namelists for Modules:
Namelists for Models:
All modules in the DART project have individual documentation pages, which can be found here:
Additional documentation which didn't fit neatly into the other categories.
The kitchen sink - quick links to all existing html docs plus all model_mod source files in the DART distribution tree:
DART software - Copyright 2004 - 2013 UCAR.
This open source software is provided by UCAR, "as is",
|Contact:||DART core group|
|Revision:||$Revision: 12164 $|
|Source:||$URL: https://svn-dares-dart.cgd.ucar.edu/DART/releases/classic/index.html $|
|Change Date:||$Date: 2017-12-01 16:13:10 -0700 (Fri, 01 Dec 2017) $|
|Change history:||try "svn log" or "svn diff"|