Added: websites/staging/climate/trunk/content/api/1.0.0/ocw/utils.html
==============================================================================
--- websites/staging/climate/trunk/content/api/1.0.0/ocw/utils.html (added)
+++ websites/staging/climate/trunk/content/api/1.0.0/ocw/utils.html Wed Jul 27 
17:50:56 2016
@@ -0,0 +1,392 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+
+
+<html xmlns="http://www.w3.org/1999/xhtml";>
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Utils Module &mdash; Apache Open Climate Workbench 1.0.0 
documentation</title>
+    
+    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../',
+        VERSION:     '1.0.0',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../_static/jquery.js"></script>
+    <script type="text/javascript" src="../_static/underscore.js"></script>
+    <script type="text/javascript" src="../_static/doctools.js"></script>
+    <link rel="top" title="Apache Open Climate Workbench 1.0.0 documentation" 
href="../index.html" />
+    <link rel="next" title="Data Sources" 
href="../data_source/data_sources.html" />
+    <link rel="prev" title="Plotter Module" href="plotter.html" /> 
+  </head>
+  <body>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="../genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="../http-routingtable.html" title="HTTP Routing Table"
+             >routing table</a> |</li>
+        <li class="right" >
+          <a href="../py-modindex.html" title="Python Module Index"
+             >modules</a> |</li>
+        <li class="right" >
+          <a href="../data_source/data_sources.html" title="Data Sources"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="plotter.html" title="Plotter Module"
+             accesskey="P">previous</a> |</li>
+        <li><a href="../index.html">Apache Open Climate Workbench 1.0.0 
documentation</a> &raquo;</li> 
+      </ul>
+    </div>  
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="module-utils">
+<span id="utils-module"></span><h1>Utils Module<a class="headerlink" 
href="#module-utils" title="Permalink to this headline">¶</a></h1>
+<dl class="function">
+<dt id="utils.calc_area_weighted_spatial_average">
+<tt class="descclassname">utils.</tt><tt 
class="descname">calc_area_weighted_spatial_average</tt><big>(</big><em>dataset</em>,
 <em>area_weight=False</em><big>)</big><a class="headerlink" 
href="#utils.calc_area_weighted_spatial_average" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Calculate area weighted average of the values in OCW dataset</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><strong>dataset</strong> (<a class="reference internal" 
href="dataset.html#dataset.Dataset" title="dataset.Dataset"><tt class="xref py 
py-class docutils literal"><span class="pre">dataset.Dataset</span></tt></a>) 
&#8211; Dataset object</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body">time series for the dataset of shape (nT)</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="utils.calc_climatology_monthly">
+<tt class="descclassname">utils.</tt><tt 
class="descname">calc_climatology_monthly</tt><big>(</big><em>dataset</em><big>)</big><a
 class="headerlink" href="#utils.calc_climatology_monthly" title="Permalink to 
this definition">¶</a></dt>
+<dd><p>Calculate monthly mean values for a dataset.
+Follow COARDS climo stats calculation, the year can be given as 0 
+but the min year allowed in Python is 1
+<a class="reference external" 
href="http://www.cgd.ucar.edu/cms/eaton/netcdf/CF-20010629.htm#climatology";>http://www.cgd.ucar.edu/cms/eaton/netcdf/CF-20010629.htm#climatology</a></p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><strong>dataset</strong> (<a class="reference internal" 
href="dataset.html#dataset.Dataset" title="dataset.Dataset"><tt class="xref py 
py-class docutils literal"><span class="pre">dataset.Dataset</span></tt></a>) 
&#8211; Monthly binned Dataset object with the number of months
+divisible by 12</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body">Mean values for each month of the year of shape (12, 
num_lats, num_lons)
+and times array of datetime objects of length 12</td>
+</tr>
+<tr class="field-odd field"><th class="field-name" colspan="2">Raises 
ValueError:</th></tr>
+<tr class="field-odd field"><td>&nbsp;</td><td class="field-body">If the 
number of monthly bins is not divisible by 12</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="utils.calc_climatology_year">
+<tt class="descclassname">utils.</tt><tt 
class="descname">calc_climatology_year</tt><big>(</big><em>dataset</em><big>)</big><a
 class="headerlink" href="#utils.calc_climatology_year" title="Permalink to 
this definition">¶</a></dt>
+<dd><p>Calculate climatology of dataset&#8217;s values for each year</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><strong>dataset</strong> (<a class="reference internal" 
href="dataset.html#dataset.Dataset" title="dataset.Dataset"><tt class="xref py 
py-class docutils literal"><span class="pre">dataset.Dataset</span></tt></a>) 
&#8211; Monthly binned Dataset object with an evenly divisible
+number of months.</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body">Mean values for each year (annual_mean) and mean values for 
all
+years (total_mean)</td>
+</tr>
+<tr class="field-odd field"><th class="field-name" colspan="2">Raises 
ValueError:</th></tr>
+<tr class="field-odd field"><td>&nbsp;</td><td class="field-body">If the 
number of monthly bins is not evenly divisible
+by 12.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="utils.calc_subregion_area_mean_and_std">
+<tt class="descclassname">utils.</tt><tt 
class="descname">calc_subregion_area_mean_and_std</tt><big>(</big><em>dataset_array</em>,
 <em>subregions</em><big>)</big><a class="headerlink" 
href="#utils.calc_subregion_area_mean_and_std" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Calculate area mean and standard deviation values for a given 
subregions using datasets on common grid points
+:param dataset_array: An array of OCW Dataset Objects
+:type list:  
+:param subregions: list of subregions
+:type subregions: <tt class="xref py py-class docutils literal"><span 
class="pre">numpy.ma.array</span></tt>
+:returns: area averaged time series for the dataset of shape (ntime, 
nsubregion)</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="utils.calc_temporal_mean">
+<tt class="descclassname">utils.</tt><tt 
class="descname">calc_temporal_mean</tt><big>(</big><em>dataset</em><big>)</big><a
 class="headerlink" href="#utils.calc_temporal_mean" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Calculate temporal mean of dataset&#8217;s values</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><strong>dataset</strong> (<a class="reference internal" 
href="dataset.html#dataset.Dataset" title="dataset.Dataset"><tt class="xref py 
py-class docutils literal"><span class="pre">dataset.Dataset</span></tt></a>) 
&#8211; OCW Dataset whose first dimension is time</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body">Mean values averaged for the first dimension (time)</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="utils.calc_time_series">
+<tt class="descclassname">utils.</tt><tt 
class="descname">calc_time_series</tt><big>(</big><em>dataset</em><big>)</big><a
 class="headerlink" href="#utils.calc_time_series" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Calculate time series mean values for a dataset</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><strong>dataset</strong> (<a class="reference internal" 
href="dataset.html#dataset.Dataset" title="dataset.Dataset"><tt class="xref py 
py-class docutils literal"><span class="pre">dataset.Dataset</span></tt></a>) 
&#8211; Dataset object</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body">time series for the dataset of shape (nT)</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="utils.decode_time_values">
+<tt class="descclassname">utils.</tt><tt 
class="descname">decode_time_values</tt><big>(</big><em>dataset</em>, 
<em>time_var_name</em><big>)</big><a class="headerlink" 
href="#utils.decode_time_values" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Decode NetCDF time values into Python datetime objects.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><ul class="first simple">
+<li><strong>dataset</strong> (<em>netCDF4.Dataset</em>) &#8211; The dataset 
from which time values should be extracted.</li>
+<li><strong>time_var_name</strong> (<a class="reference external" 
href="http://docs.python.org/2/library/string.html#module-string"; title="(in 
Python v2.7)"><tt class="xref py py-mod docutils literal"><span 
class="pre">string</span></tt></a>) &#8211; The name of the time variable in 
dataset.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body"><p class="first">The list of converted datetime values.</p>
+</td>
+</tr>
+<tr class="field-odd field"><th class="field-name" colspan="2">Raises 
ValueError:</th></tr>
+<tr class="field-odd field"><td>&nbsp;</td><td class="field-body"><p 
class="first last">If the time units value couldn&#8217;t be parsed, if the
+base time value couldn&#8217;t be parsed, or if the time_var_name could not
+be found in the dataset.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="utils.get_temporal_overlap">
+<tt class="descclassname">utils.</tt><tt 
class="descname">get_temporal_overlap</tt><big>(</big><em>dataset_array</em><big>)</big><a
 class="headerlink" href="#utils.get_temporal_overlap" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Find the maximum temporal overlap across the observation and model 
