Extensive on-line documentation is available at the GitHub project web pages: https://dart.ucar.edu/ or in the GitHub repository. Quick-start instructions for the impatient can be found below, while more detailed setup instructions and other topics such as a brief introduction to data assimilation, the history of DART, etc. are covered in the DART Getting Started Guide.
![]() |
![]() |
A Matlab-based introduction is in the docs/DART_LAB
directory.
There are a set of PDF presentations along with hands-on Matlab exercises.
This starts with a very basic introduction to data assimilation and covers
several fundamental algorithms in the system.
A more exhaustive tutorial for data assimilation with DART is in PDF format at
docs/tutorial.
The DART Manhattan release documentation is on the web: http://www.image.ucar.edu/DAReS/DART/Manhattan/documentation/html/Manhattan_release.html and in the repository at: docs/html/Manhattan_release.html
There is a mailing list where we summarize updates to the DART repository and notify users about recent bug fixes. It is not generally used for discussion so it's a low-traffic list. To subscribe to the list, click on Dart-users. If you use WRF, there is also a Wrfdart-users.
The Manhattan release is new and currently supports only a subset of the models. We will port over any requested model so contact us if yours is not on the list. In the meantime, we suggest you check out our 'classic' release of DART which is the Lanai release plus additional development features. All new development will be based on the Manhattan release but the 'classic' release will remain for those models which already have the necessary features.
Contact us for more help or for more information on other models already using DART or for how to add your model or observation types.
Thank you - The DART Development Team. dart at ucar.edu
The top level DART source code tree contains the following directories and files:
Directory | Purpose |
---|---|
assimilation_code/ |
assimilation tools and programs |
build_templates/ |
Configuration files for installation |
developer_tests/ |
regression testing |
diagnostics/ |
routines to diagnose assimilation performance |
docs/ |
General documentation and DART_LAB tutorials |
models/ |
the interface routines for the models |
observations/ |
routines for converting observations and forward operators |
Files | Purpose |
CHANGELOG |
Brief summary of recent changes |
COPYRIGHT.md |
terms of use and copyright information |
README.md |
Basic Information about DART |
Use the GitHub issue tracker to submit a bug or request a feature.
Cite DART using the following text:
The Data Assimilation Research Testbed (Version X.Y.Z) [Software]. (2019). Boulder, Colorado: UCAR/NCAR/CISL/DAReS. http://doi.org/10.5065/D6WQ0202
Update the DART version and year as appropriate.
- fork the NCAR/DART repo
- clone your (new) fork to your machine - this will set up a remote named 'origin'
- create a remote to point back to the NCAR/DART repo ... convention dictates that this remote should be called 'upstream'
- check out the appropriate branch
- Download one of the tar files (listed below) of 'large' files so you can test your DART installation.
- If you want to issue a PR, create a feature branch and push that to your fork and issue the PR.
There are several large files that are needed to run some of the tests and examples but are not included in order to keep the repository as small as possible. If you are interested in running bgrid_solo, cam-fv, or testing the NCEP/prep_bufr observation converter, you will need these files. These files are available at:
Release | Size | Filename |
---|---|---|
"Manhattan" | 189M | Manhattan_large_files.tar.gz |
"wrf-chem.r13172" | 141M | wrf-chem.r13172_large_files.tar.gz |
"Lanai" | 158M | Lanai_large_files.tar.gz |
"Kodiak" | 158M | Kodiak_large_files.tar.gz |
"Jamaica" | 32M | Jamaica_large_files.tar.gz |
"Hawaii" | 32M | Hawaii_large_files.tar.gz |
Download the appropriate tar file and untar it into your DART repository. Ignore any warnings about
tar: Ignoring unknown extended header keyword
.
Go into the build_templates
directory and copy over the closest
mkmf.template
.compiler.system file into mkmf.template
.
Edit it to set the NETCDF directory location if not in /usr/local
or comment it out and set $NETCDF in your environment. This NetCDF
library must have been compiled with the same compiler
that you use to compile DART and must include the F90 interfaces.
Go into models/lorenz_63/work
and run quickbuild.csh.
cd models/lorenz_63/work
./quickbuild.csh
If it compiles, ๐! Run this series of commands to do a very basic test:
./perfect_model_obs
./filter
If that runs, ๐ again! Finally, if you have Matlab installed on
your system add '$DART/diagnostics/matlab' to your matlab search path
and run the 'plot_total_err' diagnostic script while in the
models/lorenz_63/work
directory. If the output plots and looks
reasonable (error level stays around 2 and doesn't grow unbounded)
you're great! Congrats.
If you are planning to run one of the larger models and want to
use the Lorenz 63 model as a test, run ./quickbuild.csh -mpi
.
It will build filter and any other MPI-capable executables with MPI.
The 'mpif90' command you use must have been built with the same
version of the compiler as you are using.
If any of these steps fail or you don't know how to do them, go to the DART project web page listed above for very detailed instructions that should get you over any bumps in the process.