Newer
Older
<!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" />
Jeremy Auclair
committed
<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>
Jeremy Auclair
committed
<li class="toctree-l1"><a class="reference internal" href="../mode/mode.html">Choosing the run mode</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>
Jeremy Auclair
committed
<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>
Jeremy Auclair
committed
<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>
Jeremy Auclair
committed
<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">scaling_dict</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</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">{'DP':</span> <span class="pre">100,</span> <span class="pre">'E':</span> <span class="pre">1000,</span> <span class="pre">'Irr':</span> <span class="pre">100,</span> <span class="pre">'SWCe':</span> <span class="pre">1000,</span> <span class="pre">'SWCr':</span> <span class="pre">1000,</span> <span class="pre">'Tr':</span> <span class="pre">1000}</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>
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<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>scaling_dict: <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">{'E':</span> <span class="pre">1000,</span> <span class="pre">'Tr':</span> <span class="pre">1000,</span> <span class="pre">'SWCe':</span> <span class="pre">1000,</span> <span class="pre">'SWCr':</span> <span class="pre">1000,</span> <span class="pre">'DP':</span> <span class="pre">100,</span> <span class="pre">'Irr':</span> <span class="pre">100}</span></code></dt><dd><p>scaling dictionnary for the nominal outputs</p>
</dd>
</dl>
</li>
<li><dl class="simple">
Jeremy Auclair
committed
<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">
Jeremy Auclair
committed
<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>
Jeremy Auclair
committed
<li><p>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>
number of available <strong>physical</strong> CPU cores</p></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>
Jeremy Auclair
committed
<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>, <em class="sig-param"><span class="n"><span class="pre">scaling_dict</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</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">
Jeremy Auclair
committed
<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">
Jeremy Auclair
committed
<dt>ET0: <code class="docutils literal notranslate"><span class="pre">np.ndarray</span></code></dt><dd><p>input ET0</p>
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
</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>
<li><p>scaling_dict: <code class="docutils literal notranslate"><span class="pre">dict</span></code>
scaling dictionnary for the nominal outputs</p></li>
<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>
Jeremy Auclair
committed
<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>
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
</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>