datasets</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><strong>dataset_array</strong> &#8211; an array of OCW 
datasets</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="utils.normalize_lat_lon_values">
+<tt class="descclassname">utils.</tt><tt 
class="descname">normalize_lat_lon_values</tt><big>(</big><em>lats</em>, 
<em>lons</em>, <em>values</em><big>)</big><a class="headerlink" 
href="#utils.normalize_lat_lon_values" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Normalize lat/lon values</p>
+<p>Ensure that lat/lon values are within [-180, 180)/[-90, 90) as well
+as sorted. If the values are off the grid they are shifted into the
+expected range.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><ul class="first simple">
+<li><strong>lats</strong> (<a class="reference external" 
href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html#numpy.ndarray";
 title="(in NumPy v1.9)"><tt class="xref py py-class docutils literal"><span 
class="pre">numpy.ndarray</span></tt></a>) &#8211; A 1D numpy array of sorted 
lat values.</li>
+<li><strong>lons</strong> (<a class="reference external" 
href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html#numpy.ndarray";
 title="(in NumPy v1.9)"><tt class="xref py py-class docutils literal"><span 
class="pre">numpy.ndarray</span></tt></a>) &#8211; A 1D numpy array of sorted 
lon values.</li>
+<li><strong>values</strong> &#8211; A 3D array of data values.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body"><p class="first">A <a class="reference external" 
href="http://docs.python.org/2/library/functions.html#tuple"; title="(in Python 
v2.7)"><tt class="xref py py-func docutils literal"><span 
class="pre">tuple()</span></tt></a> of the form (adjust_lats, adjusted_lons, 
adjusted_values)</p>
+</td>
+</tr>
+<tr class="field-odd field"><th class="field-name" colspan="2">Raises 
ValueError:</th></tr>
+<tr class="field-odd field"><td>&nbsp;</td><td class="field-body"><p 
class="first last">If the lat/lon values are not sorted.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="utils.parse_base_time_string">
+<tt class="descclassname">utils.</tt><tt 
class="descname">parse_base_time_string</tt><big>(</big><em>time_format</em><big>)</big><a
 class="headerlink" href="#utils.parse_base_time_string" title="Permalink to 
this definition">¶</a></dt>
+<dd><p>Retrieve base time string from time data units information.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><strong>time_format</strong> (<a class="reference external" 
href="http://docs.python.org/2/library/string.html#module-string"; title="(in 
Python v2.7)"><tt class="xref py py-mod docutils literal"><span 
class="pre">string</span></tt></a>) &#8211; The time data units string from the 
dataset
+being processed. The string should be of the format
+&#8216;&lt;units&gt; since &lt;base time date&gt;&#8217;</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body">The base time string split out of the time units 
information.</td>
+</tr>
+<tr class="field-odd field"><th class="field-name" colspan="2">Raises 
ValueError:</th></tr>
+<tr class="field-odd field"><td>&nbsp;</td><td class="field-body">When the 
time_format parameter is malformed.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="utils.parse_time_base">
+<tt class="descclassname">utils.</tt><tt 
class="descname">parse_time_base</tt><big>(</big><em>time_format</em><big>)</big><a
 class="headerlink" href="#utils.parse_time_base" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Parse time base object from the time units string.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><strong>time_format</strong> (<a class="reference external" 
href="http://docs.python.org/2/library/string.html#module-string"; title="(in 
Python v2.7)"><tt class="xref py py-mod docutils literal"><span 
class="pre">string</span></tt></a>) &#8211; The time data units string from the 
dataset
+being processed. The string should be of the format
+&#8216;&lt;units&gt; since &lt;base time date&gt;&#8217;</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body">The base time as a datetime object.</td>
+</tr>
+<tr class="field-odd field"><th class="field-name" colspan="2">Raises 
ValueError:</th></tr>
+<tr class="field-odd field"><td>&nbsp;</td><td class="field-body">When the 
base time string couldn&#8217;t be parsed from the
+units time_format string or if the date string didn&#8217;t match any of the
+expected formats.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="utils.parse_time_units">
+<tt class="descclassname">utils.</tt><tt 
class="descname">parse_time_units</tt><big>(</big><em>time_format</em><big>)</big><a
 class="headerlink" href="#utils.parse_time_units" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Parse units value from time units string.</p>
+<dl class="docutils">
+<dt>The only units that are supported are: seconds, minutes, hours, days,</dt>
+<dd>months, or years.</dd>
+</dl>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><strong>time_format</strong> (<a class="reference external" 
href="http://docs.python.org/2/library/string.html#module-string"; title="(in 
Python v2.7)"><tt class="xref py py-mod docutils literal"><span 
class="pre">string</span></tt></a>) &#8211; The time data units string from the 
dataset
+being processed. The string should be of the format
+&#8216;&lt;units&gt; since &lt;base time date&gt;&#8217;</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body">The unit substring from the time units string</td>
+</tr>
+<tr class="field-odd field"><th class="field-name" colspan="2">Raises 
ValueError:</th></tr>
+<tr class="field-odd field"><td>&nbsp;</td><td class="field-body">If the units 
present in the time units string doesn&#8217;t
+match one of the supported unit value.</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="utils.reshape_monthly_to_annually">
+<tt class="descclassname">utils.</tt><tt 
class="descname">reshape_monthly_to_annually</tt><big>(</big><em>dataset</em><big>)</big><a
 class="headerlink" href="#utils.reshape_monthly_to_annually" title="Permalink 
