-
Jeremy Auclair authored
Some optimization improvements. Potential memory leaks to look at. Many improvements in the preprocessing scripts, almost finished the parcel mode. New scripts in the prostprocessing directory. Changes in the samir parameter handling.
Jeremy Auclair authoredSome optimization improvements. Potential memory leaks to look at. Many improvements in the preprocessing scripts, almost finished the parcel mode. New scripts in the prostprocessing directory. Changes in the samir parameter handling.
samir_functions.html 18.40 KiB
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>How the SAMIR functions works — modspa-pixel 0.1 documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/graphviz.css" type="text/css" />
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=2709fde1"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Project file structure" href="../file_structure.html" />
<link rel="prev" title="Good practices to use the SAMIR model" href="data_and_ram_management.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
modspa-pixel
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../setup/setup.html">Setting up the correct environnment and parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../preprocessing/input_preparation.html">Preparing the inputs for Modspa-Pixel</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="run_samir.html">Run the SAMIR model</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="data_and_ram_management.html">Good practices to use the SAMIR model</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">How the SAMIR functions works</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#modspa_pixel.source.modspa_samir.run_samir"><code class="docutils literal notranslate"><span class="pre">run_samir()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#modspa_pixel.source.modspa_samir.samir_daily"><code class="docutils literal notranslate"><span class="pre">samir_daily()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../file_structure.html">Project file structure</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">modspa-pixel</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="run_samir.html">Run the SAMIR model</a></li>
<li class="breadcrumb-item active">How the SAMIR functions works</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/samir/samir_functions.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="how-the-samir-functions-works">
<h1>How the SAMIR functions works<a class="headerlink" href="#how-the-samir-functions-works" title="Link to this heading"></a></h1>
<dl class="py function">
<dt class="sig sig-object py" id="modspa_pixel.source.modspa_samir.run_samir">
<span class="sig-prename descclassname"><span class="pre">modspa_pixel.source.modspa_samir.</span></span><span class="sig-name descname"><span class="pre">run_samir</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">csv_param_file</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ndvi_cube_path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">weather_path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">soil_params_path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">land_cover_path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">save_path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">additional_outputs</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">available_ram</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">8</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">available_cpu</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">4</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="reference internal" href="../_modules/modspa_pixel/source/modspa_samir.html#run_samir"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#modspa_pixel.source.modspa_samir.run_samir" title="Link to this definition"></a></dt>
<dd><p>Run the <em>SAMIR</em> model on the prepared inputs. Calls the <code class="docutils literal notranslate"><span class="pre">samir_daily()</span></code> in a time loop.
Maximizes memory usage with given limits to run faster.</p>
<section id="arguments">
<h2>Arguments<a class="headerlink" href="#arguments" title="Link to this heading"></a></h2>
<ol class="arabic simple">
<li><dl class="simple">
<dt>csv_param_file: <code class="docutils literal notranslate"><span class="pre">str</span></code></dt><dd><p>SAMIR csv parameter file</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>ndvi_cube_path: <code class="docutils literal notranslate"><span class="pre">str</span></code></dt><dd><p>path to ndvi cube</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>weather_path: <code class="docutils literal notranslate"><span class="pre">str</span></code></dt><dd><p>path to weather cube</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>soil_params_path: <code class="docutils literal notranslate"><span class="pre">str</span></code></dt><dd><p>path to soil dataset</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>land_cover_path: <code class="docutils literal notranslate"><span class="pre">str</span></code></dt><dd><p>path to land cover raster</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>save_path: <code class="docutils literal notranslate"><span class="pre">str</span></code></dt><dd><p>path to save the model outputs</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>additional_outputs: <code class="docutils literal notranslate"><span class="pre">dict</span></code> <code class="docutils literal notranslate"><span class="pre">default</span> <span class="pre">=</span> <span class="pre">None</span></code></dt><dd><p>dictionnary containing the names and scale
factors of potential additional outouts</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>available_ram: <code class="docutils literal notranslate"><span class="pre">int</span></code> <code class="docutils literal notranslate"><span class="pre">default</span> <span class="pre">=</span> <span class="pre">8</span></code></dt><dd><p>available RAM in <strong>GiB</strong> for the model</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>available_cpu: <code class="docutils literal notranslate"><span class="pre">int</span></code> <code class="docutils literal notranslate"><span class="pre">default</span> <span class="pre">=</span> <span class="pre">4</span></code></dt><dd><p>number of available <strong>physical</strong> CPU cores</p>
</dd>
</dl>
</li>
</ol>
</section>
<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Link to this heading"></a></h2>
<p><code class="docutils literal notranslate"><span class="pre">None</span></code></p>
</section>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="modspa_pixel.source.modspa_samir.samir_daily">
<span class="sig-prename descclassname"><span class="pre">modspa_pixel.source.modspa_samir.</span></span><span class="sig-name descname"><span class="pre">samir_daily</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">NDVI</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ET0</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Rain</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Wfc</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Wwp</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">params</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Dr0</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Dd0</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Zr0</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">E0</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Tr0</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Dei0</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Dep0</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">iday</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">ndarray</span><span class="p"><span class="pre">]</span></span></span></span><a class="reference internal" href="../_modules/modspa_pixel/source/modspa_samir.html#samir_daily"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#modspa_pixel.source.modspa_samir.samir_daily" title="Link to this definition"></a></dt>
<dd><p>Run the SAMIR model on a single day. Inputs and outputs are <cite>numpy.ndarray</cite>.
Calls functions compiled with numba for intermediary calculations.</p>
<section id="id1">
<h2>Arguments<a class="headerlink" href="#id1" title="Link to this heading"></a></h2>
<ol class="arabic simple">
<li><dl class="simple">
<dt>NDVI: <code class="docutils literal notranslate"><span class="pre">np.ndarray</span></code></dt><dd><p>input NDVI</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>ET0: <code class="docutils literal notranslate"><span class="pre">np.ndarray</span></code></dt><dd><p>input ET0</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Rain: <code class="docutils literal notranslate"><span class="pre">np.ndarray</span></code></dt><dd><p>input Rain</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Wfc: <code class="docutils literal notranslate"><span class="pre">np.ndarray</span></code></dt><dd><p>field capacity</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Wwp: <code class="docutils literal notranslate"><span class="pre">np.ndarray</span></code></dt><dd><p>field wilting point</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>params: <code class="docutils literal notranslate"><span class="pre">dict</span></code></dt><dd><p>dictionnary containing the rasterized
samir parameters and their scale factors</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Dr0: <code class="docutils literal notranslate"><span class="pre">np.ndarray</span></code></dt><dd><p>previous day root layer depletion</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Dd0: <code class="docutils literal notranslate"><span class="pre">np.ndarray</span></code></dt><dd><p>previous day deep layer depletion</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>Zr0: <code class="docutils literal notranslate"><span class="pre">np.ndarray</span></code></dt><dd><p>previous day root depth</p>
</dd>
</dl>
</li>
<li><p>E0: <code class="docutils literal notranslate"><span class="pre">np.ndarray</span></code>
previous day surface evaporation</p></li>
<li><p>Tr0: <code class="docutils literal notranslate"><span class="pre">np.ndarray</span></code>
previous day plant transpiration</p></li>
<li><p>Dei0: <code class="docutils literal notranslate"><span class="pre">np.ndarray</span></code>
previous day surface layer depletion
for irrigation part</p></li>
<li><p>Dep0: <code class="docutils literal notranslate"><span class="pre">np.ndarray</span></code>
previous day surface layer depletion
for precipitation part</p></li>
<li><p>iday: <code class="docutils literal notranslate"><span class="pre">int</span></code>
current loop counter</p></li>
</ol>
</section>
<section id="id2">
<h2>Returns<a class="headerlink" href="#id2" title="Link to this heading"></a></h2>
<ol class="arabic simple">
<li><dl class="simple">
<dt>current_day_outouts: <cite>Tuple[np.ndarray]</cite></dt><dd><p>multiple <cite>numpy.ndarray</cite> arrays are returned as a tuple for current day</p>
</dd>
</dl>
</li>
</ol>
</section>
</dd></dl>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="data_and_ram_management.html" class="btn btn-neutral float-left" title="Good practices to use the SAMIR model" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="../file_structure.html" class="btn btn-neutral float-right" title="Project file structure" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>© Copyright 2023, auclairj.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>