Commit 45bbc738 authored by Peters, Wouter's avatar Peters, Wouter
Browse files

build is not needed, just source files

parent a6079c29
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 29c2fd345d748612ee705cfd9e89ed06
tags: fbb0d17656682115ca4d033fb2f83ba1
.. _contents:
Contents
========
.. toctree::
:maxdepth: 2
System Requirements <systemrequirements>
Installing CTDAS <installing>
CTDAS Overview <overview>
CTDAS Tutorial <tutorial>
CTDAS Documentation <documentation>
.. _documentation:
Documentation
======================
.. _gettingstarted:
Getting Started with CTDAS
==========================
.. automodule:: da.ct.obs
:members: CtObservations
.. CarbonTracker Data Assimilation Shell documentation master file, created by
sphinx-quickstart on Sun Sep 26 13:39:23 2010.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to the CTDAS documentation!
===================================
This is the starting page for the documentation of the CarbonTracker Data Assimilation Shell (CTDAS).
.. sidebar:: What is CTDAS?
CTDAS is short for "CarbonTracker Data Assimilation Shell".
This is the implementation of an extendible data assimilation framework for CarbonTracker,
developed by NOAA ESRL & Wageningen University, in close cooperation with many partners around the world.
The aim of the CTDAS system is to facilitate the use of CarbonTracker, and to
foster its development by its many international partners. At its most basic, the CTDAS is a simple
control system for CarbonTracker that deals with the running, optimization, analysis, and time stepping of the system.
For advanced users, the CTDAS provides an easy way to extend or modify the system by introducing new configurations
for the state vector, for the observations, or even for the transport model or optimization method.
The CarbonTracker development team welcomes suggestions and feedback on the CTDAS system, and its documentation.
Follow the link below to start navigating, or use the "next topic" button in the right-hand-side menu.
.. toctree::
:maxdepth: 1
List of contents <contents>
.. _overview:
.. index:: overview, philosophy, development centers
Overview
========
This page gives a brief overview of CTDAS, with the intention to provide background information for (potential) new users. Afer reading the information below we recommend contacting one of the CTDAS development centers (Wageningen University and NOAA ESRL), or proceed to the :doc:`tutorial`.
What is CTDAS?
--------------
How can you use CTDAS?
----------------------
CTDAS Design philosophy
-----------------------
Extending CTDAS
---------------
.. _systemrequirements:
System Requirements
======================
The CarbonTracker DAS is programmed in python and uses it built-in functionality for many of its tasks.
Users of CTDAS are required to have a python installation on their system, with a small set of
open source add-ons. The minimum requirements are listed below, categorized by functionality.
Getting the CTDAS code
----------------------
* A working ``subversion`` (SVN) installation is needed, to check your system type::
$ svn --version
if the system returns an error, or a version < 1.5.0, please obtain svn from <http://subversion.tigris.org/>
Running CTDAS
-------------
* A ``python2.4`` or later installation.
.. note:: ``python3`` is not supported, one needs a python2.x version. To check your python version type::
$ python --version
* The python module ``numpy``, not included with a standard installation. You can obtain numpy from <http://numpy.scipy.org>
* The python module ``Nio`` created by NCAR/UCAR. This package is freely available as a binary download from UCAR's Earth System Grid at <http://www.earthsystemgrid.org>
.. note:: Registration is required at NCAR/UCAR, their software is free for academic users.
Performing inversions
---------------------
* An important component of the CTDAS system is the observation operator, usually in the form of an atmospheric
transport model. This model is a stand-alone piece of code that can subsample your state vector, and return a
set of observations. **You therefore require an atmospheric transport model that can run indepently on your
platform.**
.. note:: If you do not currently have access to such a transport model, or have no resources to run such a model
for long periods of time and for many ensemble configurations, you have probably stumbled onto this page not
understanding exactly what CTDAS is. We refer you to the :ref:`overview` for a more elaborate description.
* An actual CarbonTracker inversion requires a large collection of input datasets, including
* Observations to be assimilated
* a-priori surface fluxes for your trace components
* a-priori uncertainty distributions for your unknowns
* ... and a few more items
.. _tutorial:
Tutorial
======================
/*
* basic.css
* ~~~~~~~~~
*
* Sphinx stylesheet -- basic theme.
*
* :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
/* -- main layout ----------------------------------------------------------- */
div.clearer {
clear: both;
}
/* -- relbar ---------------------------------------------------------------- */
div.related {
width: 100%;
font-size: 90%;
}
div.related h3 {
display: none;
}
div.related ul {
margin: 0;
padding: 0 0 0 10px;
list-style: none;
}
div.related li {
display: inline;
}
div.related li.right {
float: right;
margin-right: 5px;
}
/* -- sidebar --------------------------------------------------------------- */
div.sphinxsidebarwrapper {
padding: 10px 5px 0 10px;
}
div.sphinxsidebar {
float: left;
width: 230px;
margin-left: -100%;
font-size: 90%;
}
div.sphinxsidebar ul {
list-style: none;
}
div.sphinxsidebar ul ul,
div.sphinxsidebar ul.want-points {
margin-left: 20px;
list-style: square;
}
div.sphinxsidebar ul ul {
margin-top: 0;
margin-bottom: 0;
}
div.sphinxsidebar form {
margin-top: 10px;
}
div.sphinxsidebar input {
border: 1px solid #98dbcc;
font-family: sans-serif;
font-size: 1em;
}
img {
border: 0;
}
/* -- search page ----------------------------------------------------------- */
ul.search {
margin: 10px 0 0 20px;
padding: 0;
}
ul.search li {
padding: 5px 0 5px 20px;
background-image: url(file.png);
background-repeat: no-repeat;
background-position: 0 7px;
}
ul.search li a {
font-weight: bold;
}
ul.search li div.context {
color: #888;
margin: 2px 0 0 30px;
text-align: left;
}
ul.keywordmatches li.goodmatch a {
font-weight: bold;
}
/* -- index page ------------------------------------------------------------ */
table.contentstable {
width: 90%;
}
table.contentstable p.biglink {
line-height: 150%;
}
a.biglink {
font-size: 1.3em;
}
span.linkdescr {
font-style: italic;
padding-top: 5px;
font-size: 90%;
}
/* -- general index --------------------------------------------------------- */
table.indextable {
width: 100%;
}
table.indextable td {
text-align: left;
vertical-align: top;
}
table.indextable dl, table.indextable dd {
margin-top: 0;
margin-bottom: 0;
}
table.indextable tr.pcap {
height: 10px;
}
table.indextable tr.cap {
margin-top: 10px;
background-color: #f2f2f2;
}
img.toggler {
margin-right: 3px;
margin-top: 3px;
cursor: pointer;
}
div.modindex-jumpbox {
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
margin: 1em 0 1em 0;
padding: 0.4em;
}
div.genindex-jumpbox {
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
margin: 1em 0 1em 0;
padding: 0.4em;
}
/* -- general body styles --------------------------------------------------- */
a.headerlink {
visibility: hidden;
}
h1:hover > a.headerlink,
h2:hover > a.headerlink,
h3:hover > a.headerlink,
h4:hover > a.headerlink,
h5:hover > a.headerlink,
h6:hover > a.headerlink,
dt:hover > a.headerlink {
visibility: visible;
}
div.body p.caption {
text-align: inherit;
}
div.body td {
text-align: left;
}
.field-list ul {
padding-left: 1em;
}
.first {
margin-top: 0 !important;
}
p.rubric {
margin-top: 30px;
font-weight: bold;
}
.align-left {
text-align: left;
}
.align-center {
clear: both;
text-align: center;
}
.align-right {
text-align: right;
}
/* -- sidebars -------------------------------------------------------------- */
div.sidebar {
margin: 0 0 0.5em 1em;
border: 1px solid #ddb;
padding: 7px 7px 0 7px;
background-color: #ffe;
width: 40%;
float: right;
}
p.sidebar-title {
font-weight: bold;
}
/* -- topics ---------------------------------------------------------------- */
div.topic {
border: 1px solid #ccc;
padding: 7px 7px 0 7px;
margin: 10px 0 10px 0;
}
p.topic-title {
font-size: 1.1em;
font-weight: bold;
margin-top: 10px;
}
/* -- admonitions ----------------------------------------------------------- */
div.admonition {
margin-top: 10px;
margin-bottom: 10px;
padding: 7px;
}
div.admonition dt {
font-weight: bold;
}
div.admonition dl {
margin-bottom: 0;
}
p.admonition-title {
margin: 0px 10px 5px 0px;
font-weight: bold;
}
div.body p.centered {
text-align: center;
margin-top: 25px;
}
/* -- tables ---------------------------------------------------------------- */
table.docutils {
border: 0;
border-collapse: collapse;
}
table.docutils td, table.docutils th {
padding: 1px 8px 1px 5px;
border-top: 0;
border-left: 0;
border-right: 0;
border-bottom: 1px solid #aaa;
}
table.field-list td, table.field-list th {
border: 0 !important;
}
table.footnote td, table.footnote th {
border: 0 !important;
}
th {
text-align: left;
padding-right: 5px;
}
table.citation {
border-left: solid 1px gray;
margin-left: 1px;
}
table.citation td {
border-bottom: none;
}
/* -- other body styles ----------------------------------------------------- */
ol.arabic {
list-style: decimal;
}
ol.loweralpha {
list-style: lower-alpha;
}
ol.upperalpha {
list-style: upper-alpha;
}
ol.lowerroman {
list-style: lower-roman;
}
ol.upperroman {
list-style: upper-roman;
}
dl {
margin-bottom: 15px;
}
dd p {
margin-top: 0px;
}
dd ul, dd table {
margin-bottom: 10px;
}
dd {
margin-top: 3px;
margin-bottom: 10px;
margin-left: 30px;
}
dt:target, .highlighted {
background-color: #fbe54e;
}
dl.glossary dt {
font-weight: bold;
font-size: 1.1em;
}
.field-list ul {
margin: 0;
padding-left: 1em;
}
.field-list p {
margin: 0;
}
.refcount {
color: #060;
}
.optional {
font-size: 1.3em;
}
.versionmodified {
font-style: italic;
}
.system-message {
background-color: #fda;
padding: 5px;
border: 3px solid red;
}
.footnote:target {
background-color: #ffa
}
.line-block {
display: block;
margin-top: 1em;
margin-bottom: 1em;
}
.line-block .line-block {
margin-top: 0;
margin-bottom: 0;
margin-left: 1.5em;
}
.guilabel, .menuselection {
font-family: sans-serif;
}
.accelerator {
text-decoration: underline;
}
.classifier {
font-style: oblique;
}
/* -- code displays --------------------------------------------------------- */
pre {
overflow: auto;
}
td.linenos pre {
padding: 5px 0px;
border: 0;
background-color: transparent;
color: #aaa;
}
table.highlighttable {
margin-left: 0.5em;
}
table.highlighttable td {
padding: 0 0.5em 0 0.5em;
}
tt.descname {
background-color: transparent;
font-weight: bold;
font-size: 1.2em;
}
tt.descclassname {
background-color: transparent;
}
tt.xref, a tt {
background-color: transparent;
font-weight: bold;
}
h1 tt, h2 tt, h3