to this definition">¶</a></dt>
+<dd><p>Reshape monthly binned dataset to annual bins.</p>
+<p>Reshape a monthly binned dataset&#8217;s 3D value array with shape
+(num_months, num_lats, num_lons) to a 4D array with shape
+(num_years, 12, num_lats, num_lons). This causes the data to be binned
+annually while retaining its original shape.</p>
+<p>It is assumed that the number of months in the dataset is evenly
+divisible by 12. If it is not you will receive error due to
+an invalid shape.</p>
+<p>Example change of a dataset&#8217;s shape:
+(24, 90, 180) -&gt; (2, 12, 90, 180)</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><strong>dataset</strong> (<a class="reference internal" 
href="dataset.html#dataset.Dataset" title="dataset.Dataset"><tt class="xref py 
py-class docutils literal"><span class="pre">dataset.Dataset</span></tt></a>) 
&#8211; Dataset object with full-year format</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body">Dataset values array with shape (num_year, 12, num_lat, 
num_lon)</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="plotter.html"
+                        title="previous chapter">Plotter Module</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="../data_source/data_sources.html"
+                        title="next chapter">Data Sources</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="../_sources/ocw/utils.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="../search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="../genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="../http-routingtable.html" title="HTTP Routing Table"
+             >routing table</a> |</li>
+        <li class="right" >
+          <a href="../py-modindex.html" title="Python Module Index"
+             >modules</a> |</li>
+        <li class="right" >
+          <a href="../data_source/data_sources.html" title="Data Sources"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="plotter.html" title="Plotter Module"
+             >previous</a> |</li>
+        <li><a href="../index.html">Apache Open Climate Workbench 1.0.0 
documentation</a> &raquo;</li> 
+      </ul>
+    </div>
+    <div class="footer">
+        &copy; Copyright 2013, Apache Software Foundation.
+      Created using <a href="http://sphinx-doc.org/";>Sphinx</a> 1.2.1.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: websites/staging/climate/trunk/content/api/1.0.0/ui-backend/backend.html
==============================================================================
--- websites/staging/climate/trunk/content/api/1.0.0/ui-backend/backend.html 
(added)
+++ websites/staging/climate/trunk/content/api/1.0.0/ui-backend/backend.html 
Wed Jul 27 17:50:56 2016
@@ -0,0 +1,637 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+
+
+<html xmlns="http://www.w3.org/1999/xhtml";>
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Evaluation UI Webservices &mdash; Apache Open Climate Workbench 
1.0.0 documentation</title>
+    
+    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../',
+        VERSION:     '1.0.0',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../_static/jquery.js"></script>
+    <script type="text/javascript" src="../_static/underscore.js"></script>
+    <script type="text/javascript" src="../_static/doctools.js"></script>
+    <link rel="top" title="Apache Open Climate Workbench 1.0.0 documentation" 
href="../index.html" />
+    <link rel="next" title="Configuration File Overview" 
href="../config/config_overview.html" />
+    <link rel="prev" title="Data Sources" 
href="../data_source/data_sources.html" /> 
+  </head>
+  <body>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="../genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="../http-routingtable.html" title="HTTP Routing Table"
+             >routing table</a> |</li>
+        <li class="right" >
+          <a href="../py-modindex.html" title="Python Module Index"
+             >modules</a> |</li>
+        <li class="right" >
+          <a href="../config/config_overview.html" title="Configuration File 
Overview"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="../data_source/data_sources.html" title="Data Sources"
+             accesskey="P">previous</a> |</li>
+        <li><a href="../index.html">Apache Open Climate Workbench 1.0.0 
documentation</a> &raquo;</li> 
+      </ul>
+    </div>  
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="evaluation-ui-webservices">
+<h1>Evaluation UI Webservices<a class="headerlink" 
href="#evaluation-ui-webservices" title="Permalink to this headline">¶</a></h1>
+<p>The OCW evaluation UI is a demonstration web application that is built upon 
the
+OCW toolkit. The web services for the application are written in Python on top
+of the Bottle Web Framework.</p>
+<div class="section" id="configuration-and-dependencies">
+<h2>Configuration and Dependencies<a class="headerlink" 
href="#configuration-and-dependencies" title="Permalink to this 
headline">¶</a></h2>
+<p>The Evaluation UI is built on top of the OCW toolkit and as such requires 
it to
+function properly. Please check the toolkit&#8217;s documentation for relevant
+installation instructions. You will also need to ensure that you have Bottle
+installed. You can install it with:</p>
+<div class="code highlight-python"><div class="highlight"><pre>pip install 
bottle
+</pre></div>
+</div>
+<p>The backend serves the static files for the evaluation frontend as well. If 
you
+plan to use the frontend you need to ensure that the <em>app</em> directory is 
present
+in the main web service directory. The easiest way to do this is to create a
+symbolic link where the <em>run_webservices</em> module is located. Assuming 
you have
+the entire <em>ocw-ui</em> directory, you can do this with the following 
command.</p>
+<div class="code highlight-python"><div class="highlight"><pre>cd 
ocw-ui/backend
+ln -s ../frontend/app app
+</pre></div>
+</div>
+<p>Finally, to start the backend just run the following command.</p>
+<div class="code highlight-python"><div class="highlight"><pre>python 
run_webservices.py
+</pre></div>
+</div>
+</div>
+<div class="section" id="web-service-explanation">
+<h2>Web Service Explanation<a class="headerlink" 
href="#web-service-explanation" title="Permalink to this headline">¶</a></h2>
+<p>The backend endpoints are broken up into a number of modules for ease of
+maintenance and understanding. The <em>run_webservices</em> module is the 
primary
+application module. It brings together all the various submodules into a
+useful system. It also defines a number of helpful endpoints for returning
+static files such as the index page, CSS files, JavaScript files, and more.</p>
+<div class="section" id="local-file-metadata-extractors">
+<h3>Local File Metadata Extractors<a class="headerlink" 
href="#local-file-metadata-extractors" title="Permalink to this 
headline">¶</a></h3>
+<p>The <em>local_file_metadata_extractors</em> module contains all the 
endpoints that are
+used to strip information out of various objects for display in the UI. At the
+moment, the main functionality is stripping out metadata from NetCDF files when
+a user wishes to <em>load</em> a local file into the evaluation.</p>
+<dl class="get">
+<dt id="get--list_latlon-(file_path-path)">
+<tt class="descname">GET </tt><tt 
class="descname">/list_latlon/</tt><big>(</big><em class="property">file_path: 
</em><em>path</em><big>)</big><a class="headerlink" 
href="#get--list_latlon-(file_path-path)" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Retrieve lat/lon information from given file.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><ul class="first simple">
+<li><strong>file_path</strong> (<em>string:</em>) &#8211; Path to the NetCDF 
file from which lat/lon information
+should be extracted</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body"><p class="first last">Dictionary containing lat/lon 
information if successful, otherwise
+failure information is returned.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<p><strong>Example successful JSON return</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span>
+    <span class="s1">&#39;success&#39;</span><span class="o">:</span> <span 
class="kc">true</span><span class="p">,</span>
+    <span class="s1">&#39;lat_name&#39;</span><span class="o">:</span> <span 
class="nx">The</span> <span class="nx">guessed</span> <span 
class="nx">latitude</span> <span class="nx">variable</span> <span 
class="nx">name</span><span class="p">,</span>
+    <span class="s1">&#39;lon_name&#39;</span><span class="o">:</span> <span 
class="nx">the</span> <span class="nx">guessed</span> <span 
class="nx">longitude</span> <span class="nx">variable</span> <span 
class="nx">name</span><span class="p">,</span>
+    <span class="s1">&#39;lat_min&#39;</span><span class="o">:</span> <span 
class="nx">The</span> <span class="nx">minimum</span> <span 
class="nx">latitude</span> <span class="nx">value</span><span class="p">,</span>
+    <span class="s1">&#39;lat_max&#39;</span><span class="o">:</span> <span 
class="nx">The</span> <span class="nx">maximum</span> <span 
class="nx">latitude</span> <span class="nx">value</span><span class="p">,</span>
+    <span class="s1">&#39;lon_min&#39;</span><span class="o">:</span> <span 
class="nx">The</span> <span class="nx">minimum</span> <span 
class="nx">longitude</span> <span class="nx">value</span><span 
class="p">,</span>
+    <span class="s1">&#39;lon_max&#39;</span><span class="o">:</span> <span 
class="nx">The</span> <span class="nx">maximum</span> <span 
class="nx">longitude</span> <span class="nx">value</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p><strong>Example failure JSON return</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span>
+    <span class="s1">&#39;success&#39;</span><span class="o">:</span> <span 
class="kc">false</span><span class="p">,</span>
+    <span class="s1">&#39;variables&#39;</span><span class="o">:</span> <span 
class="nx">List</span> <span class="nx">of</span> <span class="nx">all</span> 
<span class="nx">variables</span> <span class="nx">present</span> <span 
class="k">in</span> <span class="nx">the</span> <span class="nx">NetCDF</span> 
<span class="nx">file</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="get">
+<dt id="get--list_time-(file_path-path)">
+<tt class="descname">GET </tt><tt 
class="descname">/list_time/</tt><big>(</big><em class="property">file_path: 
</em><em>path</em><big>)</big><a class="headerlink" 
href="#get--list_time-(file_path-path)" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Retrieve time information from provided file.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><ul class="first simple">
+<li><strong>file_path</strong> (<em>String:</em>) &#8211; Path to the NetCDF 
file from which time information
+should be extracted</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body"><p class="first last">Dictionary containing time information 
if successful, otherwise
+failure information is returned.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<p><strong>Example successful JSON return</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span>
+    <span class="s2">&quot;success&quot;</span><span class="o">:</span> <span 
class="kc">true</span><span class="p">,</span>
+    <span class="s2">&quot;time_name&quot;</span><span class="o">:</span> 
<span class="nx">The</span> <span class="nx">guessed</span> <span 
class="nx">time</span> <span class="nx">variable</span> <span 
class="nx">name</span><span class="p">,</span>
+    <span class="s2">&quot;start_time&quot;</span><span class="o">:</span> 
<span class="s2">&quot;1988-06-10 00:00:00&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;end_time&quot;</span><span class="o">:</span> <span 
class="s2">&quot;2008-01-27 00:00:00&quot;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p><strong>Example failure JSON return</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span>
+    <span class="s2">&quot;success&quot;</span><span class="o">:</span> <span 
class="kc">false</span>
+    <span class="s2">&quot;variables&quot;</span><span class="o">:</span> 
<span class="nx">List</span> <span class="nx">of</span> <span 
class="nx">all</span> <span class="nx">variable</span> <span 
class="nx">names</span> <span class="k">in</span> <span class="nx">the</span> 
<span class="nx">file</span>
+<span class="p">}</span> 
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="get">
+<dt id="get--list_vars-(file_path-path)">
+<tt class="descname">GET </tt><tt 
class="descname">/list_vars/</tt><big>(</big><em class="property">file_path: 
</em><em>path</em><big>)</big><a class="headerlink" 
href="#get--list_vars-(file_path-path)" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Retrieve variable names from file.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><ul class="first simple">
+<li><strong>file_path</strong> (<em>String:</em>) &#8211; Path to the NetCDF 
file from which variable information
+should be extracted</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body"><p class="first last">Dictionary containing variable 
information if succesful, otherwise
+failure information is returned.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<p><strong>Example successful JSON return</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span>
+    <span class="s2">&quot;success&quot;</span><span class="o">:</span> <span 
class="kc">true</span><span class="p">,</span>
+    <span class="s2">&quot;variables&quot;</span><span class="o">:</span> 
<span class="nx">List</span> <span class="nx">of</span> <span 
class="nx">variable</span> <span class="nx">names</span> <span 
class="k">in</span> <span class="nx">the</span> <span class="nx">file</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p><strong>Example failure JSON return</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span>
+    <span class="s2">&quot;success&quot;</span><span class="o">:</span> <span 
class="kc">false</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</dd></dl>
+
+</div>
+<div class="section" id="directory-helpers">
+<h3>Directory Helpers<a class="headerlink" href="#directory-helpers" 
title="Permalink to this headline">¶</a></h3>
+<p>The <em>directory_helpers</em> module contains a number of endpoints for 
working
+directory manipulation. The frontend uses these endpoints to grab directory
+information (within a prefix path for security), return result directory
+information, and other things.</p>
+<dl class="get">
+<dt id="get--list-">
+<tt class="descname">GET </tt><tt class="descname">/list/</tt><a 
class="headerlink" href="#get--list-" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Return the listing of a supplied path.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><ul class="first simple">
+<li><strong>dir_path</strong> (<em>String</em>) &#8211; The directory path to 
list.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body"><p class="first last">Dictionary containing the directory 
listing if possible.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<p><strong>Example successful JSON return</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span>
+    <span class="s1">&#39;listing&#39;</span><span class="o">:</span> <span 
class="p">[</span>
+        <span class="s1">&#39;/bar/&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;/baz.txt&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;/test.txt&#39;</span>
+    <span class="p">]</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p><strong>Example failure JSON return</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span><span class="s1">&#39;listing&#39;</span><span 
class="o">:</span> <span class="p">[]}</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="get">
+<dt id="get--list-(dir_path-path)">
+<tt class="descname">GET </tt><tt class="descname">/list/</tt><big>(</big><em 
class="property">dir_path: </em><em>path</em><big>)</big><a class="headerlink" 
href="#get--list-(dir_path-path)" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Return the listing of a supplied path.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><ul class="first simple">
+<li><strong>dir_path</strong> (<em>String</em>) &#8211; The directory path to 
list.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body"><p class="first last">Dictionary containing the directory 
listing if possible.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<p><strong>Example successful JSON return</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span>
+    <span class="s1">&#39;listing&#39;</span><span class="o">:</span> <span 
class="p">[</span>
+        <span class="s1">&#39;/bar/&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;/baz.txt&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;/test.txt&#39;</span>
+    <span class="p">]</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p><strong>Example failure JSON return</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span><span class="s1">&#39;listing&#39;</span><span 
class="o">:</span> <span class="p">[]}</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="get">
+<dt id="get--results-">
+<tt class="descname">GET </tt><tt class="descname">/results/</tt><a 
class="headerlink" href="#get--results-" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Retrieve results directory information.</p>
+<p>The backend&#8217;s results directory is determined by WORK_DIR. All the 
+directories there are formatted and returned as results. If WORK_DIR does
+not exist, an empty listing will be returned (shown as a &#8216;failure 
below&#8217;).</p>
+<p><strong>Successful JSON Response</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span>
+    <span class="s1">&#39;listing&#39;</span><span class="o">:</span> <span 
class="p">[</span>
+        <span class="s1">&#39;/bar&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;/foo&#39;</span>
+    <span class="p">]</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p><strong>Failure JSON Response</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span>
+    <span class="s1">&#39;listing&#39;</span><span class="o">:</span> <span 
class="p">[]</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="get">
+<dt id="get--path_leader-">
+<tt class="descname">GET </tt><tt class="descname">/path_leader/</tt><a 
class="headerlink" href="#get--path_leader-" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Return the path leader used for clean path creation.</p>
+<p><strong>Example JSON Response</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span><span class="s1">&#39;leader&#39;</span><span 
class="o">:</span> <span class="s1">&#39;/usr/local/ocw&#39;</span><span 
class="p">}</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="get">
+<dt id="get--results-(dir_path-path)">
+<tt class="descname">GET </tt><tt 
class="descname">/results/</tt><big>(</big><em class="property">dir_path: 
</em><em>path</em><big>)</big><a class="headerlink" 
href="#get--results-(dir_path-path)" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Retrieve specific result files.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td 
class="field-body"><ul class="first simple">
+<li><strong>dir_path</strong> (<em>String</em>) &#8211; The relative results 
path to list.</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td 
class="field-body"><p class="first last">Dictionary of the requested 
result&#8217;s directory listing.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<p><strong>Successful JSON Response</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span>
+    <span class="s1">&#39;listing&#39;</span><span class="o">:</span> <span 
class="p">[</span>
+        <span class="s1">&#39;file1&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;file2&#39;</span>
+    <span class="p">]</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p><strong>Failure JSON Response</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span>
+    <span class="s1">&#39;listing&#39;</span><span class="o">:</span> <span 
class="p">[]</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</dd></dl>
+
+</div>
+<div class="section" id="rcmed-helpers">
+<h3>RCMED Helpers<a class="headerlink" href="#rcmed-helpers" title="Permalink 
to this headline">¶</a></h3>
+<p>The <em>rcmed_helpers</em> module contains endpoints for loading datasets 
from the
+Regional Climate Model Evaluation Database at NASA&#8217;s Jet Propulsion 
Laboratory.</p>
+<dl class="get">
+<dt id="get--parameters-">
+<tt class="descname">GET </tt><tt class="descname">/parameters/</tt><a 
class="headerlink" href="#get--parameters-" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Return dataset specific parameter information from JPL&#8217;s 
RCMED.</p>
+<p><strong>Example Call Format</strong></p>
+<div class="highlight-javascript"><div 
class="highlight"><pre>/parameters/?dataset=&lt;dataset&#39;s short name&gt;
+</pre></div>
+</div>
+<p><strong>Example Return JSON Format</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">[</span>
+    <span class="p">{</span>
+        <span class="s2">&quot;parameter_id&quot;</span><span 
class="o">:</span> <span class="s2">&quot;80&quot;</span><span 
class="p">,</span>
+        <span class="s2">&quot;shortname&quot;</span><span class="o">:</span> 
<span class="s2">&quot;The dataset&#39;s short name&quot;</span><span 
class="p">,</span>
+        <span class="s2">&quot;datasetshortname&quot;</span><span 
class="o">:</span> <span class="s2">&quot;The dataset&#39;s short name 
again&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;longname&quot;</span><span class="o">:</span> 
<span class="s2">&quot;The dataset&#39;s long name&quot;</span><span 
class="p">,</span>
+        <span class="s2">&quot;units&quot;</span><span class="o">:</span> 
<span class="s2">&quot;Units for the dataset&#39;s measurements&quot;</span>
+    <span class="p">}</span>
+<span class="p">]</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="get">
+<dt id="get--parameters-bounds">
+<tt class="descname">GET </tt><tt class="descname">/parameters/bounds</tt><a 
class="headerlink" href="#get--parameters-bounds" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Return temporal and spatial bounds metadata for all of JPL&#8217;s 
RCMED parameters.</p>
+<p><strong>Example Call Format</strong></p>
+<div class="highlight-javascript"><div 
class="highlight"><pre>/parameters/bounds/
+</pre></div>
+</div>
+<p><strong>Example Return JSON Format</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span>
+  <span class="s2">&quot;38&quot;</span><span class="o">:</span> <span 
class="p">{</span>
+    <span class="s2">&quot;start_date&quot;</span><span class="o">:</span> 
<span class="s2">&quot;1901-01-15&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;end_date&quot;</span><span class="o">:</span> <span 
class="s2">&quot;2009-12-15&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;lat_max&quot;</span><span class="o">:</span> <span 
class="mf">89.75</span><span class="p">,</span>
+    <span class="s2">&quot;lat_min&quot;</span><span class="o">:</span> <span 
class="o">-</span><span class="mf">89.75</span><span class="p">,</span>
+    <span class="s2">&quot;lon_max&quot;</span><span class="o">:</span> <span 
class="mf">179.75</span><span class="p">,</span>
+    <span class="s2">&quot;lon_min&quot;</span><span class="o">:</span> <span 
class="o">-</span><span class="mf">179.75</span>
+  <span class="p">},</span>
+  <span class="s2">&quot;39&quot;</span><span class="o">:</span> <span 
class="p">{</span>
+    <span class="s2">&quot;start_date&quot;</span><span class="o">:</span> 
<span class="s2">&quot;1901-01-15&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;end_date&quot;</span><span class="o">:</span> <span 
class="s2">&quot;2009-12-15&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;lat_max&quot;</span><span class="o">:</span> <span 
class="mf">89.75</span><span class="p">,</span>
+    <span class="s2">&quot;lat_min&quot;</span><span class="o">:</span> <span 
class="o">-</span><span class="mf">89.75</span><span class="p">,</span>
+    <span class="s2">&quot;lon_max&quot;</span><span class="o">:</span> <span 
class="mf">179.75</span><span class="p">,</span>
+    <span class="s2">&quot;lon_min&quot;</span><span class="o">:</span> <span 
class="o">-</span><span class="mf">179.75</span>
+  <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="get">
+<dt id="get--datasets-">
+<tt class="descname">GET </tt><tt class="descname">/datasets/</tt><a 
class="headerlink" href="#get--datasets-" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Return a list of dataset information from JPL&#8217;s RCMED.</p>
+<p><strong>Example Return JSON Format</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">[</span>
+    <span class="p">{</span>
+        <span class="s2">&quot;dataset_id&quot;</span><span class="o">:</span> 
<span class="s2">&quot;17&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;shortname&quot;</span><span class="o">:</span> 
<span class="s2">&quot;The dataset&#39;s short name&quot;</span><span 
class="p">,</span>
+        <span class="s2">&quot;longname&quot;</span><span class="o">:</span> 
<span class="s2">&quot;The dataset&#39;s, full name&quot;</span><span 
class="p">,</span>
+        <span class="s2">&quot;source&quot;</span><span class="o">:</span> 
<span class="s2">&quot;Where the dataset originated&quot;</span>
+    <span class="p">},</span>
+    <span class="p">...</span>
+<span class="p">]</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="get">
+<dt id="get--parameters-bounds-">
+<tt class="descname">GET </tt><tt class="descname">/parameters/bounds/</tt><a 
class="headerlink" href="#get--parameters-bounds-" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Return temporal and spatial bounds metadata for all of JPL&#8217;s 
RCMED parameters.</p>
+<p><strong>Example Call Format</strong></p>
+<div class="highlight-javascript"><div 
class="highlight"><pre>/parameters/bounds/
+</pre></div>
+</div>
+<p><strong>Example Return JSON Format</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span>
+  <span class="s2">&quot;38&quot;</span><span class="o">:</span> <span 
class="p">{</span>
+    <span class="s2">&quot;start_date&quot;</span><span class="o">:</span> 
<span class="s2">&quot;1901-01-15&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;end_date&quot;</span><span class="o">:</span> <span 
class="s2">&quot;2009-12-15&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;lat_max&quot;</span><span class="o">:</span> <span 
class="mf">89.75</span><span class="p">,</span>
+    <span class="s2">&quot;lat_min&quot;</span><span class="o">:</span> <span 
class="o">-</span><span class="mf">89.75</span><span class="p">,</span>
+    <span class="s2">&quot;lon_max&quot;</span><span class="o">:</span> <span 
class="mf">179.75</span><span class="p">,</span>
+    <span class="s2">&quot;lon_min&quot;</span><span class="o">:</span> <span 
class="o">-</span><span class="mf">179.75</span>
+  <span class="p">},</span>
+  <span class="s2">&quot;39&quot;</span><span class="o">:</span> <span 
class="p">{</span>
+    <span class="s2">&quot;start_date&quot;</span><span class="o">:</span> 
<span class="s2">&quot;1901-01-15&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;end_date&quot;</span><span class="o">:</span> <span 
class="s2">&quot;2009-12-15&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;lat_max&quot;</span><span class="o">:</span> <span 
class="mf">89.75</span><span class="p">,</span>
+    <span class="s2">&quot;lat_min&quot;</span><span class="o">:</span> <span 
class="o">-</span><span class="mf">89.75</span><span class="p">,</span>
+    <span class="s2">&quot;lon_max&quot;</span><span class="o">:</span> <span 
class="mf">179.75</span><span class="p">,</span>
+    <span class="s2">&quot;lon_min&quot;</span><span class="o">:</span> <span 
class="o">-</span><span class="mf">179.75</span>
+  <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</dd></dl>
+
+</div>
+<div class="section" id="processing-endpoints">
+<h3>Processing Endpoints<a class="headerlink" href="#processing-endpoints" 
title="Permalink to this headline">¶</a></h3>
+<p>The <em>processing</em> module contains all the endpoints related to the 
running of
+evaluations.</p>
+<dl class="get">
+<dt id="get--metrics-">
+<tt class="descname">GET </tt><tt class="descname">/metrics/</tt><a 
class="headerlink" href="#get--metrics-" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Retrieve available metric names.</p>
+<p><strong>Example Return JSON Format</strong></p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span>
+    <span class="s1">&#39;metrics&#39;</span><span class="o">:</span> <span 
class="p">[</span>
+        <span class="s1">&#39;MetricName1&#39;</span><span class="p">,</span>
+        <span class="s1">&#39;MetricName2&#39;</span><span class="p">,</span>
+        <span class="p">...</span>
+    <span class="p">]</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="post">
+<dt id="post--run_evaluation-">
+<tt class="descname">POST </tt><tt class="descname">/run_evaluation/</tt><a 
class="headerlink" href="#post--run_evaluation-" title="Permalink to this 
definition">¶</a></dt>
+<dd><p>Run an OCW Evaluation.</p>
+<p><em>run_evaluation</em> expects the Evaluation parameters to be POSTed in
+the following format.</p>
+<div class="highlight-javascript"><div class="highlight"><pre><span 
class="p">{</span>
+    <span class="nx">reference_dataset</span><span class="o">:</span> <span 
class="p">{</span>
+        <span class="c1">// Id that tells us how we need to load this 
dataset.</span>
+        <span class="s1">&#39;data_source_id&#39;</span><span 
class="o">:</span> <span class="mi">1</span> <span class="o">==</span> <span 
class="nx">local</span><span class="p">,</span> <span class="mi">2</span> <span 
class="o">==</span> <span class="nx">rcmed</span><span class="p">,</span>
+
+        <span class="c1">// Dict of data_source specific identifying 
information.</span>
+        <span class="c1">//</span>
+        <span class="c1">// if data_source_id == 1 == local:</span>
+        <span class="c1">// {</span>
+        <span class="c1">//     &#39;id&#39;: The path to the local file on 
the server for loading.</span>
+        <span class="c1">//     &#39;var_name&#39;: The variable data to pull 
from the file.</span>
+        <span class="c1">//     &#39;lat_name&#39;: The latitude variable 
name.</span>
+        <span class="c1">//     &#39;lon_name&#39;: The longitude variable 
name.</span>
+        <span class="c1">//     &#39;time_name&#39;: The time variable 
name</span>
+        <span class="c1">//     &#39;name&#39;: Optional dataset name</span>
+        <span class="c1">// }</span>
+        <span class="c1">//</span>
+        <span class="c1">// if data_source_id == 2 == rcmed:</span>
+        <span class="c1">// {</span>
+        <span class="c1">//     &#39;dataset_id&#39;: The dataset id to grab 
from RCMED.</span>
+        <span class="c1">//     &#39;parameter_id&#39;: The variable id value 
used by RCMED.</span>
+        <span class="c1">//     &#39;name&#39;: Optional dataset name</span>
+        <span class="c1">// }</span>
+        <span class="s1">&#39;dataset_info&#39;</span><span class="o">:</span> 
<span class="p">{..}</span>
+    <span class="p">},</span>
+
+    <span class="c1">// The list of target datasets to use in the Evaluation. 
The data</span>
+    <span class="c1">// format for the dataset objects should be the same as 
the</span>
+    <span class="c1">// reference_dataset above.</span>
+    <span class="s1">&#39;target_datasets&#39;</span><span class="o">:</span> 
<span class="p">[{...},</span> <span class="p">{...},</span> <span 
class="p">...],</span>
+
+    <span class="c1">// All the datasets are re-binned to the reference 
dataset</span>
+    <span class="c1">// before being added to an experiment. This step (in 
degrees)</span>
+    <span class="c1">// is used when re-binning both the reference and target 
datasets.</span>
+    <span class="s1">&#39;spatial_rebin_lat_step&#39;</span><span 
class="o">:</span> <span class="nx">The</span> <span class="nx">lat</span> 
<span class="nx">degree</span> <span class="nx">step</span><span 
class="p">.</span> <span class="nx">Integer</span> <span class="o">&gt;</span> 
<span class="mi">0</span><span class="p">,</span>
+
+    <span class="c1">// Same as above, but for lon</span>
+    <span class="s1">&#39;spatial_rebin_lon_step&#39;</span><span 
class="o">:</span> <span class="nx">The</span> <span class="nx">lon</span> 
<span class="nx">degree</span> <span class="nx">step</span><span 
class="p">.</span> <span class="nx">Integer</span> <span class="o">&gt;</span> 
<span class="mi">0</span><span class="p">,</span>
+
+    <span class="c1">// The temporal resolution to use when doing a temporal 
re-bin</span>
+    <span class="c1">// This is a timedelta of days to use so daily == 1, 
monthly is</span>
+    <span class="c1">// (1, 31], annual/yearly is (31, 366], and full is 
anything &gt; 366.</span>
+    <span class="s1">&#39;temporal_resolution&#39;</span><span 
class="o">:</span> <span class="nx">Integer</span> <span class="k">in</span> 
<span class="nx">range</span><span class="p">(</span><span 
class="mi">1</span><span class="p">,</span> <span class="mi">999</span><span 
class="p">),</span>
+
+    <span class="c1">// A list of the metric class names to use in the 
evaluation. The</span>
+    <span class="c1">// names must match the class name exactly.</span>
+    <span class="s1">&#39;metrics&#39;</span><span class="o">:</span> <span 
class="p">[</span><span class="nx">Bias</span><span class="p">,</span> <span 
class="nx">TemporalStdDev</span><span class="p">,</span> <span 
class="p">...]</span>
+
+    <span class="c1">// The bounding values used in the Evaluation. Note that 
lat values</span>
+    <span class="c1">// should range from -180 to 180 and lon values from -90 
to 90.</span>
+    <span class="s1">&#39;start_time&#39;</span><span class="o">:</span> <span 
class="nx">start</span> <span class="nx">time</span> <span 
class="nx">value</span> <span class="k">in</span> <span class="nx">the</span> 
<span class="nx">format</span> <span class="s1">&#39;%Y-%m-%d 
%H:%M:%S&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;end_time&#39;</span><span class="o">:</span> <span 
class="nx">end</span> <span class="nx">time</span> <span 
class="nx">value</span> <span class="k">in</span> <span class="nx">the</span> 
<span class="nx">format</span> <span class="s1">&#39;%Y-%m-%d 
%H:%M:%S&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;lat_min&#39;</span><span class="o">:</span> <span 
class="nx">The</span> <span class="nx">minimum</span> <span 
class="nx">latitude</span> <span class="nx">value</span><span class="p">,</span>
+    <span class="s1">&#39;lat_max&#39;</span><span class="o">:</span> <span 
class="nx">The</span> <span class="nx">maximum</span> <span 
class="nx">latitude</span> <span class="nx">value</span><span class="p">,</span>
+    <span class="s1">&#39;lon_min&#39;</span><span class="o">:</span> <span 
class="nx">The</span> <span class="nx">minimum</span> <span 
class="nx">longitude</span> <span class="nx">value</span><span 
class="p">,</span>
+    <span class="s1">&#39;lon_max&#39;</span><span class="o">:</span> <span 
class="nx">The</span> <span class="nx">maximum</span> <span 
class="nx">longitude</span> <span class="nx">value</span><span 
class="p">,</span>
+
+    <span class="c1">// NOTE: At the moment, subregion support is fairly 
minimal. This</span>
+    <span class="c1">// will be addressed in the future. Ideally, the user 
should be able</span>
+    <span class="c1">// to load a file that they have locally. That would 
change the</span>
+    <span class="c1">// format that this data is passed.</span>
+    <span class="s1">&#39;subregion_information&#39;</span><span 
class="o">:</span> <span class="nx">Path</span> <span class="nx">to</span> 
<span class="nx">a</span> <span class="nx">subregion</span> <span 
class="nx">file</span> <span class="nx">on</span> <span class="nx">the</span> 
<span class="nx">server</span><span class="p">.</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</dd></dl>
+
+</div>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="../index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">Evaluation UI Webservices</a><ul>
+<li><a class="reference internal" 
href="#configuration-and-dependencies">Configuration and Dependencies</a></li>
+<li><a class="reference internal" href="#web-service-explanation">Web Service 
Explanation</a><ul>
+<li><a class="reference internal" href="#local-file-metadata-extractors">Local 
File Metadata Extractors</a></li>
+<li><a class="reference internal" href="#directory-helpers">Directory 
Helpers</a></li>
+<li><a class="reference internal" href="#rcmed-helpers">RCMED Helpers</a></li>
+<li><a class="reference internal" href="#processing-endpoints">Processing 
Endpoints</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="../data_source/data_sources.html"
+                        title="previous chapter">Data Sources</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="../config/config_overview.html"
+                        title="next chapter">Configuration File 
Overview</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="../_sources/ui-backend/backend.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="../search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="../genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="../http-routingtable.html" title="HTTP Routing Table"
+             >routing table</a> |</li>
+        <li class="right" >
+          <a href="../py-modindex.html" title="Python Module Index"
+             >modules</a> |</li>
+        <li class="right" >
+          <a href="../config/config_overview.html" title="Configuration File 
Overview"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="../data_source/data_sources.html" title="Data Sources"
+             >previous</a> |</li>
+        <li><a href="../index.html">Apache Open Climate Workbench 1.0.0 
documentation</a> &raquo;</li> 
+      </ul>
+    </div>
+    <div class="footer">
+        &copy; Copyright 2013, Apache Software Foundation.
+      Created using <a href="http://sphinx-doc.org/";>Sphinx</a> 1.2.1.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: websites/staging/climate/trunk/content/api/current/.buildinfo
==============================================================================
--- websites/staging/climate/trunk/content/api/current/.buildinfo (added)
+++ websites/staging/climate/trunk/content/api/current/.buildinfo Wed Jul 27 
17:50:56 2016
@@ -0,0 +1,4 @@
+# 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: 3c7bd5ae335ebab33cc351c36a205c0b
+tags: 645f666f9bcd5a90fca523b33c5a78b7

Added: 
websites/staging/climate/trunk/content/api/current/_sources/config/config_overview.txt
==============================================================================
--- 
websites/staging/climate/trunk/content/api/current/_sources/config/config_overview.txt
 (added)
+++ 
websites/staging/climate/trunk/content/api/current/_sources/config/config_overview.txt
 Wed Jul 27 17:50:56 2016
@@ -0,0 +1,85 @@
+Configuration File Overview
+===========================
+
+Apache Open Climate Workbench includes tools for creating and reading 
configuration files. Below is an explanation of the general configuration file 
structure, and in-depth look at the various configuration options, and 
explanations of how to use configuration files in an evaluation.
+
+Getting Started
+---------------
+
+OCW configuration files are written in `YAML <http://yaml.org/>`_ with type 
annotations that are supported by the `PyYAML library 
<http://pyyaml.org/wiki/PyYAMLDocumentation>`_. Let's look at an example 
configuration file to get started.
+
+.. code::
+
+    evaluation:
+        temporal_time_delta: 365
+        spatial_regrid_lats: !!python/tuple [-20, 20, 1]
+        spatial_regrid_lons: !!python/tuple [-20, 20, 1]
+
+    datasets:
+        reference:
+            data_source: local
+            file_count: 1
+            path: 
/tmp/AFRICA_KNMI-RACMO2.2b_CTL_ERAINT_MM_50km_1989-2008_tasmax.nc
+            variable: tasmax
+
+        targets:
+            - data_source: local
+              file_count: 1
+              path: 
/tmp/AFRICA_UC-WRF311_CTL_ERAINT_MM_50km-rg_1989-2008_tasmax.nc
+              variable: tasmax
+    metrics:
+        - Bias
+
+    plots:
+        - type: contour
+          results_indeces:
+              - !!python/tuple [0, 0]
+          lats:
+              range_min: -20
+              range_max: 20
+              range_step: 1
+          lons:
+              range_min: -20
+              range_max: 20
+              range_step: 1
+          output_name: wrf_bias_compared_to_knmi
+          optional_args:
+              gridshape: !!python/tuple [6, 6]
+    
+There are 4 main categories for configuration settings: Evaluation, Datasets, 
Metrics, and Plots.
+
+Evaluation Settings
+-------------------
+
+This is where you will set evaluation specific settings such as temporal and 
spatial bin sizes to use during dataset preparation. Visit the :doc:`Evaluation 
Settings <evaluation_settings>` page for additional information.
+
+Dataset Information
+-------------------
+
+The datasets section is where you specify all the datasets to use for an 
evaluation. You can specify what the reference dataset should be as well as 
giving a list of target datasets. Visit the :doc:`Dataset Information 
<dataset_information>` page for additional information.
+
+Metrics Information
+-------------------
+
+You will need to load some metrics if you want to get anything useful out of 
your evaluation. Visit the :doc:`Metrics Information <metrics_information>` 
page to learn how to specify the metrics that should be used in the evaluation.
+
+Plots Settings
+--------------
+
+This is where you specify what plots to make after running the evaluation. The 
:doc:`Plots Settings <plots_settings>` page provides examples for the supported 
plot types.
+
+Example Run
+-----------
+
+If you have tried the **simple_model_to_model_bias.py** example in the primary 
toolkit examples you can run the same evaluation but use a config file to do so 
instead of direct API scripting. From the **climate/ocw-config-runner/** 
directory run the following command to run the example::
+
+    python ocw_evaluation_from_config.py 
example/simple_model_to_model_bias.yaml
+
+.. note::
+
+    If you haven't run the previous example which downloads the necessary 
datasets this evaluation will fail. The necessary local files will not have 
been downloaded!
+
+Writing a Config File
+---------------------
+
+You can export an :class:`evaluation.Evaluation` object to a configuration 
file for easily repeatable evaluations. Checkout the documentation on the 
:doc:`configuration file writer API <config_writer>` for additional information.

Added: 
websites/staging/climate/trunk/content/api/current/_sources/config/config_writer.txt
==============================================================================
--- 
websites/staging/climate/trunk/content/api/current/_sources/config/config_writer.txt
 (added)
+++ 
websites/staging/climate/trunk/content/api/current/_sources/config/config_writer.txt
 Wed Jul 27 17:50:56 2016
@@ -0,0 +1,5 @@
+Configuration File Writer API
+=============================
+
+.. automodule:: ocw_config_runner.configuration_writer
+    :members:

Added: 
websites/staging/climate/trunk/content/api/current/_sources/config/dataset_information.txt
==============================================================================
--- 
websites/staging/climate/trunk/content/api/current/_sources/config/dataset_information.txt
 (added)
+++ 
websites/staging/climate/trunk/content/api/current/_sources/config/dataset_information.txt
 Wed Jul 27 17:50:56 2016
@@ -0,0 +1,89 @@
+Dataset Information
+===================
+
+Dataset configuration information is passed in the **datasets** section of the 
configuration file. You can specify one reference dataset and one or more 
target datasets for your evaluation::
+
+    datasets:
+        reference:
+            data_source: local
+            file_count: 1
+            path: 
/tmp/AFRICA_KNMI-RACMO2.2b_CTL_ERAINT_MM_50km_1989-2008_tasmax.nc
+            variable: tasmax
+
+        targets:
+            - data_source: local
+              file_count: 1
+              path: 
/tmp/AFRICA_UC-WRF311_CTL_ERAINT_MM_50km-rg_1989-2008_tasmax.nc
+              variable: tasmax
+            - data_source: local
+              file_count: 1
+              path: 
/tmp/AFRICA_UC-WRF311_CTL_ERAINT_MM_50km-rg_1989-2008_tasmax.nc
+              variable: tasmax
+
+Each **data_source** module requires datasets to be passed in a slightly 
different manner. Below is an explanation of the format for each of the 
supported data sources.
+
+Local Dataset
+-------------
+.. code::
+
+    data_source: local
+    file_count: 1
+    path: /tmp/AFRICA_KNMI-RACMO2.2b_CTL_ERAINT_MM_50km_1989-2008_tasmax.nc
+    variable: tasmax
+
+The **path** flag is the location where the dataset is located on your 
computer. The **variable** flag is the variable that should be pulled out of 
the NetCDF file once it has been opened. You pass any optional flags that are 
accepted by :func:`local.load_file` by using the **optional_args** flag::
+
+    data_source: local
+    file_count: 1
+    path: /tmp/AFRICA_KNMI-RACMO2.2b_CTL_ERAINT_MM_50km_1989-2008_tasmax.nc
+    variable: tasmax
+    optional_args:
+        elevation_index=0,
+        name='foo'
+
+.. note::
+
+    The **file_count** flag is currently not used. It is there to support 
planned future functionality. However, you still need to specify it! Leave it 
as 1.
+
+
+RCMED Dataset
+-------------
+
+.. code::
+    
+    data_source: rcmed
+    dataset_id: 4
+    parameter_id: 32
+    min_lat: -10
+    max_lat: 10
+    min_lon: -20
+    max_lon: 20
+    start_time: 1997-01-01
+    end_time: 2000-01-01
+
+To load a dataset from the Jet Propulsion Laboratory's RCMED you will need to 
specify the above flags. The **dataset_id** and **parameter_id** are dataset 
specific and can be looked up on the `RCMES project website 
<https://rcmes.jpl.nasa.gov/content/rcmes-and-data>`_. Pretty much any common 
time format will be accepted for the start and end times. However, just to be 
safe you should try to stick with something very standard such as `ISO-8601 
<http://www.w3.org/TR/NOTE-datetime>`_ formatted time values. You may also pass 
any optional parameters that are accepted by :func:`rcmed.parameter_dataset` 
with the **optional_args** flag.
+
+ESGF Dataset
+------------
+
+In order to load an ESGF dataset you will need to specify the following 
parameters in addition to having an ESGF login::
+
+    data_source: esgf
+    dataset_id: obs4MIPs.CNES.AVISO.mon.v1|esg-datanode.jpl.nasa.gov
+    variable: zosStderr
+    esgf_password: totallynotmypassword
+    esgf_username: totallynotmyusername
+
+The **dataset_id** and **variable** flags are ESGF dataset specific. You can 
locate them through and ESGF nodes search page. You may also pass any optional 
parameters that are accepted by :func:`esgf.load_dataset` with the 
**optional_args** flag.
+
+
+OpenDAP Dataset
+---------------
+
+A dataset can be downloaded from an OpenDAP URL with the following settings::
+
+    data_source: dap
+    url: http://test.opendap.org/dap/data/nc/sst.mnmean.nc.gz
+    variable: sst
+
+You may also pass any optional parameters that are accepted by 
:func:`dap.load` with the **optional_args** flag.

Added: 
websites/staging/climate/trunk/content/api/current/_sources/config/evaluation_settings.txt
==============================================================================
--- 
websites/staging/climate/trunk/content/api/current/_sources/config/evaluation_settings.txt
 (added)
+++ 
websites/staging/climate/trunk/content/api/current/_sources/config/evaluation_settings.txt
 Wed Jul 27 17:50:56 2016
@@ -0,0 +1,56 @@
+Evaluation Settings
+===================
+
+The evaluation settings section of the configuration file allows you to set 
attributes that are critical for making adjustments to the loaded datasets 
prior to an evaluation run. Here is an example evaluation settings section of a 
configuration file. Below, we'll look at each of the configuration options in 
detail.
+
+.. code::
+
+    evaluation:
+        temporal_time_delta: 365
+        spatial_regrid_lats: !!python/tuple [-20, 20, 1]
+        spatial_regrid_lons: !!python/tuple [-20, 20, 1]
+
+Temporal Rebin
+--------------
+
+It is often necessary to temporally rebin datasets prior to an evaluation. The 
**temporal_time_delta** flag is where you can set the **temporal_resolution** 
parameter for :func:`dataset_processor.temporal_rebin`. The value that you pass 
here is interpreted as the number of days to assign to a 
:class:`datetime.timedelta` object before running the 
:func:`dataset_processor.temporal_rebin` function.
+
+.. note::
+
+    This attribute is only useful if you use the configuration data to create 
an :class:`evaluation.Evaluation` object with the 
:func:`evaluation_creation.generate_evaluation_from_config` config parser 
function.
+
+Spatial Regrid
+--------------
+
+.. note::
+
+    Some funcitonality here is still in development. Specifically, passing the 
spatial_regrid_* flags as lists of values.
+
+If you need to regrid your datasets onto a new lat/lon grid you will need to 
set the **spatial_regrid_lats** and **spatial_regrid_lons** options. These will 
be passed to the :func:`dataset_processor.spatial_regrid` function along with 
each dataset. There are two valid ways to pass these parameters. First, you can 
pass them as a list of all values::
+
+    evaluation:
+        spatial_regrid_lats: [-10, -5, 0, 5, 10]
+        spatial_regrid_lons: [-10, -5, 0, 5, 10]
+
+This is generally useful if you only need to pass a few parameters or if the 
sequence isn't easy to define as a valid **range** in Python. The other option 
is to pass **range** information as a tuple. This requires you to use `PyYAML's 
Python Type Annotations 
<http://pyyaml.org/wiki/PyYAMLDocumentation#YAMLtagsandPythontypes>`_ but 
provides a far more compact representation::
+
+    evaluation:
+        spatial_regrid_lats: !!python/tuple [-20, 20, 1]
+        spatial_regrid_lons: !!python/tuple [-20, 20, 1]
+
+Using this style directly maps to a call to :func:`numpy.arange`::
+
+    # spatial_regrid_lats: !!python/tuple [-20, 20, 1] becomes
+    lats = numpy.arange(-20, 20, 1)
+
+Be sure to pay special attention to the end value for your interval. The 
:func:`numpy.arange` function does not include the end value in the returned 
interval.
+
+Subset Bounds
+-------------
+
+In order to subset the datasets down to an area of interest you will need to 
pass bounds information::
+
+    evaluation:
+        subset: [-10, 10, -20, 20, "1997-01-01", "2000-01-01"]
+
+Here you're passing the bounding lat/lon box with the first 4 values as well 
as the valid temporal range bounds with the starting and end time values. 
Pretty much any common time format will be accepted. However, just to be safe 
you should try to stick with something very standard such as `ISO-8601 
<http://www.w3.org/TR/NOTE-datetime>`_ formatted time values.

Added: 
websites/staging/climate/trunk/content/api/current/_sources/config/metrics_information.txt
==============================================================================
--- 
websites/staging/climate/trunk/content/api/current/_sources/config/metrics_information.txt
 (added)
+++ 
websites/staging/climate/trunk/content/api/current/_sources/config/metrics_information.txt
 Wed Jul 27 17:50:56 2016
@@ -0,0 +1,12 @@
+Metrics Information
+===================
+
+.. note::
+
+    At the moment, you can only load metrics that are in :mod:`ocw.metrics`. 
In the future you will also be able to specify user defined metrics here as 
well. However, as a work around you can define your custom metrics in the 
:mod:`ocw.metrics` module.
+
+You can set the metrics you want to use in the evaluation in the **metrics** 
section of the config. You simply need to supply a list of the metric class 
names that you want to be used::
+
+    metrics:
+        - Bias
+        - TemporalStdDev

Added: 
websites/staging/climate/trunk/content/api/current/_sources/config/plots_settings.txt
==============================================================================
--- 
websites/staging/climate/trunk/content/api/current/_sources/config/plots_settings.txt
 (added)
+++ 
websites/staging/climate/trunk/content/api/current/_sources/config/plots_settings.txt
 Wed Jul 27 17:50:56 2016
@@ -0,0 +1,44 @@
+Plots Settings
+==============
+
+Plotting configuration information is passed in the **plots** section of the 
configuration file::
+
+    plots:
+        - type: contour
+          results_indeces:
+              - !!python/tuple [0, 0]
+          lats:
+              range_min: -20
+              range_max: 20
+              range_step: 1
+          lons:
+              range_min: -20
+              range_max: 20
+              range_step: 1
+          output_name: wrf_bias_compared_to_knmi
+          optional_args:
+              gridshape: !!python/tuple [6, 6]
+
+Each type of support plot has a different configuration format expected. Each 
of these are explained below. Note, most of these will require you to specify 
what result data you want included in the plots with the **results_indeces** 
flag. This relates the format that an Evaluation object outputs results in. 
Check the :class:`evaluation.Evaluation` documentation for more details.
+
+Contour Maps
+-------------
+
+The contour maps config configures data for OCW's contour plotter 
:func:`plotting.draw_contour_map`::
+
+    type: contour
+          results_indeces:
+              - !!python/tuple [0, 0]
+          lats:
+              range_min: -20
+              range_max: 20
+              range_step: 1
+          lons:
+              range_min: -20
+              range_max: 20
+              range_step: 1
+          output_name: wrf_bias_compared_to_knmi
+          optional_args:
+              gridshape: !!python/tuple [6, 6]
+
+The **lat** and **lon** parameters are specified as a range of values. Be 
aware that the **range_max** element is not included in the output range so you 
may need to adjust it slightly if you want a particular value included. The 
**output_name** parameter is the name of the resulting output graph. You may 
also pass any optional parameters that are supported by the 
:func:`plotting.draw_contour_map` function with the **optional_args** flag.

Added: 
websites/staging/climate/trunk/content/api/current/_sources/data_source/data_sources.txt
==============================================================================
--- 
websites/staging/climate/trunk/content/api/current/_sources/data_source/data_sources.txt
 (added)
+++ 
websites/staging/climate/trunk/content/api/current/_sources/data_source/data_sources.txt
 Wed Jul 27 17:50:56 2016
@@ -0,0 +1,22 @@
+Data Sources
+************
+
+Local Module
+============
+.. automodule:: local
+    :members:
+
+RCMED Module
+============
+.. automodule:: rcmed
+    :members:
+
+DAP Module
+==========
+.. automodule:: dap
+    :members:
+
+ESGF Module
+===========
+.. automodule:: esgf
+    :members:

Added: websites/staging/climate/trunk/content/api/current/_sources/index.txt
==============================================================================
--- websites/staging/climate/trunk/content/api/current/_sources/index.txt 
(added)
+++ websites/staging/climate/trunk/content/api/current/_sources/index.txt Wed 
Jul 27 17:50:56 2016
@@ -0,0 +1,36 @@
+.. Apache Open Climate Workbench documentation master file, created by
+   sphinx-quickstart on Fri Oct 25 07:58:45 2013.
+   You can adapt this file completely to your liking, but it should at least
+   contain the root `toctree` directive.
+
+Welcome to Apache Open Climate Workbench's documentation!
+=========================================================
+
+Contents:
+
+.. toctree::
+   :maxdepth: 4
+
+   ocw/overview
+   ocw/dataset
+   ocw/dataset_processor
+   ocw/evaluation
+   ocw/metrics
+   ocw/plotter
+   ocw/utils
+   data_source/data_sources
+   ui-backend/backend
+   config/config_overview
+   config/config_writer
+   config/dataset_information
+   config/evaluation_settings
+   config/metrics_information
+   config/plots_settings
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
+

Added: 
websites/staging/climate/trunk/content/api/current/_sources/ocw/dataset.txt
==============================================================================
--- websites/staging/climate/trunk/content/api/current/_sources/ocw/dataset.txt 
(added)
+++ websites/staging/climate/trunk/content/api/current/_sources/ocw/dataset.txt 
Wed Jul 27 17:50:56 2016
@@ -0,0 +1,12 @@
+Dataset Module
+**************
+
+Bounds
+======
+.. autoclass:: dataset.Bounds
+    :members:
+
+Dataset
+=======
+.. autoclass:: dataset.Dataset
+    :members:

Added: 
websites/staging/climate/trunk/content/api/current/_sources/ocw/dataset_processor.txt
==============================================================================
--- 
websites/staging/climate/trunk/content/api/current/_sources/ocw/dataset_processor.txt
 (added)
+++ 
websites/staging/climate/trunk/content/api/current/_sources/ocw/dataset_processor.txt
 Wed Jul 27 17:50:56 2016
@@ -0,0 +1,5 @@
+Dataset Processor Module
+************************
+
+.. automodule:: dataset_processor
+   :members:

Added: 
websites/staging/climate/trunk/content/api/current/_sources/ocw/evaluation.txt
==============================================================================
--- 
websites/staging/climate/trunk/content/api/current/_sources/ocw/evaluation.txt 
(added)
+++ 
websites/staging/climate/trunk/content/api/current/_sources/ocw/evaluation.txt 
Wed Jul 27 17:50:56 2016
@@ -0,0 +1,5 @@
+Evaluation Module
+*****************
+
+.. autoclass:: evaluation.Evaluation
+    :members:

Added: 
websites/staging/climate/trunk/content/api/current/_sources/ocw/metrics.txt
==============================================================================
--- websites/staging/climate/trunk/content/api/current/_sources/ocw/metrics.txt 
(added)
+++ websites/staging/climate/trunk/content/api/current/_sources/ocw/metrics.txt 
Wed Jul 27 17:50:56 2016
@@ -0,0 +1,5 @@
+Metrics Module
+**************
+
+.. automodule:: metrics
+    :members:


Reply via email to