<?xml version="1.0" encoding="UTF-8"?>
<rss  xmlns:atom="http://www.w3.org/2005/Atom" 
      xmlns:media="http://search.yahoo.com/mrss/" 
      xmlns:content="http://purl.org/rss/1.0/modules/content/" 
      xmlns:dc="http://purl.org/dc/elements/1.1/" 
      version="2.0">
<channel>
<title>Rigoberto Chandomi Blog</title>
<link>https://rigobertochandomiblog.com/</link>
<atom:link href="https://rigobertochandomiblog.com/index.xml" rel="self" type="application/rss+xml"/>
<description>Ingeniería Petrolera, Programación y más!</description>
<generator>quarto-1.6.42</generator>
<lastBuildDate>Fri, 08 May 2026 06:00:00 GMT</lastBuildDate>
<item>
  <title>Ajuste de Curvas de Declinación con Python y R</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/index.knit.html</link>
  <description><![CDATA[ 




<section id="curvas-de-declinación-de-arps" class="level2">
<h2 class="anchored" data-anchor-id="curvas-de-declinación-de-arps">Curvas de Declinación de Arps</h2>
<p>El análisis de curvas de declinación (<strong>DCA</strong>, Decline Curve Analysis) es una de las herramientas más utilizadas para pronosticar producción y estimar reservas remanentes. Arps (1945) propuso tres modelos empíricos basados en la ecuación general:</p>
<p><img src="https://latex.codecogs.com/png.latex?q(t)%20=%20%5Cfrac%7Bq_i%7D%7B(1%20+%20bD_it)%5E%7B1/b%7D%7D"></p>
<p>Donde:</p>
<ul>
<li><img src="https://latex.codecogs.com/png.latex?q_i"> = gasto inicial (tasa al inicio de la declinación)</li>
<li><img src="https://latex.codecogs.com/png.latex?D_i"> = tasa de declinación inicial</li>
<li><img src="https://latex.codecogs.com/png.latex?b"> = exponente de declinación (<img src="https://latex.codecogs.com/png.latex?0%20%5Cleq%20b%20%5Cleq%201">)</li>
</ul>
<p>Los tres casos particulares son:</p>
<table class="caption-top table">
<thead>
<tr class="header">
<th>Modelo</th>
<th>Valor de b</th>
<th>Ecuación</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Exponencial</strong></td>
<td><img src="https://latex.codecogs.com/png.latex?b%20=%200"></td>
<td><img src="https://latex.codecogs.com/png.latex?q(t)%20=%20q_i%20%5Ccdot%20e%5E%7B-D_i%20t%7D"></td>
</tr>
<tr class="even">
<td><strong>Hiperbólico</strong></td>
<td><img src="https://latex.codecogs.com/png.latex?0%20%3C%20b%20%3C%201"></td>
<td><img src="https://latex.codecogs.com/png.latex?q(t)%20=%20q_i%20/%20(1%20+%20bD_it)%5E%7B1/b%7D"></td>
</tr>
<tr class="odd">
<td><strong>Armónico</strong></td>
<td><img src="https://latex.codecogs.com/png.latex?b%20=%201"></td>
<td><img src="https://latex.codecogs.com/png.latex?q(t)%20=%20q_i%20/%20(1%20+%20D_it)"></td>
</tr>
</tbody>
</table>
<div class="cell">
<div class="cell-output-display">
<div style="background:#1a2e1a;border-radius:10px;padding:.9rem 1.1rem;display:flex;align-items:center;gap:.9rem;border:1px solid #2d6a4f;margin:1.5rem 0;font-family:sans-serif">
  <div style="width:40px;height:40px;background:#ff0000;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0">
    <svg width="18" height="18" viewbox="0 0 24 24" fill="white"><path d="M23 7s-.3-2-1.2-2.8c-1.1-1.2-2.4-1.2-3-1.3C16.4 2.8 12 2.8 12 2.8s-4.4 0-6.8.1c-.6.1-1.9.1-3 1.3C1.3 5 1 7 1 7S.8 9.1.8 11.3v2c0 2.2.2 4.3.2 4.3s.3 2 1.2 2.8c1.1 1.2 2.6 1.1 3.3 1.2C7.5 21.8 12 21.8 12 21.8s4.4 0 6.8-.2c.6-.1 1.9-.1 3-1.3.9-.8 1.2-2.8 1.2-2.8s.2-2.1.2-4.3v-2C23.2 9.1 23 7 23 7zm-13.5 8.8V8.2l8.1 3.8-8.1 3.8z"></path></svg>
  </div>
  <div style="flex:1">
    <strong style="font-size:14px;color:#ffffff;font-weight:600">Visita el canal @rigopetrodata</strong>
    <p style="font-size:12px;color:#b7d4c7;margin:2px 0 0">Tutoriales de R, Python y Excel para ingeniería petrolera</p>
  </div>
  <a href="https://www.youtube.com/@rigopetrodata" target="_blank" style="background:#ff0000;color:white;font-size:12px;font-weight:600;padding:.4rem .9rem;border-radius:6px;text-decoration:none;white-space:nowrap;flex-shrink:0">
    Ver canal
  </a>
</div>
</div>
</div>
<p>: Modelos de declinación de Arps. {.striped}</p>
<div class="callout callout-style-default callout-tip callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
¿Cuál modelo usar?
</div>
</div>
<div class="callout-body-container callout-body">
<p>El exponencial es el más conservador (declina más rápido), el armónico el más optimista (declina más lento), y el hiperbólico es intermedio. En la práctica, se ajustan los tres y se comparan para tomar la mejor decisión.</p>
</div>
</div>
</section>
<section id="los-datos" class="level2">
<h2 class="anchored" data-anchor-id="los-datos">Los Datos</h2>
<p>Trabajamos con datos de producción de gas de un pozo real con <strong>480 días</strong> de historial:</p>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-1-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-1-1" aria-controls="tabset-1-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-1-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-1-2" aria-controls="tabset-1-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-1-1" class="tab-pane active" aria-labelledby="tabset-1-1-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb1-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb1-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb1-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> scipy.optimize <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> curve_fit</span>
<span id="cb1-5"></span>
<span id="cb1-6">data <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.read_csv(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'REH_18.csv'</span>)</span>
<span id="cb1-7">DAYS <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> data[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'DAYS'</span>].values</span>
<span id="cb1-8">RATE <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> data[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'RATE'</span>].values</span>
<span id="cb1-9"></span>
<span id="cb1-10"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Registros: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(data)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Registros: 480</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Rango de días: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>DAYS<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">min</span>()<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> - </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>DAYS<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">max</span>()<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Rango de días: 1 - 480</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Gasto máximo: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>RATE<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">max</span>()<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Gasto máximo: 6.00</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Gasto final: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>RATE[<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Gasto final: 0.51</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(data.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>   DAYS  RATE
0     1   2.3
1     2   3.0
2     3   3.2
3     4   3.0
4     5   3.2
5     6   4.2
6     7   4.3
7     8   4.3
8     9   4.3
9    10   4.3</code></pre>
</div>
</div>
</div>
<div id="tabset-1-2" class="tab-pane" aria-labelledby="tabset-1-2-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb11-1">data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">read.csv</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'REH_18.csv'</span>)</span>
<span id="cb11-2">DAYS <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>DAYS</span>
<span id="cb11-3">RATE <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>RATE</span>
<span id="cb11-4"></span>
<span id="cb11-5"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Registros: %d</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">nrow</span>(data)))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Registros: 480</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb13" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb13-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Rango de días: %d - %d</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">min</span>(DAYS), <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">max</span>(DAYS)))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Rango de días: 1 - 480</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb15" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb15-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Gasto máximo: %.2f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">max</span>(RATE)))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Gasto máximo: 6.00</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb17" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb17-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Gasto final: %.2f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">tail</span>(RATE, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Gasto final: 0.51</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb19" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb19-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">head</span>(data, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>   DAYS RATE
1     1  2.3
2     2  3.0
3     3  3.2
4     4  3.0
5     5  3.2
6     6  4.2
7     7  4.3
8     8  4.3
9     9  4.3
10   10  4.3</code></pre>
</div>
</div>
</div>
</div>
</div>
<p>El pozo muestra un periodo inicial de incremento (primeros ~17 días, posiblemente limpieza o apertura gradual) seguido de una declinación sostenida. Para el ajuste usaremos todos los datos, aunque en la práctica se podría filtrar el periodo transitorio inicial.</p>
</section>
<section id="visualización-de-los-datos" class="level2">
<h2 class="anchored" data-anchor-id="visualización-de-los-datos">Visualización de los Datos</h2>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-2-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-2-1" aria-controls="tabset-2-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-2-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-2-2" aria-controls="tabset-2-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-2-1" class="tab-pane active" aria-labelledby="tabset-2-1-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb21" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb21-1">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>))</span>
<span id="cb21-2">ax.scatter(DAYS, RATE, s<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.6</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2d8a4e'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Datos'</span>)</span>
<span id="cb21-3">ax.set_xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Tiempo (días)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb21-4">ax.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qg'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb21-5">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Datos de Producción'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>, fontweight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'bold'</span>)</span>
<span id="cb21-6">ax.legend(fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span>
<span id="cb21-7">ax.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb21-8">plt.tight_layout()</span>
<span id="cb21-9">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-rawdata-py" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-rawdata-py-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/index_files/figure-html/fig-rawdata-py-1.png" class="img-fluid figure-img" width="960">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-rawdata-py-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1: Datos de producción de gas. Se observa un periodo inicial de incremento seguido de declinación.
</figcaption>
</figure>
</div>
</div>
</div>
</div>
<div id="tabset-2-2" class="tab-pane" aria-labelledby="tabset-2-2-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb22" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb22-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(ggplot2)</span>
<span id="cb22-2"></span>
<span id="cb22-3"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(data, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> DAYS, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> RATE)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb22-4">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_point</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#2d8a4e"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.5</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">alpha =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.6</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb22-5">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Tiempo (días)"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Qg"</span>,</span>
<span id="cb22-6">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Datos de Producción"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb22-7">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb22-8">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">plot.title =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_text</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">face =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bold"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>))</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-rawdata-r" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-rawdata-r-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/index_files/figure-html/fig-rawdata-r-3.png" class="img-fluid figure-img" width="672">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-rawdata-r-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;2: Datos de producción de gas.
</figcaption>
</figure>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="ajuste-del-modelo-hiperbólico" class="level2">
<h2 class="anchored" data-anchor-id="ajuste-del-modelo-hiperbólico">Ajuste del Modelo Hiperbólico</h2>
<p>El modelo hiperbólico es el más general de los tres y tiene <strong>3 parámetros</strong> a estimar: <img src="https://latex.codecogs.com/png.latex?q_i">, <img src="https://latex.codecogs.com/png.latex?b"> y <img src="https://latex.codecogs.com/png.latex?D_i">. Usamos regresión no lineal para encontrar los valores que minimizan el error cuadrático.</p>
<p><img src="https://latex.codecogs.com/png.latex?q(t)%20=%20%5Cfrac%7Bq_i%7D%7B(1%20+%20bD_it)%5E%7B1/b%7D%7D"></p>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-3-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-3-1" aria-controls="tabset-3-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-3-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-3-2" aria-controls="tabset-3-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-3-1" class="tab-pane active" aria-labelledby="tabset-3-1-tab">
<p>En Python usamos <code>curve_fit()</code> del paquete <code>scipy.optimize</code>:</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb23" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb23-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Definir la función del modelo</span></span>
<span id="cb23-2"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> hyperbolic(t, qi, b, Di):</span>
<span id="cb23-3">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> qi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> ((<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> b <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Di <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> t) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span> (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>b))</span>
<span id="cb23-4"></span>
<span id="cb23-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Ajustar con curve_fit (regresión no lineal)</span></span>
<span id="cb23-6">coef_hyp, cov_hyp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> curve_fit(hyperbolic, DAYS, RATE,</span>
<span id="cb23-7">                               p0<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.5</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.01</span>],    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># valores iniciales</span></span>
<span id="cb23-8">                               maxfev<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10000</span>)</span>
<span id="cb23-9"></span>
<span id="cb23-10">qi_h, b_h, Di_h <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> coef_hyp</span>
<span id="cb23-11"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"qi = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qi_h<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qi = 5.2213</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb25" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb25-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"b  = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>b_h<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>b  = 0.5029</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb27" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb27-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Di = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>Di_h<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.6f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Di = 0.011202</code></pre>
</div>
</div>
</div>
<div id="tabset-3-2" class="tab-pane" aria-labelledby="tabset-3-2-tab">
<p>En R usamos <code>nls()</code> (nonlinear least squares):</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb29" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb29-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Ajustar modelo hiperbólico</span></span>
<span id="cb29-2">fit_hyp <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">nls</span>(RATE <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> qi <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> ((<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> b <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Di <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> DAYS)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>b)),</span>
<span id="cb29-3">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> data,</span>
<span id="cb29-4">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">start =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">qi =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">b =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.5</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">Di =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.01</span>),</span>
<span id="cb29-5">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">control =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">nls.control</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">maxiter =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span>))</span>
<span id="cb29-6"></span>
<span id="cb29-7">coef_hyp <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_hyp)</span>
<span id="cb29-8"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi = %.4f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, coef_hyp[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi"</span>]))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qi = 5.2212</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb31" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb31-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"b  = %.4f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, coef_hyp[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"b"</span>]))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>b  = 0.5029</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb33" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb33-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di = %.6f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, coef_hyp[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di"</span>]))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Di = 0.011202</code></pre>
</div>
</div>
</div>
</div>
</div>
<div class="callout callout-style-default callout-note callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Valores iniciales (p0 / start)
</div>
</div>
<div class="callout-body-container callout-body">
<p>La regresión no lineal requiere <strong>valores iniciales</strong> razonables para converger. Si el ajuste falla, prueba con diferentes semillas. Una buena estrategia: usar <img src="https://latex.codecogs.com/png.latex?q_i"> = gasto máximo observado, <img src="https://latex.codecogs.com/png.latex?b"> = 0.5 y <img src="https://latex.codecogs.com/png.latex?D_i"> = 0.01.</p>
</div>
</div>
</section>
<section id="ajuste-del-modelo-exponencial" class="level2">
<h2 class="anchored" data-anchor-id="ajuste-del-modelo-exponencial">Ajuste del Modelo Exponencial</h2>
<p>El exponencial tiene solo <strong>2 parámetros</strong> (<img src="https://latex.codecogs.com/png.latex?q_i"> y <img src="https://latex.codecogs.com/png.latex?D_i">) y asume declinación constante:</p>
<p><img src="https://latex.codecogs.com/png.latex?q(t)%20=%20q_i%20%5Ccdot%20e%5E%7B-D_i%20t%7D"></p>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-4-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-4-1" aria-controls="tabset-4-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-4-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-4-2" aria-controls="tabset-4-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-4-1" class="tab-pane active" aria-labelledby="tabset-4-1-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb35" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb35-1"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> exponential(t, qi, Di):</span>
<span id="cb35-2">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> qi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> np.exp(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>Di <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> t)</span>
<span id="cb35-3"></span>
<span id="cb35-4">coef_exp, cov_exp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> curve_fit(exponential, DAYS, RATE, p0<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.005</span>])</span>
<span id="cb35-5">qi_e, Di_e <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> coef_exp</span>
<span id="cb35-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"qi = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qi_e<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qi = 4.6442</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb37" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb37-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Di = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>Di_e<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.6f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Di = 0.006850</code></pre>
</div>
</div>
</div>
<div id="tabset-4-2" class="tab-pane" aria-labelledby="tabset-4-2-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb39" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb39-1">fit_exp <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">nls</span>(RATE <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> qi <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">exp</span>(<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>Di <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> DAYS),</span>
<span id="cb39-2">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> data,</span>
<span id="cb39-3">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">start =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">qi =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">Di =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.005</span>))</span>
<span id="cb39-4"></span>
<span id="cb39-5">coef_exp <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_exp)</span>
<span id="cb39-6"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi = %.4f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, coef_exp[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi"</span>]))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qi = 4.6442</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb41" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb41-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di = %.6f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, coef_exp[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di"</span>]))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Di = 0.006850</code></pre>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="ajuste-del-modelo-armónico" class="level2">
<h2 class="anchored" data-anchor-id="ajuste-del-modelo-armónico">Ajuste del Modelo Armónico</h2>
<p>El armónico también tiene <strong>2 parámetros</strong> y es el caso particular donde <img src="https://latex.codecogs.com/png.latex?b%20=%201">:</p>
<p><img src="https://latex.codecogs.com/png.latex?q(t)%20=%20%5Cfrac%7Bq_i%7D%7B1%20+%20D_it%7D"></p>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-5-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-5-1" aria-controls="tabset-5-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-5-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-5-2" aria-controls="tabset-5-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-5-1" class="tab-pane active" aria-labelledby="tabset-5-1-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb43" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb43-1"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> harmonic(t, qi, Di):</span>
<span id="cb43-2">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> qi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> Di <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> t)</span>
<span id="cb43-3"></span>
<span id="cb43-4">coef_har, cov_har <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> curve_fit(harmonic, DAYS, RATE, p0<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.01</span>])</span>
<span id="cb43-5">qi_a, Di_a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> coef_har</span>
<span id="cb43-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"qi = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qi_a<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qi = 5.6238</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb45" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb45-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Di = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>Di_a<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.6f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Di = 0.017930</code></pre>
</div>
</div>
</div>
<div id="tabset-5-2" class="tab-pane" aria-labelledby="tabset-5-2-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb47" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb47-1">fit_har <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">nls</span>(RATE <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> qi <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> Di <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> DAYS),</span>
<span id="cb47-2">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> data,</span>
<span id="cb47-3">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">start =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">qi =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">Di =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.01</span>))</span>
<span id="cb47-4"></span>
<span id="cb47-5">coef_har <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_har)</span>
<span id="cb47-6"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi = %.4f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, coef_har[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi"</span>]))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qi = 5.6239</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb49" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb49-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di = %.6f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, coef_har[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di"</span>]))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Di = 0.017931</code></pre>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="comparación-visual-de-los-3-modelos" class="level2">
<h2 class="anchored" data-anchor-id="comparación-visual-de-los-3-modelos">Comparación Visual de los 3 Modelos</h2>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-6-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-6-1" aria-controls="tabset-6-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-6-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-6-2" aria-controls="tabset-6-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-6-1" class="tab-pane active" aria-labelledby="tabset-6-1-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb51" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb51-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Predicciones</span></span>
<span id="cb51-2">hyp_pred <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> hyperbolic(DAYS, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>coef_hyp)</span>
<span id="cb51-3">exp_pred <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> exponential(DAYS, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>coef_exp)</span>
<span id="cb51-4">har_pred <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> harmonic(DAYS, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>coef_har)</span>
<span id="cb51-5"></span>
<span id="cb51-6">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>))</span>
<span id="cb51-7">ax.scatter(DAYS, RATE, s<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.4</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'gray'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Datos'</span>, zorder<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb51-8">ax.plot(DAYS, hyp_pred, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, lw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2.5</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2d8a4e'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Hiperbólico'</span>, zorder<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>)</span>
<span id="cb51-9">ax.plot(DAYS, exp_pred, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'--'</span>, lw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#c0392b'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Exponencial'</span>, zorder<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb51-10">ax.plot(DAYS, har_pred, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-.'</span>, lw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2980b9'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Armónico'</span>, zorder<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb51-11"></span>
<span id="cb51-12">ax.set_xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Tiempo (días)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb51-13">ax.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qg'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb51-14">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Ajuste de Curvas de Declinación — Modelos de Arps'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>, fontweight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'bold'</span>)</span>
<span id="cb51-15">ax.legend(fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)</span>
<span id="cb51-16">ax.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb51-17">plt.tight_layout()</span>
<span id="cb51-18">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-comparison-py" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-comparison-py-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/index_files/figure-html/fig-comparison-py-1.png" class="img-fluid figure-img" width="1152">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-comparison-py-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;3: Comparación de los 3 modelos de Arps ajustados a los datos de producción.
</figcaption>
</figure>
</div>
</div>
</div>
</div>
<div id="tabset-6-2" class="tab-pane" aria-labelledby="tabset-6-2-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb52" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb52-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Predicciones</span></span>
<span id="cb52-2">data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>hyp_pred <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">predict</span>(fit_hyp)</span>
<span id="cb52-3">data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>exp_pred <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">predict</span>(fit_exp)</span>
<span id="cb52-4">data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>har_pred <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">predict</span>(fit_har)</span>
<span id="cb52-5"></span>
<span id="cb52-6"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(data, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> DAYS)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb52-7">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_point</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> RATE), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gray"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">alpha =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.4</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb52-8">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> hyp_pred, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Hiperbólico"</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linewidth =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.2</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb52-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> exp_pred, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Exponencial"</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linewidth =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linetype =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dashed"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb52-10">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> har_pred, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Armónico"</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linewidth =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linetype =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dotdash"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb52-11">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_color_manual</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">values =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Hiperbólico"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#2d8a4e"</span>,</span>
<span id="cb52-12">                                 <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Exponencial"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#c0392b"</span>,</span>
<span id="cb52-13">                                 <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Armónico"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#2980b9"</span>)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb52-14">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Tiempo (días)"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Qg"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Modelo"</span>,</span>
<span id="cb52-15">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Ajuste de Curvas de Declinación — Modelos de Arps"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb52-16">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb52-17">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">plot.title =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_text</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">face =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bold"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>))</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-comparison-r" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-comparison-r-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/index_files/figure-html/fig-comparison-r-3.png" class="img-fluid figure-img" width="672">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-comparison-r-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;4: Comparación de los 3 modelos de Arps.
</figcaption>
</figure>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="pronóstico-y-eur" class="level2">
<h2 class="anchored" data-anchor-id="pronóstico-y-eur">Pronóstico y EUR</h2>
<p>La verdadera utilidad del DCA es <strong>pronosticar</strong> la producción futura y estimar las reservas recuperables (EUR). Extendemos los modelos hasta <strong>1,000 días</strong> (520 días más allá de los datos):</p>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-7-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-7-1" aria-controls="tabset-7-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-7-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-7-2" aria-controls="tabset-7-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-7-1" class="tab-pane active" aria-labelledby="tabset-7-1-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb53" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb53-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Pronóstico extendido</span></span>
<span id="cb53-2">t_forecast <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.arange(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1001</span>)</span>
<span id="cb53-3">hyp_fc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> hyperbolic(t_forecast, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>coef_hyp)</span>
<span id="cb53-4">exp_fc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> exponential(t_forecast, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>coef_exp)</span>
<span id="cb53-5">har_fc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> harmonic(t_forecast, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>coef_har)</span>
<span id="cb53-6"></span>
<span id="cb53-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># EUR (producción acumulada)</span></span>
<span id="cb53-8">EUR_hyp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(hyp_fc)</span>
<span id="cb53-9">EUR_exp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(exp_fc)</span>
<span id="cb53-10">EUR_har <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(har_fc)</span>
<span id="cb53-11"></span>
<span id="cb53-12">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>))</span>
<span id="cb53-13"></span>
<span id="cb53-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Zona de pronóstico</span></span>
<span id="cb53-15">ax.axvspan(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">480</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.08</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'orange'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Pronóstico'</span>)</span>
<span id="cb53-16"></span>
<span id="cb53-17">ax.scatter(DAYS, RATE, s<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.4</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'gray'</span>, zorder<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb53-18">ax.plot(t_forecast, hyp_fc, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, lw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2.5</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2d8a4e'</span>,</span>
<span id="cb53-19">        label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f'Hiperbólico (EUR=</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>EUR_hyp<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">)'</span>)</span>
<span id="cb53-20">ax.plot(t_forecast, exp_fc, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'--'</span>, lw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#c0392b'</span>,</span>
<span id="cb53-21">        label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f'Exponencial (EUR=</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>EUR_exp<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">)'</span>)</span>
<span id="cb53-22">ax.plot(t_forecast, har_fc, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-.'</span>, lw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2980b9'</span>,</span>
<span id="cb53-23">        label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f'Armónico (EUR=</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>EUR_har<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">)'</span>)</span>
<span id="cb53-24"></span>
<span id="cb53-25">ax.axvline(x<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">480</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'orange'</span>, ls<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">':'</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.5</span>)</span>
<span id="cb53-26">ax.set_xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Tiempo (días)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb53-27">ax.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qg'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb53-28">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Pronóstico de Producción y EUR'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>, fontweight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'bold'</span>)</span>
<span id="cb53-29">ax.legend(fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span>
<span id="cb53-30">ax.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb53-31">ax.set_xlim(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1050</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>(0.0, 1050.0)</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb55" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb55-1">plt.tight_layout()</span>
<span id="cb55-2">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-forecast-py" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-forecast-py-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/index_files/figure-html/fig-forecast-py-1.png" class="img-fluid figure-img" width="1152">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-forecast-py-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;5: Pronóstico de producción a 1,000 días con los 3 modelos. La zona sombreada es la extrapolación.
</figcaption>
</figure>
</div>
</div>
</div>
</div>
<div id="tabset-7-2" class="tab-pane" aria-labelledby="tabset-7-2-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb56" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb56-1">t_fc <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span></span>
<span id="cb56-2">qi_h <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_hyp)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi"</span>]; b_h <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_hyp)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"b"</span>]; Di_h <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_hyp)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di"</span>]</span>
<span id="cb56-3">qi_e <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_exp)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi"</span>]; Di_e <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_exp)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di"</span>]</span>
<span id="cb56-4">qi_a <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_har)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi"</span>]; Di_a <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_har)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di"</span>]</span>
<span id="cb56-5"></span>
<span id="cb56-6">fc <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">data.frame</span>(</span>
<span id="cb56-7">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">t =</span> t_fc,</span>
<span id="cb56-8">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">hyp =</span> qi_h <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> ((<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> b_h <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Di_h <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> t_fc)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>b_h)),</span>
<span id="cb56-9">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">exp =</span> qi_e <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">exp</span>(<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>Di_e <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> t_fc),</span>
<span id="cb56-10">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">har =</span> qi_a <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> Di_a <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> t_fc)</span>
<span id="cb56-11">)</span>
<span id="cb56-12"></span>
<span id="cb56-13">EUR_hyp <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>(fc<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>hyp)</span>
<span id="cb56-14">EUR_exp <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>(fc<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>exp)</span>
<span id="cb56-15">EUR_har <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>(fc<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>har)</span>
<span id="cb56-16"></span>
<span id="cb56-17"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EUR Hiperbólico: %.0f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, EUR_hyp))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>EUR Hiperbólico: 791</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb58" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb58-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EUR Exponencial: %.0f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, EUR_exp))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>EUR Exponencial: 675</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb60" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb60-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EUR Armónico:    %.0f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, EUR_har))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>EUR Armónico:    920</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb62" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb62-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(tidyr)</span>
<span id="cb62-2">fc_long <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">pivot_longer</span>(fc, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">cols =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(hyp, exp, har),</span>
<span id="cb62-3">                         <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">names_to =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Modelo"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">values_to =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Qg"</span>)</span>
<span id="cb62-4">fc_long<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Modelo <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">factor</span>(fc_long<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Modelo,</span>
<span id="cb62-5">                          <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">levels =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"hyp"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"exp"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"har"</span>),</span>
<span id="cb62-6">                          <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">labels =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Hiperbólico"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Exponencial"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Armónico"</span>))</span>
<span id="cb62-7"></span>
<span id="cb62-8"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb62-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">annotate</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"rect"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xmin =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">480</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xmax =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">ymin =</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">Inf</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">ymax =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">Inf</span>,</span>
<span id="cb62-10">           <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">alpha =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.08</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">fill =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"orange"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb62-11">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_point</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> data, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> DAYS, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> RATE), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gray"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">alpha =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.4</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb62-12">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> fc_long, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> t, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> Qg, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> Modelo, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linetype =</span> Modelo),</span>
<span id="cb62-13">            <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linewidth =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb62-14">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_color_manual</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">values =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Hiperbólico"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#2d8a4e"</span>,</span>
<span id="cb62-15">                                 <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Exponencial"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#c0392b"</span>,</span>
<span id="cb62-16">                                 <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Armónico"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#2980b9"</span>)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb62-17">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_vline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xintercept =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">480</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"orange"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linetype =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dotted"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">alpha =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.5</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb62-18">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Tiempo (días)"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Qg"</span>,</span>
<span id="cb62-19">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Pronóstico de Producción y EUR"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb62-20">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb62-21">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">plot.title =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_text</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">face =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bold"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>))</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-forecast-r" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-forecast-r-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/index_files/figure-html/fig-forecast-r-3.png" class="img-fluid figure-img" width="672">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-forecast-r-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;6: Pronóstico de producción a 1,000 días con los 3 modelos.
</figcaption>
</figure>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="tabla-resumen-de-resultados" class="level2">
<h2 class="anchored" data-anchor-id="tabla-resumen-de-resultados">Tabla Resumen de Resultados</h2>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-8-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-8-1" aria-controls="tabset-8-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-8-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-8-2" aria-controls="tabset-8-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-8-1" class="tab-pane active" aria-labelledby="tabset-8-1-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb63" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb63-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># R-cuadrado</span></span>
<span id="cb63-2">SS_res_hyp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>((RATE <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> hyp_pred)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb63-3">SS_res_exp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>((RATE <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> exp_pred)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb63-4">SS_res_har <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>((RATE <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> har_pred)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb63-5">SS_tot <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>((RATE <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> np.mean(RATE))<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb63-6"></span>
<span id="cb63-7">R2_hyp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> SS_res_hyp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> SS_tot</span>
<span id="cb63-8">R2_exp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> SS_res_exp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> SS_tot</span>
<span id="cb63-9">R2_har <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> SS_res_har <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> SS_tot</span>
<span id="cb63-10"></span>
<span id="cb63-11"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Parámetro'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&lt;15}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Exponencial'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Hiperbólico'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Armónico'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Parámetro          Exponencial    Hiperbólico       Armónico</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb65" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb65-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"-"</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">59</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>-----------------------------------------------------------</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb67" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb67-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'qi'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&lt;15}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qi_e<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qi_h<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qi_a<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qi                      4.6442         5.2213         5.6238</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb69" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb69-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'b'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&lt;15}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'0 (fijo)'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>b_h<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'1 (fijo)'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>b                     0 (fijo)         0.5029       1 (fijo)</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb71" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb71-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Di'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&lt;15}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>Di_e<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.6f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>Di_h<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.6f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>Di_a<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.6f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Di                    0.006850       0.011202       0.017930</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb73" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb73-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'R²'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&lt;15}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>R2_exp<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>R2_hyp<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>R2_har<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>R²                      0.8350         0.8600         0.8397</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb75" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb75-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'EUR (1000 d)'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&lt;15}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>EUR_exp<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>EUR_hyp<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>EUR_har<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>EUR (1000 d)               675            791            920</code></pre>
</div>
</div>
</div>
<div id="tabset-8-2" class="tab-pane" aria-labelledby="tabset-8-2-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb77" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb77-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># R-cuadrado</span></span>
<span id="cb77-2">SS_tot <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>((RATE <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mean</span>(RATE))<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb77-3">R2_hyp <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">residuals</span>(fit_hyp)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> SS_tot</span>
<span id="cb77-4">R2_exp <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">residuals</span>(fit_exp)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> SS_tot</span>
<span id="cb77-5">R2_har <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">residuals</span>(fit_har)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> SS_tot</span>
<span id="cb77-6"></span>
<span id="cb77-7">results <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">data.frame</span>(</span>
<span id="cb77-8">  Parámetro <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"b"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"R²"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EUR (1000 d)"</span>),</span>
<span id="cb77-9">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">Exponencial =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.4f"</span>, qi_e), <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"0 (fijo)"</span>,</span>
<span id="cb77-10">                  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.6f"</span>, Di_e), <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.4f"</span>, R2_exp),</span>
<span id="cb77-11">                  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.0f"</span>, EUR_exp)),</span>
<span id="cb77-12">  Hiperbólico <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.4f"</span>, qi_h), <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.4f"</span>, b_h),</span>
<span id="cb77-13">                  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.6f"</span>, Di_h), <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.4f"</span>, R2_hyp),</span>
<span id="cb77-14">                  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.0f"</span>, EUR_hyp)),</span>
<span id="cb77-15">  Armónico <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.4f"</span>, qi_a), <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"1 (fijo)"</span>,</span>
<span id="cb77-16">               <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.6f"</span>, Di_a), <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.4f"</span>, R2_har),</span>
<span id="cb77-17">               <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.0f"</span>, EUR_har))</span>
<span id="cb77-18">)</span>
<span id="cb77-19"></span>
<span id="cb77-20">knitr<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">kable</span>(results, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">caption =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Comparación de modelos de Arps"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">align =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lrrr'</span>)</span></code></pre></div>
</details>
<div class="cell-output-display">
<table class="caption-top table table-sm table-striped small">
<caption>Comparación de modelos de Arps</caption>
<thead>
<tr class="header">
<th style="text-align: left;">Parámetro</th>
<th style="text-align: right;">Exponencial</th>
<th style="text-align: right;">Hiperbólico</th>
<th style="text-align: right;">Armónico</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">qi</td>
<td style="text-align: right;">4.6442</td>
<td style="text-align: right;">5.2212</td>
<td style="text-align: right;">5.6239</td>
</tr>
<tr class="even">
<td style="text-align: left;">b</td>
<td style="text-align: right;">0 (fijo)</td>
<td style="text-align: right;">0.5029</td>
<td style="text-align: right;">1 (fijo)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Di</td>
<td style="text-align: right;">0.006850</td>
<td style="text-align: right;">0.011202</td>
<td style="text-align: right;">0.017931</td>
</tr>
<tr class="even">
<td style="text-align: left;">R²</td>
<td style="text-align: right;">0.8350</td>
<td style="text-align: right;">0.8600</td>
<td style="text-align: right;">0.8397</td>
</tr>
<tr class="odd">
<td style="text-align: left;">EUR (1000 d)</td>
<td style="text-align: right;">675</td>
<td style="text-align: right;">791</td>
<td style="text-align: right;">920</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<p><strong>Observaciones:</strong></p>
<ul>
<li>El modelo <strong>hiperbólico</strong> tiene el mejor R² (0.86) ya que tiene un parámetro más de libertad (<img src="https://latex.codecogs.com/png.latex?b">)</li>
<li>El valor ajustado de <img src="https://latex.codecogs.com/png.latex?b%20=%200.50"> es consistente con yacimientos de gas convencional (típicamente <img src="https://latex.codecogs.com/png.latex?b"> entre 0.3 y 0.7)</li>
<li>El <strong>exponencial</strong> es el más conservador: predice el menor EUR (675) y declina más rápido</li>
<li>El <strong>armónico</strong> es el más optimista: predice el mayor EUR (920) y declina más lento</li>
<li>La diferencia entre EUR exponencial y armónico es de <strong>~36%</strong> — esta incertidumbre es importante para la evaluación económica</li>
</ul>
<div class="callout callout-style-default callout-important callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Precaución con el pronóstico
</div>
</div>
<div class="callout-body-container callout-body">
<p>Los modelos de Arps son empíricos y la extrapolación más allá de los datos siempre tiene incertidumbre. Mientras más corto sea el historial, mayor la incertidumbre del pronóstico. Para yacimientos no convencionales (shale), los modelos de Arps con <img src="https://latex.codecogs.com/png.latex?b%20%3E%201"> pueden sobreestimar las reservas — en esos casos se recomienda usar modelos específicos como SEDM o Duong.</p>
</div>
</div>
</section>
<section id="descarga" class="level2">
<h2 class="anchored" data-anchor-id="descarga">Descarga</h2>
<ul>
<li>📥 <a href="REH_18.csv">REH_18.csv</a> — Datos de producción (480 días)</li>
</ul>
</section>
<section id="referencias" class="level2">
<h2 class="anchored" data-anchor-id="referencias">Referencias</h2>
<ul>
<li>Arps, J.J. (1945). Analysis of Decline Curves. <em>Transactions of the AIME</em>, 160(1), 228-247.</li>
<li>Ahmed, T. (2019). <em>Reservoir Engineering Handbook</em>, 5th ed.&nbsp;Gulf Professional Publishing.</li>
<li>Sun, H. (2015). <em>Advanced Production Decline Analysis and Application</em>. Gulf Professional Publishing.</li>
</ul>
<hr>
<div class="cell">
<div class="cell-output-display">
<div style="background:#fff;border:0.5px solid #ddd;border-left:4px solid #FFE600;border-radius:10px;padding:.9rem 1.1rem;display:flex;align-items:center;gap:.9rem;margin:1.5rem 0;font-family:sans-serif">
  <div style="background:#FFF9C4;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px">🛒</div>
  <div style="flex:1">
    <strong style="font-size:14px;color:#1a1a1a;font-weight:600">Propiedades De Los Fluidos Del Yacimiento</strong>
    <p style="font-size:12px;color:#666;margin:2px 0 0">Disponible en Mercado Libre</p>
  </div>
  <a href="https://meli.la/2QFWR5n" target="_blank" style="background:#FFE600;color:#333;font-size:12px;font-weight:700;padding:.4rem .9rem;border-radius:6px;text-decoration:none;white-space:nowrap;flex-shrink:0">
    Ver oferta →
  </a>
</div>
</div>
</div>
<hr>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>

 ]]></description>
  <category>Yacimientos</category>
  <category>DCA</category>
  <category>Python</category>
  <category>R</category>
  <guid>https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/index.knit.html</guid>
  <pubDate>Fri, 08 May 2026 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/preview.png" medium="image" type="image/png" height="82" width="144"/>
</item>
<item>
  <title>Ajuste de Curvas de Declinación con Python y R</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/</link>
  <description><![CDATA[ 




<section id="curvas-de-declinación-de-arps" class="level2">
<h2 class="anchored" data-anchor-id="curvas-de-declinación-de-arps">Curvas de Declinación de Arps</h2>
<p>El análisis de curvas de declinación (<strong>DCA</strong>, Decline Curve Analysis) es una de las herramientas más utilizadas para pronosticar producción y estimar reservas remanentes. Arps (1945) propuso tres modelos empíricos basados en la ecuación general:</p>
<p><img src="https://latex.codecogs.com/png.latex?q(t)%20=%20%5Cfrac%7Bq_i%7D%7B(1%20+%20bD_it)%5E%7B1/b%7D%7D"></p>
<p>Donde:</p>
<ul>
<li><img src="https://latex.codecogs.com/png.latex?q_i"> = gasto inicial (tasa al inicio de la declinación)</li>
<li><img src="https://latex.codecogs.com/png.latex?D_i"> = tasa de declinación inicial</li>
<li><img src="https://latex.codecogs.com/png.latex?b"> = exponente de declinación (<img src="https://latex.codecogs.com/png.latex?0%20%5Cleq%20b%20%5Cleq%201">)</li>
</ul>
<p>Los tres casos particulares son:</p>
<table class="caption-top table">
<thead>
<tr class="header">
<th>Modelo</th>
<th>Valor de b</th>
<th>Ecuación</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Exponencial</strong></td>
<td><img src="https://latex.codecogs.com/png.latex?b%20=%200"></td>
<td><img src="https://latex.codecogs.com/png.latex?q(t)%20=%20q_i%20%5Ccdot%20e%5E%7B-D_i%20t%7D"></td>
</tr>
<tr class="even">
<td><strong>Hiperbólico</strong></td>
<td><img src="https://latex.codecogs.com/png.latex?0%20%3C%20b%20%3C%201"></td>
<td><img src="https://latex.codecogs.com/png.latex?q(t)%20=%20q_i%20/%20(1%20+%20bD_it)%5E%7B1/b%7D"></td>
</tr>
<tr class="odd">
<td><strong>Armónico</strong></td>
<td><img src="https://latex.codecogs.com/png.latex?b%20=%201"></td>
<td><img src="https://latex.codecogs.com/png.latex?q(t)%20=%20q_i%20/%20(1%20+%20D_it)"></td>
</tr>
</tbody>
</table>
<div class="cell">
<div class="cell-output-display">
<div style="background:#1a2e1a;border-radius:10px;padding:.9rem 1.1rem;display:flex;align-items:center;gap:.9rem;border:1px solid #2d6a4f;margin:1.5rem 0;font-family:sans-serif">
  <div style="width:40px;height:40px;background:#ff0000;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0">
    <svg width="18" height="18" viewbox="0 0 24 24" fill="white"><path d="M23 7s-.3-2-1.2-2.8c-1.1-1.2-2.4-1.2-3-1.3C16.4 2.8 12 2.8 12 2.8s-4.4 0-6.8.1c-.6.1-1.9.1-3 1.3C1.3 5 1 7 1 7S.8 9.1.8 11.3v2c0 2.2.2 4.3.2 4.3s.3 2 1.2 2.8c1.1 1.2 2.6 1.1 3.3 1.2C7.5 21.8 12 21.8 12 21.8s4.4 0 6.8-.2c.6-.1 1.9-.1 3-1.3.9-.8 1.2-2.8 1.2-2.8s.2-2.1.2-4.3v-2C23.2 9.1 23 7 23 7zm-13.5 8.8V8.2l8.1 3.8-8.1 3.8z"></path></svg>
  </div>
  <div style="flex:1">
    <strong style="font-size:14px;color:#ffffff;font-weight:600">Visita el canal @rigopetrodata</strong>
    <p style="font-size:12px;color:#b7d4c7;margin:2px 0 0">Tutoriales de R, Python y Excel para ingeniería petrolera</p>
  </div>
  <a href="https://www.youtube.com/@rigopetrodata" target="_blank" style="background:#ff0000;color:white;font-size:12px;font-weight:600;padding:.4rem .9rem;border-radius:6px;text-decoration:none;white-space:nowrap;flex-shrink:0">
    Ver canal
  </a>
</div>
</div>
</div>
<p>: Modelos de declinación de Arps. {.striped}</p>
<div class="callout callout-style-default callout-tip callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
¿Cuál modelo usar?
</div>
</div>
<div class="callout-body-container callout-body">
<p>El exponencial es el más conservador (declina más rápido), el armónico el más optimista (declina más lento), y el hiperbólico es intermedio. En la práctica, se ajustan los tres y se comparan para tomar la mejor decisión.</p>
</div>
</div>
</section>
<section id="los-datos" class="level2">
<h2 class="anchored" data-anchor-id="los-datos">Los Datos</h2>
<p>Trabajamos con datos de producción de gas de un pozo real con <strong>480 días</strong> de historial:</p>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-1-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-1-1" aria-controls="tabset-1-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-1-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-1-2" aria-controls="tabset-1-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-1-1" class="tab-pane active" aria-labelledby="tabset-1-1-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb1-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb1-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb1-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> scipy.optimize <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> curve_fit</span>
<span id="cb1-5"></span>
<span id="cb1-6">data <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.read_csv(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'REH_18.csv'</span>)</span>
<span id="cb1-7">DAYS <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> data[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'DAYS'</span>].values</span>
<span id="cb1-8">RATE <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> data[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'RATE'</span>].values</span>
<span id="cb1-9"></span>
<span id="cb1-10"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Registros: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(data)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Registros: 480</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Rango de días: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>DAYS<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">min</span>()<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> - </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>DAYS<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">max</span>()<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Rango de días: 1 - 480</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Gasto máximo: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>RATE<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">max</span>()<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Gasto máximo: 6.00</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Gasto final: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>RATE[<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Gasto final: 0.51</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(data.head(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>   DAYS  RATE
0     1   2.3
1     2   3.0
2     3   3.2
3     4   3.0
4     5   3.2
5     6   4.2
6     7   4.3
7     8   4.3
8     9   4.3
9    10   4.3</code></pre>
</div>
</div>
</div>
<div id="tabset-1-2" class="tab-pane" aria-labelledby="tabset-1-2-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb11-1">data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">read.csv</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'REH_18.csv'</span>)</span>
<span id="cb11-2">DAYS <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>DAYS</span>
<span id="cb11-3">RATE <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>RATE</span>
<span id="cb11-4"></span>
<span id="cb11-5"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Registros: %d</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">nrow</span>(data)))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Registros: 480</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb13" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb13-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Rango de días: %d - %d</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">min</span>(DAYS), <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">max</span>(DAYS)))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Rango de días: 1 - 480</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb15" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb15-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Gasto máximo: %.2f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">max</span>(RATE)))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Gasto máximo: 6.00</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb17" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb17-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Gasto final: %.2f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">tail</span>(RATE, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Gasto final: 0.51</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb19" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb19-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">head</span>(data, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>   DAYS RATE
1     1  2.3
2     2  3.0
3     3  3.2
4     4  3.0
5     5  3.2
6     6  4.2
7     7  4.3
8     8  4.3
9     9  4.3
10   10  4.3</code></pre>
</div>
</div>
</div>
</div>
</div>
<p>El pozo muestra un periodo inicial de incremento (primeros ~17 días, posiblemente limpieza o apertura gradual) seguido de una declinación sostenida. Para el ajuste usaremos todos los datos, aunque en la práctica se podría filtrar el periodo transitorio inicial.</p>
</section>
<section id="visualización-de-los-datos" class="level2">
<h2 class="anchored" data-anchor-id="visualización-de-los-datos">Visualización de los Datos</h2>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-2-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-2-1" aria-controls="tabset-2-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-2-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-2-2" aria-controls="tabset-2-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-2-1" class="tab-pane active" aria-labelledby="tabset-2-1-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb21" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb21-1">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>))</span>
<span id="cb21-2">ax.scatter(DAYS, RATE, s<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.6</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2d8a4e'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Datos'</span>)</span>
<span id="cb21-3">ax.set_xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Tiempo (días)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb21-4">ax.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qg'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb21-5">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Datos de Producción'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>, fontweight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'bold'</span>)</span>
<span id="cb21-6">ax.legend(fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span>
<span id="cb21-7">ax.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb21-8">plt.tight_layout()</span>
<span id="cb21-9">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-rawdata-py" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-rawdata-py-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/index_files/figure-html/fig-rawdata-py-1.png" class="img-fluid figure-img" width="960">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-rawdata-py-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1: Datos de producción de gas. Se observa un periodo inicial de incremento seguido de declinación.
</figcaption>
</figure>
</div>
</div>
</div>
</div>
<div id="tabset-2-2" class="tab-pane" aria-labelledby="tabset-2-2-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb22" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb22-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(ggplot2)</span>
<span id="cb22-2"></span>
<span id="cb22-3"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(data, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> DAYS, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> RATE)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb22-4">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_point</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#2d8a4e"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.5</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">alpha =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.6</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb22-5">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Tiempo (días)"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Qg"</span>,</span>
<span id="cb22-6">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Datos de Producción"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb22-7">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb22-8">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">plot.title =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_text</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">face =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bold"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>))</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-rawdata-r" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-rawdata-r-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/index_files/figure-html/fig-rawdata-r-3.png" class="img-fluid figure-img" width="672">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-rawdata-r-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;2: Datos de producción de gas.
</figcaption>
</figure>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="ajuste-del-modelo-hiperbólico" class="level2">
<h2 class="anchored" data-anchor-id="ajuste-del-modelo-hiperbólico">Ajuste del Modelo Hiperbólico</h2>
<p>El modelo hiperbólico es el más general de los tres y tiene <strong>3 parámetros</strong> a estimar: <img src="https://latex.codecogs.com/png.latex?q_i">, <img src="https://latex.codecogs.com/png.latex?b"> y <img src="https://latex.codecogs.com/png.latex?D_i">. Usamos regresión no lineal para encontrar los valores que minimizan el error cuadrático.</p>
<p><img src="https://latex.codecogs.com/png.latex?q(t)%20=%20%5Cfrac%7Bq_i%7D%7B(1%20+%20bD_it)%5E%7B1/b%7D%7D"></p>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-3-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-3-1" aria-controls="tabset-3-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-3-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-3-2" aria-controls="tabset-3-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-3-1" class="tab-pane active" aria-labelledby="tabset-3-1-tab">
<p>En Python usamos <code>curve_fit()</code> del paquete <code>scipy.optimize</code>:</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb23" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb23-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Definir la función del modelo</span></span>
<span id="cb23-2"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> hyperbolic(t, qi, b, Di):</span>
<span id="cb23-3">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> qi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> ((<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> b <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Di <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> t) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span> (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>b))</span>
<span id="cb23-4"></span>
<span id="cb23-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Ajustar con curve_fit (regresión no lineal)</span></span>
<span id="cb23-6">coef_hyp, cov_hyp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> curve_fit(hyperbolic, DAYS, RATE,</span>
<span id="cb23-7">                               p0<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.5</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.01</span>],    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># valores iniciales</span></span>
<span id="cb23-8">                               maxfev<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10000</span>)</span>
<span id="cb23-9"></span>
<span id="cb23-10">qi_h, b_h, Di_h <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> coef_hyp</span>
<span id="cb23-11"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"qi = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qi_h<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qi = 5.2213</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb25" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb25-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"b  = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>b_h<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>b  = 0.5029</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb27" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb27-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Di = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>Di_h<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.6f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Di = 0.011202</code></pre>
</div>
</div>
</div>
<div id="tabset-3-2" class="tab-pane" aria-labelledby="tabset-3-2-tab">
<p>En R usamos <code>nls()</code> (nonlinear least squares):</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb29" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb29-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Ajustar modelo hiperbólico</span></span>
<span id="cb29-2">fit_hyp <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">nls</span>(RATE <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> qi <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> ((<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> b <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Di <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> DAYS)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>b)),</span>
<span id="cb29-3">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> data,</span>
<span id="cb29-4">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">start =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">qi =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">b =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.5</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">Di =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.01</span>),</span>
<span id="cb29-5">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">control =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">nls.control</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">maxiter =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span>))</span>
<span id="cb29-6"></span>
<span id="cb29-7">coef_hyp <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_hyp)</span>
<span id="cb29-8"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi = %.4f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, coef_hyp[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi"</span>]))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qi = 5.2212</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb31" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb31-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"b  = %.4f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, coef_hyp[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"b"</span>]))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>b  = 0.5029</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb33" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb33-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di = %.6f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, coef_hyp[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di"</span>]))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Di = 0.011202</code></pre>
</div>
</div>
</div>
</div>
</div>
<div class="callout callout-style-default callout-note callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Valores iniciales (p0 / start)
</div>
</div>
<div class="callout-body-container callout-body">
<p>La regresión no lineal requiere <strong>valores iniciales</strong> razonables para converger. Si el ajuste falla, prueba con diferentes semillas. Una buena estrategia: usar <img src="https://latex.codecogs.com/png.latex?q_i"> = gasto máximo observado, <img src="https://latex.codecogs.com/png.latex?b"> = 0.5 y <img src="https://latex.codecogs.com/png.latex?D_i"> = 0.01.</p>
</div>
</div>
</section>
<section id="ajuste-del-modelo-exponencial" class="level2">
<h2 class="anchored" data-anchor-id="ajuste-del-modelo-exponencial">Ajuste del Modelo Exponencial</h2>
<p>El exponencial tiene solo <strong>2 parámetros</strong> (<img src="https://latex.codecogs.com/png.latex?q_i"> y <img src="https://latex.codecogs.com/png.latex?D_i">) y asume declinación constante:</p>
<p><img src="https://latex.codecogs.com/png.latex?q(t)%20=%20q_i%20%5Ccdot%20e%5E%7B-D_i%20t%7D"></p>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-4-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-4-1" aria-controls="tabset-4-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-4-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-4-2" aria-controls="tabset-4-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-4-1" class="tab-pane active" aria-labelledby="tabset-4-1-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb35" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb35-1"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> exponential(t, qi, Di):</span>
<span id="cb35-2">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> qi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> np.exp(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>Di <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> t)</span>
<span id="cb35-3"></span>
<span id="cb35-4">coef_exp, cov_exp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> curve_fit(exponential, DAYS, RATE, p0<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.005</span>])</span>
<span id="cb35-5">qi_e, Di_e <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> coef_exp</span>
<span id="cb35-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"qi = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qi_e<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qi = 4.6442</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb37" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb37-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Di = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>Di_e<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.6f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Di = 0.006850</code></pre>
</div>
</div>
</div>
<div id="tabset-4-2" class="tab-pane" aria-labelledby="tabset-4-2-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb39" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb39-1">fit_exp <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">nls</span>(RATE <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> qi <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">exp</span>(<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>Di <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> DAYS),</span>
<span id="cb39-2">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> data,</span>
<span id="cb39-3">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">start =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">qi =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">Di =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.005</span>))</span>
<span id="cb39-4"></span>
<span id="cb39-5">coef_exp <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_exp)</span>
<span id="cb39-6"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi = %.4f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, coef_exp[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi"</span>]))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qi = 4.6442</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb41" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb41-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di = %.6f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, coef_exp[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di"</span>]))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Di = 0.006850</code></pre>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="ajuste-del-modelo-armónico" class="level2">
<h2 class="anchored" data-anchor-id="ajuste-del-modelo-armónico">Ajuste del Modelo Armónico</h2>
<p>El armónico también tiene <strong>2 parámetros</strong> y es el caso particular donde <img src="https://latex.codecogs.com/png.latex?b%20=%201">:</p>
<p><img src="https://latex.codecogs.com/png.latex?q(t)%20=%20%5Cfrac%7Bq_i%7D%7B1%20+%20D_it%7D"></p>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-5-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-5-1" aria-controls="tabset-5-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-5-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-5-2" aria-controls="tabset-5-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-5-1" class="tab-pane active" aria-labelledby="tabset-5-1-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb43" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb43-1"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> harmonic(t, qi, Di):</span>
<span id="cb43-2">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> qi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> Di <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> t)</span>
<span id="cb43-3"></span>
<span id="cb43-4">coef_har, cov_har <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> curve_fit(harmonic, DAYS, RATE, p0<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.01</span>])</span>
<span id="cb43-5">qi_a, Di_a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> coef_har</span>
<span id="cb43-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"qi = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qi_a<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qi = 5.6238</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb45" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb45-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Di = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>Di_a<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.6f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Di = 0.017930</code></pre>
</div>
</div>
</div>
<div id="tabset-5-2" class="tab-pane" aria-labelledby="tabset-5-2-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb47" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb47-1">fit_har <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">nls</span>(RATE <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> qi <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> Di <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> DAYS),</span>
<span id="cb47-2">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> data,</span>
<span id="cb47-3">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">start =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">qi =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">Di =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.01</span>))</span>
<span id="cb47-4"></span>
<span id="cb47-5">coef_har <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_har)</span>
<span id="cb47-6"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi = %.4f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, coef_har[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi"</span>]))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qi = 5.6239</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb49" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb49-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di = %.6f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, coef_har[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di"</span>]))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Di = 0.017931</code></pre>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="comparación-visual-de-los-3-modelos" class="level2">
<h2 class="anchored" data-anchor-id="comparación-visual-de-los-3-modelos">Comparación Visual de los 3 Modelos</h2>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-6-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-6-1" aria-controls="tabset-6-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-6-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-6-2" aria-controls="tabset-6-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-6-1" class="tab-pane active" aria-labelledby="tabset-6-1-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb51" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb51-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Predicciones</span></span>
<span id="cb51-2">hyp_pred <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> hyperbolic(DAYS, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>coef_hyp)</span>
<span id="cb51-3">exp_pred <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> exponential(DAYS, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>coef_exp)</span>
<span id="cb51-4">har_pred <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> harmonic(DAYS, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>coef_har)</span>
<span id="cb51-5"></span>
<span id="cb51-6">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>))</span>
<span id="cb51-7">ax.scatter(DAYS, RATE, s<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.4</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'gray'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Datos'</span>, zorder<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb51-8">ax.plot(DAYS, hyp_pred, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, lw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2.5</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2d8a4e'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Hiperbólico'</span>, zorder<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>)</span>
<span id="cb51-9">ax.plot(DAYS, exp_pred, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'--'</span>, lw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#c0392b'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Exponencial'</span>, zorder<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb51-10">ax.plot(DAYS, har_pred, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-.'</span>, lw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2980b9'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Armónico'</span>, zorder<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb51-11"></span>
<span id="cb51-12">ax.set_xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Tiempo (días)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb51-13">ax.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qg'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb51-14">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Ajuste de Curvas de Declinación — Modelos de Arps'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>, fontweight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'bold'</span>)</span>
<span id="cb51-15">ax.legend(fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)</span>
<span id="cb51-16">ax.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb51-17">plt.tight_layout()</span>
<span id="cb51-18">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-comparison-py" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-comparison-py-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/index_files/figure-html/fig-comparison-py-1.png" class="img-fluid figure-img" width="1152">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-comparison-py-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;3: Comparación de los 3 modelos de Arps ajustados a los datos de producción.
</figcaption>
</figure>
</div>
</div>
</div>
</div>
<div id="tabset-6-2" class="tab-pane" aria-labelledby="tabset-6-2-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb52" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb52-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Predicciones</span></span>
<span id="cb52-2">data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>hyp_pred <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">predict</span>(fit_hyp)</span>
<span id="cb52-3">data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>exp_pred <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">predict</span>(fit_exp)</span>
<span id="cb52-4">data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>har_pred <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">predict</span>(fit_har)</span>
<span id="cb52-5"></span>
<span id="cb52-6"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(data, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> DAYS)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb52-7">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_point</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> RATE), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gray"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">alpha =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.4</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb52-8">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> hyp_pred, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Hiperbólico"</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linewidth =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.2</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb52-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> exp_pred, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Exponencial"</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linewidth =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linetype =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dashed"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb52-10">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> har_pred, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Armónico"</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linewidth =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linetype =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dotdash"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb52-11">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_color_manual</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">values =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Hiperbólico"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#2d8a4e"</span>,</span>
<span id="cb52-12">                                 <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Exponencial"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#c0392b"</span>,</span>
<span id="cb52-13">                                 <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Armónico"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#2980b9"</span>)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb52-14">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Tiempo (días)"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Qg"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Modelo"</span>,</span>
<span id="cb52-15">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Ajuste de Curvas de Declinación — Modelos de Arps"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb52-16">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb52-17">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">plot.title =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_text</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">face =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bold"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>))</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-comparison-r" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-comparison-r-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/index_files/figure-html/fig-comparison-r-3.png" class="img-fluid figure-img" width="672">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-comparison-r-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;4: Comparación de los 3 modelos de Arps.
</figcaption>
</figure>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="pronóstico-y-eur" class="level2">
<h2 class="anchored" data-anchor-id="pronóstico-y-eur">Pronóstico y EUR</h2>
<p>La verdadera utilidad del DCA es <strong>pronosticar</strong> la producción futura y estimar las reservas recuperables (EUR). Extendemos los modelos hasta <strong>1,000 días</strong> (520 días más allá de los datos):</p>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-7-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-7-1" aria-controls="tabset-7-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-7-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-7-2" aria-controls="tabset-7-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-7-1" class="tab-pane active" aria-labelledby="tabset-7-1-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb53" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb53-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Pronóstico extendido</span></span>
<span id="cb53-2">t_forecast <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.arange(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1001</span>)</span>
<span id="cb53-3">hyp_fc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> hyperbolic(t_forecast, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>coef_hyp)</span>
<span id="cb53-4">exp_fc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> exponential(t_forecast, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>coef_exp)</span>
<span id="cb53-5">har_fc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> harmonic(t_forecast, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>coef_har)</span>
<span id="cb53-6"></span>
<span id="cb53-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># EUR (producción acumulada)</span></span>
<span id="cb53-8">EUR_hyp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(hyp_fc)</span>
<span id="cb53-9">EUR_exp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(exp_fc)</span>
<span id="cb53-10">EUR_har <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>(har_fc)</span>
<span id="cb53-11"></span>
<span id="cb53-12">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>))</span>
<span id="cb53-13"></span>
<span id="cb53-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Zona de pronóstico</span></span>
<span id="cb53-15">ax.axvspan(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">480</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.08</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'orange'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Pronóstico'</span>)</span>
<span id="cb53-16"></span>
<span id="cb53-17">ax.scatter(DAYS, RATE, s<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.4</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'gray'</span>, zorder<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb53-18">ax.plot(t_forecast, hyp_fc, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, lw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2.5</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2d8a4e'</span>,</span>
<span id="cb53-19">        label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f'Hiperbólico (EUR=</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>EUR_hyp<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">)'</span>)</span>
<span id="cb53-20">ax.plot(t_forecast, exp_fc, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'--'</span>, lw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#c0392b'</span>,</span>
<span id="cb53-21">        label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f'Exponencial (EUR=</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>EUR_exp<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">)'</span>)</span>
<span id="cb53-22">ax.plot(t_forecast, har_fc, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-.'</span>, lw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2980b9'</span>,</span>
<span id="cb53-23">        label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f'Armónico (EUR=</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>EUR_har<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">)'</span>)</span>
<span id="cb53-24"></span>
<span id="cb53-25">ax.axvline(x<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">480</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'orange'</span>, ls<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">':'</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.5</span>)</span>
<span id="cb53-26">ax.set_xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Tiempo (días)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb53-27">ax.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qg'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb53-28">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Pronóstico de Producción y EUR'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>, fontweight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'bold'</span>)</span>
<span id="cb53-29">ax.legend(fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span>
<span id="cb53-30">ax.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb53-31">ax.set_xlim(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1050</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>(0.0, 1050.0)</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb55" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb55-1">plt.tight_layout()</span>
<span id="cb55-2">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-forecast-py" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-forecast-py-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/index_files/figure-html/fig-forecast-py-1.png" class="img-fluid figure-img" width="1152">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-forecast-py-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;5: Pronóstico de producción a 1,000 días con los 3 modelos. La zona sombreada es la extrapolación.
</figcaption>
</figure>
</div>
</div>
</div>
</div>
<div id="tabset-7-2" class="tab-pane" aria-labelledby="tabset-7-2-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb56" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb56-1">t_fc <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span></span>
<span id="cb56-2">qi_h <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_hyp)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi"</span>]; b_h <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_hyp)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"b"</span>]; Di_h <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_hyp)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di"</span>]</span>
<span id="cb56-3">qi_e <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_exp)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi"</span>]; Di_e <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_exp)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di"</span>]</span>
<span id="cb56-4">qi_a <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_har)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi"</span>]; Di_a <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">coef</span>(fit_har)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di"</span>]</span>
<span id="cb56-5"></span>
<span id="cb56-6">fc <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">data.frame</span>(</span>
<span id="cb56-7">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">t =</span> t_fc,</span>
<span id="cb56-8">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">hyp =</span> qi_h <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> ((<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> b_h <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Di_h <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> t_fc)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>b_h)),</span>
<span id="cb56-9">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">exp =</span> qi_e <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">exp</span>(<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>Di_e <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> t_fc),</span>
<span id="cb56-10">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">har =</span> qi_a <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> Di_a <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> t_fc)</span>
<span id="cb56-11">)</span>
<span id="cb56-12"></span>
<span id="cb56-13">EUR_hyp <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>(fc<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>hyp)</span>
<span id="cb56-14">EUR_exp <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>(fc<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>exp)</span>
<span id="cb56-15">EUR_har <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>(fc<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>har)</span>
<span id="cb56-16"></span>
<span id="cb56-17"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EUR Hiperbólico: %.0f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, EUR_hyp))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>EUR Hiperbólico: 791</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb58" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb58-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EUR Exponencial: %.0f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, EUR_exp))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>EUR Exponencial: 675</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb60" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb60-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EUR Armónico:    %.0f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, EUR_har))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>EUR Armónico:    920</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb62" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb62-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(tidyr)</span>
<span id="cb62-2">fc_long <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">pivot_longer</span>(fc, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">cols =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(hyp, exp, har),</span>
<span id="cb62-3">                         <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">names_to =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Modelo"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">values_to =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Qg"</span>)</span>
<span id="cb62-4">fc_long<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Modelo <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">factor</span>(fc_long<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Modelo,</span>
<span id="cb62-5">                          <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">levels =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"hyp"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"exp"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"har"</span>),</span>
<span id="cb62-6">                          <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">labels =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Hiperbólico"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Exponencial"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Armónico"</span>))</span>
<span id="cb62-7"></span>
<span id="cb62-8"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb62-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">annotate</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"rect"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xmin =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">480</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xmax =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">ymin =</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">Inf</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">ymax =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">Inf</span>,</span>
<span id="cb62-10">           <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">alpha =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.08</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">fill =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"orange"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb62-11">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_point</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> data, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> DAYS, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> RATE), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gray"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">alpha =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.4</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb62-12">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> fc_long, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> t, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> Qg, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> Modelo, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linetype =</span> Modelo),</span>
<span id="cb62-13">            <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linewidth =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb62-14">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_color_manual</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">values =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Hiperbólico"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#2d8a4e"</span>,</span>
<span id="cb62-15">                                 <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Exponencial"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#c0392b"</span>,</span>
<span id="cb62-16">                                 <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Armónico"</span> <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#2980b9"</span>)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb62-17">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_vline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xintercept =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">480</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"orange"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linetype =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dotted"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">alpha =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.5</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb62-18">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Tiempo (días)"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Qg"</span>,</span>
<span id="cb62-19">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Pronóstico de Producción y EUR"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb62-20">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb62-21">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">plot.title =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_text</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">face =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bold"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>))</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-forecast-r" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-forecast-r-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/index_files/figure-html/fig-forecast-r-3.png" class="img-fluid figure-img" width="672">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-forecast-r-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;6: Pronóstico de producción a 1,000 días con los 3 modelos.
</figcaption>
</figure>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="tabla-resumen-de-resultados" class="level2">
<h2 class="anchored" data-anchor-id="tabla-resumen-de-resultados">Tabla Resumen de Resultados</h2>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-8-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-8-1" aria-controls="tabset-8-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-8-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-8-2" aria-controls="tabset-8-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-8-1" class="tab-pane active" aria-labelledby="tabset-8-1-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb63" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb63-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># R-cuadrado</span></span>
<span id="cb63-2">SS_res_hyp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>((RATE <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> hyp_pred)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb63-3">SS_res_exp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>((RATE <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> exp_pred)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb63-4">SS_res_har <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>((RATE <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> har_pred)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb63-5">SS_tot <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>((RATE <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> np.mean(RATE))<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb63-6"></span>
<span id="cb63-7">R2_hyp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> SS_res_hyp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> SS_tot</span>
<span id="cb63-8">R2_exp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> SS_res_exp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> SS_tot</span>
<span id="cb63-9">R2_har <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> SS_res_har <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> SS_tot</span>
<span id="cb63-10"></span>
<span id="cb63-11"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Parámetro'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&lt;15}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Exponencial'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Hiperbólico'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Armónico'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Parámetro          Exponencial    Hiperbólico       Armónico</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb65" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb65-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"-"</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">59</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>-----------------------------------------------------------</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb67" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb67-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'qi'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&lt;15}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qi_e<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qi_h<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qi_a<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qi                      4.6442         5.2213         5.6238</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb69" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb69-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'b'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&lt;15}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'0 (fijo)'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>b_h<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'1 (fijo)'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>b                     0 (fijo)         0.5029       1 (fijo)</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb71" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb71-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Di'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&lt;15}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>Di_e<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.6f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>Di_h<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.6f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>Di_a<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.6f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>Di                    0.006850       0.011202       0.017930</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb73" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb73-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'R²'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&lt;15}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>R2_exp<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>R2_hyp<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>R2_har<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>R²                      0.8350         0.8600         0.8397</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb75" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb75-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'EUR (1000 d)'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&lt;15}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>EUR_exp<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>EUR_hyp<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>EUR_har<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;14.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>EUR (1000 d)               675            791            920</code></pre>
</div>
</div>
</div>
<div id="tabset-8-2" class="tab-pane" aria-labelledby="tabset-8-2-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb77" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb77-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># R-cuadrado</span></span>
<span id="cb77-2">SS_tot <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>((RATE <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mean</span>(RATE))<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb77-3">R2_hyp <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">residuals</span>(fit_hyp)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> SS_tot</span>
<span id="cb77-4">R2_exp <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">residuals</span>(fit_exp)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> SS_tot</span>
<span id="cb77-5">R2_har <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">residuals</span>(fit_har)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> SS_tot</span>
<span id="cb77-6"></span>
<span id="cb77-7">results <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">data.frame</span>(</span>
<span id="cb77-8">  Parámetro <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qi"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"b"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Di"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"R²"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"EUR (1000 d)"</span>),</span>
<span id="cb77-9">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">Exponencial =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.4f"</span>, qi_e), <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"0 (fijo)"</span>,</span>
<span id="cb77-10">                  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.6f"</span>, Di_e), <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.4f"</span>, R2_exp),</span>
<span id="cb77-11">                  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.0f"</span>, EUR_exp)),</span>
<span id="cb77-12">  Hiperbólico <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.4f"</span>, qi_h), <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.4f"</span>, b_h),</span>
<span id="cb77-13">                  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.6f"</span>, Di_h), <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.4f"</span>, R2_hyp),</span>
<span id="cb77-14">                  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.0f"</span>, EUR_hyp)),</span>
<span id="cb77-15">  Armónico <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.4f"</span>, qi_a), <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"1 (fijo)"</span>,</span>
<span id="cb77-16">               <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.6f"</span>, Di_a), <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.4f"</span>, R2_har),</span>
<span id="cb77-17">               <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%.0f"</span>, EUR_har))</span>
<span id="cb77-18">)</span>
<span id="cb77-19"></span>
<span id="cb77-20">knitr<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">kable</span>(results, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">caption =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Comparación de modelos de Arps"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">align =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lrrr'</span>)</span></code></pre></div>
</details>
<div class="cell-output-display">
<table class="caption-top table table-sm table-striped small">
<caption>Comparación de modelos de Arps</caption>
<thead>
<tr class="header">
<th style="text-align: left;">Parámetro</th>
<th style="text-align: right;">Exponencial</th>
<th style="text-align: right;">Hiperbólico</th>
<th style="text-align: right;">Armónico</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">qi</td>
<td style="text-align: right;">4.6442</td>
<td style="text-align: right;">5.2212</td>
<td style="text-align: right;">5.6239</td>
</tr>
<tr class="even">
<td style="text-align: left;">b</td>
<td style="text-align: right;">0 (fijo)</td>
<td style="text-align: right;">0.5029</td>
<td style="text-align: right;">1 (fijo)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Di</td>
<td style="text-align: right;">0.006850</td>
<td style="text-align: right;">0.011202</td>
<td style="text-align: right;">0.017931</td>
</tr>
<tr class="even">
<td style="text-align: left;">R²</td>
<td style="text-align: right;">0.8350</td>
<td style="text-align: right;">0.8600</td>
<td style="text-align: right;">0.8397</td>
</tr>
<tr class="odd">
<td style="text-align: left;">EUR (1000 d)</td>
<td style="text-align: right;">675</td>
<td style="text-align: right;">791</td>
<td style="text-align: right;">920</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<p><strong>Observaciones:</strong></p>
<ul>
<li>El modelo <strong>hiperbólico</strong> tiene el mejor R² (0.86) ya que tiene un parámetro más de libertad (<img src="https://latex.codecogs.com/png.latex?b">)</li>
<li>El valor ajustado de <img src="https://latex.codecogs.com/png.latex?b%20=%200.50"> es consistente con yacimientos de gas convencional (típicamente <img src="https://latex.codecogs.com/png.latex?b"> entre 0.3 y 0.7)</li>
<li>El <strong>exponencial</strong> es el más conservador: predice el menor EUR (675) y declina más rápido</li>
<li>El <strong>armónico</strong> es el más optimista: predice el mayor EUR (920) y declina más lento</li>
<li>La diferencia entre EUR exponencial y armónico es de <strong>~36%</strong> — esta incertidumbre es importante para la evaluación económica</li>
</ul>
<div class="callout callout-style-default callout-important callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Precaución con el pronóstico
</div>
</div>
<div class="callout-body-container callout-body">
<p>Los modelos de Arps son empíricos y la extrapolación más allá de los datos siempre tiene incertidumbre. Mientras más corto sea el historial, mayor la incertidumbre del pronóstico. Para yacimientos no convencionales (shale), los modelos de Arps con <img src="https://latex.codecogs.com/png.latex?b%20%3E%201"> pueden sobreestimar las reservas — en esos casos se recomienda usar modelos específicos como SEDM o Duong.</p>
</div>
</div>
</section>
<section id="descarga" class="level2">
<h2 class="anchored" data-anchor-id="descarga">Descarga</h2>
<ul>
<li>📥 <a href="REH_18.csv">REH_18.csv</a> — Datos de producción (480 días)</li>
</ul>
</section>
<section id="referencias" class="level2">
<h2 class="anchored" data-anchor-id="referencias">Referencias</h2>
<ul>
<li>Arps, J.J. (1945). Analysis of Decline Curves. <em>Transactions of the AIME</em>, 160(1), 228-247.</li>
<li>Ahmed, T. (2019). <em>Reservoir Engineering Handbook</em>, 5th ed.&nbsp;Gulf Professional Publishing.</li>
<li>Sun, H. (2015). <em>Advanced Production Decline Analysis and Application</em>. Gulf Professional Publishing.</li>
</ul>
<hr>
<div class="cell">
<div class="cell-output-display">
<div style="background:#fff;border:0.5px solid #ddd;border-left:4px solid #FFE600;border-radius:10px;padding:.9rem 1.1rem;display:flex;align-items:center;gap:.9rem;margin:1.5rem 0;font-family:sans-serif">
  <div style="background:#FFF9C4;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px">🛒</div>
  <div style="flex:1">
    <strong style="font-size:14px;color:#1a1a1a;font-weight:600">Propiedades De Los Fluidos Del Yacimiento</strong>
    <p style="font-size:12px;color:#666;margin:2px 0 0">Disponible en Mercado Libre</p>
  </div>
  <a href="https://meli.la/2QFWR5n" target="_blank" style="background:#FFE600;color:#333;font-size:12px;font-weight:700;padding:.4rem .9rem;border-radius:6px;text-decoration:none;white-space:nowrap;flex-shrink:0">
    Ver oferta →
  </a>
</div>
</div>
</div>
<hr>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>

 ]]></description>
  <category>Yacimientos</category>
  <category>DCA</category>
  <category>Python</category>
  <category>R</category>
  <guid>https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/</guid>
  <pubDate>Fri, 08 May 2026 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2026-05-07-fit-dca/preview.png" medium="image" type="image/png" height="82" width="144"/>
</item>
<item>
  <title>Curvas IPR Compuestas: Pozos con Producción de Agua</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2026-05-06-iprcomposite/</link>
  <description><![CDATA[ 




<section id="por-qué-una-ipr-compuesta" class="level2">
<h2 class="anchored" data-anchor-id="por-qué-una-ipr-compuesta">¿Por qué una IPR Compuesta?</h2>
<p>La curva IPR de <strong>Vogel</strong> funciona muy bien para pozos que producen solo aceite en yacimientos por debajo de la presión de burbuja. Pero en la realidad, muchos pozos producen <strong>aceite y agua simultáneamente</strong>, y el comportamiento de cada fluido es diferente:</p>
<ul>
<li><strong>Aceite:</strong> En yacimientos subsaturados (<img src="https://latex.codecogs.com/png.latex?P_%7Bwf%7D%20%3C%20P_b">), la relación presión-gasto es <strong>no lineal</strong> (Vogel)</li>
<li><strong>Agua:</strong> Sigue una relación <strong>lineal</strong> con índice de productividad constante (<img src="https://latex.codecogs.com/png.latex?J">)</li>
</ul>
<p>El método de <strong>IPR Compuesta</strong> (Composite IPR), propuesto por Brown (1984), combina ambos comportamientos en una sola curva usando la <strong>fracción de agua</strong> (<img src="https://latex.codecogs.com/png.latex?F_w">) como ponderador.</p>
<div class="callout callout-style-default callout-tip callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
¿Cuándo usar este método?
</div>
</div>
<div class="callout-body-container callout-body">
<p>Úsalo cuando tu pozo produce agua con un corte de agua significativo (<img src="https://latex.codecogs.com/png.latex?F_w%20%3E%200">) y necesitas generar la curva IPR para diseño de levantamiento artificial o análisis nodal.</p>
</div>
</div>
<div class="cell">
<div class="cell-output-display">
<div style="background:#1a2e1a;border-radius:10px;padding:.9rem 1.1rem;display:flex;align-items:center;gap:.9rem;border:1px solid #2d6a4f;margin:1.5rem 0;font-family:sans-serif">
  <div style="width:40px;height:40px;background:#ff0000;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0">
    <svg width="18" height="18" viewbox="0 0 24 24" fill="white"><path d="M23 7s-.3-2-1.2-2.8c-1.1-1.2-2.4-1.2-3-1.3C16.4 2.8 12 2.8 12 2.8s-4.4 0-6.8.1c-.6.1-1.9.1-3 1.3C1.3 5 1 7 1 7S.8 9.1.8 11.3v2c0 2.2.2 4.3.2 4.3s.3 2 1.2 2.8c1.1 1.2 2.6 1.1 3.3 1.2C7.5 21.8 12 21.8 12 21.8s4.4 0 6.8-.2c.6-.1 1.9-.1 3-1.3.9-.8 1.2-2.8 1.2-2.8s.2-2.1.2-4.3v-2C23.2 9.1 23 7 23 7zm-13.5 8.8V8.2l8.1 3.8-8.1 3.8z"></path></svg>
  </div>
  <div style="flex:1">
    <strong style="font-size:14px;color:#ffffff;font-weight:600">Visita el canal @rigopetrodata</strong>
    <p style="font-size:12px;color:#b7d4c7;margin:2px 0 0">Tutoriales de R, Python y Excel para ingeniería petrolera</p>
  </div>
  <a href="https://www.youtube.com/@rigopetrodata" target="_blank" style="background:#ff0000;color:white;font-size:12px;font-weight:600;padding:.4rem .9rem;border-radius:6px;text-decoration:none;white-space:nowrap;flex-shrink:0">
    Ver canal
  </a>
</div>
</div>
</div>
</section>
<section id="las-tres-regiones-de-la-curva" class="level2">
<h2 class="anchored" data-anchor-id="las-tres-regiones-de-la-curva">Las Tres Regiones de la Curva</h2>
<p>La curva IPR compuesta se divide en <strong>3 regiones</strong>, cada una con su ecuación:</p>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-06-iprcomposite/grafico_PI.png" class="img-fluid"></p>
<section id="región-1-p_b-p_wf-p_r-monofásica" class="level3">
<h3 class="anchored" data-anchor-id="región-1-p_b-p_wf-p_r-monofásica">Región 1: <img src="https://latex.codecogs.com/png.latex?P_b%20%3C%20P_%7Bwf%7D%20%3C%20P_r"> (Monofásica)</h3>
<p>Por encima de la presión de burbuja, solo hay flujo monofásico. La relación es lineal:</p>
<p><img src="https://latex.codecogs.com/png.latex?q_t%20=%20J(P_r%20-%20P_%7Bwf%7D)"></p>
</section>
<section id="región-2-p_wfg-p_wf-p_b-bifásica" class="level3">
<h3 class="anchored" data-anchor-id="región-2-p_wfg-p_wf-p_b-bifásica">Región 2: <img src="https://latex.codecogs.com/png.latex?P_%7BwfG%7D%20%3C%20P_%7Bwf%7D%20%3C%20P_b"> (Bifásica)</h3>
<p>Entre la presión de burbuja y la presión donde el aceite alcanza su gasto máximo. Aquí se combinan Vogel (aceite) y PI lineal (agua):</p>
<p>Para <img src="https://latex.codecogs.com/png.latex?B%20%5Cneq%200">:</p>
<p><img src="https://latex.codecogs.com/png.latex?q_t%20=%20%5Cfrac%7B-C%20+%20%5Csqrt%7BC%5E2%20-%204B%5E2D%7D%7D%7B2B%5E2%7D"></p>
<p>Donde:</p>
<p><img src="https://latex.codecogs.com/png.latex?A%20=%20%5Cfrac%7BP_%7Bwf%7D%20+%200.125%20%5Ccdot%20F_o%20%5Ccdot%20P_b%20-%20F_w%20%5Ccdot%20P_r%7D%7B0.125%20%5Ccdot%20F_o%20%5Ccdot%20P_b%7D"></p>
<p><img src="https://latex.codecogs.com/png.latex?B%20=%20%5Cfrac%7BF_w%7D%7B0.125%20%5Ccdot%20F_o%20%5Ccdot%20P_b%20%5Ccdot%20J%7D"></p>
<p><img src="https://latex.codecogs.com/png.latex?C%20=%202AB%20+%20%5Cfrac%7B80%7D%7Bq_%7Bomax%7D%20-%20q_b%7D"></p>
<p><img src="https://latex.codecogs.com/png.latex?D%20=%20A%5E2%20-%2080%20%5Ccdot%20%5Cfrac%7Bq_b%7D%7Bq_%7Bomax%7D%20-%20q_b%7D%20-%2081"></p>
<p>Con <img src="https://latex.codecogs.com/png.latex?F_o%20=%201%20-%20F_w">.</p>
</section>
<section id="región-3-0-p_wf-p_wfg-extensión-lineal" class="level3">
<h3 class="anchored" data-anchor-id="región-3-0-p_wf-p_wfg-extensión-lineal">Región 3: <img src="https://latex.codecogs.com/png.latex?0%20%3C%20P_%7Bwf%7D%20%3C%20P_%7BwfG%7D"> (Extensión lineal)</h3>
<p>Debajo de la presión donde el aceite llega a su máximo, la curva se extiende linealmente usando <img src="https://latex.codecogs.com/png.latex?%5Ctan%5Cbeta">:</p>
<p><img src="https://latex.codecogs.com/png.latex?q_t%20=%20%5Cfrac%7BP_%7BwfG%7D%20+%20q_%7Bomax%7D%20%5Ccdot%20%5Ctan%5Cbeta%20-%20P_%7Bwf%7D%7D%7B%5Ctan%5Cbeta%7D"></p>
</section>
</section>
<section id="datos-del-ejemplo" class="level2">
<h2 class="anchored" data-anchor-id="datos-del-ejemplo">Datos del Ejemplo</h2>
<table class="table-striped caption-top table">
<caption>Datos de entrada. Ejemplo de Brown (1984).</caption>
<thead>
<tr class="header">
<th>Parámetro</th>
<th>Valor</th>
<th>Unidades</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>Presión de yacimiento (<img src="https://latex.codecogs.com/png.latex?P_r">)</td>
<td>2,550</td>
<td>psi</td>
</tr>
<tr class="even">
<td>Presión de burbuja (<img src="https://latex.codecogs.com/png.latex?P_b">)</td>
<td>2,100</td>
<td>psi</td>
</tr>
<tr class="odd">
<td>Presión de fondo fluyente (prueba)</td>
<td>2,300</td>
<td>psi</td>
</tr>
<tr class="even">
<td>Gasto total (prueba)</td>
<td>500</td>
<td>b/d</td>
</tr>
<tr class="odd">
<td>Fracción de agua (<img src="https://latex.codecogs.com/png.latex?F_w">)</td>
<td>0.50</td>
<td>—</td>
</tr>
</tbody>
</table>
</section>
<section id="parámetros-calculados" class="level2">
<h2 class="anchored" data-anchor-id="parámetros-calculados">Parámetros Calculados</h2>
<p>A partir de los datos de la prueba se calculan los parámetros base:</p>
<table class="table-striped caption-top table">
<caption>Parámetros intermedios.</caption>
<colgroup>
<col style="width: 40%">
<col style="width: 33%">
<col style="width: 25%">
</colgroup>
<thead>
<tr class="header">
<th>Parámetro</th>
<th>Fórmula</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>Índice de productividad (<img src="https://latex.codecogs.com/png.latex?J">)</td>
<td><img src="https://latex.codecogs.com/png.latex?q_%7Btest%7D%20/%20(P_r%20-%20P_%7Bwf,test%7D)"></td>
<td>2.0 b/d/psi</td>
</tr>
<tr class="even">
<td>Gasto al punto de burbuja (<img src="https://latex.codecogs.com/png.latex?q_b">)</td>
<td><img src="https://latex.codecogs.com/png.latex?J%20%5Ccdot%20(P_r%20-%20P_b)"></td>
<td>900 b/d</td>
</tr>
<tr class="odd">
<td>Gasto máximo de aceite (<img src="https://latex.codecogs.com/png.latex?q_%7Bomax%7D">)</td>
<td><img src="https://latex.codecogs.com/png.latex?q_b%20+%20J%20%5Ccdot%20P_b%20/%201.8"></td>
<td>3,233.33 b/d</td>
</tr>
<tr class="even">
<td>Presión en <img src="https://latex.codecogs.com/png.latex?q_%7Bomax%7D"> (<img src="https://latex.codecogs.com/png.latex?P_%7BwfG%7D">)</td>
<td><img src="https://latex.codecogs.com/png.latex?F_w(P_r%20-%20q_%7Bomax%7D/J)"></td>
<td>466.67 psi</td>
</tr>
<tr class="odd">
<td>Gasto máximo total (<img src="https://latex.codecogs.com/png.latex?q_%7Btmax%7D">)</td>
<td><img src="https://latex.codecogs.com/png.latex?q_%7Bomax%7D%20+%20F_w(P_r%20-%20q_%7Bomax%7D/J)%20%5Ccdot%20%5Ctan%5Calpha"></td>
<td>Calculado</td>
</tr>
</tbody>
</table>
</section>
<section id="código-r-y-python" class="level2">
<h2 class="anchored" data-anchor-id="código-r-y-python">Código: R y Python</h2>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-1-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-1-1" aria-controls="tabset-1-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-1-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-1-2" aria-controls="tabset-1-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-1-1" class="tab-pane active" aria-labelledby="tabset-1-1-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb1-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb1-3"></span>
<span id="cb1-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># === DATOS DE ENTRADA ===</span></span>
<span id="cb1-5">Pr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2550</span>       <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Presión de yacimiento (psi)</span></span>
<span id="cb1-6">Pb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2100</span>       <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Presión de burbuja (psi)</span></span>
<span id="cb1-7">Pwf_test <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2300</span> <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Pwf de la prueba (psi)</span></span>
<span id="cb1-8">Qt_test <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">500</span>   <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Gasto total de la prueba (b/d)</span></span>
<span id="cb1-9">Fw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.5</span>        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Fracción de agua</span></span>
<span id="cb1-10">Fo <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> Fw     <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Fracción de aceite</span></span>
<span id="cb1-11"></span>
<span id="cb1-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># === PARÁMETROS CALCULADOS ===</span></span>
<span id="cb1-13">J <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Qt_test <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (Pr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> Pwf_test)               <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Índice de productividad</span></span>
<span id="cb1-14">qb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> J <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> Pb)                           <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Gasto al punto de burbuja</span></span>
<span id="cb1-15">qomax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> qb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> J <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.8</span>                    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Gasto máximo de aceite</span></span>
<span id="cb1-16"></span>
<span id="cb1-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Cálculo de tan(alpha) y tan(beta)</span></span>
<span id="cb1-18">CD <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (Fo <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.125</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (np.sqrt(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">81</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">80</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.999</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> qomax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (qomax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb)) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb1-19">      <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> Fw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.999</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> qomax) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> J) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> Fw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qomax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> J))</span>
<span id="cb1-20">CG <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.001</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> qomax</span>
<span id="cb1-21">tan_a <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> CG <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> CD</span>
<span id="cb1-22">tan_b <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> tan_a</span>
<span id="cb1-23"></span>
<span id="cb1-24"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Presión y gasto máximo total</span></span>
<span id="cb1-25">PwfG <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Fw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qomax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> J)</span>
<span id="cb1-26">qtmax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> qomax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> Fw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qomax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> J) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> tan_a</span>
<span id="cb1-27"></span>
<span id="cb1-28"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"J       = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>J<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> b/d/psi"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>J       = 2.00 b/d/psi</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"qb      = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qb<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> b/d"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qb      = 900.00 b/d</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"qomax   = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qomax<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> b/d"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qomax   = 3233.33 b/d</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"PwfG    = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>PwfG<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> psi"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>PwfG    = 466.67 psi</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"tan(α)  = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>tan_a<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>tan(α)  = 0.4097</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb11-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"tan(β)  = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>tan_b<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.4f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>tan(β)  = 2.4409</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb13" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb13-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"qtmax   = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qtmax<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> b/d"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qtmax   = 3424.52 b/d</code></pre>
</div>
</div>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb15" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb15-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># === FUNCIONES AUXILIARES ===</span></span>
<span id="cb15-2"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> calc_A(Pwf, Fo, Pb, Pr, Fw):</span>
<span id="cb15-3">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> (Pwf <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.125</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Fo <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> Fw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pr) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.125</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Fo <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb)</span>
<span id="cb15-4"></span>
<span id="cb15-5"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> calc_B(Fw, Fo, Pb, J):</span>
<span id="cb15-6">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> Fw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.125</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Fo <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> J)</span>
<span id="cb15-7"></span>
<span id="cb15-8"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> calc_C(A, B, qomax, qb):</span>
<span id="cb15-9">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> A <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> B <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">80</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (qomax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb)</span>
<span id="cb15-10"></span>
<span id="cb15-11"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> calc_D(A, qb, qomax):</span>
<span id="cb15-12">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> A<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">80</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (qb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (qomax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb)) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">81</span></span>
<span id="cb15-13"></span>
<span id="cb15-14"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># === CALCULAR IPR COMPUESTA ===</span></span>
<span id="cb15-15">pwf_vec <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.array([<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">200</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">350</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">600</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1400</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1500</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1700</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2100</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2300</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2400</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2550</span>])</span>
<span id="cb15-16"></span>
<span id="cb15-17">qt_vec <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.zeros_like(pwf_vec, dtype<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">float</span>)</span>
<span id="cb15-18"></span>
<span id="cb15-19"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> i, pwf <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">enumerate</span>(pwf_vec):</span>
<span id="cb15-20">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> pwf <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> Pb:</span>
<span id="cb15-21">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Región 1: Lineal (monofásica)</span></span>
<span id="cb15-22">        qt_vec[i] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> J <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> pwf)</span>
<span id="cb15-23">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">elif</span> pwf <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> PwfG:</span>
<span id="cb15-24">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Región 2: Bifásica (Vogel + PI)</span></span>
<span id="cb15-25">        A <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> calc_A(pwf, Fo, Pb, Pr, Fw)</span>
<span id="cb15-26">        B <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> calc_B(Fw, Fo, Pb, J)</span>
<span id="cb15-27">        C <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> calc_C(A, B, qomax, qb)</span>
<span id="cb15-28">        D <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> calc_D(A, qb, qomax)</span>
<span id="cb15-29">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> B <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>:</span>
<span id="cb15-30">            qt_vec[i] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>C <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> np.sqrt(C<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> B<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> D)) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> B<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb15-31">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb15-32">            qt_vec[i] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>D <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> C</span>
<span id="cb15-33">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb15-34">        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Región 3: Extensión lineal</span></span>
<span id="cb15-35">        qt_vec[i] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (PwfG <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> qomax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> tan_b <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> pwf) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> tan_b</span>
<span id="cb15-36"></span>
<span id="cb15-37"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># === TABLA DE RESULTADOS ===</span></span>
<span id="cb15-38"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Pwf (psi)'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;10}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'qt (b/d)'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:&gt;12}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code> Pwf (psi)     qt (b/d)</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb17" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb17-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"-"</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">24</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>------------------------</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb19" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb19-1"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> p, q <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(pwf_vec, qt_vec):</span>
<span id="cb19-2">    <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>p<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:10.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>q<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:12.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>         0      3424.52
       200      3342.58
       350      3281.13
       600      3159.86
      1000      2758.15
      1400      2177.33
      1500      2012.26
      1700      1662.93
      2100       900.00
      2300       500.00
      2400       300.00
      2550         0.00</code></pre>
</div>
</div>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb21" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb21-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># === GRÁFICO ===</span></span>
<span id="cb21-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Para evitar quiebres numéricos en los cambios de región,</span></span>
<span id="cb21-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># se construye la curva por segmentos e incluyendo exactamente Pb y PwfG.</span></span>
<span id="cb21-4"></span>
<span id="cb21-5"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> qt_composite_single(pwf):</span>
<span id="cb21-6">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> pwf <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> Pb:</span>
<span id="cb21-7">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> J <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> pwf)</span>
<span id="cb21-8">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">elif</span> pwf <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> PwfG:</span>
<span id="cb21-9">        A <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> calc_A(pwf, Fo, Pb, Pr, Fw)</span>
<span id="cb21-10">        B <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> calc_B(Fw, Fo, Pb, J)</span>
<span id="cb21-11">        C <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> calc_C(A, B, qomax, qb)</span>
<span id="cb21-12">        D <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> calc_D(A, qb, qomax)</span>
<span id="cb21-13">        discriminant <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">max</span>(C<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> B<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> D, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb21-14">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> B <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>:</span>
<span id="cb21-15">            <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> (<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>C <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> np.sqrt(discriminant)) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> B<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb21-16">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>D <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> C</span>
<span id="cb21-17">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb21-18">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> (PwfG <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> qomax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> tan_b <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> pwf) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> tan_b</span>
<span id="cb21-19"></span>
<span id="cb21-20">pwf_reg3 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.linspace(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, PwfG, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">80</span>)</span>
<span id="cb21-21">pwf_reg2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.linspace(PwfG, Pb, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">120</span>)</span>
<span id="cb21-22">pwf_reg1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.linspace(Pb, Pr, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">80</span>)</span>
<span id="cb21-23">pwf_smooth <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.unique(np.concatenate([pwf_reg3, pwf_reg2, pwf_reg1]))</span>
<span id="cb21-24">qt_smooth <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.array([qt_composite_single(p) <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> p <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> pwf_smooth])</span>
<span id="cb21-25"></span>
<span id="cb21-26">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>))</span>
<span id="cb21-27">ax.plot(qt_smooth, pwf_smooth, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, lw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">2.5</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2d8a4e'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f'Composite IPR (Fw=</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>Fw<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">)'</span>)</span>
<span id="cb21-28">ax.plot(qt_vec, pwf_vec, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'o'</span>, ms<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#c0392b'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Puntos calculados'</span>, zorder<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span>
<span id="cb21-29"></span>
<span id="cb21-30"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Líneas de referencia</span></span>
<span id="cb21-31">ax.axhline(y<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>Pb, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'gray'</span>, ls<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'--'</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.5</span>, lw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.8</span>)</span>
<span id="cb21-32">ax.text(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>, Pb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">30</span>, <span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f'Pb = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>Pb<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> psi'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">9</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'gray'</span>)</span>
<span id="cb21-33">ax.axhline(y<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>PwfG, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'gray'</span>, ls<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'--'</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.5</span>, lw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.8</span>)</span>
<span id="cb21-34">ax.text(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>, PwfG <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">30</span>, <span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f'PwfG = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>PwfG<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> psi'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">9</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'gray'</span>)</span>
<span id="cb21-35"></span>
<span id="cb21-36"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Puntos especiales</span></span>
<span id="cb21-37">ax.plot(qb, Pb, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'s'</span>, ms<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#e67e22'</span>, zorder<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb21-38">ax.annotate(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f'qb = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qb<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">'</span>, xy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(qb, Pb), xytext<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(qb<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">200</span>, Pb<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>),</span>
<span id="cb21-39">            fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">9</span>, arrowprops<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(arrowstyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-&gt;'</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#e67e22'</span>), color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#e67e22'</span>)</span>
<span id="cb21-40">ax.plot(qomax, PwfG, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'s'</span>, ms<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#8e44ad'</span>, zorder<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>)</span>
<span id="cb21-41">ax.annotate(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f'qomax = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>qomax<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.0f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">'</span>, xy<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(qomax, PwfG), xytext<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(qomax<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">800</span>, PwfG<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">200</span>),</span>
<span id="cb21-42">            fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">9</span>, arrowprops<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">dict</span>(arrowstyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-&gt;'</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#8e44ad'</span>), color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#8e44ad'</span>)</span>
<span id="cb21-43"></span>
<span id="cb21-44">ax.set_xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Gasto total, qt (b/d)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb21-45">ax.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Presión de fondo fluyente, Pwf (psi)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb21-46">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Curva IPR Compuesta — Método de Brown (1984)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>, fontweight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'bold'</span>)</span>
<span id="cb21-47">ax.legend(fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span>
<span id="cb21-48">ax.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb21-49">ax.set_xlim(left<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>(0.0, 3595.747525657348)</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb23" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb23-1">ax.set_ylim(bottom<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>(0.0, 2677.5)</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb25" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb25-1">plt.tight_layout()</span>
<span id="cb25-2">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-ipr-plot-python" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-ipr-plot-python-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-05-06-iprcomposite/index_files/figure-html/fig-ipr-plot-python-1.png" class="img-fluid figure-img" width="960">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-ipr-plot-python-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1: Curva IPR Compuesta (Fw = 0.5). Se observan las 3 regiones: lineal arriba de Pb, curva entre Pb y PwfG, y extensión lineal debajo de PwfG.
</figcaption>
</figure>
</div>
</div>
</div>
</div>
<div id="tabset-1-2" class="tab-pane" aria-labelledby="tabset-1-2-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb26" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb26-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(ggplot2)</span>
<span id="cb26-2"></span>
<span id="cb26-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># === DATOS DE ENTRADA ===</span></span>
<span id="cb26-4">Pr <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2550</span>       <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Presión de yacimiento (psi)</span></span>
<span id="cb26-5">Pb <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2100</span>       <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Presión de burbuja (psi)</span></span>
<span id="cb26-6">Pwf_test <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2300</span> <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Pwf de la prueba (psi)</span></span>
<span id="cb26-7">Qt_test <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">500</span>   <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Gasto total de la prueba (b/d)</span></span>
<span id="cb26-8">Fw <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.5</span>        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Fracción de agua</span></span>
<span id="cb26-9">Fo <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> Fw     <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Fracción de aceite</span></span>
<span id="cb26-10"></span>
<span id="cb26-11"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># === PARÁMETROS CALCULADOS ===</span></span>
<span id="cb26-12">J <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> Qt_test <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (Pr <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> Pwf_test)</span>
<span id="cb26-13">qb <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> J <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> Pb)</span>
<span id="cb26-14">qomax <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> qb <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> J <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.8</span></span>
<span id="cb26-15"></span>
<span id="cb26-16">CD <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> Fo <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.125</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sqrt</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">81</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">80</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.999</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> qomax <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (qomax <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb26-17">      Fw <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.999</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> qomax) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> J) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> Fw <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qomax <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> J)</span>
<span id="cb26-18">CG <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.001</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> qomax</span>
<span id="cb26-19">tana <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> CG <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> CD</span>
<span id="cb26-20">tanb <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> tana</span>
<span id="cb26-21"></span>
<span id="cb26-22">PwfG <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> Fw <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qomax <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> J)</span>
<span id="cb26-23">qtmax <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> qomax <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> Fw <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qomax <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> J) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> tana</span>
<span id="cb26-24"></span>
<span id="cb26-25"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"J       = %.2f b/d/psi</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, J))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>J       = 2.00 b/d/psi</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb28" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb28-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qb      = %.2f b/d</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, qb))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qb      = 900.00 b/d</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb30" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb30-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qomax   = %.2f b/d</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, qomax))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qomax   = 3233.33 b/d</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb32" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb32-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"PwfG    = %.2f psi</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, PwfG))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>PwfG    = 466.67 psi</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb34" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb34-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"tan(α)  = %.4f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, tana))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>tan(α)  = 0.4097</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb36" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb36-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"tan(β)  = %.4f</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, tanb))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>tan(β)  = 2.4409</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb38" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb38-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">cat</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sprintf</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qtmax   = %.2f b/d</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">\n</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>, qtmax))</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>qtmax   = 3424.52 b/d</code></pre>
</div>
</div>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb40" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb40-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># === FUNCIONES AUXILIARES ===</span></span>
<span id="cb40-2">A_IPR_c <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">function</span>(Pwf, Fw, Pb, Pr) {</span>
<span id="cb40-3">  Fo <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> Fw</span>
<span id="cb40-4">  (Pwf <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.125</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Fo <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> Fw <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pr) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.125</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Fo <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb)</span>
<span id="cb40-5">}</span>
<span id="cb40-6"></span>
<span id="cb40-7">B_IPR_c <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">function</span>(Fw, Pb, J) {</span>
<span id="cb40-8">  Fo <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> Fw</span>
<span id="cb40-9">  Fw <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.125</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Fo <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> J)</span>
<span id="cb40-10">}</span>
<span id="cb40-11"></span>
<span id="cb40-12">C_IPR_c <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">function</span>(Pwf, Fw, Pb, Pr, J, qomax, qb) {</span>
<span id="cb40-13">  A <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">A_IPR_c</span>(Pwf, Fw, Pb, Pr)</span>
<span id="cb40-14">  B <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">B_IPR_c</span>(Fw, Pb, J)</span>
<span id="cb40-15">  <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> A <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> B <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">80</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (qomax <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb)</span>
<span id="cb40-16">}</span>
<span id="cb40-17"></span>
<span id="cb40-18">D_IPR_c <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">function</span>(Pwf, Fw, Pb, Pr, J, qomax, qb) {</span>
<span id="cb40-19">  A <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">A_IPR_c</span>(Pwf, Fw, Pb, Pr)</span>
<span id="cb40-20">  A<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">80</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (qb <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (qomax <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">81</span></span>
<span id="cb40-21">}</span>
<span id="cb40-22"></span>
<span id="cb40-23"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># === CALCULAR IPR COMPUESTA ===</span></span>
<span id="cb40-24">pwf <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">200</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">350</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">600</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1400</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1500</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1700</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2100</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2300</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2400</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2550</span>)</span>
<span id="cb40-25"></span>
<span id="cb40-26">A <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">A_IPR_c</span>(pwf, Fw, Pb, Pr)</span>
<span id="cb40-27">B <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">B_IPR_c</span>(Fw, Pb, J)</span>
<span id="cb40-28">C <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">C_IPR_c</span>(pwf, Fw, Pb, Pr, J, qomax, qb)</span>
<span id="cb40-29">D <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">D_IPR_c</span>(pwf, Fw, Pb, Pr, J, qomax, qb)</span>
<span id="cb40-30"></span>
<span id="cb40-31">qt <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ifelse</span>(pwf <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> Pb, J <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> pwf),</span>
<span id="cb40-32">        <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ifelse</span>(pwf <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> PwfG <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span> pwf <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&lt;</span> Pb,</span>
<span id="cb40-33">          <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ifelse</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">rep</span>(B, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">length</span>(pwf)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">!=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>,</span>
<span id="cb40-34">                 (<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>C <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sqrt</span>(C<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> B<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> D)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> B<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>), <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>D <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> C),</span>
<span id="cb40-35">          <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ifelse</span>(pwf <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&lt;</span> PwfG, (PwfG <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> qomax <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> tanb <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> pwf) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> tanb, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)))</span>
<span id="cb40-36"></span>
<span id="cb40-37">IPR <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">data.frame</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">pwf =</span> pwf, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">qt =</span> qt)</span>
<span id="cb40-38"></span>
<span id="cb40-39"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># === GRÁFICO ===</span></span>
<span id="cb40-40"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(IPR, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> qt, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> pwf)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb40-41">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#2d8a4e"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linewidth =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.2</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb40-42">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_point</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#c0392b"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb40-43">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_hline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">yintercept =</span> Pb, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linetype =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dashed"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gray"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">alpha =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.6</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb40-44">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_hline</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">yintercept =</span> PwfG, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linetype =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"dashed"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gray"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">alpha =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.6</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb40-45">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">annotate</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"text"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> Pb <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">40</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">label =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">paste</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Pb ="</span>, Pb, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"psi"</span>),</span>
<span id="cb40-46">           <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gray"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">3.5</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb40-47">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">annotate</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"text"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> PwfG <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">40</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">label =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">paste</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"PwfG ="</span>, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">round</span>(PwfG), <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"psi"</span>),</span>
<span id="cb40-48">           <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"gray"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">3.5</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb40-49">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Gasto total, qt (b/d)"</span>,</span>
<span id="cb40-50">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Presión de fondo fluyente, Pwf (psi)"</span>,</span>
<span id="cb40-51">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Curva IPR Compuesta — Método de Brown (1984)"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb40-52">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb40-53">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">plot.title =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_text</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">face =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bold"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>))</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-ipr-r" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-ipr-r-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-05-06-iprcomposite/index_files/figure-html/fig-ipr-r-1.png" class="img-fluid figure-img" width="672">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-ipr-r-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;2: Curva IPR Compuesta para Fw = 0.5 (R + ggplot2)
</figcaption>
</figure>
</div>
</div>
</div>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb41" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb41-1">knitr<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">kable</span>(IPR, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">col.names =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Pwf (psi)"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"qt (b/d)"</span>),</span>
<span id="cb41-2">             <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">caption =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Composite IPR, Fw = 0.5"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">digits =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span></code></pre></div>
</details>
<div class="cell-output-display">
<table class="caption-top table table-sm table-striped small">
<caption>Composite IPR, Fw = 0.5</caption>
<thead>
<tr class="header">
<th style="text-align: right;">Pwf (psi)</th>
<th style="text-align: right;">qt (b/d)</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: right;">0</td>
<td style="text-align: right;">3424.52</td>
</tr>
<tr class="even">
<td style="text-align: right;">200</td>
<td style="text-align: right;">3342.58</td>
</tr>
<tr class="odd">
<td style="text-align: right;">350</td>
<td style="text-align: right;">3281.13</td>
</tr>
<tr class="even">
<td style="text-align: right;">600</td>
<td style="text-align: right;">3159.86</td>
</tr>
<tr class="odd">
<td style="text-align: right;">1000</td>
<td style="text-align: right;">2758.15</td>
</tr>
<tr class="even">
<td style="text-align: right;">1400</td>
<td style="text-align: right;">2177.33</td>
</tr>
<tr class="odd">
<td style="text-align: right;">1500</td>
<td style="text-align: right;">2012.26</td>
</tr>
<tr class="even">
<td style="text-align: right;">1700</td>
<td style="text-align: right;">1662.93</td>
</tr>
<tr class="odd">
<td style="text-align: right;">2100</td>
<td style="text-align: right;">900.00</td>
</tr>
<tr class="even">
<td style="text-align: right;">2300</td>
<td style="text-align: right;">500.00</td>
</tr>
<tr class="odd">
<td style="text-align: right;">2400</td>
<td style="text-align: right;">300.00</td>
</tr>
<tr class="even">
<td style="text-align: right;">2550</td>
<td style="text-align: right;">0.00</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="cómo-hacerlo-en-excel" class="level2">
<h2 class="anchored" data-anchor-id="cómo-hacerlo-en-excel">Cómo Hacerlo en Excel</h2>
<p>El mismo cálculo se puede replicar en Excel sin macros:</p>
<section id="paso-1-datos-de-entrada" class="level3">
<h3 class="anchored" data-anchor-id="paso-1-datos-de-entrada">Paso 1 — Datos de entrada</h3>
<p>Coloca los datos en celdas fijas:</p>
<table class="caption-top table">
<thead>
<tr class="header">
<th>Celda</th>
<th>Contenido</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>B1</td>
<td><img src="https://latex.codecogs.com/png.latex?P_r"></td>
<td>2550</td>
</tr>
<tr class="even">
<td>B2</td>
<td><img src="https://latex.codecogs.com/png.latex?P_b"></td>
<td>2100</td>
</tr>
<tr class="odd">
<td>B3</td>
<td><img src="https://latex.codecogs.com/png.latex?P_%7Bwf,test%7D"></td>
<td>2300</td>
</tr>
<tr class="even">
<td>B4</td>
<td><img src="https://latex.codecogs.com/png.latex?q_%7Bt,test%7D"></td>
<td>500</td>
</tr>
<tr class="odd">
<td>B5</td>
<td><img src="https://latex.codecogs.com/png.latex?F_w"></td>
<td>0.5</td>
</tr>
</tbody>
</table>
</section>
<section id="paso-2-parámetros-calculados" class="level3">
<h3 class="anchored" data-anchor-id="paso-2-parámetros-calculados">Paso 2 — Parámetros calculados</h3>
<table class="caption-top table">
<thead>
<tr class="header">
<th>Celda</th>
<th>Fórmula</th>
<th>Resultado</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>B7 (<img src="https://latex.codecogs.com/png.latex?J">)</td>
<td><code>=B4/(B1-B3)</code></td>
<td>2.00</td>
</tr>
<tr class="even">
<td>B8 (<img src="https://latex.codecogs.com/png.latex?q_b">)</td>
<td><code>=B7*(B1-B2)</code></td>
<td>900</td>
</tr>
<tr class="odd">
<td>B9 (<img src="https://latex.codecogs.com/png.latex?q_%7Bomax%7D">)</td>
<td><code>=B8+B7*B2/1.8</code></td>
<td>3,233.33</td>
</tr>
<tr class="even">
<td>B10 (<img src="https://latex.codecogs.com/png.latex?F_o">)</td>
<td><code>=1-B5</code></td>
<td>0.50</td>
</tr>
<tr class="odd">
<td>B11 (<img src="https://latex.codecogs.com/png.latex?P_%7BwfG%7D">)</td>
<td><code>=B5*(B1-B9/B7)</code></td>
<td>458.33</td>
</tr>
</tbody>
</table>
</section>
<section id="paso-3-tabla-de-cálculo" class="level3">
<h3 class="anchored" data-anchor-id="paso-3-tabla-de-cálculo">Paso 3 — Tabla de cálculo</h3>
<p>Crea una columna de <img src="https://latex.codecogs.com/png.latex?P_%7Bwf%7D"> (de 0 a <img src="https://latex.codecogs.com/png.latex?P_r">) y usa la función <code>SI()</code> anidada para calcular <img src="https://latex.codecogs.com/png.latex?q_t"> según la región:</p>
<pre><code>=SI(A13&gt;=B2, B7*(B1-A13),
  SI(A13&gt;=B11,
    SI(D13&lt;&gt;0,(-C13+RAIZ(C13^2-4*D13^2*E13))/(2*D13^2),-E13/C13),
    (B11+B9*F13-A13)/F13))</code></pre>
<p>Donde C13, D13, E13 y F13 son las columnas auxiliares con los valores de C, B, D y <img src="https://latex.codecogs.com/png.latex?%5Ctan%5Cbeta"> respectivamente.</p>
<blockquote class="blockquote">
<p>📸 <strong>IMAGEN:</strong> <em>Captura de la hoja de Excel mostrando: datos de entrada (B1:B5), parámetros calculados (B7:B11), tabla de Pwf vs qt con fórmulas, y el gráfico XY de la curva IPR resultante.</em></p>
</blockquote>
</section>
<section id="paso-4-gráfico" class="level3">
<h3 class="anchored" data-anchor-id="paso-4-gráfico">Paso 4 — Gráfico</h3>
<ol type="1">
<li>Seleccionar columnas qt (eje X) y Pwf (eje Y)</li>
<li><strong>Insertar → Gráfico de Dispersión con Líneas</strong></li>
<li>Agregar líneas horizontales punteadas en <img src="https://latex.codecogs.com/png.latex?P_b"> y <img src="https://latex.codecogs.com/png.latex?P_%7BwfG%7D"></li>
<li>Formato: título, etiquetas de ejes, gridlines</li>
</ol>
</section>
</section>
<section id="análisis-de-sensibilidad-efecto-de-f_w" class="level2">
<h2 class="anchored" data-anchor-id="análisis-de-sensibilidad-efecto-de-f_w">Análisis de Sensibilidad: Efecto de <img src="https://latex.codecogs.com/png.latex?F_w"></h2>
<p>Un ejercicio muy útil es generar la curva IPR para diferentes valores de <img src="https://latex.codecogs.com/png.latex?F_w"> y observar cómo el incremento de agua afecta la productividad del pozo.</p>
<div class="tabset-margin-container"></div><div class="panel-tabset">
<ul class="nav nav-tabs"><li class="nav-item"><a class="nav-link active" id="tabset-2-1-tab" data-bs-toggle="tab" data-bs-target="#tabset-2-1" aria-controls="tabset-2-1" aria-selected="true">Python</a></li><li class="nav-item"><a class="nav-link" id="tabset-2-2-tab" data-bs-toggle="tab" data-bs-target="#tabset-2-2" aria-controls="tabset-2-2" aria-selected="false">R</a></li></ul>
<div class="tab-content">
<div id="tabset-2-1" class="tab-pane active" aria-labelledby="tabset-2-1-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb43" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb43-1">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>))</span>
<span id="cb43-2"></span>
<span id="cb43-3">fw_values <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.0</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.25</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.50</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.75</span>]</span>
<span id="cb43-4">colors_fw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2d8a4e'</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2980b9'</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#e67e22'</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#c0392b'</span>]</span>
<span id="cb43-5"></span>
<span id="cb43-6"><span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">def</span> composite_ipr_curve(fw, n<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">250</span>):</span>
<span id="cb43-7">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">"""Calcula qt(Pwf) para la IPR compuesta evitando discontinuidades numéricas."""</span></span>
<span id="cb43-8">    fo <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> fw</span>
<span id="cb43-9">    qb_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> J <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> Pb)</span>
<span id="cb43-10">    qomax_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> qb_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> J <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.8</span></span>
<span id="cb43-11">    pwf_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.linspace(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, Pr, n)</span>
<span id="cb43-12">    qt_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.zeros_like(pwf_s)</span>
<span id="cb43-13"></span>
<span id="cb43-14">    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Caso límite: solo aceite -&gt; Vogel bajo Pb + línea sobre Pb</span></span>
<span id="cb43-15">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> np.isclose(fw, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>):</span>
<span id="cb43-16">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> i, p <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">enumerate</span>(pwf_s):</span>
<span id="cb43-17">            <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> p <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> Pb:</span>
<span id="cb43-18">                qt_s[i] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> J <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> p)</span>
<span id="cb43-19">            <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb43-20">                r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> p <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> Pb</span>
<span id="cb43-21">                qt_s[i] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> qb_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> (qomax_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb_s) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> r <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.8</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> r<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb43-22">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> pwf_s, qt_s</span>
<span id="cb43-23"></span>
<span id="cb43-24">    CD_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (fo <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.125</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (np.sqrt(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">81</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">80</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.999</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> qomax_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb_s) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (qomax_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb_s)) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb43-25">            <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> fw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.999</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> qomax_s) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> J) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> fw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qomax_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> J))</span>
<span id="cb43-26">    tan_a_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.001</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> qomax_s) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> CD_s</span>
<span id="cb43-27">    tan_b_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> tan_a_s</span>
<span id="cb43-28">    PwfG_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> fw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qomax_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> J)</span>
<span id="cb43-29"></span>
<span id="cb43-30">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> i, p <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">enumerate</span>(pwf_s):</span>
<span id="cb43-31">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> p <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> Pb:</span>
<span id="cb43-32">            qt_s[i] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> J <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> p)</span>
<span id="cb43-33">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">elif</span> p <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> PwfG_s:</span>
<span id="cb43-34">            A <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (p <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.125</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> fo <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> fw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pr) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.125</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> fo <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb)</span>
<span id="cb43-35">            B <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> fw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.125</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> fo <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> J)</span>
<span id="cb43-36">            C <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> A <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> B <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">80</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (qomax_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb_s)</span>
<span id="cb43-37">            D <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> A<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">80</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (qb_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (qomax_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb_s)) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">81</span></span>
<span id="cb43-38">            disc <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">max</span>(C<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> B<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> D, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb43-39">            qt_s[i] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>C <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> np.sqrt(disc)) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> B<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">**</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb43-40">        <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span>:</span>
<span id="cb43-41">            qt_s[i] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (PwfG_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> qomax_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> tan_b_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> p) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> tan_b_s</span>
<span id="cb43-42"></span>
<span id="cb43-43">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">return</span> pwf_s, qt_s</span>
<span id="cb43-44"></span>
<span id="cb43-45"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> fw, color <span class="kw" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">zip</span>(fw_values, colors_fw):</span>
<span id="cb43-46">    pwf_s, qt_s <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> composite_ipr_curve(fw)</span>
<span id="cb43-47">    ax.plot(qt_s, pwf_s, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, lw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>color, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f'Fw = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>fw<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">'</span>)</span>
<span id="cb43-48"></span>
<span id="cb43-49">ax.set_xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Gasto total, qt (b/d)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb43-50">ax.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Pwf (psi)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb43-51">ax.set_title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Análisis de Sensibilidad — Efecto de Fw'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>, fontweight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'bold'</span>)</span>
<span id="cb43-52">ax.legend(fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)</span>
<span id="cb43-53">ax.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb43-54">ax.set_xlim(left<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>(0.0, 3894.8509102138864)</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb45" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb45-1">ax.set_ylim(bottom<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>(0.0, 2677.5)</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb47" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb47-1">plt.tight_layout()</span>
<span id="cb47-2">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-sensitivity-python" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-sensitivity-python-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-05-06-iprcomposite/index_files/figure-html/fig-sensitivity-python-1.png" class="img-fluid figure-img" width="960">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-sensitivity-python-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;3: Efecto de la fracción de agua (Fw) sobre la curva IPR. A mayor Fw, el gasto máximo total aumenta por el aporte de agua, pero la producción de aceite no aumenta.
</figcaption>
</figure>
</div>
</div>
</div>
</div>
<div id="tabset-2-2" class="tab-pane" aria-labelledby="tabset-2-2-tab">
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb48" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb48-1">fw_values <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.0</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.25</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.50</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.75</span>)</span>
<span id="cb48-2"></span>
<span id="cb48-3">calc_composite_ipr <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">function</span>(fw_val, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">n =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">250</span>) {</span>
<span id="cb48-4">  fo_val <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> fw_val</span>
<span id="cb48-5">  qb_s <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> J <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> Pb)</span>
<span id="cb48-6">  qomax_s <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> qb_s <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> J <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.8</span></span>
<span id="cb48-7">  pwf_s <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">seq</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, Pr, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">length.out =</span> n)</span>
<span id="cb48-8">  qt_s <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">numeric</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">length</span>(pwf_s))</span>
<span id="cb48-9"></span>
<span id="cb48-10">  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Caso límite: solo aceite -&gt; Vogel bajo Pb + línea sobre Pb</span></span>
<span id="cb48-11">  <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> (<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">isTRUE</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">all.equal</span>(fw_val, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>))) {</span>
<span id="cb48-12">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> (i <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">seq_along</span>(pwf_s)) {</span>
<span id="cb48-13">      p <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> pwf_s[i]</span>
<span id="cb48-14">      <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> (p <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> Pb) {</span>
<span id="cb48-15">        qt_s[i] <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> J <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> p)</span>
<span id="cb48-16">      } <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span> {</span>
<span id="cb48-17">        r <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> p <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> Pb</span>
<span id="cb48-18">        qt_s[i] <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> qb_s <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> (qomax_s <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb_s) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.2</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> r <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.8</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> r<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb48-19">      }</span>
<span id="cb48-20">    }</span>
<span id="cb48-21">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">return</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">data.frame</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">pwf =</span> pwf_s, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">qt =</span> qt_s, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">Fw =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">factor</span>(fw_val)))</span>
<span id="cb48-22">  }</span>
<span id="cb48-23"></span>
<span id="cb48-24">  CD_s <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> fo_val <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.125</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span></span>
<span id="cb48-25">    (<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sqrt</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">81</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">80</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.999</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> qomax_s <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb_s) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (qomax_s <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb_s)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb48-26">    fw_val <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.999</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> qomax_s) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> J) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span></span>
<span id="cb48-27">    fw_val <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qomax_s <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> J)</span>
<span id="cb48-28"></span>
<span id="cb48-29">  tana_s <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.001</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> qomax_s) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> CD_s</span>
<span id="cb48-30">  tanb_s <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> tana_s</span>
<span id="cb48-31">  PwfG_s <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> fw_val <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qomax_s <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> J)</span>
<span id="cb48-32"></span>
<span id="cb48-33">  <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span> (i <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">seq_along</span>(pwf_s)) {</span>
<span id="cb48-34">    p <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> pwf_s[i]</span>
<span id="cb48-35"></span>
<span id="cb48-36">    <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> (p <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> Pb) {</span>
<span id="cb48-37">      qt_s[i] <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> J <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Pr <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> p)</span>
<span id="cb48-38">    } <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">if</span> (p <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;=</span> PwfG_s) {</span>
<span id="cb48-39">      A_s <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> (p <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.125</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> fo_val <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> fw_val <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pr) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.125</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> fo_val <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb)</span>
<span id="cb48-40">      B_s <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> fw_val <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.125</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> fo_val <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Pb <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> J)</span>
<span id="cb48-41">      C_s <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> A_s <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> B_s <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">80</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (qomax_s <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb_s)</span>
<span id="cb48-42">      D_s <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> A_s<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">80</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (qb_s <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (qomax_s <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> qb_s)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">81</span></span>
<span id="cb48-43">      disc <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">max</span>(C_s<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> B_s<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> D_s, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb48-44">      qt_s[i] <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> (<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>C_s <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sqrt</span>(disc)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> B_s<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">^</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>)</span>
<span id="cb48-45">    } <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">else</span> {</span>
<span id="cb48-46">      qt_s[i] <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> (PwfG_s <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> qomax_s <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> tanb_s <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> p) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> tanb_s</span>
<span id="cb48-47">    }</span>
<span id="cb48-48">  }</span>
<span id="cb48-49"></span>
<span id="cb48-50">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">data.frame</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">pwf =</span> pwf_s, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">qt =</span> qt_s, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">Fw =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">factor</span>(fw_val))</span>
<span id="cb48-51">}</span>
<span id="cb48-52"></span>
<span id="cb48-53">all_data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">do.call</span>(rbind, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">lapply</span>(fw_values, calc_composite_ipr))</span>
<span id="cb48-54"></span>
<span id="cb48-55"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(all_data, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> qt, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> pwf, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> Fw, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">group =</span> Fw)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb48-56">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linewidth =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.2</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb48-57">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_color_manual</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">values =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#2d8a4e"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#2980b9"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#e67e22"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"#c0392b"</span>)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb48-58">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Gasto total, qt (b/d)"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Pwf (psi)"</span>,</span>
<span id="cb48-59">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Análisis de Sensibilidad — Efecto de Fw"</span>,</span>
<span id="cb48-60">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fw"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb48-61">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb48-62">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">plot.title =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_text</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">face =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bold"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>))</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-sensitivity-r" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-sensitivity-r-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-05-06-iprcomposite/index_files/figure-html/fig-sensitivity-r-3.png" class="img-fluid figure-img" width="672">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-sensitivity-r-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;4: Efecto de la fracción de agua (Fw) sobre la curva IPR.
</figcaption>
</figure>
</div>
</div>
</div>
</div>
</div>
</div>
<p><strong>Observaciones del análisis de sensibilidad:</strong></p>
<ul>
<li>Con <img src="https://latex.codecogs.com/png.latex?F_w%20=%200"> (solo aceite), la curva es la IPR de Vogel clásica</li>
<li>A medida que <img src="https://latex.codecogs.com/png.latex?F_w"> aumenta, la curva se “estira” hacia la derecha: el gasto máximo total aumenta pero gran parte es agua</li>
<li>La curvatura de la zona bifásica se atenúa con mayor <img src="https://latex.codecogs.com/png.latex?F_w"> porque el componente lineal del agua domina</li>
<li>En el extremo <img src="https://latex.codecogs.com/png.latex?F_w%20=%201"> (solo agua), la IPR sería una línea recta con pendiente <img src="https://latex.codecogs.com/png.latex?1/J"></li>
</ul>
</section>
<section id="referencias" class="level2">
<h2 class="anchored" data-anchor-id="referencias">Referencias</h2>
<ul>
<li>Brown, K.E. (1984). <em>The Technology of Artificial Lift Methods</em>, Vol. 4. PennWell Books.</li>
<li>Vogel, J.V. (1968). Inflow Performance Relationships for Solution-Gas Drive Wells. <em>JPT</em>, 20(1).</li>
</ul>
<hr>
<div class="cell">
<div class="cell-output-display">
<div style="background:#fff;border:0.5px solid #ddd;border-left:4px solid #FFE600;border-radius:10px;padding:.9rem 1.1rem;display:flex;align-items:center;gap:.9rem;margin:1.5rem 0;font-family:sans-serif">
  <div style="background:#FFF9C4;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px">🛒</div>
  <div style="flex:1">
    <strong style="font-size:14px;color:#1a1a1a;font-weight:600">Propiedades De Los Fluidos Del Yacimiento</strong>
    <p style="font-size:12px;color:#666;margin:2px 0 0">Disponible en Mercado Libre</p>
  </div>
  <a href="https://meli.la/2QFWR5n" target="_blank" style="background:#FFE600;color:#333;font-size:12px;font-weight:700;padding:.4rem .9rem;border-radius:6px;text-decoration:none;white-space:nowrap;flex-shrink:0">
    Ver oferta →
  </a>
</div>
</div>
</div>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>

 ]]></description>
  <category>Yacimientos</category>
  <category>Producción</category>
  <category>R</category>
  <category>Python</category>
  <category>Excel</category>
  <guid>https://rigobertochandomiblog.com/posts/2026-05-06-iprcomposite/</guid>
  <pubDate>Wed, 06 May 2026 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2026-05-06-iprcomposite/preview.png" medium="image" type="image/png" height="97" width="144"/>
</item>
<item>
  <title>Gráfico de Burbuja en Excel con Datos de Producción</title>
  <dc:creator>Reservoir Engineering Lab</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2026-05-03-grafico-burbujas/</link>
  <description><![CDATA[ 




<section id="qué-es-un-gráfico-de-burbuja" class="level2">
<h2 class="anchored" data-anchor-id="qué-es-un-gráfico-de-burbuja">¿Qué es un Gráfico de Burbuja?</h2>
<p>Un <strong>gráfico de burbuja</strong> (Bubble Chart) es una extensión del gráfico de dispersión que permite representar <strong>tres variables simultáneamente</strong>: dos en los ejes X-Y y una tercera como el <strong>tamaño de la burbuja</strong>. En ingeniería de yacimientos es extremadamente útil porque podemos visualizar en un solo gráfico:</p>
<ul>
<li><strong>Posición del pozo</strong> (coordenadas X, Y)</li>
<li><strong>Producción acumulada</strong> (Np, Gp, Wp) como el tamaño de cada burbuja</li>
</ul>
<p>El resultado es un “mapa” simplificado donde inmediatamente se identifican los pozos más productores y su ubicación relativa en el campo.</p>
<div class="callout callout-style-default callout-tip callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
¿Cuándo usar un Bubble Chart?
</div>
</div>
<div class="callout-body-container callout-body">
<p>Úsalo cuando necesites comunicar rápidamente la distribución espacial de la producción en un campo. Es ideal para presentaciones ejecutivas, reportes mensuales y diagnóstico visual de dónde se concentra la producción.</p>
</div>
</div>
<div class="cell">
<div class="cell-output-display">
<div style="background:#1a2e1a;border-radius:10px;padding:.9rem 1.1rem;display:flex;align-items:center;gap:.9rem;border:1px solid #2d6a4f;margin:1.5rem 0;font-family:sans-serif">
  <div style="width:40px;height:40px;background:#ff0000;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0">
    <svg width="18" height="18" viewbox="0 0 24 24" fill="white"><path d="M23 7s-.3-2-1.2-2.8c-1.1-1.2-2.4-1.2-3-1.3C16.4 2.8 12 2.8 12 2.8s-4.4 0-6.8.1c-.6.1-1.9.1-3 1.3C1.3 5 1 7 1 7S.8 9.1.8 11.3v2c0 2.2.2 4.3.2 4.3s.3 2 1.2 2.8c1.1 1.2 2.6 1.1 3.3 1.2C7.5 21.8 12 21.8 12 21.8s4.4 0 6.8-.2c.6-.1 1.9-.1 3-1.3.9-.8 1.2-2.8 1.2-2.8s.2-2.1.2-4.3v-2C23.2 9.1 23 7 23 7zm-13.5 8.8V8.2l8.1 3.8-8.1 3.8z"></path></svg>
  </div>
  <div style="flex:1">
    <strong style="font-size:14px;color:#ffffff;font-weight:600">Visita el canal @rigopetrodata</strong>
    <p style="font-size:12px;color:#b7d4c7;margin:2px 0 0">Tutoriales de R, Python y Excel para ingeniería petrolera</p>
  </div>
  <a href="https://www.youtube.com/@rigopetrodata" target="_blank" style="background:#ff0000;color:white;font-size:12px;font-weight:600;padding:.4rem .9rem;border-radius:6px;text-decoration:none;white-space:nowrap;flex-shrink:0">
    Ver canal
  </a>
</div>
</div>
</div>
</section>
<section id="video-paso-a-paso-en-excel" class="level2">
<h2 class="anchored" data-anchor-id="video-paso-a-paso-en-excel">Video: Paso a Paso en Excel</h2>
<p>En este video se muestra el procedimiento completo para crear el gráfico de burbuja en Excel:</p>
<div class="quarto-video ratio ratio-16x9"><iframe data-external="1" src="https://www.youtube.com/embed/SalDSSyLvX8" title="" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></div>
</section>
<section id="los-datos" class="level2">
<h2 class="anchored" data-anchor-id="los-datos">Los Datos</h2>
<p>Trabajamos con <strong>16 pozos</strong> de un campo petrolero. La tabla contiene coordenadas UTM (X, Y) y la producción acumulada de cada fluido:</p>
<table class="table-striped caption-top table">
<caption>Estructura de los datos.</caption>
<colgroup>
<col style="width: 28%">
<col style="width: 40%">
<col style="width: 31%">
</colgroup>
<thead>
<tr class="header">
<th>Columna</th>
<th>Descripción</th>
<th>Unidades</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>Pozo</td>
<td>Nombre del pozo</td>
<td>—</td>
</tr>
<tr class="even">
<td>X</td>
<td>Coordenada UTM Este</td>
<td>m</td>
</tr>
<tr class="odd">
<td>Y</td>
<td>Coordenada UTM Norte</td>
<td>m</td>
</tr>
<tr class="even">
<td>Np</td>
<td>Producción acumulada de aceite</td>
<td>MMB (millones de barriles)</td>
</tr>
<tr class="odd">
<td>Wp</td>
<td>Producción acumulada de agua</td>
<td>MMB</td>
</tr>
<tr class="even">
<td>Gp</td>
<td>Producción acumulada de gas</td>
<td>MMMPC (miles de millones de pies cúbicos)</td>
</tr>
</tbody>
</table>
<p><strong>Resumen rápido del campo:</strong></p>
<table class="table-striped caption-top table">
<caption>Estadísticas del campo.</caption>
<colgroup>
<col style="width: 27%">
<col style="width: 22%">
<col style="width: 22%">
<col style="width: 27%">
</colgroup>
<thead>
<tr class="header">
<th>Estadística</th>
<th>Np (MMB)</th>
<th>Wp (MMB)</th>
<th>Gp (MMMPC)</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>Total del campo</td>
<td>313.67</td>
<td>28.81</td>
<td>653.14</td>
</tr>
<tr class="even">
<td>Pozo más productor</td>
<td>Pozo-10 (63.20)</td>
<td>Pozo-4 (5.75)</td>
<td>Pozo-10 (138.46)</td>
</tr>
<tr class="odd">
<td>Pozo menos productor</td>
<td>Pozo-12 (0.40)</td>
<td>Pozo-3, 5, 12, 16 (0)</td>
<td>Pozo-12 (0.86)</td>
</tr>
<tr class="even">
<td>Promedio por pozo</td>
<td>19.60</td>
<td>1.80</td>
<td>40.82</td>
</tr>
</tbody>
</table>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-03-grafico-burbujas/imagen1.png" class="img-fluid"></p>
</section>
<section id="paso-1-preparar-los-datos" class="level2">
<h2 class="anchored" data-anchor-id="paso-1-preparar-los-datos">Paso 1 — Preparar los datos</h2>
<p>Los datos ya están organizados en la estructura correcta para el gráfico de burbuja:</p>
<ul>
<li><strong>Eje X:</strong> Coordenada X del pozo (columna B)</li>
<li><strong>Eje Y:</strong> Coordenada Y del pozo (columna C)</li>
<li><strong>Tamaño de burbuja:</strong> La variable que quieras visualizar — Np (columna D), Wp (columna E) o Gp (columna F)</li>
</ul>
<p>No necesitas columnas adicionales ni fórmulas. La tabla tal como está es suficiente para crear el gráfico.</p>
<div class="callout callout-style-default callout-note callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Coordenadas UTM
</div>
</div>
<div class="callout-body-container callout-body">
<p>Las coordenadas X, Y están en metros (sistema UTM). Al graficarlas en Excel, los ejes representan aproximadamente la posición geográfica real de los pozos. No es un mapa con proyección cartográfica exacta, pero para fines de visualización es muy útil.</p>
</div>
</div>
</section>
<section id="paso-2-insertar-el-gráfico-de-burbuja" class="level2">
<h2 class="anchored" data-anchor-id="paso-2-insertar-el-gráfico-de-burbuja">Paso 2 — Insertar el gráfico de burbuja</h2>
<ol type="1">
<li>Selecciona los datos de las columnas <strong>X</strong>, <strong>Y</strong> y <strong>Np</strong> (columnas B, C y D, incluyendo encabezados): rango <strong>B1:D17</strong></li>
<li>Ve a <strong>Insertar → Gráficos → Otros gráficos → Burbuja</strong> (o en versiones recientes: Insertar → Gráfico recomendado → Burbuja)</li>
<li>Excel generará automáticamente el gráfico usando X como eje horizontal, Y como eje vertical y Np como tamaño de la burbuja</li>
</ol>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-03-grafico-burbujas/imagen2.png" class="img-fluid"></p>
</section>
<section id="paso-3-configurar-las-series-de-datos" class="level2">
<h2 class="anchored" data-anchor-id="paso-3-configurar-las-series-de-datos">Paso 3 — Configurar las series de datos</h2>
<p>Si Excel no asigna correctamente las columnas, configúralas manualmente:</p>
<ol type="1">
<li>Click derecho en el gráfico → <strong>Seleccionar datos</strong></li>
<li>En la serie, hacer click en <strong>Editar</strong></li>
<li>Configurar:
<ul>
<li><strong>Valores X de la serie:</strong> <code>=Hoja1!$B$2:$B$17</code> (coordenada X)</li>
<li><strong>Valores Y de la serie:</strong> <code>=Hoja1!$C$2:$C$17</code> (coordenada Y)</li>
<li><strong>Tamaños de la burbuja:</strong> <code>=Hoja1!$D$2:$D$17</code> (Np en MMB)</li>
</ul></li>
<li>Aceptar</li>
</ol>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-03-grafico-burbujas/imagen3.png" class="img-fluid"></p>
</section>
<section id="paso-4-agregar-etiquetas-de-pozos" class="level2">
<h2 class="anchored" data-anchor-id="paso-4-agregar-etiquetas-de-pozos">Paso 4 — Agregar etiquetas de pozos</h2>
<p>Para identificar cada burbuja con el nombre del pozo:</p>
<ol type="1">
<li>Click en el gráfico → Seleccionar la serie de burbujas</li>
<li>Click derecho → <strong>Agregar etiquetas de datos</strong></li>
<li>Click derecho en las etiquetas → <strong>Formato de etiquetas de datos</strong></li>
<li>Desmarcar “Valor Y” y marcar ✅ <strong>“Valor de celda”</strong></li>
<li>Seleccionar el rango de nombres: <code>=Hoja1!$A$2:$A$17</code></li>
<li>Desmarcar las demás opciones para que solo aparezca el nombre del pozo</li>
</ol>
<p>Opcionalmente, puedes mover las etiquetas manualmente para evitar que se superpongan con las burbujas.</p>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-03-grafico-burbujas/imagen4.png" class="img-fluid"></p>
</section>
<section id="paso-5-formato-y-presentación" class="level2">
<h2 class="anchored" data-anchor-id="paso-5-formato-y-presentación">Paso 5 — Formato y presentación</h2>
<p>Para que el gráfico se vea profesional:</p>
<p><strong>Título:</strong> “Producción Acumulada de Aceite (Np) — Mapa de Burbujas” o similar.</p>
<p><strong>Ejes:</strong></p>
<ul>
<li>Eje X: “Coordenada X (m)” — formato numérico sin decimales</li>
<li>Eje Y: “Coordenada Y (m)” — formato numérico sin decimales</li>
<li>Ajustar los límites de ambos ejes para que los pozos queden centrados y con un margen adecuado</li>
</ul>
<p><strong>Burbujas:</strong></p>
<ul>
<li>Agregar transparencia (50-70%) para ver superposiciones: Click derecho en las burbujas → Formato de serie de datos → Relleno → Color sólido con transparencia</li>
<li>Usar un color que resalte: verde para Np, azul para Wp, rojo para Gp</li>
</ul>
<p><strong>Gridlines:</strong> Líneas de cuadrícula suaves para facilitar la lectura de coordenadas.</p>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-03-grafico-burbujas/imagen5.png" class="img-fluid"></p>
</section>
<section id="paso-6-variantes-wp-y-gp" class="level2">
<h2 class="anchored" data-anchor-id="paso-6-variantes-wp-y-gp">Paso 6 — Variantes: Wp y Gp</h2>
<p>Puedes crear gráficos adicionales cambiando la variable del tamaño de la burbuja:</p>
<p><strong>Para producción de agua (Wp):</strong></p>
<ul>
<li>Cambia el rango de tamaño de burbuja a la columna E (<code>Wp</code>)</li>
<li>Usa color <strong>azul</strong> para las burbujas</li>
<li>Título: “Producción Acumulada de Agua (Wp)”</li>
</ul>
<p><strong>Para producción de gas (Gp):</strong></p>
<ul>
<li>Cambia el rango a la columna F (<code>Gp</code>)</li>
<li>Usa color <strong>rojo</strong> para las burbujas</li>
<li>Título: “Producción Acumulada de Gas (Gp)”</li>
</ul>
<p>Comparar los tres gráficos lado a lado permite identificar patrones. Por ejemplo: ¿los pozos con mayor Np también tienen mayor Wp? ¿Hay pozos con alto Gp pero bajo Np (alto GOR)?</p>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-03-grafico-burbujas/imagen6.png" class="img-fluid"></p>
</section>
<section id="interpretación-del-gráfico" class="level2">
<h2 class="anchored" data-anchor-id="interpretación-del-gráfico">Interpretación del Gráfico</h2>
<p>Del gráfico de burbuja con los datos del ejemplo podemos observar:</p>
<p><strong>Pozo-10</strong> es claramente el mayor productor del campo con 63.2 MMB de Np y 138.46 MMMPC de Gp. Se ubica en la zona centro-este del campo.</p>
<p><strong>Pozo-2</strong> es el segundo mayor productor (43.27 MMB) ubicado en la zona noroeste, seguido de <strong>Pozo-11</strong> (31.4 MMB) y <strong>Pozo-4</strong> (30.0 MMB).</p>
<p>Los pozos <strong>Pozo-12</strong>, <strong>Pozo-5</strong> y <strong>Pozo-3</strong> tienen producción muy baja (&lt; 2 MMB), lo cual podría indicar que se encuentran en zonas marginales del yacimiento, tienen problemas de productividad, o fueron pozos de desarrollo tardío.</p>
<p>En cuanto al agua, <strong>Pozo-4</strong> es el mayor productor de agua (5.75 MMB) a pesar de no ser el mayor productor de aceite, lo que sugiere un posible avance preferencial del frente de agua en esa zona. Cuatro pozos (3, 5, 12 y 16) no reportan producción de agua.</p>
<div class="callout callout-style-default callout-important callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Complemento con otros gráficos
</div>
</div>
<div class="callout-body-container callout-body">
<p>El gráfico de burbuja es una herramienta de <strong>visualización rápida</strong>, no reemplaza un análisis formal. Combínalo con los gráficos de producción del <a href="../../posts/2026-04-27-graficos-produccion/index.html">Post de Dashboard de Producción</a> para un diagnóstico más completo.</p>
</div>
</div>
</section>
<section id="aplicaciones-adicionales" class="level2">
<h2 class="anchored" data-anchor-id="aplicaciones-adicionales">Aplicaciones adicionales</h2>
<p>El gráfico de burbuja no se limita a producción acumulada. Puedes usar el tamaño de burbuja para representar:</p>
<ul>
<li><strong>Tasa de producción actual</strong> → identifica pozos activos vs inactivos</li>
<li><strong>GOR o WOR</strong> → detecta zonas con problemas de agua o gas</li>
<li><strong>Presión estática</strong> → visualiza el mapa de presiones del campo</li>
<li><strong>Espesor neto (h)</strong> → relaciona producción con calidad de roca</li>
<li><strong>Reservas remanentes</strong> → prioriza ubicaciones para infill drilling</li>
</ul>
</section>
<section id="descarga" class="level2">
<h2 class="anchored" data-anchor-id="descarga">Descarga</h2>
<ul>
<li>📥 <a href="https://github.com/rigochando/OG-Spreadsheets/raw/refs/heads/main/Grafico%20de%20burbuja_v2.xlsx">Grafico_de_burbuja_v2.xlsx</a> — Archivo Excel con los datos de 16 pozos</li>
</ul>
<hr>
<div class="cell">
<div class="cell-output-display">
<div style="background:#fff;border:0.5px solid #ddd;border-left:4px solid #FFE600;border-radius:10px;padding:.9rem 1.1rem;display:flex;align-items:center;gap:.9rem;margin:1.5rem 0;font-family:sans-serif">
  <div style="background:#FFF9C4;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px">🛒</div>
  <div style="flex:1">
    <strong style="font-size:14px;color:#1a1a1a;font-weight:600">Propiedades De Los Fluidos Del Yacimiento</strong>
    <p style="font-size:12px;color:#666;margin:2px 0 0">Disponible en Mercado Libre</p>
  </div>
  <a href="https://meli.la/2QFWR5n" target="_blank" style="background:#FFE600;color:#333;font-size:12px;font-weight:700;padding:.4rem .9rem;border-radius:6px;text-decoration:none;white-space:nowrap;flex-shrink:0">
    Ver oferta →
  </a>
</div>
</div>
</div>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>

 ]]></description>
  <category>Yacimientos</category>
  <category>Producción</category>
  <category>Excel</category>
  <guid>https://rigobertochandomiblog.com/posts/2026-05-03-grafico-burbujas/</guid>
  <pubDate>Mon, 04 May 2026 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2026-05-03-grafico-burbujas/imagen6.png" medium="image" type="image/png" height="56" width="144"/>
</item>
<item>
  <title>Prueba de Incremento de Presión (Buildup): Análisis Semilog en Excel</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2026-05-06-semilog-incremento/</link>
  <description><![CDATA[ 




<section id="qué-es-una-prueba-de-incremento-buildup" class="level2">
<h2 class="anchored" data-anchor-id="qué-es-una-prueba-de-incremento-buildup">¿Qué es una prueba de incremento (buildup)?</h2>
<p>La prueba de <strong>restauración o incremento de presión</strong> (buildup test) es una de las pruebas más frecuentes en la industria petrolera. Consiste en cerrar un pozo que ha estado produciendo a gasto constante <img src="https://latex.codecogs.com/png.latex?q"> durante un tiempo <img src="https://latex.codecogs.com/png.latex?t_p">, y registrar cómo la presión de fondo se recupera en función del tiempo de cierre <img src="https://latex.codecogs.com/png.latex?%5CDelta%20t">.</p>
<p>A partir de estos datos se pueden estimar parámetros fundamentales del yacimiento:</p>
<ul>
<li><strong>Permeabilidad</strong> (<img src="https://latex.codecogs.com/png.latex?k">) del área de drene</li>
<li><strong>Factor de daño</strong> (<img src="https://latex.codecogs.com/png.latex?s">) asociado al pozo</li>
<li><strong>Presión estática</strong> (<img src="https://latex.codecogs.com/png.latex?%5Cbar%7Bp%7D">) del yacimiento</li>
</ul>
<div class="cell">
<div class="cell-output-display">
<div style="background:#1a2e1a;border-radius:10px;padding:.9rem 1.1rem;display:flex;align-items:center;gap:.9rem;border:1px solid #2d6a4f;margin:1.5rem 0;font-family:sans-serif">
  <div style="width:40px;height:40px;background:#ff0000;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0">
    <svg width="18" height="18" viewbox="0 0 24 24" fill="white"><path d="M23 7s-.3-2-1.2-2.8c-1.1-1.2-2.4-1.2-3-1.3C16.4 2.8 12 2.8 12 2.8s-4.4 0-6.8.1c-.6.1-1.9.1-3 1.3C1.3 5 1 7 1 7S.8 9.1.8 11.3v2c0 2.2.2 4.3.2 4.3s.3 2 1.2 2.8c1.1 1.2 2.6 1.1 3.3 1.2C7.5 21.8 12 21.8 12 21.8s4.4 0 6.8-.2c.6-.1 1.9-.1 3-1.3.9-.8 1.2-2.8 1.2-2.8s.2-2.1.2-4.3v-2C23.2 9.1 23 7 23 7zm-13.5 8.8V8.2l8.1 3.8-8.1 3.8z"></path></svg>
  </div>
  <div style="flex:1">
    <strong style="font-size:14px;color:#ffffff;font-weight:600">Visita el canal @rigopetrodata</strong>
    <p style="font-size:12px;color:#b7d4c7;margin:2px 0 0">Tutoriales de R, Python y Excel para ingeniería petrolera</p>
  </div>
  <a href="https://www.youtube.com/@rigopetrodata" target="_blank" style="background:#ff0000;color:white;font-size:12px;font-weight:600;padding:.4rem .9rem;border-radius:6px;text-decoration:none;white-space:nowrap;flex-shrink:0">
    Ver canal
  </a>
</div>
</div>
</div>
<div class="callout callout-style-default callout-tip callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
¿Por qué buildup y no drawdown?
</div>
</div>
<div class="callout-body-container callout-body">
<p>Desde el punto de vista de calidad de datos, los datos de presión durante el cierre son más “limpios” que los obtenidos durante la producción, ya que no están afectados por fluctuaciones del mecanismo de producción. La desventaja es económica: se pierde producción durante el cierre.</p>
</div>
</div>
</section>
<section id="principio-de-superposición" class="level2">
<h2 class="anchored" data-anchor-id="principio-de-superposición">Principio de superposición</h2>
<p>Una prueba de incremento se modela como la superposición de dos cambios de gasto:</p>
<ol type="1">
<li><strong>Primer cambio:</strong> de 0 a <img src="https://latex.codecogs.com/png.latex?q">, iniciando en <img src="https://latex.codecogs.com/png.latex?t%20=%200"></li>
<li><strong>Segundo cambio:</strong> de <img src="https://latex.codecogs.com/png.latex?q"> a 0, iniciando en <img src="https://latex.codecogs.com/png.latex?t%20=%20t_p"> (momento del cierre)</li>
</ol>
<p>Debido a que la ecuación de difusividad es lineal, podemos sumar las respuestas individuales de presión para obtener la presión durante el cierre. Esta es la base matemática de los tres métodos que veremos.</p>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-06-semilog-incremento/imagen1.png" class="img-fluid"></p>
</section>
<section id="los-datos-del-ejemplo" class="level2">
<h2 class="anchored" data-anchor-id="los-datos-del-ejemplo">Los Datos del Ejemplo</h2>
<p>Trabajamos con el <strong>Ejemplo</strong> del archivo Excel. Los datos del pozo y yacimiento son:</p>
<table class="table-striped caption-top table">
<caption>Datos del pozo y yacimiento. Ejemplo 2, Lee &amp; Spivey (2013).</caption>
<thead>
<tr class="header">
<th>Parámetro</th>
<th>Valor</th>
<th>Unidades</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>Gasto de producción (<img src="https://latex.codecogs.com/png.latex?q">)</td>
<td>150</td>
<td>STB/D</td>
</tr>
<tr class="even">
<td>Espesor neto (<img src="https://latex.codecogs.com/png.latex?h">)</td>
<td>50</td>
<td>ft</td>
</tr>
<tr class="odd">
<td>Porosidad (<img src="https://latex.codecogs.com/png.latex?%5Cphi">)</td>
<td>0.20</td>
<td>fracción</td>
</tr>
<tr class="even">
<td>Factor volumétrico (<img src="https://latex.codecogs.com/png.latex?B_o">)</td>
<td>1.50</td>
<td>RB/STB</td>
</tr>
<tr class="odd">
<td>Tiempo de producción (<img src="https://latex.codecogs.com/png.latex?t_p">)</td>
<td>1,000</td>
<td>hrs</td>
</tr>
<tr class="even">
<td>Compresibilidad total (<img src="https://latex.codecogs.com/png.latex?c_t">)</td>
<td>5×10⁻⁵</td>
<td>psi⁻¹</td>
</tr>
<tr class="odd">
<td>Radio del pozo (<img src="https://latex.codecogs.com/png.latex?r_w">)</td>
<td>0.33</td>
<td>ft</td>
</tr>
<tr class="even">
<td>Viscosidad (<img src="https://latex.codecogs.com/png.latex?%5Cmu">)</td>
<td>0.50</td>
<td>cp</td>
</tr>
<tr class="odd">
<td>Presión al cierre (<img src="https://latex.codecogs.com/png.latex?p_%7Bwf%7D">)</td>
<td>4,404.84</td>
<td>psia</td>
</tr>
</tbody>
</table>
<p>La prueba registró 50 puntos de presión desde <img src="https://latex.codecogs.com/png.latex?%5CDelta%20t%20=%200.001"> hrs hasta <img src="https://latex.codecogs.com/png.latex?%5CDelta%20t%20=%201000"> hrs.</p>
</section>
<section id="paso-1-organizar-la-tabla-de-datos-en-excel" class="level2">
<h2 class="anchored" data-anchor-id="paso-1-organizar-la-tabla-de-datos-en-excel">Paso 1 — Organizar la tabla de datos en Excel</h2>
<p>La hoja <code>Ejemplo</code> está organizada con los <strong>datos de entrada</strong> en las celdas A2:C9 y los <strong>datos de la prueba</strong> a partir de la fila 11. Necesitas calcular las siguientes columnas auxiliares:</p>
<table class="table-striped caption-top table">
<caption>Columnas calculadas. B6 contiene el valor de tp = 1000.</caption>
<colgroup>
<col style="width: 23%">
<col style="width: 28%">
<col style="width: 48%">
</colgroup>
<thead>
<tr class="header">
<th>Columna</th>
<th>Contenido</th>
<th>Fórmula (fila 13)</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>A</td>
<td><img src="https://latex.codecogs.com/png.latex?%5CDelta%20t"> (hr)</td>
<td>Dato medido</td>
</tr>
<tr class="even">
<td>B</td>
<td><img src="https://latex.codecogs.com/png.latex?p_%7Bws%7D"> (psia)</td>
<td>Dato medido</td>
</tr>
<tr class="odd">
<td>C</td>
<td><img src="https://latex.codecogs.com/png.latex?%5Clog(%5CDelta%20t)"></td>
<td><code>=LOG10(A13)</code></td>
</tr>
<tr class="even">
<td>D</td>
<td><img src="https://latex.codecogs.com/png.latex?(t_p%20+%20%5CDelta%20t)%20/%20%5CDelta%20t"></td>
<td><code>=(B6+A13)/A13</code></td>
</tr>
<tr class="odd">
<td>E</td>
<td><img src="https://latex.codecogs.com/png.latex?%5CDelta%20t_e%20=%20%5Cfrac%7Bt_p%20%5Ccdot%20%5CDelta%20t%7D%7Bt_p%20+%20%5CDelta%20t%7D"></td>
<td><code>=(B6*A13)/(B6+A13)</code></td>
</tr>
<tr class="even">
<td>F</td>
<td><img src="https://latex.codecogs.com/png.latex?%5Clog%5B(t_p%20+%20%5CDelta%20t)%20/%20%5CDelta%20t%5D"></td>
<td><code>=LOG10(D13)</code></td>
</tr>
<tr class="odd">
<td>G</td>
<td><img src="https://latex.codecogs.com/png.latex?%5Clog(%5CDelta%20t_e)"></td>
<td><code>=LOG10(E13)</code></td>
</tr>
</tbody>
</table>
<p>Las columnas C, D, E, F y G son los ejes X para cada método:</p>
<ul>
<li><strong>MDH</strong> usa columna C: <img src="https://latex.codecogs.com/png.latex?%5Clog(%5CDelta%20t)"></li>
<li><strong>Horner</strong> usa columna F: <img src="https://latex.codecogs.com/png.latex?%5Clog%5B(t_p%20+%20%5CDelta%20t)%20/%20%5CDelta%20t%5D"></li>
<li><strong>Agarwal</strong> usa columna G: <img src="https://latex.codecogs.com/png.latex?%5Clog(%5CDelta%20t_e)"></li>
</ul>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-06-semilog-incremento/imagen2.png" class="img-fluid"></p>
</section>
<section id="paso-2-método-mdh-miller-dyes-hutchinson" class="level2">
<h2 class="anchored" data-anchor-id="paso-2-método-mdh-miller-dyes-hutchinson">Paso 2 — Método MDH (Miller, Dyes &amp; Hutchinson)</h2>
<p>El método MDH es el más sencillo de los tres. Asume que el tiempo de cierre <img src="https://latex.codecogs.com/png.latex?%5CDelta%20t"> es mucho menor que el tiempo de producción <img src="https://latex.codecogs.com/png.latex?t_p"> (es decir, <img src="https://latex.codecogs.com/png.latex?%5CDelta%20t%20%5Cll%20t_p">).</p>
<p><strong>Fundamento:</strong> Una gráfica de <img src="https://latex.codecogs.com/png.latex?p_%7Bws%7D"> vs <img src="https://latex.codecogs.com/png.latex?%5Clog(%5CDelta%20t)"> mostrará una <strong>línea recta</strong> durante el periodo de flujo radial infinito (IARF), con pendiente <img src="https://latex.codecogs.com/png.latex?m"> e intercepto <img src="https://latex.codecogs.com/png.latex?p_%7B1hr%7D">.</p>
<section id="procedimiento-en-excel" class="level3">
<h3 class="anchored" data-anchor-id="procedimiento-en-excel">Procedimiento en Excel:</h3>
<ol type="1">
<li><p><strong>Crear el gráfico:</strong> Selecciona columna C (<img src="https://latex.codecogs.com/png.latex?%5Clog%20%5CDelta%20t">) como eje X y columna B (<img src="https://latex.codecogs.com/png.latex?p_%7Bws%7D">) como eje Y → <strong>Insertar → Gráfico de Dispersión (XY)</strong></p></li>
<li><p><strong>Identificar la línea recta:</strong> Busca los puntos que forman una tendencia lineal. Los datos a tiempos muy cortos estarán afectados por almacenamiento (wellbore storage) y los de tiempos largos por efectos de frontera.</p></li>
<li><p><strong>Ajustar línea de tendencia:</strong> Selecciona los puntos de la línea recta → Click derecho → <strong>Agregar línea de tendencia → Lineal</strong> → ✅ Mostrar ecuación en el gráfico (<img src="https://latex.codecogs.com/png.latex?y%20=%20mx%20+%20b">).</p></li>
<li><p><strong>Leer los parámetros de la línea recta:</strong></p>
<ul>
<li><strong>Pendiente:</strong> <img src="https://latex.codecogs.com/png.latex?m%20=%2022.569"> psi/ciclo</li>
<li><strong><img src="https://latex.codecogs.com/png.latex?p_%7B1hr%7D">:</strong> Es la presión leída (o extrapolada) <strong>de la línea recta</strong> a <img src="https://latex.codecogs.com/png.latex?%5CDelta%20t%20=%201"> hr, es decir, donde <img src="https://latex.codecogs.com/png.latex?%5Clog(%5CDelta%20t)%20=%200">. En este caso: <img src="https://latex.codecogs.com/png.latex?p_%7B1hr%7D%20=%204928.5"> psia. La fórmula en Excel es: <code>=m*LOG10(1)+b</code> donde <img src="https://latex.codecogs.com/png.latex?m"> y <img src="https://latex.codecogs.com/png.latex?b"> vienen de la ecuación de la línea de tendencia.</li>
</ul></li>
<li><p><strong>Calcular permeabilidad:</strong></p></li>
</ol>
<p><img src="https://latex.codecogs.com/png.latex?k%20=%20%5Cfrac%7B162.6%20%5Ccdot%20q%20%5Ccdot%20B_o%20%5Ccdot%20%5Cmu%7D%7Bm%20%5Ccdot%20h%7D"></p>
<p>En Excel: <code>=162.6*B2*B5*B9/(J13*B3)</code> → <strong><img src="https://latex.codecogs.com/png.latex?k"> = 16.21 md</strong></p>
<ol start="6" type="1">
<li><strong>Calcular factor de daño:</strong></li>
</ol>
<p><img src="https://latex.codecogs.com/png.latex?s%20=%201.151%20%5Cleft%5B%20%5Cfrac%7Bp_%7B1hr%7D%20-%20p_%7Bwf%7D%7D%7Bm%7D%20-%20%5Clog_%7B10%7D%5Cleft(%5Cfrac%7Bk%7D%7B%5Cphi%20%5Ccdot%20%5Cmu%20%5Ccdot%20c_t%20%5Ccdot%20r_w%5E2%7D%5Cright)%20+%203.23%20%5Cright%5D"></p>
<p>En Excel: <code>=1.151*((J12-B12)/J13-LOG10(J14/(B4*B9*B7*B8^2))+3.23)</code> → <strong><img src="https://latex.codecogs.com/png.latex?s"> = 21.82</strong></p>
<div class="callout callout-style-default callout-important callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Nota sobre P₁ₕᵣ
</div>
</div>
<div class="callout-body-container callout-body">
<p>La presión a 1 hora <strong>siempre se lee de la línea recta ajustada</strong>, no de los datos medidos. Si los datos a <img src="https://latex.codecogs.com/png.latex?%5CDelta%20t%20=%201"> hr aún están afectados por almacenamiento, debes extrapolar la línea recta hasta ese punto.</p>
</div>
</div>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-06-semilog-incremento/imagen3.png" class="img-fluid"></p>
</section>
</section>
<section id="paso-3-método-de-horner" class="level2">
<h2 class="anchored" data-anchor-id="paso-3-método-de-horner">Paso 3 — Método de Horner</h2>
<p>El método de Horner es el más conocido y no requiere la aproximación <img src="https://latex.codecogs.com/png.latex?%5CDelta%20t%20%5Cll%20t_p"> del MDH, por lo que es más general.</p>
<p><strong>Fundamento:</strong> Una gráfica de <img src="https://latex.codecogs.com/png.latex?p_%7Bws%7D"> vs <img src="https://latex.codecogs.com/png.latex?%5Clog%5B(t_p%20+%20%5CDelta%20t)%20/%20%5CDelta%20t%5D"> mostrará una <strong>línea recta</strong> durante IARF. El cociente <img src="https://latex.codecogs.com/png.latex?(t_p%20+%20%5CDelta%20t)%20/%20%5CDelta%20t"> se conoce como <strong>Horner Time Ratio (HTR)</strong>.</p>
<div class="callout callout-style-default callout-note callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Eje X del gráfico de Horner
</div>
</div>
<div class="callout-body-container callout-body">
<p>En el gráfico de Horner el eje X está <strong>invertido</strong>: el tiempo avanza de derecha a izquierda. Esto es porque cuando <img src="https://latex.codecogs.com/png.latex?%5CDelta%20t"> aumenta, el HTR disminuye (se acerca a 1). Ten esto en cuenta al leer la pendiente.</p>
</div>
</div>
<section id="procedimiento-en-excel-1" class="level3">
<h3 class="anchored" data-anchor-id="procedimiento-en-excel-1">Procedimiento en Excel:</h3>
<ol type="1">
<li><p><strong>Crear el gráfico:</strong> Selecciona columna F (<img src="https://latex.codecogs.com/png.latex?%5Clog"> HTR) como eje X y columna B (<img src="https://latex.codecogs.com/png.latex?p_%7Bws%7D">) como eje Y → <strong>Gráfico de Dispersión (XY)</strong>.</p></li>
<li><p><strong>Identificar la línea recta:</strong> Igual que en MDH, busca el periodo IARF.</p></li>
<li><p><strong>Ajustar línea de tendencia:</strong> Click derecho → <strong>Agregar línea de tendencia → Lineal</strong> → ✅ Mostrar ecuación.</p></li>
<li><p><strong>Leer los parámetros:</strong></p>
<ul>
<li><strong>Pendiente:</strong> <img src="https://latex.codecogs.com/png.latex?m%20=%2025.203"> psi/ciclo (nota: la pendiente es <strong>negativa</strong> en el gráfico porque el HTR decrece, pero se usa el <strong>valor absoluto</strong>)</li>
<li><strong><img src="https://latex.codecogs.com/png.latex?p_%7B1hr%7D">:</strong> Se lee de la línea recta en el punto donde <img src="https://latex.codecogs.com/png.latex?%5CDelta%20t%20=%201"> hr, es decir, HTR = <img src="https://latex.codecogs.com/png.latex?(t_p%20+%201)/1%20=%201001">. La fórmula en Excel: <code>=-m*LOG10((B6+1)/1)+b</code> → <strong><img src="https://latex.codecogs.com/png.latex?p_%7B1hr%7D"> = 4,924.88 psia</strong></li>
</ul></li>
<li><p><strong>Calcular permeabilidad:</strong></p></li>
</ol>
<p><img src="https://latex.codecogs.com/png.latex?k%20=%20%5Cfrac%7B162.6%20%5Ccdot%20q%20%5Ccdot%20B_o%20%5Ccdot%20%5Cmu%7D%7Bm%20%5Ccdot%20h%7D"></p>
<p>En Excel: <code>=162.6*B2*B5*B9/(Y13*B3)</code> → <strong><img src="https://latex.codecogs.com/png.latex?k"> = 14.52 md</strong></p>
<ol start="6" type="1">
<li><strong>Calcular factor de daño:</strong></li>
</ol>
<p>Misma ecuación que MDH pero con los valores del método Horner:</p>
<p>En Excel: <code>=1.151*((Y12-B12)/Y13-LOG10(Y14/(B4*B9*B7*B8^2))+3.23)</code> → <strong><img src="https://latex.codecogs.com/png.latex?s"> = 18.92</strong></p>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-06-semilog-incremento/imagen4.png" class="img-fluid"></p>
</section>
</section>
<section id="paso-4-método-de-tiempo-equivalente-de-agarwal" class="level2">
<h2 class="anchored" data-anchor-id="paso-4-método-de-tiempo-equivalente-de-agarwal">Paso 4 — Método de Tiempo Equivalente de Agarwal</h2>
<p>Agarwal (1980) introdujo el concepto de <strong>tiempo equivalente</strong> (<img src="https://latex.codecogs.com/png.latex?%5CDelta%20t_e">) que permite analizar pruebas de incremento como si fueran pruebas de decremento. Esto es especialmente útil para usar curvas tipo de decremento en pruebas de buildup.</p>
<p><strong>Fundamento:</strong> El tiempo equivalente se define como:</p>
<p><img src="https://latex.codecogs.com/png.latex?%5CDelta%20t_e%20=%20%5Cfrac%7Bt_p%20%5Ccdot%20%5CDelta%20t%7D%7Bt_p%20+%20%5CDelta%20t%7D"></p>
<p>Una gráfica de <img src="https://latex.codecogs.com/png.latex?p_%7Bws%7D"> vs <img src="https://latex.codecogs.com/png.latex?%5Clog(%5CDelta%20t_e)"> mostrará una línea recta durante IARF, igual que en un drawdown.</p>
<section id="procedimiento-en-excel-2" class="level3">
<h3 class="anchored" data-anchor-id="procedimiento-en-excel-2">Procedimiento en Excel:</h3>
<ol type="1">
<li><p><strong>Crear el gráfico:</strong> Selecciona columna G (<img src="https://latex.codecogs.com/png.latex?%5Clog%20%5CDelta%20t_e">) como eje X y columna B (<img src="https://latex.codecogs.com/png.latex?p_%7Bws%7D">) como eje Y → <strong>Gráfico de Dispersión (XY)</strong>.</p></li>
<li><p><strong>Identificar y ajustar la línea recta:</strong> Mismo procedimiento que MDH y Horner.</p></li>
<li><p><strong>Leer los parámetros:</strong></p>
<ul>
<li><strong>Pendiente:</strong> <img src="https://latex.codecogs.com/png.latex?m%20=%2025.203"> psi/ciclo</li>
<li><strong><img src="https://latex.codecogs.com/png.latex?p_%7B1hr%7D">:</strong> Se lee de la línea recta en <img src="https://latex.codecogs.com/png.latex?%5CDelta%20t_e%20=%201"> hr, es decir, <img src="https://latex.codecogs.com/png.latex?%5Clog(%5CDelta%20t_e)%20=%200">. En Excel: <code>=m*LOG10(1)+b</code> → <strong><img src="https://latex.codecogs.com/png.latex?p_%7B1hr%7D"> = 4,924.90 psia</strong></li>
</ul></li>
<li><p><strong>Calcular permeabilidad y factor de daño:</strong> Mismas ecuaciones que los métodos anteriores.</p>
<p>→ <strong><img src="https://latex.codecogs.com/png.latex?k"> = 14.52 md</strong>, <strong><img src="https://latex.codecogs.com/png.latex?s"> = 18.92</strong></p></li>
</ol>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-06-semilog-incremento/imagen5.png" class="img-fluid"></p>
</section>
</section>
<section id="paso-5-comparación-de-los-tres-métodos" class="level2">
<h2 class="anchored" data-anchor-id="paso-5-comparación-de-los-tres-métodos">Paso 5 — Comparación de los Tres Métodos</h2>
<p>Una de las fortalezas de realizar el análisis por los tres métodos es poder <strong>comparar y validar</strong> los resultados:</p>
<table class="table-striped caption-top table">
<caption>Comparación de resultados por los tres métodos.</caption>
<thead>
<tr class="header">
<th>Parámetro</th>
<th>MDH</th>
<th>Horner</th>
<th>Agarwal</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><img src="https://latex.codecogs.com/png.latex?m"> (psi/ciclo)</td>
<td>22.569</td>
<td>25.203</td>
<td>25.203</td>
</tr>
<tr class="even">
<td><img src="https://latex.codecogs.com/png.latex?p_%7B1hr%7D"> (psia)</td>
<td>4,928.50</td>
<td>4,924.88</td>
<td>4,924.90</td>
</tr>
<tr class="odd">
<td><img src="https://latex.codecogs.com/png.latex?k"> (md)</td>
<td>16.21</td>
<td>14.52</td>
<td>14.52</td>
</tr>
<tr class="even">
<td><img src="https://latex.codecogs.com/png.latex?s"></td>
<td>21.82</td>
<td>18.92</td>
<td>18.92</td>
</tr>
</tbody>
</table>
<p><strong>Observaciones:</strong></p>
<ul>
<li><strong>Horner y Agarwal</strong> dan resultados prácticamente idénticos, lo cual es esperado ya que ambos son exactos (no usan la aproximación de <img src="https://latex.codecogs.com/png.latex?%5CDelta%20t%20%5Cll%20t_p">).</li>
<li><strong>MDH</strong> da una permeabilidad ligeramente mayor y un daño mayor. Esto se debe a que MDH usa una aproximación que es válida solo cuando <img src="https://latex.codecogs.com/png.latex?%5CDelta%20t%20%5Cll%20t_p">. En este caso, <img src="https://latex.codecogs.com/png.latex?t_p%20=%201000"> hrs y los datos llegan hasta <img src="https://latex.codecogs.com/png.latex?%5CDelta%20t%20=%201000"> hrs, por lo que la condición no se cumple estrictamente para los tiempos largos.</li>
<li>El <strong>factor de daño alto</strong> (<img src="https://latex.codecogs.com/png.latex?s%20%5Capprox%2019-22">) indica un pozo con daño significativo — candidato a estimulación.</li>
</ul>
<div class="callout callout-style-default callout-note callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
¿Cuál método usar?
</div>
</div>
<div class="callout-body-container callout-body">
<p>En la práctica, <strong>Horner</strong> es el más utilizado por su solidez teórica. <strong>Agarwal</strong> es preferido cuando se quiere usar curvas tipo de decremento. <strong>MDH</strong> es útil como primera aproximación cuando <img src="https://latex.codecogs.com/png.latex?%5CDelta%20t"> es mucho menor que <img src="https://latex.codecogs.com/png.latex?t_p">.</p>
</div>
</div>
</section>
<section id="ecuaciones-resumen" class="level2">
<h2 class="anchored" data-anchor-id="ecuaciones-resumen">Ecuaciones Resumen</h2>
<p>Las ecuaciones clave que se usan en los tres métodos son las mismas, solo cambia el eje X del gráfico:</p>
<p><strong>Permeabilidad:</strong></p>
<p><img src="https://latex.codecogs.com/png.latex?k%20=%20%5Cfrac%7B162.6%20%5Ccdot%20q%20%5Ccdot%20B_o%20%5Ccdot%20%5Cmu%7D%7Bm%20%5Ccdot%20h%7D"></p>
<p><strong>Factor de daño:</strong></p>
<p><img src="https://latex.codecogs.com/png.latex?s%20=%201.151%20%5Cleft%5B%20%5Cfrac%7Bp_%7B1hr%7D%20-%20p_%7Bwf(%5CDelta%20t=0)%7D%7D%7Bm%7D%20-%20%5Clog_%7B10%7D%5Cleft(%5Cfrac%7Bk%7D%7B%5Cphi%20%5Ccdot%20%5Cmu%20%5Ccdot%20c_t%20%5Ccdot%20r_w%5E2%7D%5Cright)%20+%203.23%20%5Cright%5D"></p>
<p><strong>Tiempo equivalente de Agarwal:</strong></p>
<p><img src="https://latex.codecogs.com/png.latex?%5CDelta%20t_e%20=%20%5Cfrac%7Bt_p%20%5Ccdot%20%5CDelta%20t%7D%7Bt_p%20+%20%5CDelta%20t%7D"></p>
<p><strong>Horner Time Ratio:</strong></p>
<p><img src="https://latex.codecogs.com/png.latex?HTR%20=%20%5Cfrac%7Bt_p%20+%20%5CDelta%20t%7D%7B%5CDelta%20t%7D"></p>
</section>
<section id="tips-para-excel" class="level2">
<h2 class="anchored" data-anchor-id="tips-para-excel">Tips para Excel</h2>
<ul>
<li><strong>Línea de tendencia:</strong> Usar solo los puntos que pertenecen al IARF. Para seleccionar un subconjunto, puedes crear una serie separada con solo esos puntos.</li>
<li><strong>Pendiente por fórmula:</strong> Si prefieres calcular <img src="https://latex.codecogs.com/png.latex?m"> manualmente en lugar de usar la línea de tendencia, puedes usar dos puntos de la recta: <code>=(B_final - B_inicial) / (LOG10(A_final) - LOG10(A_inicial))</code>. En el Excel del ejemplo: <code>=(B60-B47)/(LOG10(A60)-LOG10(A47))</code>.</li>
<li><strong>Escala logarítmica:</strong> Para que el gráfico se vea como un semilog tradicional, puedes usar la escala logarítmica en el eje X en lugar de graficar el logaritmo calculado: Click derecho en eje X → Formato de eje → ✅ Escala logarítmica.</li>
<li><strong>Formateo:</strong> Usar colores diferentes para cada método facilita la comparación visual.</li>
</ul>
</section>
<section id="descarga" class="level2">
<h2 class="anchored" data-anchor-id="descarga">Descarga</h2>
<ul>
<li>📥 <a href="https://github.com/rigochando/OG-Spreadsheets/raw/refs/heads/main/Prueba_Incremento.xlsx">Incremento.xlsx</a> — Archivo Excel con los 3 ejemplos resueltos</li>
</ul>
</section>
<section id="referencias" class="level2">
<h2 class="anchored" data-anchor-id="referencias">Referencias</h2>
<ul>
<li>Lee, J. &amp; Spivey, J. (2013). <em>Applied Well Test Interpretation</em>. SPE Textbook Series.</li>
</ul>
<hr>
<div class="cell">
<div class="cell-output-display">
<div style="background:#fff;border:0.5px solid #ddd;border-left:4px solid #FFE600;border-radius:10px;padding:.9rem 1.1rem;display:flex;align-items:center;gap:.9rem;margin:1.5rem 0;font-family:sans-serif">
  <div style="background:#FFF9C4;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px">🛒</div>
  <div style="flex:1">
    <strong style="font-size:14px;color:#1a1a1a;font-weight:600">Propiedades De Los Fluidos Del Yacimiento</strong>
    <p style="font-size:12px;color:#666;margin:2px 0 0">Disponible en Mercado Libre</p>
  </div>
  <a href="https://meli.la/2QFWR5n" target="_blank" style="background:#FFE600;color:#333;font-size:12px;font-weight:700;padding:.4rem .9rem;border-radius:6px;text-decoration:none;white-space:nowrap;flex-shrink:0">
    Ver oferta →
  </a>
</div>
</div>
</div>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>

 ]]></description>
  <category>Yacimientos</category>
  <category>Pruebas de Presión</category>
  <category>Excel</category>
  <guid>https://rigobertochandomiblog.com/posts/2026-05-06-semilog-incremento/</guid>
  <pubDate>Mon, 04 May 2026 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2026-05-06-semilog-incremento/preview.png" medium="image" type="image/png" height="100" width="144"/>
</item>
<item>
  <title>Diagrama de Stiff en Excel: Analizando la Química del Agua</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2026-05-02-diagrama-stiff/</link>
  <description><![CDATA[ 




<section id="qué-es-el-diagrama-de-stiff" class="level2">
<h2 class="anchored" data-anchor-id="qué-es-el-diagrama-de-stiff">¿Qué es el Diagrama de Stiff?</h2>
<p>El <strong>Diagrama de Stiff</strong> (1951) es una representación gráfica de la composición química del agua de formación. Cada muestra de agua genera un <strong>polígono característico</strong> — como una huella digital — que representa visualmente la concentración de iones disueltos.</p>
<p>Se utiliza para:</p>
<ul>
<li><strong>Identificar tipos de agua</strong> (clorurada sódica, bicarbonatada cálcica, etc.)</li>
<li><strong>Detectar mezclas</strong> entre agua de formación y agua de inyección</li>
<li><strong>Comparar pozos</strong> y zonas dentro del mismo yacimiento</li>
<li><strong>Monitorear cambios</strong> en la química del agua producida a lo largo del tiempo</li>
</ul>
<div class="callout callout-style-default callout-tip callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
¿Por qué es útil en ingeniería de yacimientos?
</div>
</div>
<div class="callout-body-container callout-body">
<p>Si un pozo empieza a producir agua con un diagrama de Stiff diferente al original, puede indicar invasión de agua de otro intervalo, comunicación entre zonas, o avance del acuífero. Es una herramienta de <strong>vigilancia</strong> poderosa y subestimada.</p>
</div>
</div>
</section>
<section id="estructura-del-diagrama" class="level2">
<h2 class="anchored" data-anchor-id="estructura-del-diagrama">Estructura del Diagrama</h2>
<p>El Stiff usa <strong>4 pares de iones</strong> organizados en filas horizontales. Los <strong>cationes</strong> van a la izquierda y los <strong>aniones</strong> a la derecha, creando una figura simétrica tipo espejo:</p>
<table class="table-striped caption-top table">
<caption>Pares de iones del Diagrama de Stiff. Todas las concentraciones deben estar en <strong>meq/L</strong>.</caption>
<thead>
<tr class="header">
<th>Fila</th>
<th>Catión (izquierda)</th>
<th>Anión (derecha)</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td>Na⁺ (Sodio)</td>
<td>Cl⁻ (Cloruro)</td>
</tr>
<tr class="even">
<td>2</td>
<td>Ca²⁺ (Calcio)</td>
<td>HCO₃⁻ (Bicarbonato)</td>
</tr>
<tr class="odd">
<td>3</td>
<td>Mg²⁺ (Magnesio)</td>
<td>SO₄²⁻ (Sulfato)</td>
</tr>
<tr class="even">
<td>4</td>
<td>Fe²⁺ (Hierro)</td>
<td>CO₃²⁻ (Carbonato)</td>
</tr>
</tbody>
</table>
<div class="callout callout-style-default callout-note callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Conversión a meq/L
</div>
</div>
<div class="callout-body-container callout-body">
<p>Las concentraciones del análisis de agua generalmente vienen en mg/L (ppm). Para el Stiff necesitas convertirlas a miliequivalentes por litro:</p>
<p><img src="https://latex.codecogs.com/png.latex?meq/L%20=%20%5Cfrac%7Bmg/L%20%5Ctimes%20Valencia%7D%7BPeso%5C%20molecular%7D"></p>
<p>Ejemplo para Na⁺: si tienes 5,000 mg/L → <img src="https://latex.codecogs.com/png.latex?%5Cfrac%7B5000%20%5Ctimes%201%7D%7B23%7D%20=%20217.4"> meq/L</p>
</div>
</div>
</section>
<section id="los-datos-de-ejemplo" class="level2">
<h2 class="anchored" data-anchor-id="los-datos-de-ejemplo">Los Datos de Ejemplo</h2>
<p>Trabajamos con análisis de agua de <strong>3 pozos</strong> de la hoja <code>Diagrama stiff_EI</code> del archivo Excel adjunto. Los datos ya están en meq/L:</p>
<table class="table-striped caption-top table">
<caption>Datos del análisis de agua. Hoja: Diagrama stiff_EI.</caption>
<colgroup>
<col style="width: 9%">
<col style="width: 9%">
<col style="width: 9%">
<col style="width: 9%">
<col style="width: 9%">
<col style="width: 9%">
<col style="width: 9%">
<col style="width: 9%">
<col style="width: 9%">
<col style="width: 9%">
<col style="width: 9%">
</colgroup>
<thead>
<tr class="header">
<th>Pozo</th>
<th>Fecha</th>
<th>Na⁺</th>
<th>Ca²⁺</th>
<th>Mg²⁺</th>
<th>Fe²⁺</th>
<th>Cl⁻</th>
<th>HCO₃⁻</th>
<th>SO₄²⁻</th>
<th>CO₃²⁻</th>
<th>Salinidad (ppm)</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>POZO-1</td>
<td>Jul 2009</td>
<td>275.04</td>
<td>13.42</td>
<td>4.24</td>
<td>2.73</td>
<td>256.18</td>
<td>31.45</td>
<td>7.81</td>
<td>1.00</td>
<td>14,882</td>
</tr>
<tr class="even">
<td>POZO-2</td>
<td>Ago 2009</td>
<td>173.60</td>
<td>6.24</td>
<td>3.65</td>
<td>0.98</td>
<td>152.11</td>
<td>20.41</td>
<td>11.97</td>
<td>1.00</td>
<td>8,874</td>
</tr>
<tr class="odd">
<td>POZO-3</td>
<td>Sep 2017</td>
<td>560.00</td>
<td>23.00</td>
<td>14.50</td>
<td>1.00</td>
<td>560.63</td>
<td>26.67</td>
<td>10.67</td>
<td>1.00</td>
<td>31,861</td>
</tr>
</tbody>
</table>
</section>
<section id="paso-1-organizar-la-tabla-de-datos-en-excel" class="level2">
<h2 class="anchored" data-anchor-id="paso-1-organizar-la-tabla-de-datos-en-excel">Paso 1 — Organizar la tabla de datos en Excel</h2>
<p>Lo primero es organizar los datos con el formato correcto. En la hoja de Excel necesitas:</p>
<ul>
<li><strong>Fila 1:</strong> Los valores de Y para el gráfico → <code>1, 2, 3, 4</code> (uno por cada par de iones)</li>
<li><strong>Fila 2:</strong> Encabezados → <code>Pozo | Fecha | Na | Ca | Mg | Fe | Cl | HCO3 | SO4 | CO3 | Salinidad</code></li>
<li><strong>Filas 3-5:</strong> Datos de cada pozo en meq/L</li>
</ul>
<p>La celda <strong>C1</strong> contiene <code>y</code> como referencia, y las celdas <strong>E1:H1</strong> contienen <code>1, 2, 3, 4</code> que serán las coordenadas verticales del gráfico (una por cada par de iones: Na-Cl, Ca-HCO₃, Mg-SO₄, Fe-CO₃).</p>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-02-diagrama-stiff/imagen1.png" class="img-fluid"></p>
</section>
<section id="paso-2-crear-el-gráfico-de-dispersión-con-líneas" class="level2">
<h2 class="anchored" data-anchor-id="paso-2-crear-el-gráfico-de-dispersión-con-líneas">Paso 2 — Crear el gráfico de dispersión con líneas</h2>
<p>El diagrama de Stiff se construye usando <strong>dos gráficos de dispersión con líneas</strong> (XY Scatter with Straight Lines) superpuestos en uno solo:</p>
<ul>
<li>Uno para los <strong>cationes</strong> (lado izquierdo)</li>
<li>Otro para los <strong>aniones</strong> (lado derecho)</li>
</ul>
<p>Para el primer pozo (POZO-1):</p>
<ol type="1">
<li>Selecciona los datos de los <strong>cationes</strong> como eje X: Na=275.04, Ca=13.42, Mg=4.24, Fe=2.73</li>
<li>Selecciona los <strong>valores Y</strong> correspondientes: 1, 2, 3, 4</li>
<li><strong>Insertar → Gráfico de Dispersión → Dispersión con líneas rectas y marcadores</strong></li>
<li>Repite el proceso para los <strong>aniones</strong>: Cl=256.18, HCO₃=31.45, SO₄=7.81, CO₃=1.00 con los mismos valores Y</li>
</ol>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-02-diagrama-stiff/imagen2.png" class="img-fluid"></p>
</section>
<section id="paso-3-clave-del-método-el-efecto-espejo" class="level2">
<h2 class="anchored" data-anchor-id="paso-3-clave-del-método-el-efecto-espejo">Paso 3 — Clave del método: El efecto espejo</h2>
<p>Aquí está el truco que hace funcionar todo:</p>
<ul>
<li>Los <strong>cationes</strong> se grafican en <strong>orden inverso</strong> → se invierte el eje X para que los valores crezcan hacia la izquierda</li>
<li>Los <strong>aniones</strong> se mantienen en orden normal → valores crecen hacia la derecha</li>
<li>Al combinar ambos, se crea la figura tipo <strong>espejo</strong> característica del Stiff</li>
</ul>
<p><strong>Para invertir el eje X de los cationes:</strong></p>
<ol type="1">
<li>Click derecho sobre el eje X → <strong>Formato de eje</strong></li>
<li>En Opciones del eje → marcar ✅ <strong>“Valores en orden inverso”</strong></li>
<li>En el mismo menú → marcar ✅ <strong>“Escala logarítmica”</strong> (base 10)</li>
<li>Establecer <strong>Mínimo = 0.1</strong> y <strong>Máximo = 1000</strong></li>
</ol>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-02-diagrama-stiff/imagen3.png" class="img-fluid"></p>
</section>
<section id="paso-4-combinar-cationes-y-aniones-en-un-solo-gráfico" class="level2">
<h2 class="anchored" data-anchor-id="paso-4-combinar-cationes-y-aniones-en-un-solo-gráfico">Paso 4 — Combinar cationes y aniones en un solo gráfico</h2>
<p>Para lograr el efecto espejo completo en un solo gráfico de Excel:</p>
<p><strong>Método 1 — Dos gráficos alineados (el más fácil):</strong></p>
<ol type="1">
<li>Crea un gráfico de dispersión con los cationes → invierte el eje X (paso anterior)</li>
<li>Crea otro gráfico de dispersión con los aniones → eje X normal</li>
<li>Redimensiona ambos gráficos al <strong>mismo alto</strong> y elimina los márgenes internos</li>
<li>Colócalos <strong>lado a lado</strong> perfectamente alineados</li>
<li>Agrega cuadros de texto con los nombres de los iones: Na⁺, Ca⁺, Mg⁺, Fe⁺ a la izquierda y Cl, HCO₃, SO₄, CO₃ a la derecha</li>
</ol>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-02-diagrama-stiff/imagen4.png" class="img-fluid"></p>
</section>
<section id="paso-5-agregar-más-pozos-al-diagrama" class="level2">
<h2 class="anchored" data-anchor-id="paso-5-agregar-más-pozos-al-diagrama">Paso 5 — Agregar más pozos al diagrama</h2>
<p>Para comparar pozos, simplemente agrega más series al mismo gráfico:</p>
<ol type="1">
<li>Click derecho en el gráfico → <strong>“Seleccionar datos”</strong> → <strong>Agregar</strong></li>
<li>Agregar los cationes del POZO-2 como nueva serie (Valores X = Na, Ca, Mg, Fe del POZO-2; Valores Y = 1, 2, 3, 4)</li>
<li>Agregar los aniones del POZO-2 como otra serie</li>
<li>Repetir para el POZO-3</li>
<li>Asignar <strong>colores consistentes</strong> → mismo color para cationes y aniones del mismo pozo</li>
</ol>
<p><strong>Colores sugeridos:</strong></p>
<table class="caption-top table">
<thead>
<tr class="header">
<th>Pozo</th>
<th>Color</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>POZO-1</td>
<td>Azul</td>
</tr>
<tr class="even">
<td>POZO-2</td>
<td>Naranja</td>
</tr>
<tr class="odd">
<td>POZO-3</td>
<td>Gris</td>
</tr>
</tbody>
</table>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-02-diagrama-stiff/imagen5.png" class="img-fluid"></p>
</section>
<section id="paso-6-formato-final-y-presentación" class="level2">
<h2 class="anchored" data-anchor-id="paso-6-formato-final-y-presentación">Paso 6 — Formato final y presentación</h2>
<p>Para que el gráfico quede profesional:</p>
<ol type="1">
<li><strong>Título:</strong> “Diagrama Stiff” o “Diagrama de Stiff — Campo [Nombre]”</li>
<li><strong>Etiquetas de iones:</strong> Agregar cuadros de texto con Na⁺, Ca⁺, Mg⁺, Fe⁺ (izquierda) y Cl, HCO₃, SO₄, CO₃ (derecha)</li>
<li><strong>Leyenda:</strong> Mostrar solo el nombre de cada pozo (no las series individuales de cationes/aniones)</li>
<li><strong>Gridlines:</strong> Líneas de cuadrícula verticales en escala log (1, 10, 100, 1000)</li>
<li><strong>Eje Y:</strong> Ocultar los valores numéricos — las etiquetas de iones los reemplazan</li>
<li><strong>Línea central:</strong> Si usas un solo gráfico, insertar una línea vertical en el centro para separar cationes de aniones</li>
</ol>
<p><img src="https://rigobertochandomiblog.com/posts/2026-05-02-diagrama-stiff/imagen5.png" class="img-fluid"></p>
</section>
<section id="interpretación-del-diagrama" class="level2">
<h2 class="anchored" data-anchor-id="interpretación-del-diagrama">Interpretación del Diagrama</h2>
<p>Cada <strong>forma de polígono</strong> tiene un significado geológico:</p>
<table class="table-striped caption-top table">
<caption>Interpretación de las formas del Diagrama de Stiff.</caption>
<colgroup>
<col style="width: 36%">
<col style="width: 26%">
<col style="width: 36%">
</colgroup>
<thead>
<tr class="header">
<th>Forma del polígono</th>
<th>Tipo de agua</th>
<th>Interpretación</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>Ancho arriba (Na⁺-Cl⁻ dominante)</td>
<td>Clorurada sódica</td>
<td>Salmuera de formación profunda, agua connata</td>
</tr>
<tr class="even">
<td>Ancho al centro (Ca²⁺-HCO₃⁻)</td>
<td>Bicarbonatada cálcica</td>
<td>Agua meteórica, recarga, formaciones someras</td>
</tr>
<tr class="odd">
<td>Simétrico/equilibrado</td>
<td>Mezcla</td>
<td>Posible mezcla de aguas</td>
</tr>
<tr class="even">
<td>Ancho abajo (Mg²⁺-SO₄²⁻)</td>
<td>Sulfatada magnésica</td>
<td>Agua de mar o inyección de agua marina</td>
</tr>
</tbody>
</table>
<p><strong>Para nuestros 3 pozos:</strong></p>
<ul>
<li><strong>POZO-1:</strong> Dominancia Na⁺-Cl⁻ (275 y 256 meq/L) → agua <strong>clorurada sódica</strong>, típica de formación profunda. Salinidad: 14,882 ppm.</li>
<li><strong>POZO-2:</strong> También Na⁺-Cl⁻ dominante pero con menor concentración (174 y 152 meq/L) → misma familia de agua pero <strong>más diluida</strong>. Salinidad: 8,874 ppm.</li>
<li><strong>POZO-3:</strong> Na⁺-Cl⁻ muy alto (560 meq/L en ambos) → <strong>salmuera concentrada</strong>, la más salina de los tres. Salinidad: 31,861 ppm.</li>
</ul>
<p>Los tres pozos producen agua del mismo tipo (clorurada sódica) pero con diferentes concentraciones, lo cual sugiere que están en la misma unidad hidrogeológica pero con diferente grado de concentración o dilución.</p>
</section>
<section id="aplicaciones-en-ingeniería-de-yacimientos" class="level2">
<h2 class="anchored" data-anchor-id="aplicaciones-en-ingeniería-de-yacimientos">Aplicaciones en Ingeniería de Yacimientos</h2>
<p><strong>1. Vigilancia de waterflood:</strong> Compara el Stiff del agua producida vs el agua de inyección. Si la forma del polígono cambia, el frente de inyección está llegando al pozo.</p>
<p><strong>2. Diagnóstico de comunicación:</strong> Si un pozo en la zona A produce agua con el Stiff de la zona B, puede haber comunicación detrás del casing o por fracturas naturales.</p>
<p><strong>3. Monitoreo temporal:</strong> Haz un Stiff por trimestre del mismo pozo. Si la forma cambia progresivamente, el tipo de agua está cambiando (mezcla creciente con otra fuente).</p>
<p><strong>4. Complemento del WOR:</strong> El WOR te dice <em>cuánta</em> agua produces. El Stiff te dice <em>qué tipo</em> de agua es. Juntos son un diagnóstico mucho más completo.</p>
</section>
<section id="descarga" class="level2">
<h2 class="anchored" data-anchor-id="descarga">Descarga</h2>
<ul>
<li>📥 <a href="https://github.com/rigochando/OG-Spreadsheets/raw/refs/heads/main/Graficos%20Stiff.xlsx">Graficos_Stiff.xlsx</a> — Archivo de Excel con los datos y gráficos de ejemplo</li>
</ul>
</section>
<section id="referencias" class="level2">
<h2 class="anchored" data-anchor-id="referencias">Referencias</h2>
<ul>
<li>Farías Rodríguez, L., &amp; Merola Pilerci, V. (2014). Propiedades de los fluidos del yacimiento. Editorial Reverté.</li>
</ul>
<div class="cell">
<div class="cell-output-display">
<div style="background:#fff;border:0.5px solid #ddd;border-left:4px solid #FFE600;border-radius:10px;padding:.9rem 1.1rem;display:flex;align-items:center;gap:.9rem;margin:1.5rem 0;font-family:sans-serif">
  <div style="background:#FFF9C4;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px">🛒</div>
  <div style="flex:1">
    <strong style="font-size:14px;color:#1a1a1a;font-weight:600">Propiedades De Los Fluidos Del Yacimiento</strong>
    <p style="font-size:12px;color:#666;margin:2px 0 0">Disponible en Mercado Libre</p>
  </div>
  <a href="https://meli.la/2QFWR5n" target="_blank" style="background:#FFE600;color:#333;font-size:12px;font-weight:700;padding:.4rem .9rem;border-radius:6px;text-decoration:none;white-space:nowrap;flex-shrink:0">
    Ver oferta →
  </a>
</div>
</div>
</div>
<hr>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>

 ]]></description>
  <category>Yacimientos</category>
  <category>Química del Agua</category>
  <category>Excel</category>
  <guid>https://rigobertochandomiblog.com/posts/2026-05-02-diagrama-stiff/</guid>
  <pubDate>Fri, 01 May 2026 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2026-05-02-diagrama-stiff/imagen5.png" medium="image" type="image/png" height="50" width="144"/>
</item>
<item>
  <title>Análisis de Producción: Dashboard de Diagnóstico con Datos Reales</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2026-04-27-graficos-produccion/</link>
  <description><![CDATA[ 




<section id="introducción" class="level2">
<h2 class="anchored" data-anchor-id="introducción">Introducción</h2>
<p>El <strong>análisis de producción</strong> es una de las tareas más importantes (y más subestimadas) del ingeniero de yacimientos. Antes de correr un simulador numérico o ajustar un modelo de balance de materia, lo primero que debemos hacer es <em>mirar</em> los datos de producción con ojos de detective.</p>
<p>En este post trabajamos con datos reales del <strong>campo HOMOL</strong> obtenidos del portal de la antigua CNH: 12 pozos productores de aceite con producción mensual de aceite, gas y agua desde enero 2007 hasta abril 2021. El objetivo es construir paso a paso los gráficos diagnóstico que todo ingeniero debería tener antes de tomar cualquier decisión sobre un yacimiento.</p>
<div class="callout callout-style-default callout-tip callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Referencia técnica
</div>
</div>
<div class="callout-body-container callout-body">
<p>Los tipos de gráficos que presentamos están basados en la <strong>Tabla 4.2.2</strong> de <em>Practical Reservoir Engineering and Characterization</em> (Baker, Yarranton &amp; Jensen, 2015), que es una referencia completa y práctica para análisis de datos de producción.</p>
</div>
</div>
</section>
<section id="los-datos" class="level2">
<h2 class="anchored" data-anchor-id="los-datos">Los Datos</h2>
<p>Trabajamos con un archivo CSV con la siguiente estructura:</p>
<table class="caption-top table">
<thead>
<tr class="header">
<th>Columna</th>
<th>Descripción</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><code>Well</code></td>
<td>Nombre del pozo (12 pozos: HOMOL-1 a HOMOL-63)</td>
</tr>
<tr class="even">
<td><code>Fluid</code></td>
<td>Tipo de fluido: <code>Qo</code> (aceite), <code>Qg</code> (gas), <code>Qw</code> (agua)</td>
</tr>
<tr class="odd">
<td><code>Date</code></td>
<td>Fecha mensual (DD/MM/YYYY)</td>
</tr>
<tr class="even">
<td><code>Rate</code></td>
<td>Tasa de producción diaria</td>
</tr>
</tbody>
</table>
<p><strong>Resumen del campo:</strong></p>
<ul>
<li><strong>Pozos activos:</strong> 12 productores</li>
<li><strong>Período:</strong> Enero 2007 – Abril 2021 (172 meses)</li>
<li><strong>Producción acumulada de aceite (Np):</strong> ~5.9 millones de barriles</li>
<li><strong>Producción acumulada de agua (Wp):</strong> ~229 mil barriles</li>
<li><strong>Producción acumulada de gas (Gp):</strong> ~6.9 millones de Mscf</li>
<li><strong>Pico de producción del campo:</strong> ~60,329 bbl/d (septiembre 2014)</li>
</ul>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb1-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb1-3"></span>
<span id="cb1-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Cargar datos</span></span>
<span id="cb1-5">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.read_csv(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Production_Data.csv'</span>)</span>
<span id="cb1-6">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.to_datetime(df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>], <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">format</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%d</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">/%m/%Y'</span>)</span>
<span id="cb1-7">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Rate'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.to_numeric(df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Rate'</span>], errors<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'coerce'</span>).fillna(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb1-8"></span>
<span id="cb1-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Pivotar a formato ancho</span></span>
<span id="cb1-10">pivot <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.pivot_table(index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Well'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>], columns<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Fluid'</span>, </span>
<span id="cb1-11">                       values<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Rate'</span>, aggfunc<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'sum'</span>).reset_index()</span>
<span id="cb1-12">pivot.columns.name <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">None</span></span>
<span id="cb1-13">pivot <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pivot.fillna(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb1-14"></span>
<span id="cb1-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Totales del campo por mes</span></span>
<span id="cb1-16">field <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pivot.groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>)[[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qg'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qw'</span>]].<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().reset_index()</span>
<span id="cb1-17">field <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> field.sort_values(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>)</span>
<span id="cb1-18"></span>
<span id="cb1-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Calcular acumuladas</span></span>
<span id="cb1-20">field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Np'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>].cumsum()</span>
<span id="cb1-21">field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Gp'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qg'</span>].cumsum()</span>
<span id="cb1-22">field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Wp'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qw'</span>].cumsum()</span>
<span id="cb1-23"></span>
<span id="cb1-24"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Calcular ratios (evitar división por cero)</span></span>
<span id="cb1-25">field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'GOR'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.where(field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qg'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>], <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb1-26">field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'WOR'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.where(field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qw'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>], <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb1-27">field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'WC'</span>]  <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.where((field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qw'</span>]) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, </span>
<span id="cb1-28">                         field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qw'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qw'</span>]) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb1-29">field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qf'</span>]  <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qw'</span>]  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Tasa de fluido total</span></span>
<span id="cb1-30"></span>
<span id="cb1-31"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Conteo de pozos activos por mes</span></span>
<span id="cb1-32">well_count <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pivot[pivot[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].groupby(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>)[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Well'</span>].nunique().reset_index()</span>
<span id="cb1-33">well_count.columns <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'WellCount'</span>]</span>
<span id="cb1-34">field <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> field.merge(well_count, on<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>, how<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'left'</span>).fillna(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb1-35"></span>
<span id="cb1-36"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"✅ Datos cargados: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(field)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> meses, </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>pivot[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Well'</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>nunique()<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> pozos"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>✅ Datos cargados: 172 meses, 12 pozos</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"📊 Rango: </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">min</span>()<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>strftime(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'%b %Y'</span>)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> - </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">max</span>()<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">.</span>strftime(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'%b %Y'</span>)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>📊 Rango: ene. 2007 - abr. 2021</code></pre>
</div>
</div>
</section>
<section id="gráfico-1-composite-plot-vs-tiempo-semilog" class="level2">
<h2 class="anchored" data-anchor-id="gráfico-1-composite-plot-vs-tiempo-semilog">Gráfico 1 — Composite Plot vs Tiempo (Semilog)</h2>
<p>El <strong>composite plot</strong> es el gráfico más importante en el análisis de producción. Combina en un solo panel el gasto de aceite, GOR, corte de agua y conteo de pozos vs tiempo.</p>
<div class="callout callout-style-default callout-note callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
¿Por qué semilog?
</div>
</div>
<div class="callout-body-container callout-body">
<p>La escala semi-logarítmica en el eje Y en el gasto de aceite permite identificar fácilmente las tendencias de declinación exponencial (aparecen como líneas rectas) y detectar cambios de régimen que serían invisibles en escala lineal.</p>
</div>
</div>
<p><strong>¿Qué buscar en este gráfico?</strong></p>
<ul>
<li><strong>Tendencias de declinación</strong> en el gasto de aceite</li>
<li><strong>Incrementos de GOR</strong> → posible liberación de gas en el yacimiento (por debajo de Pb)</li>
<li><strong>Incremento de corte de agua</strong> → avance del frente de agua</li>
<li><strong>Correlación con conteo de pozos</strong> → ¿el incremento de producción es por nuevos pozos o por mejora de los existentes?</li>
</ul>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb5-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.dates <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> mdates</span>
<span id="cb5-3"></span>
<span id="cb5-4">fig, axes <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">4</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>), sharex<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, </span>
<span id="cb5-5">                          gridspec_kw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>{<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'height_ratios'</span>: [<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.5</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.5</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]})</span>
<span id="cb5-6">fig.suptitle(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'CAMPO HOMOL — Composite Plot de Producción'</span>, </span>
<span id="cb5-7">             fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">16</span>, fontweight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'bold'</span>, y<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.98</span>)</span>
<span id="cb5-8"></span>
<span id="cb5-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Panel 1: Gasto de aceite (semilog) + gasto de fluido</span></span>
<span id="cb5-10">ax1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]</span>
<span id="cb5-11">mask <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span></span>
<span id="cb5-12">ax1.semilogy(field.loc[mask, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>], field.loc[mask, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>], </span>
<span id="cb5-13">             <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.5</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo (aceite)'</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2d8a4e'</span>)</span>
<span id="cb5-14">mask_f <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qf'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span></span>
<span id="cb5-15">ax1.semilogy(field.loc[mask_f, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>], field.loc[mask_f, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qf'</span>], </span>
<span id="cb5-16">             <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'--'</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qf (fluido total)'</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#1a5276'</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.6</span>)</span>
<span id="cb5-17">ax1.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Tasa (bbl/d)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)</span>
<span id="cb5-18">ax1.legend(loc<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'upper left'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">9</span>)</span>
<span id="cb5-19">ax1.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'both'</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb5-20">ax1.set_ylim(bottom<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>(100, np.float64(80283.5515235902))</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Eje secundario: conteo de pozos</span></span>
<span id="cb7-2">ax1b <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ax1.twinx()</span>
<span id="cb7-3">ax1b.bar(field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>], field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'WellCount'</span>], width<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">25</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.15</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'gray'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Pozos activos'</span>)</span>
<span id="cb7-4">ax1b.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Pozos activos'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'gray'</span>)</span>
<span id="cb7-5">ax1b.tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'y'</span>, labelcolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'gray'</span>)</span>
<span id="cb7-6">ax1b.set_ylim(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>(0.0, 20.0)</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1">ax1b.legend(loc<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'upper right'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">9</span>)</span>
<span id="cb9-2"></span>
<span id="cb9-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Panel 2: GOR</span></span>
<span id="cb9-4">ax2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb9-5">ax2.plot(field.loc[mask, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>], field.loc[mask, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'GOR'</span>], </span>
<span id="cb9-6">         <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#c0392b'</span>)</span>
<span id="cb9-7">ax2.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'GOR'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)</span>
<span id="cb9-8">ax2.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb9-9">ax2.axhline(y<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>field.loc[mask, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'GOR'</span>].median(), color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#c0392b'</span>, </span>
<span id="cb9-10">            linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'--'</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.4</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.8</span>)</span>
<span id="cb9-11"></span>
<span id="cb9-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Panel 3: Corte de agua</span></span>
<span id="cb9-13">ax3 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>]</span>
<span id="cb9-14">ax3.plot(field.loc[mask, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>], field.loc[mask, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'WC'</span>], </span>
<span id="cb9-15">         <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2980b9'</span>)</span>
<span id="cb9-16">ax3.fill_between(field.loc[mask, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>], <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, field.loc[mask, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'WC'</span>], alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.1</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2980b9'</span>)</span>
<span id="cb9-17">ax3.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Corte de agua (%)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)</span>
<span id="cb9-18">ax3.set_ylim(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>(0.0, 100.0)</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb11" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb11-1">ax3.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb11-2"></span>
<span id="cb11-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Panel 4: WOR</span></span>
<span id="cb11-4">ax4 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>]</span>
<span id="cb11-5">mask_wor <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'WOR'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span> (field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb11-6">ax4.semilogy(field.loc[mask_wor, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>], field.loc[mask_wor, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'WOR'</span>], </span>
<span id="cb11-7">             <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#8e44ad'</span>)</span>
<span id="cb11-8">ax4.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'WOR'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)</span>
<span id="cb11-9">ax4.set_xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Fecha'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)</span>
<span id="cb11-10">ax4.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'both'</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb11-11">ax4.xaxis.set_major_formatter(mdates.DateFormatter(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'%Y'</span>))</span>
<span id="cb11-12">ax4.xaxis.set_major_locator(mdates.YearLocator(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>))</span>
<span id="cb11-13"></span>
<span id="cb11-14">plt.tight_layout()</span>
<span id="cb11-15">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-composite-semilog" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-composite-semilog-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-04-27-graficos-produccion/index_files/figure-html/fig-composite-semilog-1.png" class="img-fluid figure-img" width="1152">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-composite-semilog-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1: Composite plot semilog del campo HOMOL. Panel superior: gasto de aceite y conteo de pozos. Panel medio: GOR. Panel inferior: corte de agua.
</figcaption>
</figure>
</div>
</div>
</div>
</section>
<section id="gráfico-2-composite-plot-vs-np-producción-acumulada" class="level2">
<h2 class="anchored" data-anchor-id="gráfico-2-composite-plot-vs-np-producción-acumulada">Gráfico 2 — Composite Plot vs Np (Producción Acumulada)</h2>
<p>Este gráfico es complementario al anterior, pero usa <strong>Np</strong> en el eje X en lugar del tiempo. Esto elimina los efectos de cierres temporales y permite ver directamente cuánto aceite se ha extraído.</p>
<p><strong>¿Qué buscar?</strong></p>
<ul>
<li>La pendiente de la curva qo vs Np indica la tasa de declinación</li>
<li>El GOR vs Np muestra si hay liberación de gas proporcional a la extracción</li>
<li>El WOR vs Np permite extrapolar el factor de recuperación final</li>
</ul>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb12" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb12-1">fig, axes <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>), sharex<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>,</span>
<span id="cb12-2">                          gridspec_kw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>{<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'height_ratios'</span>: [<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.5</span>, <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.5</span>]})</span>
<span id="cb12-3">fig.suptitle(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'CAMPO HOMOL — Producción vs Np Acumulado'</span>, </span>
<span id="cb12-4">             fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">16</span>, fontweight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'bold'</span>, y<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.98</span>)</span>
<span id="cb12-5"></span>
<span id="cb12-6">Np_MM <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Np'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1e6</span>  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># En millones</span></span>
<span id="cb12-7"></span>
<span id="cb12-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Panel 1: qo vs Np</span></span>
<span id="cb12-9">ax1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]</span>
<span id="cb12-10">ax1.semilogy(Np_MM[mask], field.loc[mask, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>], </span>
<span id="cb12-11">             <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.5</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2d8a4e'</span>)</span>
<span id="cb12-12">ax1.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo (bbl/d)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)</span>
<span id="cb12-13">ax1.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'both'</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb12-14">ax1.set_ylim(bottom<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>(100, np.float64(80229.79027261313))</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb14" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb14-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Panel 2: GOR vs Np</span></span>
<span id="cb14-2">ax2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb14-3">ax2.plot(Np_MM[mask], field.loc[mask, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'GOR'</span>], </span>
<span id="cb14-4">         <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#c0392b'</span>)</span>
<span id="cb14-5">ax2.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'GOR'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)</span>
<span id="cb14-6">ax2.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb14-7"></span>
<span id="cb14-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Panel 3: WC vs Np</span></span>
<span id="cb14-9">ax3 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>]</span>
<span id="cb14-10">ax3.plot(Np_MM[mask], field.loc[mask, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'WC'</span>], </span>
<span id="cb14-11">         <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2980b9'</span>)</span>
<span id="cb14-12">ax3.fill_between(Np_MM[mask], <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, field.loc[mask, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'WC'</span>], alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.1</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2980b9'</span>)</span>
<span id="cb14-13">ax3.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Corte de agua (%)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)</span>
<span id="cb14-14">ax3.set_xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Np acumulado (MMbbl)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)</span>
<span id="cb14-15">ax3.set_ylim(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>(0.0, 100.0)</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb16" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb16-1">ax3.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb16-2"></span>
<span id="cb16-3">plt.tight_layout()</span>
<span id="cb16-4">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-composite-vs-np" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-composite-vs-np-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-04-27-graficos-produccion/index_files/figure-html/fig-composite-vs-np-3.png" class="img-fluid figure-img" width="1152">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-composite-vs-np-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;2: Composite plot vs producción acumulada de aceite (Np).
</figcaption>
</figure>
</div>
</div>
</div>
</section>
<section id="gráfico-3-producción-acumulada-vs-tiempo" class="level2">
<h2 class="anchored" data-anchor-id="gráfico-3-producción-acumulada-vs-tiempo">Gráfico 3 — Producción Acumulada vs Tiempo</h2>
<p>El gráfico de <strong>acumuladas</strong> permite verificar la consistencia de los datos y relacionar la declinación de producción con los volúmenes totales extraídos.</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb17" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb17-1">fig, ax1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">6</span>))</span>
<span id="cb17-2">fig.suptitle(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'CAMPO HOMOL — Producción Acumulada'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">16</span>, fontweight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'bold'</span>)</span>
<span id="cb17-3"></span>
<span id="cb17-4">ax1.plot(field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>], field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Np'</span>]<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1e6</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2d8a4e'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Np (aceite)'</span>)</span>
<span id="cb17-5">ax1.plot(field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>], field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Wp'</span>]<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1e6</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2980b9'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Wp (agua)'</span>)</span>
<span id="cb17-6">ax1.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Producción acumulada (MMbbl)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>)</span>
<span id="cb17-7">ax1.legend(loc<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'upper left'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span>
<span id="cb17-8">ax1.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb17-9"></span>
<span id="cb17-10">ax2 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> ax1.twinx()</span>
<span id="cb17-11">ax2.plot(field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>], field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Gp'</span>]<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1e6</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#c0392b'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Gp (gas)'</span>)</span>
<span id="cb17-12">ax2.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Gas acumulado (MMscf)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">11</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#c0392b'</span>)</span>
<span id="cb17-13">ax2.tick_params(axis<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'y'</span>, labelcolor<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#c0392b'</span>)</span>
<span id="cb17-14">ax2.legend(loc<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'center left'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span>
<span id="cb17-15"></span>
<span id="cb17-16">ax1.xaxis.set_major_formatter(mdates.DateFormatter(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'%Y'</span>))</span>
<span id="cb17-17">plt.tight_layout()</span>
<span id="cb17-18">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-cumulative" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-cumulative-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-04-27-graficos-produccion/index_files/figure-html/fig-cumulative-5.png" class="img-fluid figure-img" width="1152">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-cumulative-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;3: Producción acumulada de aceite, gas y agua del campo HOMOL.
</figcaption>
</figure>
</div>
</div>
</div>
</section>
<section id="gráfico-4-purvis-plot-diagnóstico-de-water-drive" class="level2">
<h2 class="anchored" data-anchor-id="gráfico-4-purvis-plot-diagnóstico-de-water-drive">Gráfico 4 — Purvis Plot (Diagnóstico de Water Drive)</h2>
<p>El <strong>Purvis plot</strong> es una herramienta poderosa para yacimientos con empuje de agua o inyección de agua. Combina en un solo gráfico semi-log: la producción acumulada de fluido, el gasto diario de fluido, el gasto diario de aceite, y el <strong>WOR+1</strong>, todo vs Np acumulado.</p>
<p>Si el WOR+1 forma una <strong>línea recta</strong> en escala semilog vs Np, se puede extrapolar para pronosticar la producción futura asumiendo tasa de fluido constante:</p>
<p><img src="https://latex.codecogs.com/png.latex?q_o%20=%20%5Cfrac%7Bq_f%7D%7B1%20+%20WOR%7D"></p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb18" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb18-1">fig, ax1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>))</span>
<span id="cb18-2">fig.suptitle(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'CAMPO HOMOL — Purvis Plot'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">16</span>, fontweight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'bold'</span>)</span>
<span id="cb18-3"></span>
<span id="cb18-4">Np_MM <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Np'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1e6</span></span>
<span id="cb18-5">mask_prod <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span></span>
<span id="cb18-6"></span>
<span id="cb18-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># WOR + 1 en escala semilog</span></span>
<span id="cb18-8">wor_plus1 <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> field.loc[mask_prod, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'WOR'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span></span>
<span id="cb18-9">ax1.semilogy(Np_MM[mask_prod], wor_plus1, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'o-'</span>, markersize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>, </span>
<span id="cb18-10">             linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#8e44ad'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'WOR + 1'</span>)</span>
<span id="cb18-11"></span>
<span id="cb18-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Gasto de aceite</span></span>
<span id="cb18-13">ax1.semilogy(Np_MM[mask_prod], field.loc[mask_prod, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>], </span>
<span id="cb18-14">             <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, markersize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.5</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2d8a4e'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo (bbl/d)'</span>)</span>
<span id="cb18-15"></span>
<span id="cb18-16"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Gasto de fluido</span></span>
<span id="cb18-17">ax1.semilogy(Np_MM[mask_prod], field.loc[mask_prod, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qf'</span>], </span>
<span id="cb18-18">             <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, markersize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.5</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2980b9'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qf (bbl/d)'</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.7</span>)</span>
<span id="cb18-19"></span>
<span id="cb18-20">ax1.set_xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Np acumulado (MMbbl)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb18-21">ax1.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Escala logarítmica'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb18-22">ax1.legend(fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)</span>
<span id="cb18-23">ax1.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'both'</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb18-24"></span>
<span id="cb18-25">plt.tight_layout()</span>
<span id="cb18-26">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-purvis" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-purvis-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-04-27-graficos-produccion/index_files/figure-html/fig-purvis-7.png" class="img-fluid figure-img" width="1152">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-purvis-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;4: Purvis plot del campo HOMOL. La tendencia de WOR+1 vs Np permite pronosticar producción futura.
</figcaption>
</figure>
</div>
</div>
</div>
</section>
<section id="gráfico-5-gp-vs-np-diagnóstico-de-solution-gas-drive" class="level2">
<h2 class="anchored" data-anchor-id="gráfico-5-gp-vs-np-diagnóstico-de-solution-gas-drive">Gráfico 5 — Gp vs Np (Diagnóstico de Solution Gas Drive)</h2>
<p>Para yacimientos con empuje por gas en solución, el gráfico de <strong>Gp vs Np en escala log-log</strong> muestra una tendencia lineal que permite pronosticar la recuperación final. La idea es que cuando se ha producido ~90% del gas en solución, la presión del yacimiento es tan baja que la producción se vuelve antieconómica.</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb19" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb19-1">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>))</span>
<span id="cb19-2">fig.suptitle(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'CAMPO HOMOL — Gp vs Np (Diagnóstico Solution Gas Drive)'</span>, </span>
<span id="cb19-3">             fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">15</span>, fontweight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'bold'</span>)</span>
<span id="cb19-4"></span>
<span id="cb19-5">mask_both <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Np'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&amp;</span> (field[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Gp'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb19-6">ax.loglog(field.loc[mask_both, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Np'</span>]<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1e6</span>, field.loc[mask_both, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Gp'</span>]<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1e6</span>, </span>
<span id="cb19-7">          <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, markersize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#c0392b'</span>)</span>
<span id="cb19-8"></span>
<span id="cb19-9">ax.set_xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Np acumulado (MMbbl)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb19-10">ax.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Gp acumulado (MMscf)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb19-11">ax.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'both'</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb19-12"></span>
<span id="cb19-13">plt.tight_layout()</span>
<span id="cb19-14">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-gp-vs-np" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-gp-vs-np-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-04-27-graficos-produccion/index_files/figure-html/fig-gp-vs-np-9.png" class="img-fluid figure-img" width="960">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-gp-vs-np-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;5: Gp vs Np en escala log-log. Una tendencia lineal sugiere empuje por gas en solución.
</figcaption>
</figure>
</div>
</div>
</div>
</section>
<section id="gráfico-6-producción-individual-por-pozo-stacked-area" class="level2">
<h2 class="anchored" data-anchor-id="gráfico-6-producción-individual-por-pozo-stacked-area">Gráfico 6 — Producción Individual por Pozo (Stacked Area)</h2>
<p>Para el análisis de producción es fundamental ver la <strong>contribución de cada pozo</strong> a la producción total del campo. El gráfico de área apilada permite identificar qué pozos son los principales contribuyentes y cuándo entran/salen de producción.</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb20" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb20-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Preparar datos por pozo</span></span>
<span id="cb20-2">well_monthly <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pivot.pivot_table(index<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>, columns<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Well'</span>, values<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>, aggfunc<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'sum'</span>).fillna(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb20-3">well_monthly <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> well_monthly.sort_index()</span>
<span id="cb20-4"></span>
<span id="cb20-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Ordenar pozos por producción total (mayor a menor) para mejor visualización</span></span>
<span id="cb20-6">well_order <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> well_monthly.<span class="bu" style="color: null;
background-color: null;
font-style: inherit;">sum</span>().sort_values(ascending<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">False</span>).index.tolist()</span>
<span id="cb20-7">well_monthly <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> well_monthly[well_order]</span>
<span id="cb20-8"></span>
<span id="cb20-9">fig, ax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">14</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">7</span>))</span>
<span id="cb20-10">fig.suptitle(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'CAMPO HOMOL — Producción de Aceite por Pozo (Área Apilada)'</span>, </span>
<span id="cb20-11">             fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">15</span>, fontweight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'bold'</span>)</span>
<span id="cb20-12"></span>
<span id="cb20-13">colors <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.cm.tab20(np.linspace(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="bu" style="color: null;
background-color: null;
font-style: inherit;">len</span>(well_order)))</span>
<span id="cb20-14">ax.stackplot(well_monthly.index, well_monthly.T, labels<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>well_order, colors<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>colors, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.8</span>)</span>
<span id="cb20-15"></span>
<span id="cb20-16">ax.set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo total (bbl/d)'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb20-17">ax.set_xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Fecha'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>)</span>
<span id="cb20-18">ax.legend(loc<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'upper right'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>, ncol<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, framealpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.9</span>)</span>
<span id="cb20-19">ax.grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.2</span>)</span>
<span id="cb20-20">ax.xaxis.set_major_formatter(mdates.DateFormatter(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'%Y'</span>))</span>
<span id="cb20-21"></span>
<span id="cb20-22">plt.tight_layout()</span>
<span id="cb20-23">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-stacked-wells" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-stacked-wells-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-04-27-graficos-produccion/index_files/figure-html/fig-stacked-wells-11.png" class="img-fluid figure-img" width="1344">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-stacked-wells-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;6: Contribución de cada pozo a la producción total del campo.
</figcaption>
</figure>
</div>
</div>
</div>
</section>
<section id="gráfico-7-panel-individual-por-pozo-ejemplo" class="level2">
<h2 class="anchored" data-anchor-id="gráfico-7-panel-individual-por-pozo-ejemplo">Gráfico 7 — Panel Individual por Pozo (Ejemplo)</h2>
<p>Para un análisis detallado, cada pozo necesita su propio <strong>mini-dashboard</strong> con gasto de aceite, GOR y corte de agua. Aquí mostramos el pozo HOMOL-1 como ejemplo.</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb21" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb21-1">well_name <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'HOMOL-1'</span></span>
<span id="cb21-2">wdf <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pivot[pivot[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Well'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> well_name].sort_values(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>).copy()</span>
<span id="cb21-3">wdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'GOR'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.where(wdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, wdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qg'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> wdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>], <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb21-4">wdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'WC'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.where((wdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> wdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qw'</span>]) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, </span>
<span id="cb21-5">                      wdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qw'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span> (wdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> wdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qw'</span>]) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>)</span>
<span id="cb21-6"></span>
<span id="cb21-7">fig, axes <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.subplots(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>), sharex<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>)</span>
<span id="cb21-8">fig.suptitle(<span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f'Pozo </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>well_name<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;"> — Panel de Producción'</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">15</span>, fontweight<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'bold'</span>)</span>
<span id="cb21-9"></span>
<span id="cb21-10">mask_w <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> wdf[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span></span>
<span id="cb21-11"></span>
<span id="cb21-12">axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].semilogy(wdf.loc[mask_w, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>], wdf.loc[mask_w, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo'</span>], </span>
<span id="cb21-13">                 <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'g-'</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.5</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2d8a4e'</span>)</span>
<span id="cb21-14">axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Qo (bbl/d)'</span>)</span>
<span id="cb21-15">axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>].grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, which<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'both'</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb21-16"></span>
<span id="cb21-17">axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].plot(wdf.loc[mask_w, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>], wdf.loc[mask_w, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'GOR'</span>], </span>
<span id="cb21-18">             <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#c0392b'</span>)</span>
<span id="cb21-19">axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'GOR'</span>)</span>
<span id="cb21-20">axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>].grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb21-21"></span>
<span id="cb21-22">axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>].plot(wdf.loc[mask_w, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>], wdf.loc[mask_w, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'WC'</span>], </span>
<span id="cb21-23">             <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.2</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2980b9'</span>)</span>
<span id="cb21-24">axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>].fill_between(wdf.loc[mask_w, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Date'</span>], <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, wdf.loc[mask_w, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'WC'</span>], </span>
<span id="cb21-25">                     alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.1</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'#2980b9'</span>)</span>
<span id="cb21-26">axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>].set_ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Corte de agua (%)'</span>)</span>
<span id="cb21-27">axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>].set_ylim(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>(0.0, 100.0)</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb23" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb23-1">axes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>].grid(<span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>, alpha<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.3</span>)</span>
<span id="cb23-2"></span>
<span id="cb23-3">plt.tight_layout()</span>
<span id="cb23-4">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div id="fig-well-panel" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-well-panel-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://rigobertochandomiblog.com/posts/2026-04-27-graficos-produccion/index_files/figure-html/fig-well-panel-13.png" class="img-fluid figure-img" width="1152">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-well-panel-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;7: Panel de producción del pozo HOMOL-1.
</figcaption>
</figure>
</div>
</div>
</div>
</section>
<section id="resumen-de-la-tabla-4.2.2-tipos-de-gráficos-de-producción" class="level2">
<h2 class="anchored" data-anchor-id="resumen-de-la-tabla-4.2.2-tipos-de-gráficos-de-producción">Resumen de la Tabla 4.2.2 — Tipos de Gráficos de Producción</h2>
<p>La siguiente tabla resume los tipos de gráficos de producción recomendados por Baker et al.&nbsp;(2015), que son los que hemos implementado en este post:</p>
<table class="table-striped caption-top table">
<caption>Tipos de gráficos de producción para yacimientos de aceite. Adaptado de Tabla 4.2.2, Baker et al.&nbsp;(2015).</caption>
<colgroup>
<col style="width: 26%">
<col style="width: 20%">
<col style="width: 20%">
<col style="width: 32%">
</colgroup>
<thead>
<tr class="header">
<th>Gráfico</th>
<th>Eje Y</th>
<th>Eje X</th>
<th>Propósito</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Composite</strong></td>
<td>qo, qf, GOR, WC, pozos</td>
<td>Tiempo o Np</td>
<td>Diagnosticar mecanismo de empuje, detectar breakthrough, identificar candidatos a workover</td>
</tr>
<tr class="even">
<td><strong>Acumulado</strong></td>
<td>Np, Gp, Wp, Wi, Gi</td>
<td>Tiempo o Np</td>
<td>Relacionar declinación con volúmenes extraídos</td>
</tr>
<tr class="odd">
<td><strong>Gp vs Np</strong></td>
<td>Gp (log)</td>
<td>Np (log)</td>
<td>Pronóstico en yacimientos de gas en solución</td>
</tr>
<tr class="even">
<td><strong>Purvis</strong></td>
<td>WOR+1, Qf, Qo, Np_fluido (log)</td>
<td>Np</td>
<td>Pronóstico en water drive / waterfloods</td>
</tr>
<tr class="odd">
<td><strong>Ershaghi</strong></td>
<td>1/fw − ln(1−fw)⁻¹</td>
<td>Np</td>
<td>Pronóstico alternativo en waterfloods</td>
</tr>
</tbody>
</table>
</section>
<section id="diagnóstico-preliminar-del-campo-homol" class="level2">
<h2 class="anchored" data-anchor-id="diagnóstico-preliminar-del-campo-homol">Diagnóstico Preliminar del Campo HOMOL</h2>
<p>A partir de los gráficos generados, podemos hacer las siguientes observaciones iniciales:</p>
<ol type="1">
<li><strong>Fase de desarrollo activa (2007-2015):</strong> Se observa un crecimiento sostenido de producción conforme se van incorporando pozos (de 1 a 12 pozos)</li>
<li><strong>Pico de producción en 2014:</strong> ~60,000 bbl/d con 10+ pozos activos</li>
<li><strong>GOR relativamente estable:</strong> Sugiere que el yacimiento se mantiene por encima o cerca de la presión de burbuja, o que el gas producido es principalmente gas en solución</li>
<li><strong>Corte de agua bajo pero creciente:</strong> La producción de agua es relativamente baja (&lt; 5% a nivel de campo) pero algunos pozos individuales muestran mayor producción de agua (HOMOL-3, HOMOL-47, HOMOL-62)</li>
<li><strong>Declinación post-2015:</strong> Se observa una declinación clara después del pico, posiblemente por agotamiento natural sin inyección de agua aparente</li>
</ol>
<div class="callout callout-style-default callout-important callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Siguiente paso
</div>
</div>
<div class="callout-body-container callout-body">
<p>Con estos gráficos como base, se puede continuar con el <strong>análisis de curvas de declinación</strong> para estimar reservas remanentes.</p>
</div>
</div>
</section>
<section id="referencias" class="level2">
<h2 class="anchored" data-anchor-id="referencias">Referencias</h2>
<ul>
<li>Baker, R.O., Yarranton, H.W., &amp; Jensen, J.L. (2015). <em>Practical Reservoir Engineering and Characterization</em>. Gulf Professional Publishing. <strong>Capítulo 4: Pool History — Tabla 4.2.2.</strong></li>
</ul>
<hr>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>

 ]]></description>
  <category>Ingeniería de Yacimientos</category>
  <category>Producción</category>
  <category>Vigilancia</category>
  <category>Excel</category>
  <category>Python</category>
  <guid>https://rigobertochandomiblog.com/posts/2026-04-27-graficos-produccion/</guid>
  <pubDate>Mon, 27 Apr 2026 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2026-04-27-graficos-produccion/preview.png" medium="image" type="image/png" height="72" width="144"/>
</item>
<item>
  <title>ejemplo_patchwork_R</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2025-08-16-ejemplopatchworkr/</link>
  <description><![CDATA[ 




<p>Distill is a publication format for scientific and technical writing, native to the web.</p>
<p>Learn more about using Distill at <a href="https://rstudio.github.io/distill" class="uri">https://rstudio.github.io/distill</a>.</p>



 ]]></description>
  <guid>https://rigobertochandomiblog.com/posts/2025-08-16-ejemplopatchworkr/</guid>
  <pubDate>Sat, 16 Aug 2025 06:00:00 GMT</pubDate>
</item>
<item>
  <title>gghighlight: Resalta lo Importante en tus Graficos en R</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2025-04-17-gghighlight/</link>
  <description><![CDATA[ 




<section id="gghighlight-resalta-lo-importante-en-tus-gráficos-en-r" class="level1">
<h1>📌 gghighlight: Resalta lo Importante en tus Gráficos en R ✨📊</h1>
<p>🎯 Si trabajas con gráficos complejos en <code>ggplot2</code> donde muchas curvas o puntos compiten por atención, la librería <code>gghighlight</code> te permite resaltar aquellos datos que realmente importan.</p>
<p>📌 En esta publicación aprenderás a: ✅ Resaltar curvas individuales en gráficos de líneas. ✅ Destacar puntos relevantes en scatter plots. ✅ Utilizar <code>gghighlight</code> con condiciones dinámicas y automáticas.</p>
</section>
<section id="instalación-y-carga-de-librerías" class="level1">
<h1>🧰 Instalación y carga de librerías</h1>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages(c("ggplot2", "gghighlight", "readr", "readxl", "dplyr"))</span></span>
<span id="cb1-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(ggplot2)</span>
<span id="cb1-3"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(gghighlight)</span>
<span id="cb1-4"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(readr)</span>
<span id="cb1-5"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(readxl)</span>
<span id="cb1-6"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(dplyr)</span></code></pre></div>
</details>
</div>
</section>
<section id="producción-de-pozos-resaltar-una-curva-con-gghighlight" class="level1">
<h1>📈 1. Producción de Pozos: Resaltar una Curva con gghighlight</h1>
<p>Resaltaremos la producción de petróleo del pozo HOMOL-1 para compararla visualmente con otros pozos.</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb2-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Cargar datos de producción</span></span>
<span id="cb2-2">prod_df <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">read.csv</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Production_Data.csv"</span>)</span>
<span id="cb2-3"></span>
<span id="cb2-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convertir fecha y filtrar solo petróleo</span></span>
<span id="cb2-5">prod_df<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Date <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">as.Date</span>(prod_df<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Date, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">format =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%d/%m/%Y"</span>)</span>
<span id="cb2-6">prod_oil <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> prod_df <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">filter</span>(Fluid <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Qo"</span>)</span>
<span id="cb2-7"></span>
<span id="cb2-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Gráfico con gghighlight</span></span>
<span id="cb2-9"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(prod_oil, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> Date, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> Rate, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> Well)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb2-10">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linewidth =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.8</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb2-11">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">gghighlight</span>(Well <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"HOMOL-1"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb2-12">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Producción de Petróleo - Pozos HOMOL"</span>,</span>
<span id="cb2-13">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">subtitle =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Resaltando pozo HOMOL-1"</span>,</span>
<span id="cb2-14">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fecha"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Tasa de Producción (bbl/d)"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb2-15">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-04-17-gghighlight/index_files/figure-html/unnamed-chunk-2-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>📌 Explicación:</p>
<p>gghighlight(Well == “HOMOL-1”) → Resalta únicamente el pozo deseado.</p>
<p>Ideal para exploraciones rápidas sin necesidad de crear múltiples filtros.</p>
</section>
<section id="porosidad-vs-permeabilidad-destacar-un-pozo-específico" class="level1">
<h1>🔍 2. Porosidad vs Permeabilidad: Destacar un Pozo Específico</h1>
<p>En este ejemplo usaremos datos de núcleos para crear un scatter plot y resaltar el pozo WELL_3.</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb3-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Leer archivo Excel Core_data.csv</span></span>
<span id="cb3-2">core_data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">read.csv</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Core_data.csv"</span>)</span>
<span id="cb3-3"></span>
<span id="cb3-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Gráfico de dispersión</span></span>
<span id="cb3-5"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(core_data, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> POROSITY, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> PERMEABILITY, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> WELL)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb3-6">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_point</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">2</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb3-7">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_y_log10</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> </span>
<span id="cb3-8">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">gghighlight</span>(WELL <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"2"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb3-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Relación Porosidad vs Permeabilidad"</span>,</span>
<span id="cb3-10">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">subtitle =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Resaltando datos del pozo WELL_2"</span>,</span>
<span id="cb3-11">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Porosidad"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Permeabilidad (mD)"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb3-12">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-04-17-gghighlight/index_files/figure-html/unnamed-chunk-3-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>📌 Explicación:</p>
<p>geom_point() → Scatter plot tradicional.</p>
<p>gghighlight() → Enfatiza un subconjunto sin alterar el resto del gráfico.</p>
</section>
<section id="destacar-condiciones-automáticas" class="level1">
<h1>🧪 3. Destacar Condiciones Automáticas</h1>
<p>gghighlight también puede resaltar de forma automática las curvas con mayor valor máximo de producción.</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb4-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear gráfico resaltando automáticamente curvas con máximo Rate &gt; 8000</span></span>
<span id="cb4-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(prod_oil, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> Date, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> Rate, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">group =</span> Well, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> Well)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb4-3">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb4-4">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">gghighlight</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">max</span>(Rate) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8000</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">use_direct_label =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb4-5">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Pozos con Producción Máxima &gt; 8000 bbl/d"</span>,</span>
<span id="cb4-6">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fecha"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Producción (bbl/d)"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb4-7">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-04-17-gghighlight/index_files/figure-html/unnamed-chunk-4-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>📌 Explicación:</p>
<p>max(Rate) &gt; 8000 → Condición evaluada por grupo.</p>
<p>use_direct_label = TRUE → Añade etiquetas automáticamente a las líneas resaltadas.</p>
</section>
<section id="conclusiones" class="level1">
<h1>✅ Conclusiones</h1>
<p>🔹 gghighlight simplifica la visualización de grandes volúmenes de datos permitiendo enfocar la atención del lector en lo que realmente importa.</p>
<p>🔹 Útil en proyectos con múltiples pozos, propiedades petrofísicas o resultados de simulaciones.</p>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>

 ]]></description>
  <guid>https://rigobertochandomiblog.com/posts/2025-04-17-gghighlight/</guid>
  <pubDate>Thu, 17 Apr 2025 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2025-04-17-gghighlight/preview.png" medium="image" type="image/png" height="89" width="144"/>
</item>
<item>
  <title>Análisis de Producción con ggplot2 en R</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2025-03-31-analisis-de-produccion-con-ggplot2-en-r/</link>
  <description><![CDATA[ 




<section id="análisis-de-producción-con-ggplot2-en-r" class="level1">
<h1>📌 Análisis de Producción con ggplot2 en R 📊🔬</h1>
<p>🔥 ggplot2 es una de las librerías más poderosas para visualización de datos en R.<br>
En este análisis, exploraremos la producción de petróleo y gas con gráficos avanzados.</p>
<p>📌 En esta publicación aprenderás a:</p>
<p>✅ Graficar gastos de producción cde aceite on ggplot2.</p>
<p>✅ Usar facetas y escalas logarítmicas para analizar tendencias.</p>
<p>✅ Personalizar gráficos para mejorar su interpretación.</p>
<p>🟢 Instalación y Carga de Librerías</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Instalamos y cargamos las librerías necesarias.</span></span>
<span id="cb1-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("ggplot2")</span></span>
<span id="cb1-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("dplyr")</span></span>
<span id="cb1-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("lubridate")</span></span>
<span id="cb1-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("readr")</span></span>
<span id="cb1-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("scales")</span></span>
<span id="cb1-7"></span>
<span id="cb1-8"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(ggplot2)</span>
<span id="cb1-9"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(dplyr)</span>
<span id="cb1-10"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(lubridate)</span>
<span id="cb1-11"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(readr)</span>
<span id="cb1-12"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(scales)</span></code></pre></div>
</details>
</div>
<section id="cargar-los-datos-de-producción" class="level2">
<h2 class="anchored" data-anchor-id="cargar-los-datos-de-producción">Cargar los Datos de Producción</h2>
<p>Para este ejemplo disponemos de datos de gastos de aceite, agua y gas para cada pozo, los cuales se encuentran ordenados en 4 columnas: Pozo, Fluido, Fecha y Gasto</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb2-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Cargamos los datos del archivo Production_Data.csv.</span></span>
<span id="cb2-2">file_path <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Production_Data.csv"</span></span>
<span id="cb2-3">df <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">read.csv</span>(file_path)</span>
<span id="cb2-4"></span>
<span id="cb2-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convertimos la columna de fecha al formato adecuado</span></span>
<span id="cb2-6">df<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Date <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">dmy</span>(df<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Date)</span>
<span id="cb2-7"></span>
<span id="cb2-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Exploramos los datos disponibles</span></span>
<span id="cb2-9"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">head</span>(df)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>       Well Fluid       Date  Rate
1   HOMOL-1    Qo 2007-01-01 216.3
2 HOMOL-102    Qo 2007-01-01   0.0
3  HOMOL-21    Qo 2007-01-01   0.0
4   HOMOL-3    Qo 2007-01-01   0.0
5   HOMOL-4    Qo 2007-01-01   0.0
6  HOMOL-41    Qo 2007-01-01   0.0</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb4-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">summary</span>(df)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>     Well              Fluid                Date                 Rate      
 Length:6192        Length:6192        Min.   :2007-01-01   Min.   :    0  
 Class :character   Class :character   1st Qu.:2010-07-24   1st Qu.:    0  
 Mode  :character   Mode  :character   Median :2014-02-15   Median :    0  
                                       Mean   :2014-02-14   Mean   : 2112  
                                       3rd Qu.:2017-09-08   3rd Qu.: 4539  
                                       Max.   :2021-04-01   Max.   :15992  </code></pre>
</div>
</div>
</section>
<section id="primer-ejemplo-gráfico-de-producción-de-petróleo-y-gas" class="level2">
<h2 class="anchored" data-anchor-id="primer-ejemplo-gráfico-de-producción-de-petróleo-y-gas">🟢 Primer Ejemplo: Gráfico de Producción de Petróleo y Gas</h2>
<p>Antes de generar un gráfico de líneas de gastos de aceite, agua y gas vamos a filtrar los datos del pozo HOMOL-1</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb6" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb6-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Creamos un gráfico de líneas mostrando la producción a lo largo del tiempo.</span></span>
<span id="cb6-2">df_homol <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> df <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">filter</span>(Well <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"HOMOL-1"</span>)</span>
<span id="cb6-3"></span>
<span id="cb6-4"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(df_homol, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> Date, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> Rate, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> Fluid)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb6-5">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linewidth =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">position =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"identity"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb6-6">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Producción de Petróleo y Gas a lo Largo del Tiempo"</span>,</span>
<span id="cb6-7">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">subtitle =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Datos de producción del pozo HOMOL-1"</span>,</span>
<span id="cb6-8">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fecha"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Tasa de Producción (bbl/d o Mcf/d)"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb6-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_y_continuous</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">labels =</span> comma) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb6-10">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-31-analisis-de-produccion-con-ggplot2-en-r/index_files/figure-html/unnamed-chunk-3-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>📌 Explicación: 🔹 geom_line() → Crea una línea para visualizar tendencias. 🔹 color = Fluid → Diferencia entre petróleo, gas y agua. 🔹 scale_y_continuous(labels = comma) → Formatea los números con comas.</p>
</section>
<section id="segundo-ejemplo-producción-de-pozos-con-facetas" class="level2">
<h2 class="anchored" data-anchor-id="segundo-ejemplo-producción-de-pozos-con-facetas">🟢 Segundo Ejemplo: Producción de Pozos con Facetas</h2>
<p>Usamos facetas para visualizar la producción de cada pozo individualmente.</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb7-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(df, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> Date, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> Rate, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> Fluid)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb7-2">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linewidth =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb7-3">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">facet_wrap</span>(<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> Well, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">scales =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"free_y"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb7-4">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Producción de Pozos Individuales"</span>,</span>
<span id="cb7-5">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">subtitle =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Análisis por pozo"</span>,</span>
<span id="cb7-6">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fecha"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Tasa de Producción"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb7-7">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_light</span>()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-31-analisis-de-produccion-con-ggplot2-en-r/index_files/figure-html/unnamed-chunk-4-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>📌 Explicación: 🔹 facet_wrap(~ Well) → Crea gráficos individuales para cada pozo. 🔹 scales = “free_y” → Permite diferentes escalas en cada faceta.</p>
</section>
<section id="tercer-ejemplo-uso-de-escalas-logarítmicas" class="level2">
<h2 class="anchored" data-anchor-id="tercer-ejemplo-uso-de-escalas-logarítmicas">🟢 Tercer Ejemplo: Uso de Escalas Logarítmicas</h2>
<p>Cambiar la escala de los ejes a logarítmica nos permite visualizar diferentes tendencias</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb8" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb8-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Usamos escalas logarítmicas para visualizar diferencias extremas en producción.</span></span>
<span id="cb8-2"></span>
<span id="cb8-3"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(df, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> Date, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> Rate <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> Fluid)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb8-4">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linewidth =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb8-5">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">facet_wrap</span>(<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span> Well, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">scales =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"free_y"</span>)<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb8-6">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_y_log10</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">labels =</span> comma) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb8-7">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Producción en Escala Logarítmica"</span>,</span>
<span id="cb8-8">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">subtitle =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Comparación de producción en distintos órdenes de magnitud"</span>,</span>
<span id="cb8-9">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fecha"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Producción (log10)"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb8-10">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_bw</span>()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-31-analisis-de-produccion-con-ggplot2-en-r/index_files/figure-html/unnamed-chunk-5-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>📌 Explicación: 🔹 scale_y_log10() → Usa escala logarítmica para mejorar la visualización. 🔹 +1 en la variable Rate → Evita problemas con valores cero en logaritmos.</p>
</section>
<section id="cuarto-ejemplo-gráfico-a-nivel-de-campo-." class="level2">
<h2 class="anchored" data-anchor-id="cuarto-ejemplo-gráfico-a-nivel-de-campo-.">🟢 Cuarto Ejemplo: Gráfico a nivel de campo .</h2>
<ol type="1">
<li><p>Agrupamos los datos por Date y Fluid usando group_by(Date, Fluid).</p></li>
<li><p>Sumamos la tasa de producción para cada fluido (Qg, Qo, Qw) con sum(Rate, na.rm = TRUE).</p></li>
<li><p>Graficamos los resultados con geom_line() para mostrar la evolución de la producción total en el tiempo.</p></li>
</ol>
<p>Este gráfico te mostrará cómo ha cambiado la producción total del campo a lo largo del tiempo, desglosada por fluido (petróleo, gas y agua).</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb9-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Agrupar datos por fecha y sumar tasas de producción</span></span>
<span id="cb9-2">df_campo <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> df <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb9-3">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">group_by</span>(Date, Fluid) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb9-4">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">summarise</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">Total_Rate =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>(Rate, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">na.rm =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">.groups =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"drop"</span>)</span>
<span id="cb9-5"></span>
<span id="cb9-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Gráfico de líneas para la producción total del campo</span></span>
<span id="cb9-7"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(df_campo, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> Date, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> Total_Rate, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> Fluid, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">group =</span> Fluid)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb9-8">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">linewidth =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb9-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Producción Total del Campo"</span>,</span>
<span id="cb9-10">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">subtitle =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Suma de la producción de todos los pozos"</span>,</span>
<span id="cb9-11">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fecha"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Tasa de Producción Total (bbl/d o Mcf/d)"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb9-12">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_y_continuous</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">labels =</span> scales<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span>comma) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb9-13">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-31-analisis-de-produccion-con-ggplot2-en-r/index_files/figure-html/unnamed-chunk-6-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>📌 Explicación: 🔹 <code>group_by(Date, Fluid) %&gt;% summarise(Total_Rate = sum(Rate, na.rm = TRUE))</code> → Agrupa los datos por fecha y fluido, sumando la producción total. 🔹 <code>geom_line(size = 1)</code> → Usa líneas para visualizar la evolución de la producción en el tiempo. 🔹 <code>scale_y_continuous(labels = scales::comma)</code> → Aplica formato numérico para mejorar la legibilidad. 🔹 <code>theme_minimal()</code> → Utiliza un diseño limpio y profesional para la visualización.</p>
<section id="conclusión" class="level3">
<h3 class="anchored" data-anchor-id="conclusión">🟢 Conclusión 🎯</h3>
<p>🔹 ggplot2 es una herramienta poderosa para analizar tendencias en producción de petróleo y gas. 🔹 Facetas permiten analizar pozos de manera individual sin perder contexto. 🔹 Escalas logarítmicas ayudan a visualizar datos con diferencias extremas.</p>
</section>
<section id="recursos-adicionales" class="level3">
<h3 class="anchored" data-anchor-id="recursos-adicionales">🟢 Recursos Adicionales 📚</h3>
<p>📌 Documentación Oficial: https://ggplot2.tidyverse.org/ 📌 Visualización de Datos en R: https://datavizcatalogue.com/</p>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>
</section>
</section>

 ]]></description>
  <guid>https://rigobertochandomiblog.com/posts/2025-03-31-analisis-de-produccion-con-ggplot2-en-r/</guid>
  <pubDate>Mon, 31 Mar 2025 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2025-03-31-analisis-de-produccion-con-ggplot2-en-r/preview.png" medium="image" type="image/png" height="89" width="144"/>
</item>
<item>
  <title>Gráficos Interactivos de Producción en R con Plotly</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2025-03-31-graficos-interactivos-de-produccion-en-r-con-plotly/</link>
  <description><![CDATA[ 




<section id="gráficos-interactivos-de-producción-en-r-con-plotly" class="level1">
<h1>📌 Gráficos Interactivos de Producción en R con Plotly 📊🔥</h1>
<p>🔥 Plotly es una poderosa librería de visualización interactiva que permite explorar datos de producción petrolera de manera dinámica.</p>
<p>📌 En esta publicación aprenderás a:</p>
<p>✅ Cargar datos de producción y manipularlos en R.</p>
<p>✅ Crear gráficos interactivos en Plotly para visualizar producción de pozos.</p>
<p>✅ Implementar botones personalizados para cambiar entre distintas visualizaciones.</p>
<section id="instalación-y-carga-de-librerías" class="level2">
<h2 class="anchored" data-anchor-id="instalación-y-carga-de-librerías">🟢 Instalación y Carga de Librerías</h2>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Instalamos y cargamos las librerías necesarias.</span></span>
<span id="cb1-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("plotly")</span></span>
<span id="cb1-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("dplyr")</span></span>
<span id="cb1-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("lubridate")</span></span>
<span id="cb1-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("DT")</span></span>
<span id="cb1-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("readr")</span></span>
<span id="cb1-7"></span>
<span id="cb1-8"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(plotly)</span>
<span id="cb1-9"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(dplyr)</span>
<span id="cb1-10"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(lubridate)</span>
<span id="cb1-11"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(DT)</span>
<span id="cb1-12"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(readr)</span></code></pre></div>
</details>
</div>
</section>
<section id="cargamos-los-datos-de-producción-de-un-archivo-csv" class="level2">
<h2 class="anchored" data-anchor-id="cargamos-los-datos-de-producción-de-un-archivo-csv">🟢 Cargamos los Datos de Producción de un archivo CSV</h2>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb2-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Cargamos los datos del archivo Production_Data.csv.</span></span>
<span id="cb2-2">file_path <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Production_Data.csv"</span></span>
<span id="cb2-3">prod_data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">read.csv</span>(file_path)</span>
<span id="cb2-4"></span>
<span id="cb2-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convertimos la columna de fecha al formato adecuado</span></span>
<span id="cb2-6">prod_data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Date <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">as.Date</span>(prod_data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Date, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">format =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"%d/%m/%Y"</span>)</span>
<span id="cb2-7"></span>
<span id="cb2-8"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Exploramos los datos disponibles</span></span>
<span id="cb2-9"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">datatable</span>(prod_data)</span></code></pre></div>
</details>
<div class="cell-output-display">
<div class="datatables html-widget html-fill-item" id="htmlwidget-83ca8db51b1b19afbb22" style="width:100%;height:auto;"></div>
<script type="application/json" data-for="htmlwidget-83ca8db51b1b19afbb22">{"x":{"filter":"none","vertical":false,"data":[["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","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","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","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","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","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","271","272","273","274","275","276","277","278","279","280","281","282","283","284","285","286","287","288","289","290","291","292","293","294","295","296","297","298","299","300","301","302","303","304","305","306","307","308","309","310","311","312","313","314","315","316","317","318","319","320","321","322","323","324","325","326","327","328","329","330","331","332","333","334","335","336","337","338","339","340","341","342","343","344","345","346","347","348","349","350","351","352","353","354","355","356","357","358","359","360","361","362","363","364","365","366","367","368","369","370","371","372","373","374","375","376","377","378","379","380","381","382","383","384","385","386","387","388","389","390","391","392","393","394","395","396","397","398","399","400","401","402","403","404","405","406","407","408","409","410","411","412","413","414","415","416","417","418","419","420","421","422","423","424","425","426","427","428","429","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","457","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","479","480","481","482","483","484","485","486","487","488","489","490","491","492","493","494","495","496","497","498","499","500","501","502","503","504","505","506","507","508","509","510","511","512","513","514","515","516","517","518","519","520","521","522","523","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","543","544","545","546","547","548","549","550","551","552","553","554","555","556","557","558","559","560","561","562","563","564","565","566","567","568","569","570","571","572","573","574","575","576","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","620","621","622","623","624","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646","647","648","649","650","651","652","653","654","655","656","657","658","659","660","661","662","663","664","665","666","667","668","669","670","671","672","673","674","675","676","677","678","679","680","681","682","683","684","685","686","687","688","689","690","691","692","693","694","695","696","697","698","699","700","701","702","703","704","705","706","707","708","709","710","711","712","713","714","715","716","717","718","719","720","721","722","723","724","725","726","727","728","729","730","731","732","733","734","735","736","737","738","739","740","741","742","743","744","745","746","747","748","749","750","751","752","753","754","755","756","757","758","759","760","761","762","763","764","765","766","767","768","769","770","771","772","773","774","775","776","777","778","779","780","781","782","783","784","785","786","787","788","789","790","791","792","793","794","795","796","797","798","799","800","801","802","803","804","805","806","807","808","809","810","811","812","813","814","815","816","817","818","819","820","821","822","823","824","825","826","827","828","829","830","831","832","833","834","835","836","837","838","839","840","841","842","843","844","845","846","847","848","849","850","851","852","853","854","855","856","857","858","859","860","861","862","863","864","865","866","867","868","869","870","871","872","873","874","875","876","877","878","879","880","881","882","883","884","885","886","887","888","889","890","891","892","893","894","895","896","897","898","899","900","901","902","903","904","905","906","907","908","909","910","911","912","913","914","915","916","917","918","919","920","921","922","923","924","925","926","927","928","929","930","931","932","933","934","935","936","937","938","939","940","941","942","943","944","945","946","947","948","949","950","951","952","953","954","955","956","957","958","959","960","961","962","963","964","965","966","967","968","969","970","971","972","973","974","975","976","977","978","979","980","981","982","983","984","985","986","987","988","989","990","991","992","993","994","995","996","997","998","999","1000","1001","1002","1003","1004","1005","1006","1007","1008","1009","1010","1011","1012","1013","1014","1015","1016","1017","1018","1019","1020","1021","1022","1023","1024","1025","1026","1027","1028","1029","1030","1031","1032","1033","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1060","1061","1062","1063","1064","1065","1066","1067","1068","1069","1070","1071","1072","1073","1074","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1106","1107","1108","1109","1110","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1127","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1151","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1174","1175","1176","1177","1178","1179","1180","1181","1182","1183","1184","1185","1186","1187","1188","1189","1190","1191","1192","1193","1194","1195","1196","1197","1198","1199","1200","1201","1202","1203","1204","1205","1206","1207","1208","1209","1210","1211","1212","1213","1214","1215","1216","1217","1218","1219","1220","1221","1222","1223","1224","1225","1226","1227","1228","1229","1230","1231","1232","1233","1234","1235","1236","1237","1238","1239","1240","1241","1242","1243","1244","1245","1246","1247","1248","1249","1250","1251","1252","1253","1254","1255","1256","1257","1258","1259","1260","1261","1262","1263","1264","1265","1266","1267","1268","1269","1270","1271","1272","1273","1274","1275","1276","1277","1278","1279","1280","1281","1282","1283","1284","1285","1286","1287","1288","1289","1290","1291","1292","1293","1294","1295","1296","1297","1298","1299","1300","1301","1302","1303","1304","1305","1306","1307","1308","1309","1310","1311","1312","1313","1314","1315","1316","1317","1318","1319","1320","1321","1322","1323","1324","1325","1326","1327","1328","1329","1330","1331","1332","1333","1334","1335","1336","1337","1338","1339","1340","1341","1342","1343","1344","1345","1346","1347","1348","1349","1350","1351","1352","1353","1354","1355","1356","1357","1358","1359","1360","1361","1362","1363","1364","1365","1366","1367","1368","1369","1370","1371","1372","1373","1374","1375","1376","1377","1378","1379","1380","1381","1382","1383","1384","1385","1386","1387","1388","1389","1390","1391","1392","1393","1394","1395","1396","1397","1398","1399","1400","1401","1402","1403","1404","1405","1406","1407","1408","1409","1410","1411","1412","1413","1414","1415","1416","1417","1418","1419","1420","1421","1422","1423","1424","1425","1426","1427","1428","1429","1430","1431","1432","1433","1434","1435","1436","1437","1438","1439","1440","1441","1442","1443","1444","1445","1446","1447","1448","1449","1450","1451","1452","1453","1454","1455","1456","1457","1458","1459","1460","1461","1462","1463","1464","1465","1466","1467","1468","1469","1470","1471","1472","1473","1474","1475","1476","1477","1478","1479","1480","1481","1482","1483","1484","1485","1486","1487","1488","1489","1490","1491","1492","1493","1494","1495","1496","1497","1498","1499","1500","1501","1502","1503","1504","1505","1506","1507","1508","1509","1510","1511","1512","1513","1514","1515","1516","1517","1518","1519","1520","1521","1522","1523","1524","1525","1526","1527","1528","1529","1530","1531","1532","1533","1534","1535","1536","1537","1538","1539","1540","1541","1542","1543","1544","1545","1546","1547","1548","1549","1550","1551","1552","1553","1554","1555","1556","1557","1558","1559","1560","1561","1562","1563","1564","1565","1566","1567","1568","1569","1570","1571","1572","1573","1574","1575","1576","1577","1578","1579","1580","1581","1582","1583","1584","1585","1586","1587","1588","1589","1590","1591","1592","1593","1594","1595","1596","1597","1598","1599","1600","1601","1602","1603","1604","1605","1606","1607","1608","1609","1610","1611","1612","1613","1614","1615","1616","1617","1618","1619","1620","1621","1622","1623","1624","1625","1626","1627","1628","1629","1630","1631","1632","1633","1634","1635","1636","1637","1638","1639","1640","1641","1642","1643","1644","1645","1646","1647","1648","1649","1650","1651","1652","1653","1654","1655","1656","1657","1658","1659","1660","1661","1662","1663","1664","1665","1666","1667","1668","1669","1670","1671","1672","1673","1674","1675","1676","1677","1678","1679","1680","1681","1682","1683","1684","1685","1686","1687","1688","1689","1690","1691","1692","1693","1694","1695","1696","1697","1698","1699","1700","1701","1702","1703","1704","1705","1706","1707","1708","1709","1710","1711","1712","1713","1714","1715","1716","1717","1718","1719","1720","1721","1722","1723","1724","1725","1726","1727","1728","1729","1730","1731","1732","1733","1734","1735","1736","1737","1738","1739","1740","1741","1742","1743","1744","1745","1746","1747","1748","1749","1750","1751","1752","1753","1754","1755","1756","1757","1758","1759","1760","1761","1762","1763","1764","1765","1766","1767","1768","1769","1770","1771","1772","1773","1774","1775","1776","1777","1778","1779","1780","1781","1782","1783","1784","1785","1786","1787","1788","1789","1790","1791","1792","1793","1794","1795","1796","1797","1798","1799","1800","1801","1802","1803","1804","1805","1806","1807","1808","1809","1810","1811","1812","1813","1814","1815","1816","1817","1818","1819","1820","1821","1822","1823","1824","1825","1826","1827","1828","1829","1830","1831","1832","1833","1834","1835","1836","1837","1838","1839","1840","1841","1842","1843","1844","1845","1846","1847","1848","1849","1850","1851","1852","1853","1854","1855","1856","1857","1858","1859","1860","1861","1862","1863","1864","1865","1866","1867","1868","1869","1870","1871","1872","1873","1874","1875","1876","1877","1878","1879","1880","1881","1882","1883","1884","1885","1886","1887","1888","1889","1890","1891","1892","1893","1894","1895","1896","1897","1898","1899","1900","1901","1902","1903","1904","1905","1906","1907","1908","1909","1910","1911","1912","1913","1914","1915","1916","1917","1918","1919","1920","1921","1922","1923","1924","1925","1926","1927","1928","1929","1930","1931","1932","1933","1934","1935","1936","1937","1938","1939","1940","1941","1942","1943","1944","1945","1946","1947","1948","1949","1950","1951","1952","1953","1954","1955","1956","1957","1958","1959","1960","1961","1962","1963","1964","1965","1966","1967","1968","1969","1970","1971","1972","1973","1974","1975","1976","1977","1978","1979","1980","1981","1982","1983","1984","1985","1986","1987","1988","1989","1990","1991","1992","1993","1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019","2020","2021","2022","2023","2024","2025","2026","2027","2028","2029","2030","2031","2032","2033","2034","2035","2036","2037","2038","2039","2040","2041","2042","2043","2044","2045","2046","2047","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2059","2060","2061","2062","2063","2064","2065","2066","2067","2068","2069","2070","2071","2072","2073","2074","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","2137","2138","2139","2140","2141","2142","2143","2144","2145","2146","2147","2148","2149","2150","2151","2152","2153","2154","2155","2156","2157","2158","2159","2160","2161","2162","2163","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2176","2177","2178","2179","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2193","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2208","2209","2210","2211","2212","2213","2214","2215","2216","2217","2218","2219","2220","2221","2222","2223","2224","2225","2226","2227","2228","2229","2230","2231","2232","2233","2234","2235","2236","2237","2238","2239","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","2252","2253","2254","2255","2256","2257","2258","2259","2260","2261","2262","2263","2264","2265","2266","2267","2268","2269","2270","2271","2272","2273","2274","2275","2276","2277","2278","2279","2280","2281","2282","2283","2284","2285","2286","2287","2288","2289","2290","2291","2292","2293","2294","2295","2296","2297","2298","2299","2300","2301","2302","2303","2304","2305","2306","2307","2308","2309","2310","2311","2312","2313","2314","2315","2316","2317","2318","2319","2320","2321","2322","2323","2324","2325","2326","2327","2328","2329","2330","2331","2332","2333","2334","2335","2336","2337","2338","2339","2340","2341","2342","2343","2344","2345","2346","2347","2348","2349","2350","2351","2352","2353","2354","2355","2356","2357","2358","2359","2360","2361","2362","2363","2364","2365","2366","2367","2368","2369","2370","2371","2372","2373","2374","2375","2376","2377","2378","2379","2380","2381","2382","2383","2384","2385","2386","2387","2388","2389","2390","2391","2392","2393","2394","2395","2396","2397","2398","2399","2400","2401","2402","2403","2404","2405","2406","2407","2408","2409","2410","2411","2412","2413","2414","2415","2416","2417","2418","2419","2420","2421","2422","2423","2424","2425","2426","2427","2428","2429","2430","2431","2432","2433","2434","2435","2436","2437","2438","2439","2440","2441","2442","2443","2444","2445","2446","2447","2448","2449","2450","2451","2452","2453","2454","2455","2456","2457","2458","2459","2460","2461","2462","2463","2464","2465","2466","2467","2468","2469","2470","2471","2472","2473","2474","2475","2476","2477","2478","2479","2480","2481","2482","2483","2484","2485","2486","2487","2488","2489","2490","2491","2492","2493","2494","2495","2496","2497","2498","2499","2500","2501","2502","2503","2504","2505","2506","2507","2508","2509","2510","2511","2512","2513","2514","2515","2516","2517","2518","2519","2520","2521","2522","2523","2524","2525","2526","2527","2528","2529","2530","2531","2532","2533","2534","2535","2536","2537","2538","2539","2540","2541","2542","2543","2544","2545","2546","2547","2548","2549","2550","2551","2552","2553","2554","2555","2556","2557","2558","2559","2560","2561","2562","2563","2564","2565","2566","2567","2568","2569","2570","2571","2572","2573","2574","2575","2576","2577","2578","2579","2580","2581","2582","2583","2584","2585","2586","2587","2588","2589","2590","2591","2592","2593","2594","2595","2596","2597","2598","2599","2600","2601","2602","2603","2604","2605","2606","2607","2608","2609","2610","2611","2612","2613","2614","2615","2616","2617","2618","2619","2620","2621","2622","2623","2624","2625","2626","2627","2628","2629","2630","2631","2632","2633","2634","2635","2636","2637","2638","2639","2640","2641","2642","2643","2644","2645","2646","2647","2648","2649","2650","2651","2652","2653","2654","2655","2656","2657","2658","2659","2660","2661","2662","2663","2664","2665","2666","2667","2668","2669","2670","2671","2672","2673","2674","2675","2676","2677","2678","2679","2680","2681","2682","2683","2684","2685","2686","2687","2688","2689","2690","2691","2692","2693","2694","2695","2696","2697","2698","2699","2700","2701","2702","2703","2704","2705","2706","2707","2708","2709","2710","2711","2712","2713","2714","2715","2716","2717","2718","2719","2720","2721","2722","2723","2724","2725","2726","2727","2728","2729","2730","2731","2732","2733","2734","2735","2736","2737","2738","2739","2740","2741","2742","2743","2744","2745","2746","2747","2748","2749","2750","2751","2752","2753","2754","2755","2756","2757","2758","2759","2760","2761","2762","2763","2764","2765","2766","2767","2768","2769","2770","2771","2772","2773","2774","2775","2776","2777","2778","2779","2780","2781","2782","2783","2784","2785","2786","2787","2788","2789","2790","2791","2792","2793","2794","2795","2796","2797","2798","2799","2800","2801","2802","2803","2804","2805","2806","2807","2808","2809","2810","2811","2812","2813","2814","2815","2816","2817","2818","2819","2820","2821","2822","2823","2824","2825","2826","2827","2828","2829","2830","2831","2832","2833","2834","2835","2836","2837","2838","2839","2840","2841","2842","2843","2844","2845","2846","2847","2848","2849","2850","2851","2852","2853","2854","2855","2856","2857","2858","2859","2860","2861","2862","2863","2864","2865","2866","2867","2868","2869","2870","2871","2872","2873","2874","2875","2876","2877","2878","2879","2880","2881","2882","2883","2884","2885","2886","2887","2888","2889","2890","2891","2892","2893","2894","2895","2896","2897","2898","2899","2900","2901","2902","2903","2904","2905","2906","2907","2908","2909","2910","2911","2912","2913","2914","2915","2916","2917","2918","2919","2920","2921","2922","2923","2924","2925","2926","2927","2928","2929","2930","2931","2932","2933","2934","2935","2936","2937","2938","2939","2940","2941","2942","2943","2944","2945","2946","2947","2948","2949","2950","2951","2952","2953","2954","2955","2956","2957","2958","2959","2960","2961","2962","2963","2964","2965","2966","2967","2968","2969","2970","2971","2972","2973","2974","2975","2976","2977","2978","2979","2980","2981","2982","2983","2984","2985","2986","2987","2988","2989","2990","2991","2992","2993","2994","2995","2996","2997","2998","2999","3000","3001","3002","3003","3004","3005","3006","3007","3008","3009","3010","3011","3012","3013","3014","3015","3016","3017","3018","3019","3020","3021","3022","3023","3024","3025","3026","3027","3028","3029","3030","3031","3032","3033","3034","3035","3036","3037","3038","3039","3040","3041","3042","3043","3044","3045","3046","3047","3048","3049","3050","3051","3052","3053","3054","3055","3056","3057","3058","3059","3060","3061","3062","3063","3064","3065","3066","3067","3068","3069","3070","3071","3072","3073","3074","3075","3076","3077","3078","3079","3080","3081","3082","3083","3084","3085","3086","3087","3088","3089","3090","3091","3092","3093","3094","3095","3096","3097","3098","3099","3100","3101","3102","3103","3104","3105","3106","3107","3108","3109","3110","3111","3112","3113","3114","3115","3116","3117","3118","3119","3120","3121","3122","3123","3124","3125","3126","3127","3128","3129","3130","3131","3132","3133","3134","3135","3136","3137","3138","3139","3140","3141","3142","3143","3144","3145","3146","3147","3148","3149","3150","3151","3152","3153","3154","3155","3156","3157","3158","3159","3160","3161","3162","3163","3164","3165","3166","3167","3168","3169","3170","3171","3172","3173","3174","3175","3176","3177","3178","3179","3180","3181","3182","3183","3184","3185","3186","3187","3188","3189","3190","3191","3192","3193","3194","3195","3196","3197","3198","3199","3200","3201","3202","3203","3204","3205","3206","3207","3208","3209","3210","3211","3212","3213","3214","3215","3216","3217","3218","3219","3220","3221","3222","3223","3224","3225","3226","3227","3228","3229","3230","3231","3232","3233","3234","3235","3236","3237","3238","3239","3240","3241","3242","3243","3244","3245","3246","3247","3248","3249","3250","3251","3252","3253","3254","3255","3256","3257","3258","3259","3260","3261","3262","3263","3264","3265","3266","3267","3268","3269","3270","3271","3272","3273","3274","3275","3276","3277","3278","3279","3280","3281","3282","3283","3284","3285","3286","3287","3288","3289","3290","3291","3292","3293","3294","3295","3296","3297","3298","3299","3300","3301","3302","3303","3304","3305","3306","3307","3308","3309","3310","3311","3312","3313","3314","3315","3316","3317","3318","3319","3320","3321","3322","3323","3324","3325","3326","3327","3328","3329","3330","3331","3332","3333","3334","3335","3336","3337","3338","3339","3340","3341","3342","3343","3344","3345","3346","3347","3348","3349","3350","3351","3352","3353","3354","3355","3356","3357","3358","3359","3360","3361","3362","3363","3364","3365","3366","3367","3368","3369","3370","3371","3372","3373","3374","3375","3376","3377","3378","3379","3380","3381","3382","3383","3384","3385","3386","3387","3388","3389","3390","3391","3392","3393","3394","3395","3396","3397","3398","3399","3400","3401","3402","3403","3404","3405","3406","3407","3408","3409","3410","3411","3412","3413","3414","3415","3416","3417","3418","3419","3420","3421","3422","3423","3424","3425","3426","3427","3428","3429","3430","3431","3432","3433","3434","3435","3436","3437","3438","3439","3440","3441","3442","3443","3444","3445","3446","3447","3448","3449","3450","3451","3452","3453","3454","3455","3456","3457","3458","3459","3460","3461","3462","3463","3464","3465","3466","3467","3468","3469","3470","3471","3472","3473","3474","3475","3476","3477","3478","3479","3480","3481","3482","3483","3484","3485","3486","3487","3488","3489","3490","3491","3492","3493","3494","3495","3496","3497","3498","3499","3500","3501","3502","3503","3504","3505","3506","3507","3508","3509","3510","3511","3512","3513","3514","3515","3516","3517","3518","3519","3520","3521","3522","3523","3524","3525","3526","3527","3528","3529","3530","3531","3532","3533","3534","3535","3536","3537","3538","3539","3540","3541","3542","3543","3544","3545","3546","3547","3548","3549","3550","3551","3552","3553","3554","3555","3556","3557","3558","3559","3560","3561","3562","3563","3564","3565","3566","3567","3568","3569","3570","3571","3572","3573","3574","3575","3576","3577","3578","3579","3580","3581","3582","3583","3584","3585","3586","3587","3588","3589","3590","3591","3592","3593","3594","3595","3596","3597","3598","3599","3600","3601","3602","3603","3604","3605","3606","3607","3608","3609","3610","3611","3612","3613","3614","3615","3616","3617","3618","3619","3620","3621","3622","3623","3624","3625","3626","3627","3628","3629","3630","3631","3632","3633","3634","3635","3636","3637","3638","3639","3640","3641","3642","3643","3644","3645","3646","3647","3648","3649","3650","3651","3652","3653","3654","3655","3656","3657","3658","3659","3660","3661","3662","3663","3664","3665","3666","3667","3668","3669","3670","3671","3672","3673","3674","3675","3676","3677","3678","3679","3680","3681","3682","3683","3684","3685","3686","3687","3688","3689","3690","3691","3692","3693","3694","3695","3696","3697","3698","3699","3700","3701","3702","3703","3704","3705","3706","3707","3708","3709","3710","3711","3712","3713","3714","3715","3716","3717","3718","3719","3720","3721","3722","3723","3724","3725","3726","3727","3728","3729","3730","3731","3732","3733","3734","3735","3736","3737","3738","3739","3740","3741","3742","3743","3744","3745","3746","3747","3748","3749","3750","3751","3752","3753","3754","3755","3756","3757","3758","3759","3760","3761","3762","3763","3764","3765","3766","3767","3768","3769","3770","3771","3772","3773","3774","3775","3776","3777","3778","3779","3780","3781","3782","3783","3784","3785","3786","3787","3788","3789","3790","3791","3792","3793","3794","3795","3796","3797","3798","3799","3800","3801","3802","3803","3804","3805","3806","3807","3808","3809","3810","3811","3812","3813","3814","3815","3816","3817","3818","3819","3820","3821","3822","3823","3824","3825","3826","3827","3828","3829","3830","3831","3832","3833","3834","3835","3836","3837","3838","3839","3840","3841","3842","3843","3844","3845","3846","3847","3848","3849","3850","3851","3852","3853","3854","3855","3856","3857","3858","3859","3860","3861","3862","3863","3864","3865","3866","3867","3868","3869","3870","3871","3872","3873","3874","3875","3876","3877","3878","3879","3880","3881","3882","3883","3884","3885","3886","3887","3888","3889","3890","3891","3892","3893","3894","3895","3896","3897","3898","3899","3900","3901","3902","3903","3904","3905","3906","3907","3908","3909","3910","3911","3912","3913","3914","3915","3916","3917","3918","3919","3920","3921","3922","3923","3924","3925","3926","3927","3928","3929","3930","3931","3932","3933","3934","3935","3936","3937","3938","3939","3940","3941","3942","3943","3944","3945","3946","3947","3948","3949","3950","3951","3952","3953","3954","3955","3956","3957","3958","3959","3960","3961","3962","3963","3964","3965","3966","3967","3968","3969","3970","3971","3972","3973","3974","3975","3976","3977","3978","3979","3980","3981","3982","3983","3984","3985","3986","3987","3988","3989","3990","3991","3992","3993","3994","3995","3996","3997","3998","3999","4000","4001","4002","4003","4004","4005","4006","4007","4008","4009","4010","4011","4012","4013","4014","4015","4016","4017","4018","4019","4020","4021","4022","4023","4024","4025","4026","4027","4028","4029","4030","4031","4032","4033","4034","4035","4036","4037","4038","4039","4040","4041","4042","4043","4044","4045","4046","4047","4048","4049","4050","4051","4052","4053","4054","4055","4056","4057","4058","4059","4060","4061","4062","4063","4064","4065","4066","4067","4068","4069","4070","4071","4072","4073","4074","4075","4076","4077","4078","4079","4080","4081","4082","4083","4084","4085","4086","4087","4088","4089","4090","4091","4092","4093","4094","4095","4096","4097","4098","4099","4100","4101","4102","4103","4104","4105","4106","4107","4108","4109","4110","4111","4112","4113","4114","4115","4116","4117","4118","4119","4120","4121","4122","4123","4124","4125","4126","4127","4128","4129","4130","4131","4132","4133","4134","4135","4136","4137","4138","4139","4140","4141","4142","4143","4144","4145","4146","4147","4148","4149","4150","4151","4152","4153","4154","4155","4156","4157","4158","4159","4160","4161","4162","4163","4164","4165","4166","4167","4168","4169","4170","4171","4172","4173","4174","4175","4176","4177","4178","4179","4180","4181","4182","4183","4184","4185","4186","4187","4188","4189","4190","4191","4192","4193","4194","4195","4196","4197","4198","4199","4200","4201","4202","4203","4204","4205","4206","4207","4208","4209","4210","4211","4212","4213","4214","4215","4216","4217","4218","4219","4220","4221","4222","4223","4224","4225","4226","4227","4228","4229","4230","4231","4232","4233","4234","4235","4236","4237","4238","4239","4240","4241","4242","4243","4244","4245","4246","4247","4248","4249","4250","4251","4252","4253","4254","4255","4256","4257","4258","4259","4260","4261","4262","4263","4264","4265","4266","4267","4268","4269","4270","4271","4272","4273","4274","4275","4276","4277","4278","4279","4280","4281","4282","4283","4284","4285","4286","4287","4288","4289","4290","4291","4292","4293","4294","4295","4296","4297","4298","4299","4300","4301","4302","4303","4304","4305","4306","4307","4308","4309","4310","4311","4312","4313","4314","4315","4316","4317","4318","4319","4320","4321","4322","4323","4324","4325","4326","4327","4328","4329","4330","4331","4332","4333","4334","4335","4336","4337","4338","4339","4340","4341","4342","4343","4344","4345","4346","4347","4348","4349","4350","4351","4352","4353","4354","4355","4356","4357","4358","4359","4360","4361","4362","4363","4364","4365","4366","4367","4368","4369","4370","4371","4372","4373","4374","4375","4376","4377","4378","4379","4380","4381","4382","4383","4384","4385","4386","4387","4388","4389","4390","4391","4392","4393","4394","4395","4396","4397","4398","4399","4400","4401","4402","4403","4404","4405","4406","4407","4408","4409","4410","4411","4412","4413","4414","4415","4416","4417","4418","4419","4420","4421","4422","4423","4424","4425","4426","4427","4428","4429","4430","4431","4432","4433","4434","4435","4436","4437","4438","4439","4440","4441","4442","4443","4444","4445","4446","4447","4448","4449","4450","4451","4452","4453","4454","4455","4456","4457","4458","4459","4460","4461","4462","4463","4464","4465","4466","4467","4468","4469","4470","4471","4472","4473","4474","4475","4476","4477","4478","4479","4480","4481","4482","4483","4484","4485","4486","4487","4488","4489","4490","4491","4492","4493","4494","4495","4496","4497","4498","4499","4500","4501","4502","4503","4504","4505","4506","4507","4508","4509","4510","4511","4512","4513","4514","4515","4516","4517","4518","4519","4520","4521","4522","4523","4524","4525","4526","4527","4528","4529","4530","4531","4532","4533","4534","4535","4536","4537","4538","4539","4540","4541","4542","4543","4544","4545","4546","4547","4548","4549","4550","4551","4552","4553","4554","4555","4556","4557","4558","4559","4560","4561","4562","4563","4564","4565","4566","4567","4568","4569","4570","4571","4572","4573","4574","4575","4576","4577","4578","4579","4580","4581","4582","4583","4584","4585","4586","4587","4588","4589","4590","4591","4592","4593","4594","4595","4596","4597","4598","4599","4600","4601","4602","4603","4604","4605","4606","4607","4608","4609","4610","4611","4612","4613","4614","4615","4616","4617","4618","4619","4620","4621","4622","4623","4624","4625","4626","4627","4628","4629","4630","4631","4632","4633","4634","4635","4636","4637","4638","4639","4640","4641","4642","4643","4644","4645","4646","4647","4648","4649","4650","4651","4652","4653","4654","4655","4656","4657","4658","4659","4660","4661","4662","4663","4664","4665","4666","4667","4668","4669","4670","4671","4672","4673","4674","4675","4676","4677","4678","4679","4680","4681","4682","4683","4684","4685","4686","4687","4688","4689","4690","4691","4692","4693","4694","4695","4696","4697","4698","4699","4700","4701","4702","4703","4704","4705","4706","4707","4708","4709","4710","4711","4712","4713","4714","4715","4716","4717","4718","4719","4720","4721","4722","4723","4724","4725","4726","4727","4728","4729","4730","4731","4732","4733","4734","4735","4736","4737","4738","4739","4740","4741","4742","4743","4744","4745","4746","4747","4748","4749","4750","4751","4752","4753","4754","4755","4756","4757","4758","4759","4760","4761","4762","4763","4764","4765","4766","4767","4768","4769","4770","4771","4772","4773","4774","4775","4776","4777","4778","4779","4780","4781","4782","4783","4784","4785","4786","4787","4788","4789","4790","4791","4792","4793","4794","4795","4796","4797","4798","4799","4800","4801","4802","4803","4804","4805","4806","4807","4808","4809","4810","4811","4812","4813","4814","4815","4816","4817","4818","4819","4820","4821","4822","4823","4824","4825","4826","4827","4828","4829","4830","4831","4832","4833","4834","4835","4836","4837","4838","4839","4840","4841","4842","4843","4844","4845","4846","4847","4848","4849","4850","4851","4852","4853","4854","4855","4856","4857","4858","4859","4860","4861","4862","4863","4864","4865","4866","4867","4868","4869","4870","4871","4872","4873","4874","4875","4876","4877","4878","4879","4880","4881","4882","4883","4884","4885","4886","4887","4888","4889","4890","4891","4892","4893","4894","4895","4896","4897","4898","4899","4900","4901","4902","4903","4904","4905","4906","4907","4908","4909","4910","4911","4912","4913","4914","4915","4916","4917","4918","4919","4920","4921","4922","4923","4924","4925","4926","4927","4928","4929","4930","4931","4932","4933","4934","4935","4936","4937","4938","4939","4940","4941","4942","4943","4944","4945","4946","4947","4948","4949","4950","4951","4952","4953","4954","4955","4956","4957","4958","4959","4960","4961","4962","4963","4964","4965","4966","4967","4968","4969","4970","4971","4972","4973","4974","4975","4976","4977","4978","4979","4980","4981","4982","4983","4984","4985","4986","4987","4988","4989","4990","4991","4992","4993","4994","4995","4996","4997","4998","4999","5000","5001","5002","5003","5004","5005","5006","5007","5008","5009","5010","5011","5012","5013","5014","5015","5016","5017","5018","5019","5020","5021","5022","5023","5024","5025","5026","5027","5028","5029","5030","5031","5032","5033","5034","5035","5036","5037","5038","5039","5040","5041","5042","5043","5044","5045","5046","5047","5048","5049","5050","5051","5052","5053","5054","5055","5056","5057","5058","5059","5060","5061","5062","5063","5064","5065","5066","5067","5068","5069","5070","5071","5072","5073","5074","5075","5076","5077","5078","5079","5080","5081","5082","5083","5084","5085","5086","5087","5088","5089","5090","5091","5092","5093","5094","5095","5096","5097","5098","5099","5100","5101","5102","5103","5104","5105","5106","5107","5108","5109","5110","5111","5112","5113","5114","5115","5116","5117","5118","5119","5120","5121","5122","5123","5124","5125","5126","5127","5128","5129","5130","5131","5132","5133","5134","5135","5136","5137","5138","5139","5140","5141","5142","5143","5144","5145","5146","5147","5148","5149","5150","5151","5152","5153","5154","5155","5156","5157","5158","5159","5160","5161","5162","5163","5164","5165","5166","5167","5168","5169","5170","5171","5172","5173","5174","5175","5176","5177","5178","5179","5180","5181","5182","5183","5184","5185","5186","5187","5188","5189","5190","5191","5192","5193","5194","5195","5196","5197","5198","5199","5200","5201","5202","5203","5204","5205","5206","5207","5208","5209","5210","5211","5212","5213","5214","5215","5216","5217","5218","5219","5220","5221","5222","5223","5224","5225","5226","5227","5228","5229","5230","5231","5232","5233","5234","5235","5236","5237","5238","5239","5240","5241","5242","5243","5244","5245","5246","5247","5248","5249","5250","5251","5252","5253","5254","5255","5256","5257","5258","5259","5260","5261","5262","5263","5264","5265","5266","5267","5268","5269","5270","5271","5272","5273","5274","5275","5276","5277","5278","5279","5280","5281","5282","5283","5284","5285","5286","5287","5288","5289","5290","5291","5292","5293","5294","5295","5296","5297","5298","5299","5300","5301","5302","5303","5304","5305","5306","5307","5308","5309","5310","5311","5312","5313","5314","5315","5316","5317","5318","5319","5320","5321","5322","5323","5324","5325","5326","5327","5328","5329","5330","5331","5332","5333","5334","5335","5336","5337","5338","5339","5340","5341","5342","5343","5344","5345","5346","5347","5348","5349","5350","5351","5352","5353","5354","5355","5356","5357","5358","5359","5360","5361","5362","5363","5364","5365","5366","5367","5368","5369","5370","5371","5372","5373","5374","5375","5376","5377","5378","5379","5380","5381","5382","5383","5384","5385","5386","5387","5388","5389","5390","5391","5392","5393","5394","5395","5396","5397","5398","5399","5400","5401","5402","5403","5404","5405","5406","5407","5408","5409","5410","5411","5412","5413","5414","5415","5416","5417","5418","5419","5420","5421","5422","5423","5424","5425","5426","5427","5428","5429","5430","5431","5432","5433","5434","5435","5436","5437","5438","5439","5440","5441","5442","5443","5444","5445","5446","5447","5448","5449","5450","5451","5452","5453","5454","5455","5456","5457","5458","5459","5460","5461","5462","5463","5464","5465","5466","5467","5468","5469","5470","5471","5472","5473","5474","5475","5476","5477","5478","5479","5480","5481","5482","5483","5484","5485","5486","5487","5488","5489","5490","5491","5492","5493","5494","5495","5496","5497","5498","5499","5500","5501","5502","5503","5504","5505","5506","5507","5508","5509","5510","5511","5512","5513","5514","5515","5516","5517","5518","5519","5520","5521","5522","5523","5524","5525","5526","5527","5528","5529","5530","5531","5532","5533","5534","5535","5536","5537","5538","5539","5540","5541","5542","5543","5544","5545","5546","5547","5548","5549","5550","5551","5552","5553","5554","5555","5556","5557","5558","5559","5560","5561","5562","5563","5564","5565","5566","5567","5568","5569","5570","5571","5572","5573","5574","5575","5576","5577","5578","5579","5580","5581","5582","5583","5584","5585","5586","5587","5588","5589","5590","5591","5592","5593","5594","5595","5596","5597","5598","5599","5600","5601","5602","5603","5604","5605","5606","5607","5608","5609","5610","5611","5612","5613","5614","5615","5616","5617","5618","5619","5620","5621","5622","5623","5624","5625","5626","5627","5628","5629","5630","5631","5632","5633","5634","5635","5636","5637","5638","5639","5640","5641","5642","5643","5644","5645","5646","5647","5648","5649","5650","5651","5652","5653","5654","5655","5656","5657","5658","5659","5660","5661","5662","5663","5664","5665","5666","5667","5668","5669","5670","5671","5672","5673","5674","5675","5676","5677","5678","5679","5680","5681","5682","5683","5684","5685","5686","5687","5688","5689","5690","5691","5692","5693","5694","5695","5696","5697","5698","5699","5700","5701","5702","5703","5704","5705","5706","5707","5708","5709","5710","5711","5712","5713","5714","5715","5716","5717","5718","5719","5720","5721","5722","5723","5724","5725","5726","5727","5728","5729","5730","5731","5732","5733","5734","5735","5736","5737","5738","5739","5740","5741","5742","5743","5744","5745","5746","5747","5748","5749","5750","5751","5752","5753","5754","5755","5756","5757","5758","5759","5760","5761","5762","5763","5764","5765","5766","5767","5768","5769","5770","5771","5772","5773","5774","5775","5776","5777","5778","5779","5780","5781","5782","5783","5784","5785","5786","5787","5788","5789","5790","5791","5792","5793","5794","5795","5796","5797","5798","5799","5800","5801","5802","5803","5804","5805","5806","5807","5808","5809","5810","5811","5812","5813","5814","5815","5816","5817","5818","5819","5820","5821","5822","5823","5824","5825","5826","5827","5828","5829","5830","5831","5832","5833","5834","5835","5836","5837","5838","5839","5840","5841","5842","5843","5844","5845","5846","5847","5848","5849","5850","5851","5852","5853","5854","5855","5856","5857","5858","5859","5860","5861","5862","5863","5864","5865","5866","5867","5868","5869","5870","5871","5872","5873","5874","5875","5876","5877","5878","5879","5880","5881","5882","5883","5884","5885","5886","5887","5888","5889","5890","5891","5892","5893","5894","5895","5896","5897","5898","5899","5900","5901","5902","5903","5904","5905","5906","5907","5908","5909","5910","5911","5912","5913","5914","5915","5916","5917","5918","5919","5920","5921","5922","5923","5924","5925","5926","5927","5928","5929","5930","5931","5932","5933","5934","5935","5936","5937","5938","5939","5940","5941","5942","5943","5944","5945","5946","5947","5948","5949","5950","5951","5952","5953","5954","5955","5956","5957","5958","5959","5960","5961","5962","5963","5964","5965","5966","5967","5968","5969","5970","5971","5972","5973","5974","5975","5976","5977","5978","5979","5980","5981","5982","5983","5984","5985","5986","5987","5988","5989","5990","5991","5992","5993","5994","5995","5996","5997","5998","5999","6000","6001","6002","6003","6004","6005","6006","6007","6008","6009","6010","6011","6012","6013","6014","6015","6016","6017","6018","6019","6020","6021","6022","6023","6024","6025","6026","6027","6028","6029","6030","6031","6032","6033","6034","6035","6036","6037","6038","6039","6040","6041","6042","6043","6044","6045","6046","6047","6048","6049","6050","6051","6052","6053","6054","6055","6056","6057","6058","6059","6060","6061","6062","6063","6064","6065","6066","6067","6068","6069","6070","6071","6072","6073","6074","6075","6076","6077","6078","6079","6080","6081","6082","6083","6084","6085","6086","6087","6088","6089","6090","6091","6092","6093","6094","6095","6096","6097","6098","6099","6100","6101","6102","6103","6104","6105","6106","6107","6108","6109","6110","6111","6112","6113","6114","6115","6116","6117","6118","6119","6120","6121","6122","6123","6124","6125","6126","6127","6128","6129","6130","6131","6132","6133","6134","6135","6136","6137","6138","6139","6140","6141","6142","6143","6144","6145","6146","6147","6148","6149","6150","6151","6152","6153","6154","6155","6156","6157","6158","6159","6160","6161","6162","6163","6164","6165","6166","6167","6168","6169","6170","6171","6172","6173","6174","6175","6176","6177","6178","6179","6180","6181","6182","6183","6184","6185","6186","6187","6188","6189","6190","6191","6192"],["HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63"],["Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qo","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qg","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw","Qw"],["2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01"],[216.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,201.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1298.5,0,0,0,0,0,0,0,0,0,0,0,1379.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5721.3,0,0,0,0,0,0,0,0,0,0,0,6138.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7616.9,0,0,0,0,0,0,0,0,0,0,0,8289.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7626.1,0,0,0,0,0,0,0,0,0,0,0,8304.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7616.9,0,0,0,0,0,0,0,0,0,0,0,8263.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7616.9,0,0,0,0,0,0,0,0,0,0,0,8260.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7582.7,0,0,0,0,0,0,0,0,0,0,0,8221.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7616.9,0,0,0,0,0,0,0,0,0,0,0,8260.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7532.9,0,0,0,0,0,0,0,0,0,0,0,8171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7603.9,0,0,800.3,0,0,0,0,0,0,0,0,8195,0,0,947.3,0,0,0,0,0,0,0,0,0,0,0,505.5,0,0,0,0,0,0,0,0,7224.5,0,0,2381.6,0,0,0,0,0,0,0,0,7054.2,0,0,3450.9,0,0,0,0,0,0,0,0,0,0,0,852.6,0,0,0,0,0,0,0,0,7887.4,0,0,2377.5,0,0,0,0,0,0,0,0,7620.9,0,0,3616.2,0,0,0,0,0,0,0,0,0,0,0,1151,0,0,0,0,0,0,0,0,7887.4,0,0,2377.5,0,0,0,0,0,0,0,0,7882.2,0,0,3354.9,0,0,0,0,0,0,0,0,0,0,0,1132.2,0,0,0,0,0,0,0,0,7692.4,0,0,2572.5,0,0,0,0,0,0,0,0,7786.9,0,0,3450.2,0,0,0,0,0,0,0,0,0,0,0,1094.4,0,0,0,0,0,0,0,0,7692.4,0,0,2297.7,1394.2,0,0,0,0,0,0,0,7774.2,0,0,3382.2,1575.8,0,0,0,0,0,0,0,0,0,0,1420.9,15.3,0,0,0,0,0,0,0,7480.9,0,0,2079.7,6037.3,0,0,0,0,0,0,0,7888.2,0,0,3259,6487.1,0,0,0,0,0,0,0,0,0,0,1295.3,7.3,0,0,0,0,0,0,0,7692.4,0,0,1964.9,6208,0,0,0,0,0,0,0,8146.4,0,0,3089,6699.4,0,0,0,0,0,0,0,0,0,0,1124.6,7.5,0,0,0,0,0,0,0,7692.4,0,0,1704.5,6208,0,0,0,0,0,0,0,8143.6,0,0,2669.8,6822.8,0,0,0,0,0,0,0,0,0,0,1101.9,0,0,0,0,0,0,0,0,8073.3,0,0,1788.9,6515.4,0,0,0,0,0,0,0,8514.200000000001,0,0,2650.3,7346.6,0,0,0,0,0,0,0,0,0,0,859.5,0,0,0,0,0,0,0,0,8428.299999999999,0,0,1511.6,6805.6,0,0,0,0,0,0,0,8986.799999999999,0,0,2296.6,7638.9,0,0,0,0,0,0,0,0,0,0,905.7,0,0,0,0,0,0,0,0,8066.6,0,0,1088.3,6795.6,0,0,0,0,0,0,0,9096.799999999999,0,0,1338.3,8025,0,0,0,0,0,0,0,0,0,0,923.6,0,0,0,0,0,0,0,0,7983.5,0,0,609.3,6796.3,0,0,0,0,0,0,0,9030.700000000001,0,0,909.8,8068.1,0,0,0,0,0,0,0,0,0,0,716.6,0,0,0,0,0,0,0,0,7994.3,0,0,610.1,6805.6,0,0,0,0,0,0,0,9044.1,0,0,911.1,8080,0,0,0,0,0,0,0,0,0,0,751.9,0,0,0,0,0,0,0,0,7994.3,0,0,610.1,6805.6,0,0,0,0,0,0,0,9044.1,0,0,911.1,8080,0,0,0,0,0,0,0,0,0,0,727.5,0,0,0,0,0,0,0,0,7957.3,0,0,495,6774.1,0,0,0,0,0,0,0,9015.700000000001,0,0,739,8054.6,0,0,0,0,0,0,0,0,0,0,1085.5,0,0,0,0,0,0,0,0,5443.1,0,0,237.1,5374.1,0,0,0,0,0,0,0,6711.3,0,0,350.9,5836.8,0,0,0,0,0,0,0,0,0,0,107.5,0,0,0,0,0,0,0,0,7915.2,0,0,458.1,6712.1,0,0,0,0,0,0,0,9753.9,0,0,671,7310.1,0,0,0,0,0,0,0,0,0,0,579.7,0,0,0,0,0,0,0,0,7889.3,0,0,458.6,6723.8,0,0,0,0,0,0,0,9663.200000000001,0,0,667.3,7269.5,0,0,0,0,0,0,0,0,0,0,569.1,0,0,0,0,0,0,0,0,7658.5,0,0,459.2,6525.7,0,0,0,0,0,0,0,9308.4,0,0,664.8,7035,0,0,0,0,0,0,0,0,0,0,690.6,0,0,0,0,0,0,0,0,7591.8,0,0,459.2,6491.1,0,0,0,0,0,0,0,9185.799999999999,0,0,670.9,6971.5,0,0,0,0,0,0,0,0,0,0,772.2,0,0,0,0,0,0,0,0,7981.1,0,0,481.9,6824,0,0,0,0,0,0,0,9185.799999999999,0,0,670.9,6971.5,0,0,0,0,0,0,0,0,0,0,653.1,0,0,0,0,0,0,0,0,7578.7,0,0,483.5,6479.8,0,0,0,0,0,0,0,9166.799999999999,0,0,704.4,6957,0,0,0,0,0,0,0,0,0,0,1363.3,0,0,0,0,0,0,0,0,7578.7,0,0,483.5,6479.8,0,0,0,0,0,0,0,9166.799999999999,0,0,704.4,6957,0,0,0,0,0,0,0,0,0,0,1224.5,0,0,0,0,0,0,0,0,7568.1,0,0,482.8,6470.8,0,0,0,0,0,0,0,9154.1,0,0,703.4,6947.3,0,0,0,0,0,0,0,0,0,0,1137.8,0,0,0,0,0,0,0,0,7471.2,0,0,476.6,6387.9,0,0,0,0,0,0,0,8660.700000000001,0,0,665.5,6572.9,0,0,0,0,0,0,0,0,0,0,1244.6,0,0,0,0,0,0,0,0,7754.1,0,0,472.1,6315.7,0,0,0,0,0,0,0,8163.4,0,0,704.4,6457,0,0,0,0,0,0,0,0,0,0,1609.1,0,0,0,0,0,0,0,0,7867.5,0,0,464.9,6209.6,0,0,0,0,0,0,0,11347.5,0,0,941.2,8701.200000000001,0,0,0,0,0,0,0,0,0,0,1471.4,0,0,0,0,0,0,0,0,7867.5,0,0,464.9,6209.6,0,0,0,0,0,0,0,11345.3,0,0,941,8699.5,0,0,0,0,0,0,0,0,0,0,1370.2,0,0,0,0,0,0,0,0,7944.3,0,0,469.4,6196.3,0,0,0,0,0,0,0,11771.9,0,0,976.4,8337.4,0,0,0,0,0,0,0,0,0,0,1362.6,0,0,0,0,0,0,0,0,8070.7,0,0,476.6,6378.7,0,0,0,0,0,0,0,11878,0,0,985,8677.700000000001,0,0,0,0,0,0,0,0,0,0,994.2,0,0,0,0,0,0,0,0,7821.7,0,0,449,8162.4,0,0,0,0,0,0,0,11649.6,0,0,922.8,11139.5,0,0,0,0,0,0,0,0,0,0,855.2,0,0,0,0,0,0,0,0,7841.6,0,0,331,8322.4,0,0,0,0,0,0,0,11392.9,0,0,673.7,11723.1,0,0,0,0,0,0,0,0,0,0,740.4,0,0,0,0,0,0,0,0,7814.8,0,6343.1,150.1,8291.1,0,0,0,0,0,0,0,12257.9,0,9152.4,278.5,9132.799999999999,0,0,0,0,0,0,0,0,0,0,422.6,0,0,0,0,0,0,0,0,7637.6,0,6731.3,28.3,8103.1,0,0,0,0,0,0,0,11865,0,9510.299999999999,52.2,8840.1,0,0,0,0,0,0,0,0,0,0,20.4,0,0,0,0,0,0,0,0,7491.5,0,6654,0,7874.5,0,0,0,0,0,0,0,11032.4,0,8873.4,0,9639.1,0,0,0,0,0,0,0,54.8,0,4.8,0,0,0,0,0,0,0,0,0,7911.9,0,6280.3,0,7805.2,0,0,0,0,0,0,0,11021.2,0,8864.6,0,9474.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7513.5,0,5504.8,0,6993.9,0,0,0,0,0,0,0,10906.8,0,8864.4,0,9474.200000000001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8216.200000000001,879.8,6112.8,0,7592,0,0,0,0,0,0,0,10848.1,1170.7,8844.9,0,9453.299999999999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7926.3,5907.6,6097,0,7572.4,0,0,0,0,0,0,0,10335.9,7635.1,8514,0,9134.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8727.5,6380.8,6585.3,0,8178.9,0,0,0,0,0,0,0,10466,8453.700000000001,9489,0,10253.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8101.3,5923,8910.799999999999,211.3,7592,0,0,0,0,0,0,0,9721,8273.700000000001,10932.9,263.2,10582.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8835.6,5766.4,8675.200000000001,4033.8,7326.5,0,0,0,0,0,0,0,10670.2,8001.5,10573.2,4976.3,10150.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8900.9,6029.7,8482.5,5491.2,7382.7,0,0,0,0,0,0,0,10675.3,8469.700000000001,10287.8,6866.5,10348.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9186,7177,8754.200000000001,5998.1,7619.2,0,0,0,0,0,0,0,10928.9,10313.4,10572.4,7215.3,10632.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9271.6,8106.6,8835.799999999999,6113.7,7690.3,0,0,0,0,0,0,0,10544.2,11409.8,10452,7588.1,10510.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9271.6,7993.3,8835.799999999999,6801.9,7690.3,0,0,0,0,0,0,0,10518,11271,10427,8385.200000000001,10485,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7271.8,8949.799999999999,7342.7,7776,9210.1,0,0,0,0,0,0,0,8018.4,10023.7,8647.700000000001,8349.9,15992.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7318,7635.8,8734.799999999999,7892.4,9126.700000000001,0,0,0,0,0,0,0,9196.5,8791.9,11367.1,10019,11818.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7073.8,8524.299999999999,8433.299999999999,7670.2,9013.5,755.2,0,0,0,0,0,0,9156.9,10980.1,10801.8,9581.799999999999,11487.2,772.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7067.7,8072.4,8780.5,7483.9,8753.1,7406,0,0,0,0,0,0,8623.5,10143.4,11423.2,9114,11151.1,8495.200000000001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7188.2,8035.6,8515,7710.4,9019,7509.8,0,0,0,0,0,0,8813.299999999999,10083.6,10669.2,9052.200000000001,11600.7,8622.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7485.8,7977.7,8962.700000000001,8090.6,8950,6656.7,0,0,0,0,0,0,8702.200000000001,10221.4,10923.2,9253.6,11187.4,8250.799999999999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7434,7922.6,8900.6,8034.6,9249.700000000001,7164,0,0,0,0,0,0,8643.1,10152.3,10849.1,9190.700000000001,11444.8,8873.700000000001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7312.6,7921,9029.6,7865.7,9452.5,7325.3,0,0,0,0,0,0,8638,9797.700000000001,11057.1,9291.4,11581.1,9012.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7302.8,7910.4,9017.4,7855.1,9439.799999999999,7315.5,0,0,0,0,0,0,8626.799999999999,9784.9,11042.7,9279.299999999999,11566,9000.299999999999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7458.9,7883.7,7116.7,8008.6,9262.4,7121.7,0,0,0,0,0,0,8434.9,9787.4,10968.7,9597.9,11669.7,8841.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7247.9,7784.9,8990.200000000001,7939.7,9038,6891.4,0,0,0,0,0,0,8481.700000000001,9887.299999999999,11163.4,9732.4,11334.5,8558.799999999999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6740.9,7677.1,8827.1,7836,8852.799999999999,6648,0,0,0,0,0,0,8062,9787.9,11158.8,9614.5,11246.2,7387.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6753.9,7692,8844.200000000001,7851.2,8870,6771.9,0,0,0,0,0,0,7890.6,9545.200000000001,10921.6,9410.200000000001,11007.1,8157.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6576.4,7489.9,8611.799999999999,7644.9,8636.9,6593.9,0,0,0,0,0,0,7723,9342.6,10689.7,9210.4,10773.4,7984.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6838.1,7754.2,8635.5,7742.9,8753.4,6716.6,0,0,0,0,0,0,8095.8,9279.5,10282.9,9220.1,10786.3,8077.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6700.5,7807.3,8654.9,7445.1,8838.200000000001,6912.9,0,0,0,0,0,0,7850.6,9530.5,10405.9,8951.4,10734.8,8226.700000000001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6701,8045.8,8529.1,7532.4,8929,6595.4,0,0,0,0,0,0,7914.4,9750.200000000001,10178.3,8942.700000000001,10930.3,7951.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6704.8,8050.4,8533.9,7536.7,8934.1,6599.1,0,0,0,0,0,0,7919,9755.799999999999,10184.2,8947.9,10936.6,7956.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6704.8,8050.4,8533.9,7536.7,8934.1,6599.1,0,0,0,0,0,0,7919,9755.799999999999,10184.2,8947.9,10936.6,7956.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6730.1,8080.7,8566.1,7565.1,8967.799999999999,6624,0,0,0,0,0,0,7947.9,9791.4,10221.4,8980.5,10976.5,7985.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6704.8,8050.4,8533.9,7536.7,8934.1,6537.5,0,0,0,0,0,0,7919,9755.9,10184.2,8947.9,10936.6,7933.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6463.4,8050.4,8533.9,7536.7,8934.1,6335.1,0,0,0,0,0,0,7825.4,9755.799999999999,10184.2,8947.9,10936.6,7856.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6405.2,8492.4,8541.4,7423.8,9006.4,5845.2,0,0,0,0,0,0,7739.4,10240.3,10299.5,9332.799999999999,10860.2,6934.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6157.2,8385.200000000001,8597,7601.3,8811.5,5614.8,0,0,0,0,0,0,7565.8,10303.3,10395.8,9142.4,10730.8,6826.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6381.7,8630.1,8657,7292.3,8860.799999999999,5340.5,2502.3,0,0,0,0,0,7649.6,10511.7,10098.1,8788.200000000001,10906.9,6849,2512.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6201.6,8386.6,8412.700000000001,7086.6,8610.5,5010.9,7356.6,0,0,0,0,0,7319,10057,9661.5,8408.200000000001,10434.7,6300.9,8588.799999999999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6705.1,8653.4,8681.1,7189.5,8150.6,4127.2,7591.1,0,0,0,0,0,6589.5,11009.7,9115.200000000001,8566.1,10588.9,5528.5,9402.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6482.1,8365.1,8416.700000000001,7192.9,8163.1,4137.1,7601,0,0,0,0,0,8112.9,10612.1,8775.200000000001,7874.6,10168.4,5485,8891.799999999999,0,0,0,0,0,25.6,0,0,0,0,0,0,0,0,0,0,0,6340.2,8445.9,8680.6,6234.4,8943.200000000001,3982.1,8400,0,0,0,0,0,7474.1,10072.7,10295.3,7567.7,10780.4,4840.9,9672.1,0,0,0,0,0,39.7,0,27.1,2,0,0,0,0,0,0,0,0,6273.5,8409.299999999999,8623.1,6278.6,8897.4,3964.8,8363.5,0,0,0,0,0,7385.7,10023.1,10225.1,7626.6,10717.6,4817,9624.299999999999,0,0,0,0,0,42.3,0,28.4,0,0,0,0,0,0,0,0,0,6169.2,8360.299999999999,8113.2,7482,8694,3918.5,8191,0,0,0,0,0,7138.8,10076.3,8755.5,8800.299999999999,10054.1,4539.4,9419.299999999999,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,6055.6,8354.9,8140.8,7202,8718.5,3707.6,8185.8,0,4948.4,0,0,0,7318.8,10389.5,9034.4,8774.1,10376.9,4440.4,9712.1,0,3977.4,0,0,0,0,0,0.1,0,0,0,0.2,0,0,0,0,0,5930.3,8187.1,8208.299999999999,7176.6,8790.700000000001,4591.8,8253.700000000001,0,7787,0,0,0,8056.2,11449.3,10028.4,9648.9,11518.9,4573.6,10780.8,0,6000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6226.9,8065.8,8782.6,7580.9,7302.7,5459.5,8634.1,0,8276.1,0,0,0,6728.2,9218.700000000001,9472,8250.200000000001,8511.4,5319.8,15389.3,0,10107.1,0,0,0,6.5,2.1,6.8,1.6,1.1,17.8,2.2,0,0.4,0,0,0,5982.2,7830.6,8594.1,7248,6851.7,5287.8,8113.5,0,8380.6,0,0,0,6467.2,8893.700000000001,9340.6,7900.3,8037.9,4971.3,14499.5,0,10215,0,0,0,23.3,0,11.1,30.8,0,290.2,7.8,0,20.9,0,0,0,5316.7,7823.9,8183,6387.3,7910.2,4920.9,5425.1,0,8609.299999999999,0,0,0,6363.2,9611.6,9913.6,8067.8,9429.5,6330.6,6345.8,0,10384.3,0,0,0,7.4,103.9,22.8,67.2,70.59999999999999,77.3,10,0,0,0,0,0,4526.8,7236.6,7442.8,6609.6,7552.3,5270.1,6975.9,0,8141.4,0,0,0,5308.7,8972.6,9351.1,7926.9,9296,6362.3,8289.1,0,9980.4,0,0,0,0,228,0,138.1,0,0,112.8,0,0,0,0,0,4321.7,7201.7,7371.9,6500.8,7592.3,5075.3,6663.1,4068.4,8141.4,0,0,0,5038.2,8929.200000000001,9272.6,7778.6,9323.6,6135.6,7968.3,3623.3,9980.4,0,0,0,0,268.1,135.5,33.2,55.2,67.5,72.8,30.8,29.5,0,0,0,4248,7183.5,7159.9,6247.7,7518.8,4836.1,6719.6,6355.9,7802.7,0,0,0,4961.3,8901.200000000001,9060.200000000001,7419,9220.200000000001,5840,7998.4,6751.6,9657.799999999999,0,0,0,24.4,73.8,15.9,98,71.90000000000001,319.4,63.7,56,0,0,0,0,3814.3,5803.4,7047.1,6195.8,7594,5676.6,7231.2,6564,7006.1,0,0,0,4526.2,8299,9152.6,7454.7,9382.299999999999,6766.6,8604.299999999999,7000,8064.3,0,0,0,251.7,116.5,153.7,562.8,93.8,426.8,127,0,38.4,0,0,0,4943.2,5964.2,6787.4,6427.7,8053.8,5340.9,7503.8,6310.7,6564,0,0,0,5266.1,7797.4,8953.200000000001,7820.3,9814.200000000001,6561.7,9177.5,7000,7000,0,0,0,153.8,99.3,163.8,175.9,95.59999999999999,791.7,156.6,151.5,9.699999999999999,0,0,0,4865.6,6375.2,6903.4,5698.9,6608.3,5059.9,6569.2,6997.5,7237.5,0,0,0,5706.8,7700.8,8236.1,6838.9,7808.2,6388.7,7785.6,8466.6,8574.799999999999,0,0,0,16,0,0,237.9,0,474.1,242,466.3,88.09999999999999,0,0,0,4017.6,8634.700000000001,7881.8,5820.8,7345.7,4431.9,7306.8,4976.7,4633.6,0,0,0,4588.2,10461.9,9380.200000000001,6993.2,8602.200000000001,5891,8602.200000000001,6041.2,5452.6,0,0,0,17.1,0,0,162.2,0,677,431.5,420.5,71,0,0,0,4878.9,6167.9,7047.9,5568,6616.6,4826.9,7357.3,6542.3,7018,0,0,0,5727.2,7462.4,8452.799999999999,6689.6,7840.8,6124.8,8335.4,8230.9,8317,0,0,0,118.9,0,0,86.8,0,1261.7,63.5,507.1,73.09999999999999,0,0,0,5228.7,6560.5,7224.9,5764.9,6595.1,4563.9,6981.6,5754.2,7681.7,0,0,0,6256.8,7945.8,8740.200000000001,7079.9,7832.1,5612.2,8285.799999999999,6851.9,9068.700000000001,0,0,0,13,243.7,174,280.3,150.3,513.4,213.5,811.9,9.4,0,0,0,5940.9,6533.3,7327.6,6536.2,6794.7,1714.4,7067.3,5309.1,7691.1,0,0,0,7037.5,8090.3,8792.1,8088.8,8093.5,1875.5,8206.1,6720.4,8999,0,0,0,11.7,465.2,101.4,142.7,40.1,61.7,126,1354.7,0,0,0,0,5714.1,6611.1,7202.1,6317.9,6575.3,1417,6796.8,4958.3,7631.4,0,0,0,6852.9,8094.1,8555.799999999999,7604.5,7861.3,1623.7,7831.6,5805.9,8898.6,0,0,0,6.9,289.2,61.2,110.2,23.9,399.6,74.5,807.7,0,0,0,0,5672.1,6274.2,7132.6,6238.4,6532,910.6,6916.5,5029.7,7550.7,0,0,0,6700.9,7715.8,8864.700000000001,7575.3,7653.1,1026.6,7936,5586.8,8927.799999999999,0,0,0,96.3,106.5,36.1,261.7,0,206.2,23.3,1390.8,0,0,0,0,5614.1,5629.8,6930.1,6069,6636.4,668.4,6902.1,4503,7716.1,0,0,0,6781.8,7131.6,8473.5,7337.7,8058.5,489,7867.4,5328.1,8534.4,0,0,0,47.3,380.9,137.9,74.09999999999999,43.4,125.8,77.8,759.5,28.7,0,0,0,6078.3,5914.6,7572.5,6488.4,6953.3,803.7,7250.8,5690.9,8404.299999999999,0,0,0,7110.7,7375.4,8845,7623.2,8229.5,768,8421.6,7097,9502.799999999999,0,0,0,44,285.6,63.1,68.2,48.8,83.90000000000001,154,564.9,26.9,0,0,0,6312.4,5605.1,7775.1,5464.5,6485.8,0,7447.6,3811.7,7471.6,0,0,0,6466.1,6478.7,8400.1,5853.5,7471.7,0,7595.1,4549.4,7425.3,0,0,0,6.1,222.5,34.3,79.90000000000001,46.6,0,133.3,722.3,22.5,0,0,0,6109.6,5378,7625.4,5197.4,6997,0,7374.8,4299,8101.9,0,0,0,6718.3,6166.6,7969.3,5555.9,7535.9,0,7762.5,4919.7,8339,0,0,0,54,329.7,42,116.2,30.8,0,249.8,1054.3,29.2,0,0,0,6103.8,5204.4,7680.4,4487.7,7047.6,0,7061.6,4202.5,8354.6,0,0,0,6746.7,6063.7,8078.5,4402,7638.4,0,7513.9,4814.3,8686.299999999999,0,0,0,59.3,355.5,48.8,57.3,29.8,0,275.8,1097.2,0,0,0,0,5832.1,5008.3,8084.7,4507.4,7418.6,0,7173.5,3993.2,8066.5,0,0,0,6436.2,5876.2,8490.799999999999,4415.8,8028.2,0,7649.4,4580.1,8390.799999999999,0,0,0,67,336.6,50.4,56.6,30.8,0,308.9,1098.6,0,0,0,0,6461.9,5729,8102.7,4950.9,7475.5,0,7471.1,2530.9,8672.799999999999,0,0,0,6977.8,6211.3,8285.299999999999,4797.8,7824.9,0,7825.2,4627.8,8748.9,0,0,0,88.59999999999999,458.8,60.3,74.09999999999999,37,0,383.8,802.4,0,0,0,0,6074.8,5523.9,7733.4,4759.9,7544.5,0,7521,3447.3,8368.4,0,0,0,6642.9,6061.6,8062.6,4665.8,8136.2,0,7892.9,4704,8686.299999999999,0,0,0,27.3,18.7,52.4,86.90000000000001,0,0,306.2,1633.6,18.7,0,0,0,6211.9,6067.7,8227.299999999999,5898.4,5574.6,0,6800.6,1608.3,8752.5,0,0,4539.2,6321.7,7091,9168.4,5811.2,5744.1,0,7081.1,2305.9,9129.5,0,0,4924.2,30.5,183.1,334.8,208.9,21.8,0,576.1,1904.3,0,0,0,0.9,5553.9,5371,7847.5,5626.2,5711.2,0,6519.2,1532.8,8142.8,0,0,5812,5731.1,5739.2,8842.6,5602.9,5917.9,0,7327.8,2225.7,8628.200000000001,0,0,6056.8,28,166.6,327.2,204.2,23,0,563.9,1873.3,0,0,0,11.6,5643,5006.9,7870.6,4798.8,5240.9,0,5542.4,1551.9,7919.7,0,0,5678.3,5719.1,5717.9,8351.700000000001,4715.8,5821.1,0,6857.7,1719.3,8213.5,0,0,5874.6,73.40000000000001,438.6,56.4,248.8,390.5,0,863.3,870.5,57.2,0,0,108.4,5545.7,4875.9,7658.7,5360.2,5171.9,0,4869.3,1053.7,7770.7,0,0,5521.8,5523.8,5327.5,8010.5,5188.1,5537.4,0,6306.8,2028.8,7957.5,0,0,5574,32.1,351.6,74.3,214.4,345.3,0,1314.1,2050.9,0,0,0,10.6,6321.7,1096,7577.6,4992.4,5886.7,0,3509.7,1919.6,8805.9,0,0,6349.4,6315,683,8110.6,5327.2,6670.7,0,3590.5,2982.7,9080.200000000001,0,0,7216,90.3,132.5,66.90000000000001,280.2,778.3,0,1025.9,2647.6,29.2,0,0,339.8,5942.7,178.4,7984.9,3536.9,6130.6,0,2115.3,1790.2,8721.5,0,4710.7,7186.7,5838.9,81,8372.299999999999,3438.3,7643.9,0,2134.5,2836.6,9021.1,0,4563.7,7573.5,136.2,25.7,76.09999999999999,165.1,895.6,0,1007.4,2804.2,0,0,422.7,163,5682.8,1513.2,7718.6,3213.8,4489.2,0,1143.7,1575.8,8779.5,0,7376.6,7231.3,6161,984.4,8205.5,3803.5,6370.7,0,828.6,2284.8,7603,0,7474.9,7711.3,16.7,133.8,0,4.8,1414.1,0,166.5,1110.5,0,0,31.2,0,6248.4,1929.5,7984.8,2333,3229.7,0,1596.2,1660.2,8904.6,0,7517.8,6519.8,6016.5,2232,8104,2210.4,4668.6,0,1312.4,2078.1,8974.4,0,7411.6,7343.7,659.4,203.6,842.6,246.2,340.8,0,168.4,175.2,939.7,0,793.3,688,6395.8,1476.4,8204.6,3886.1,2848.9,0,1643.1,1554.8,8630.299999999999,0,7322.5,6531.8,6660.8,1271.6,8558.1,4006.6,3804.7,0,1483.5,1644.6,8971.9,0,7534,7012.1,27.2,396.9,23.2,335.2,1252.3,0,722.3,800.8,0,0,255.3,67.09999999999999,6641.1,1410.6,8631.4,3622.4,2063.9,0,1536,963.7,9105.5,0,7730.1,6933.6,7063.4,1346.4,8969,3108.2,4176.8,0,1546.7,640.1,9257.5,0,7839.3,7248.4,33.1,635.8,0,345,2316.3,0,1073.8,183.6,60.7,0,288.6,11.5,5678.6,1187.2,7581.6,2972.6,2370.1,0,882.1,1151.8,5810.1,0,8113.8,7436.3,4584.6,1135.9,8412,3275.9,2540.6,0,765.5,945.4,6234.1,0,9099.9,8499.1,26.8,45.9,0,516.2,310.1,0,803.3,230.5,19,0,366.4,44.5,6360.6,1191.1,8036.7,3379.8,811.6,0,635.6,837.4,6526,0,8786.200000000001,8055.7,6977.8,896.4,8872.6,3483.8,499.1,0,560.3,650,6959,0,9472.700000000001,8945,9.800000000000001,36,0,442.4,130,0,748.5,224.9,0,0,280.7,0,5143.9,1217.6,5981.7,2615.4,609,0,748.2,759.6,6826.2,3134,7037.6,6842.7,6061.4,805.4,5689.4,3024.4,418,0,567.3,578.9,6329,3607.7,8486.1,8752.9,24,32.1,19.7,683.4,15.4,0,483.5,138.7,23,4.3,274.9,79.3,5653,480.4,6964.8,2051.4,50.3,0,277.5,508.2,8019.9,3940.5,6996.7,6981.9,6419.7,423.7,7542.7,2068.7,57.2,0,270.7,360.4,8708.1,4279,8027.7,8170.9,8.4,11.3,3.4,270.6,0,0,201.4,92,4.1,0.8,196.8,14.8,5619.7,527.1,7576.1,1999.2,0,0,267.8,554.8,8577.5,4086,7258.7,7270.3,7034.6,519.1,8564.799999999999,1947.2,0,0,212.8,325.7,9868.4,4456.6,8245.200000000001,8349.299999999999,4.5,10.2,0,173.7,0,0,194.7,92,0,0,175.1,0,4547.8,588,7867.1,1916,0,0,340,630.8,8554.6,4124.9,7338.5,7362.9,5995.8,386.2,8753.299999999999,2016.6,0,0,170,329.6,9707.799999999999,4497,8249,8509.200000000001,19.6,117.7,25.4,503.5,0,0,258.6,213.6,22,16.1,403.6,115.3,4147,424.5,7759.3,1847.4,0,52.1,250.4,555.9,8355.5,4245.3,7175.5,7097.9,4719.3,187.1,8751.1,2043.4,0,55.3,108.3,325.6,9379.9,4636.4,8313.700000000001,8520.5,64.7,58.1,140.9,368.8,0,0.1,48.8,132,121.8,62.5,517.8,223.7,2712,499.1,8030.2,2233.5,0,3907.9,316,542.6,8589.4,4317.7,7249.3,7206,2984.4,248.5,9103.9,2130.5,0,3987.3,108.3,340.4,9772,4864.1,8645.299999999999,8863.6,10.2,100.9,73,210.4,0,857.7,15.2,175.4,120.6,130.7,728.5,337,4357.6,482.1,7556.8,2103.7,0,4513.6,297.2,645.5,8087.3,4179.2,7308.7,6889.7,5028.7,246.8,8786.4,2053.2,0,4374.6,108.3,325.6,9421.200000000001,4692.9,8334.6,8554.799999999999,405.8,113.4,68.40000000000001,36.1,0,900.7,13.3,71.8,113.9,7.1,910.1,241.1,4578.7,498.1,7871.5,2378.6,657.5,4266,154,625.1,8120.4,4288.5,6764.2,7050.2,5047.1,247.5,8754.200000000001,2045.7,804.6,4387.8,54.4,324.2,9384.1,4685,8316.4,8532.5,304.8,96.7,0,17,560.1,0,5.4,75.40000000000001,299.2,30.6,893.8,259.8,4321.7,475.9,7945.4,2497,0,4419.8,0,526.7,8341.4,4814.7,6136.7,7124.9,4755.5,272.3,8746.1,2268.1,0,4485.2,0,303.9,9421.9,5140.2,7779.8,8413.1,326.6,83.7,11.4,26.3,0,1.8,0,80.7,186.6,11,1181.7,273.4,3419.7,256.5,7573.7,2451.3,0,4753,1075.5,82,7998.3,6128.3,4973.4,6502.6,3693.4,245.5,8399.9,2691.2,0,4921.1,1011.5,67.40000000000001,9105.700000000001,6552,5672,7498.2,190.4,40.7,5.2,17.9,0,2.1,2.4,1.7,204.8,27.7,1005.5,382.7,3647.8,0,7712.3,202.6,0,5895.9,5323.9,0,8567,6584.9,4323.1,5187.7,4206.9,0,8499.6,330,0,6434.4,5040.5,0,9068.799999999999,7326.9,5311.1,5906,112.9,0,0,0.6,0,2.8,5.7,0,87.2,2.8,1122,265.6,3851.8,0,7874.6,0,0,6315.6,5384.7,0,8692.4,6706.4,4177.9,4691.1,4371,0,9062.1,0,0,6290.5,5010.9,0,9808.5,7356.3,5117.5,5437.3,249.8,0,0,0,0,0,0,0,196.8,0,1308.3,505.9,4019.4,0,7753.9,0,0,6217.7,5301.3,0,8746.4,6576.7,3531.5,4794.3,4301.4,0,8918.200000000001,0,0,6190.3,4930.9,0,9652.4,7239.4,5035.6,5350.5,50.9,0,3,0,0,3.4,2.9,0,34.6,28.3,1897.4,368,3923,0,7974.9,0,0,5842.9,4828.8,0,8139.1,7145.1,3285.1,4649.1,4059,0,8693.9,0,0,6520.5,5041.8,0,8808.1,7549.9,4394.4,5273.2,51.5,0,50.6,0,0,6.9,2.4,0,15.2,2.2,1959.5,453.2,3369.5,0,8031.4,407.8,0,5777.9,4597.4,0,8588.1,6986.6,3176,4553.2,3496.6,0,8895.200000000001,360.6,0,6538.4,4961.7,0,9599.4,7702,3879.3,4831.8,37,0,35.8,64.2,0,7.6,47.5,0,57.3,3.8,1868.6,278.1,3386.1,0,7853.2,0,0,6126.4,4719,0,8726.1,7024,2593.6,4056.9,3349.3,0,8919.4,0,0,6649.3,5185.8,0,9779.4,7978.5,3183.9,4695.8,13.8,0,38.8,0,0,0.9,2.1,0,44.9,7.2,2055.6,571.7,1760,0,7808.2,0,0,5960.9,4739.9,1871.1,8637,7002.9,2159.8,3621.4,1764.1,0,8812.799999999999,0,0,6433.7,5088,2089.1,9647.700000000001,7912.7,2639.8,4371,108.2,0,3.4,0,0,1.2,2,3.9,47.8,55.6,1690.1,647.1,2687.3,0,7803.5,0,0,5733.8,4750.6,5407.3,8736,6898.1,1861.8,3143.3,3370.2,0,8566.9,0,0,6245.3,5005.5,5963.8,9513.9,7748,1991,3969.1,860.1,0,7.3,0,0,17.9,4.7,3.1,131.6,96.8,1369.1,778.3,2227.9,0,7724.4,839.3,0,5679.1,4566.9,5285,8549.6,6912.6,1240.4,2858.4,2445.1,0,8742.1,842.7,0,6300.5,4905.5,5926.1,9404.299999999999,7872.2,1060.2,3840,99.7,0,47,124.5,0,24.7,27.9,38.6,113.9,127.9,689.7,862.8,1625.2,0,7645.4,1619.2,0,5761.5,4262.7,5142.2,8394,6538.2,572.9,2825.4,1642.4,0,8659,1686.7,0,6297.4,4655.6,5832.9,9539.6,7354.8,555.9,3598.5,93.2,0,90.40000000000001,365.8,0,36.4,55,84.8,225.2,134.2,285.7,614.6,1463,0,7567.3,1325.3,0,5708.4,4266.6,5137.2,8041.4,6177.9,579.9,2822.5,1439.2,0,8609.6,1355.1,0,6220.9,4726.8,5874.2,9143.1,7153.5,534.4,3085.9,129.4,0,70.09999999999999,571.9,0,0,59.7,42.8,259.3,235.5,167.4,420.5,712.1,0,7024.3,1302.4,0,5523.9,4301.7,5091.7,7632.6,5797.2,584.1,2238.9,445.2,0,8438.5,1208.2,0,6245.7,4821.1,5918.2,8992.4,6823.6,557.6,2811.8,127.7,0,45.8,643.3,0,0,9.699999999999999,30,363.2,89,193.6,819.5,670.6,0,7043.2,1275.3,0,5857,4303.6,5096.9,7234.9,5598.1,38.9,1987.2,487.7,0,8526.799999999999,1110.8,0,6464.4,4820.8,5946.5,8467.9,6473.2,37.4,2546.9,130.4,0,157.9,598.1,0,0,0,103.5,460.2,56.6,11.8,770.8,530.5,0,6936,1293.6,0,6069.4,4355.2,5307.6,6986.8,5291.5,0,1762.9,347.4,0,8374.799999999999,1070.2,0,6704,4937,6160.1,8182.9,6191.6,0,2299.2,76.40000000000001,0,144.5,569.8,0,0,0,36.3,487,88.8,0,754.4,1060,0,6649,1238,0,6131.6,4490.4,5451.9,6546.6,5172.1,0,884.9,916.3,0,7966.8,989.6,0,6956.5,5240.3,6370.8,7955.1,6225.4,0,1066.4,16.1,0,6.2,597,0,0,34,5.1,461.6,149.9,0,396.3,884.2,0,5939.1,1134.4,0,5958,4361.2,5248.7,6137.5,4836.1,0,0,801.1,0,7180.9,888.5,0,6860,5177,6295.9,7830.2,5868.9,0,0,6.6,0,15.5,821.7,0,5.4,17.4,13.9,1150.4,137,0,0,913.7,0,5462.3,1085.7,0,5950.9,4243,5058.9,5380.1,4575.7,0,1697.9,785.3,0,6789.8,790.1,0,6887.6,5103.4,6021.8,7083.9,5656.1,0,1444.5,3.2,0,175.5,871.7,0,7.6,8.699999999999999,16.9,1726.2,177.4,0,223.5,751,0,5432.8,891.3,0,6614.5,4645.5,5283.9,5252.1,4649.4,0,1353.9,625.3,0,6569.3,651.7,0,7231,5302.6,6081.5,6870.6,5508.1,0,2200.5,3.4,0,205.6,684,0,3.2,4,7.9,1775.1,171.9,0,1482.5,0,0,5379.6,434.7,0,6683.7,4864.5,5365.4,3932.2,4771.9,0,826.5,0,0,6469.2,334,0,7754.5,5547.7,5931.7,4960.3,5180.3,0,1808.5,0,0,189.8,376.1,0,16.5,10.1,35,1148.2,179.7,0,1553.9,0,0,5192.5,384.9,0,6669.5,4962.3,5065,3170.6,4273.7,0,1301.9,0,0,6261.6,254.6,0,8104.8,5755,5774.1,4119.4,5027.1,0,1638.1,0,0,176,156.4,0,98.40000000000001,42.2,193.5,953.9,126.5,0,910,0,0,5230.2,415,0,6868.7,5274.1,4960.4,2344.7,4536.9,0,884.6,0,0,6075.8,499.2,0,8243.1,5964.5,5733,3628.3,5276.9,0,1050,0,0,216,324.2,0,304.7,17.6,445.4,2239,227.6,0,529.4,0,0,4807,377,0,6516.3,5089.3,4694.9,2096.5,4234.1,0,953.8,0,0,5591.4,495.7,0,7985.4,5861.7,5266,2997.4,5049.8,0,1084.3,0,0,189.5,185.9,0,415.8,15.6,475.5,1938.6,222.3,0,559,0,0,4147,204.1,0,5890,4743.3,3985.5,1521.9,3763.6,0,691.3,0,0,4956.8,332.1,0,7049.8,5330.3,4581.4,2309.3,4259.5,0,1094.9,0,0,240.4,104.5,0,275.6,21.8,365.8,700.3,90.7,0,586.9,0,0,3962.1,179,0,5351.8,4644.3,3642.4,1520.8,3461,0,820.1,0,0,4682.7,218.1,0,6643.5,5405.5,4312.9,1969.6,4102.6,0,1003.1,0,0,182.3,13.6,0,464.3,4.7,621.4,780.5,110,0,751.7,0,0,3815.8,139.2,0,5216.8,4935.7,3137.8,1383.5,3005.8,0,920.2,0,0,4549.5,178.5,0,6587.9,5787.4,3738.3,1832.8,3456.2,0,1028,0,0,291.7,28.2,0,799.9,20.2,1064.2,1209.2,138.8,0,976.5,0,0,3753.3,0,0,4735,4885.4,2794,1449.9,1909.1,0,884.1,0,0,4557.2,0,0,6271.6,5951,3431.5,1795,2091.2,0,936.6,0,0,228.3,0,0,842.9,54.1,1017.1,978.4,65.40000000000001,0,733.3,0,0,3471.4,0,0,4152.8,4681.7,2557.1,1373.3,1858.6,0,968.5,0,0,4346.5,0,0,5664.1,5922.7,3264.5,1669.1,2087.8,0,878.8,0,0,229.5,0,0,676.3,25.5,990,951,43.5,0,605.7,0,0,3383.7,0,0,3744.1,4719,2407.3,1243.1,1877.9,0,1046.6,0,0,4164.7,0,0,5009.3,5941.8,3152.3,1542.4,2138.6,0,870.4,0,0,134,0,0,323,39,812.4,713.2,29.1,0,356.6,0,0,3358.7,0,0,3338.6,4705.7,2382.9,1098.6,1923.3,0,897.2,0,0,4086.7,0,0,4453.8,5894.7,3019.2,1465.2,2160.8,0,783,0,0,155.2,0,0,489.2,62.6,930.5,1007.8,21,0,405.5,0,0,3288.5,0,0,3064.2,4553.9,2525.4,1129.3,1973.6,0,826.8,0,0,3966.7,0,0,4068.8,5892.6,3176.8,1472.8,2203.4,0,769.1,0,0,198.1,0,0,350,316.6,923.6,884.1,57.9,0,446.1,0,0,3002.6,0,0,2734.2,4187.2,2413.5,992.2,1961.2,0,758.6,0,0,3741.6,0,0,3595.6,5256.4,3105,1411.8,2282.3,0,742.4,0,0,165.5,0,0,280.1,54.3,821.4,853.4,44.7,0,434.3,0,0,2478.8,0,0,2566.3,4136.6,2535.4,899.3,1869.7,0,863.4,0,0,3128.9,0,0,3375.8,5485.9,3390.8,1345.5,2229.1,0,668.3,0,0,96.90000000000001,0,0,239.3,54.8,987.1,915.3,33.5,0,277.2,0,0,1758,0,0,2527.5,5022.4,2512.4,1046.1,1851.2,0,528.8,0,0,1987.9,0,0,3315.9,6553.2,3433.7,1315.4,2146.1,0,528.4,0,0,34.6,0,0,209.9,91,1019,691.8,37.9,0,315.7,0,0,1328,0,0,2683.8,5282.4,2800.7,904.1,1849.2,0,345.7,0,0,1426.7,0,0,3504.2,6991,3816.2,1320.6,2188.6,0,249,0,0,22.2,0,0,124.1,62.9,937.1,752.3,31.7,0,125,0,0,828.3,0,0,2114.4,4717.3,2642.4,851.7,1667.2,0,220.7,0,0,855,0,0,2823.5,6502.7,3634.5,1126.9,2040.5,0,127.6,0,0,16.5,0,0,136.9,30,935.6,823.2,15.6,0,91.5]],"container":"<table class=\"display\">\n  <thead>\n    <tr>\n      <th> <\/th>\n      <th>Well<\/th>\n      <th>Fluid<\/th>\n      <th>Date<\/th>\n      <th>Rate<\/th>\n    <\/tr>\n  <\/thead>\n<\/table>","options":{"columnDefs":[{"className":"dt-right","targets":4},{"orderable":false,"targets":0},{"name":" ","targets":0},{"name":"Well","targets":1},{"name":"Fluid","targets":2},{"name":"Date","targets":3},{"name":"Rate","targets":4}],"order":[],"autoWidth":false,"orderClasses":false}},"evals":[],"jsHooks":[]}</script>
</div>
</div>
</section>
<section id="primer-ejemplo-filtrar-producción-por-pozo" class="level2">
<h2 class="anchored" data-anchor-id="primer-ejemplo-filtrar-producción-por-pozo">🟢 Primer Ejemplo: Filtrar Producción por Pozo</h2>
<p>🚀 Características del Gráfico Interactivo</p>
<p>✅ Selección de pozos: Un menú desplegable permite cambiar entre pozos sin necesidad de generar múltiples gráficos.</p>
<p>✅ Interactividad: Se pueden explorar los datos de producción en distintos momentos con plotly.</p>
<p>✅ Visualización clara: Uso de add_markers() para representar los valores de producción de forma más precisa.</p>
<p>Este enfoque proporciona una herramienta eficiente para analizar la evolución de la producción de diferentes pozos dentro de un mismo campo petrolero. 📈🔥</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb3-1">wells <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>()</span>
<span id="cb3-2"><span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">for</span>(i <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">in</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">length</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">unique</span>(prod_data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Well))){</span>
<span id="cb3-3">  </span>
<span id="cb3-4">  wells[[i]] <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">method =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"restyle"</span>,</span>
<span id="cb3-5">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">args =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"transforms[0].value"</span>, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">unique</span>(prod_data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Well)[i]),</span>
<span id="cb3-6">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">label =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">unique</span>(prod_data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Well)[i])</span>
<span id="cb3-7">  </span>
<span id="cb3-8">}</span>
<span id="cb3-9"></span>
<span id="cb3-10">prod_data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Well <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">as.factor</span>(prod_data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Well)</span>
<span id="cb3-11"></span>
<span id="cb3-12">fig <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> prod_data  <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb3-13">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">filter</span>(Fluid <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Qo"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb3-14">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">plot_ly</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">transforms =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(</span>
<span id="cb3-15">      <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(</span>
<span id="cb3-16">        <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">type =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'filter'</span>,</span>
<span id="cb3-17">        <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">target =</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>Well,</span>
<span id="cb3-18">        <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">operation =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'='</span>,</span>
<span id="cb3-19">        <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">value =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">unique</span>(prod_data<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Well)[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]</span>
<span id="cb3-20">      )</span>
<span id="cb3-21">  )) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span>  </span>
<span id="cb3-22">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">add_markers</span>(</span>
<span id="cb3-23">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>Date, </span>
<span id="cb3-24">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>Rate ) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span> </span>
<span id="cb3-25">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">layout</span>(</span>
<span id="cb3-26">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">updatemenus =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(</span>
<span id="cb3-27">      <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(</span>
<span id="cb3-28">        <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">type =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'dropdown'</span>,</span>
<span id="cb3-29">        <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">active =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>,</span>
<span id="cb3-30">        <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">buttons =</span> wells</span>
<span id="cb3-31">      )</span>
<span id="cb3-32">    )</span>
<span id="cb3-33">  )</span>
<span id="cb3-34"></span>
<span id="cb3-35">fig</span></code></pre></div>
</details>
<div class="cell-output-display">
<div class="plotly html-widget html-fill-item" id="htmlwidget-7c120c05a1df2c85256a" style="width:100%;height:464px;"></div>
<script type="application/json" data-for="htmlwidget-7c120c05a1df2c85256a">{"x":{"visdat":{"99cc5766619a":["function () ","plotlyVisDat"]},"cur_data":"99cc5766619a","attrs":{"99cc5766619a":{"transforms":[{"type":"filter","target":{},"operation":"=","value":"HOMOL-1"}],"alpha_stroke":1,"sizes":[10,100],"spans":[1,20],"x":{},"y":{},"type":"scatter","mode":"markers","inherit":true}},"layout":{"margin":{"b":40,"l":60,"t":25,"r":10},"updatemenus":[{"type":"dropdown","active":0,"buttons":[{"method":"restyle","args":["transforms[0].value","HOMOL-1"],"label":"HOMOL-1"},{"method":"restyle","args":["transforms[0].value","HOMOL-102"],"label":"HOMOL-102"},{"method":"restyle","args":["transforms[0].value","HOMOL-21"],"label":"HOMOL-21"},{"method":"restyle","args":["transforms[0].value","HOMOL-3"],"label":"HOMOL-3"},{"method":"restyle","args":["transforms[0].value","HOMOL-4"],"label":"HOMOL-4"},{"method":"restyle","args":["transforms[0].value","HOMOL-41"],"label":"HOMOL-41"},{"method":"restyle","args":["transforms[0].value","HOMOL-45"],"label":"HOMOL-45"},{"method":"restyle","args":["transforms[0].value","HOMOL-47"],"label":"HOMOL-47"},{"method":"restyle","args":["transforms[0].value","HOMOL-49"],"label":"HOMOL-49"},{"method":"restyle","args":["transforms[0].value","HOMOL-61DES"],"label":"HOMOL-61DES"},{"method":"restyle","args":["transforms[0].value","HOMOL-62"],"label":"HOMOL-62"},{"method":"restyle","args":["transforms[0].value","HOMOL-63"],"label":"HOMOL-63"}]}],"xaxis":{"domain":[0,1],"automargin":true,"title":"Date"},"yaxis":{"domain":[0,1],"automargin":true,"title":"Rate"},"hovermode":"closest","showlegend":false},"source":"A","config":{"modeBarButtonsToAdd":["hoverclosest","hovercompare"],"showSendToCloud":false},"data":[{"transforms":[{"type":"filter","target":["HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63","HOMOL-1","HOMOL-102","HOMOL-21","HOMOL-3","HOMOL-4","HOMOL-41","HOMOL-45","HOMOL-47","HOMOL-49","HOMOL-61DES","HOMOL-62","HOMOL-63"],"operation":"=","value":"HOMOL-1"}],"x":["2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-01-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-02-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-03-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-04-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-05-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-06-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-07-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-08-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-09-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-10-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-11-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2007-12-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-01-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-02-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-03-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-04-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-05-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-06-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-07-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-08-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-09-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-10-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-11-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2008-12-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-01-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-02-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-03-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-04-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-05-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-06-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-07-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-08-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-09-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-10-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-11-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2009-12-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-01-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-02-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-03-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-04-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-05-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-06-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-07-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-08-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-09-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-10-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-11-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2010-12-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-01-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-02-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-03-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-04-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-05-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-06-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-07-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-08-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-09-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-10-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-11-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2011-12-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-01-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-02-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-03-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-04-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-05-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-06-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-07-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-08-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-09-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-10-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-11-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2012-12-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-01-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-02-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-03-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-04-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-05-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-06-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-07-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-08-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-09-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-10-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-11-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2013-12-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-01-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-02-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-03-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-04-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-05-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-06-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-07-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-08-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-09-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-10-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-11-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2014-12-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-01-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-02-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-03-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-04-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-05-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-06-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-07-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-08-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-09-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-10-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-11-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2015-12-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-01-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-02-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-03-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-04-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-05-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-06-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-07-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-08-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-09-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-10-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-11-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2016-12-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-01-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-02-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-03-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-04-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-05-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-06-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-07-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-08-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-09-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-10-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-11-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2017-12-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-01-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-02-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-03-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-04-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-05-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-06-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-07-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-08-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-09-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-10-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-11-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2018-12-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-01-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-02-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-03-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-04-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-05-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-06-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-07-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-08-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-09-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-10-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-11-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2019-12-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-01-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-02-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-03-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-04-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-05-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-06-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-07-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-08-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-09-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-10-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-11-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2020-12-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-01-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-02-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-03-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01","2021-04-01"],"y":[216.30000000000001,0,0,0,0,0,0,0,0,0,0,0,201.5,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,1298.5,0,0,0,0,0,0,0,0,0,0,0,5721.3000000000002,0,0,0,0,0,0,0,0,0,0,0,7616.8999999999996,0,0,0,0,0,0,0,0,0,0,0,7626.1000000000004,0,0,0,0,0,0,0,0,0,0,0,7616.8999999999996,0,0,0,0,0,0,0,0,0,0,0,7616.8999999999996,0,0,0,0,0,0,0,0,0,0,0,7582.6999999999998,0,0,0,0,0,0,0,0,0,0,0,7616.8999999999996,0,0,0,0,0,0,0,0,0,0,0,7532.8999999999996,0,0,0,0,0,0,0,0,0,0,0,7603.8999999999996,0,0,800.29999999999995,0,0,0,0,0,0,0,0,7224.5,0,0,2381.5999999999999,0,0,0,0,0,0,0,0,7887.3999999999996,0,0,2377.5,0,0,0,0,0,0,0,0,7887.3999999999996,0,0,2377.5,0,0,0,0,0,0,0,0,7692.3999999999996,0,0,2572.5,0,0,0,0,0,0,0,0,7692.3999999999996,0,0,2297.6999999999998,1394.2,0,0,0,0,0,0,0,7480.8999999999996,0,0,2079.6999999999998,6037.3000000000002,0,0,0,0,0,0,0,7692.3999999999996,0,0,1964.9000000000001,6208,0,0,0,0,0,0,0,7692.3999999999996,0,0,1704.5,6208,0,0,0,0,0,0,0,8073.3000000000002,0,0,1788.9000000000001,6515.3999999999996,0,0,0,0,0,0,0,8428.2999999999993,0,0,1511.5999999999999,6805.6000000000004,0,0,0,0,0,0,0,8066.6000000000004,0,0,1088.3,6795.6000000000004,0,0,0,0,0,0,0,7983.5,0,0,609.29999999999995,6796.3000000000002,0,0,0,0,0,0,0,7994.3000000000002,0,0,610.10000000000002,6805.6000000000004,0,0,0,0,0,0,0,7994.3000000000002,0,0,610.10000000000002,6805.6000000000004,0,0,0,0,0,0,0,7957.3000000000002,0,0,495,6774.1000000000004,0,0,0,0,0,0,0,5443.1000000000004,0,0,237.09999999999999,5374.1000000000004,0,0,0,0,0,0,0,7915.1999999999998,0,0,458.10000000000002,6712.1000000000004,0,0,0,0,0,0,0,7889.3000000000002,0,0,458.60000000000002,6723.8000000000002,0,0,0,0,0,0,0,7658.5,0,0,459.19999999999999,6525.6999999999998,0,0,0,0,0,0,0,7591.8000000000002,0,0,459.19999999999999,6491.1000000000004,0,0,0,0,0,0,0,7981.1000000000004,0,0,481.89999999999998,6824,0,0,0,0,0,0,0,7578.6999999999998,0,0,483.5,6479.8000000000002,0,0,0,0,0,0,0,7578.6999999999998,0,0,483.5,6479.8000000000002,0,0,0,0,0,0,0,7568.1000000000004,0,0,482.80000000000001,6470.8000000000002,0,0,0,0,0,0,0,7471.1999999999998,0,0,476.60000000000002,6387.8999999999996,0,0,0,0,0,0,0,7754.1000000000004,0,0,472.10000000000002,6315.6999999999998,0,0,0,0,0,0,0,7867.5,0,0,464.89999999999998,6209.6000000000004,0,0,0,0,0,0,0,7867.5,0,0,464.89999999999998,6209.6000000000004,0,0,0,0,0,0,0,7944.3000000000002,0,0,469.39999999999998,6196.3000000000002,0,0,0,0,0,0,0,8070.6999999999998,0,0,476.60000000000002,6378.6999999999998,0,0,0,0,0,0,0,7821.6999999999998,0,0,449,8162.3999999999996,0,0,0,0,0,0,0,7841.6000000000004,0,0,331,8322.3999999999996,0,0,0,0,0,0,0,7814.8000000000002,0,6343.1000000000004,150.09999999999999,8291.1000000000004,0,0,0,0,0,0,0,7637.6000000000004,0,6731.3000000000002,28.300000000000001,8103.1000000000004,0,0,0,0,0,0,0,7491.5,0,6654,0,7874.5,0,0,0,0,0,0,0,7911.8999999999996,0,6280.3000000000002,0,7805.1999999999998,0,0,0,0,0,0,0,7513.5,0,5504.8000000000002,0,6993.8999999999996,0,0,0,0,0,0,0,8216.2000000000007,879.79999999999995,6112.8000000000002,0,7592,0,0,0,0,0,0,0,7926.3000000000002,5907.6000000000004,6097,0,7572.3999999999996,0,0,0,0,0,0,0,8727.5,6380.8000000000002,6585.3000000000002,0,8178.8999999999996,0,0,0,0,0,0,0,8101.3000000000002,5923,8910.7999999999993,211.30000000000001,7592,0,0,0,0,0,0,0,8835.6000000000004,5766.3999999999996,8675.2000000000007,4033.8000000000002,7326.5,0,0,0,0,0,0,0,8900.8999999999996,6029.6999999999998,8482.5,5491.1999999999998,7382.6999999999998,0,0,0,0,0,0,0,9186,7177,8754.2000000000007,5998.1000000000004,7619.1999999999998,0,0,0,0,0,0,0,9271.6000000000004,8106.6000000000004,8835.7999999999993,6113.6999999999998,7690.3000000000002,0,0,0,0,0,0,0,9271.6000000000004,7993.3000000000002,8835.7999999999993,6801.8999999999996,7690.3000000000002,0,0,0,0,0,0,0,7271.8000000000002,8949.7999999999993,7342.6999999999998,7776,9210.1000000000004,0,0,0,0,0,0,0,7318,7635.8000000000002,8734.7999999999993,7892.3999999999996,9126.7000000000007,0,0,0,0,0,0,0,7073.8000000000002,8524.2999999999993,8433.2999999999993,7670.1999999999998,9013.5,755.20000000000005,0,0,0,0,0,0,7067.6999999999998,8072.3999999999996,8780.5,7483.8999999999996,8753.1000000000004,7406,0,0,0,0,0,0,7188.1999999999998,8035.6000000000004,8515,7710.3999999999996,9019,7509.8000000000002,0,0,0,0,0,0,7485.8000000000002,7977.6999999999998,8962.7000000000007,8090.6000000000004,8950,6656.6999999999998,0,0,0,0,0,0,7434,7922.6000000000004,8900.6000000000004,8034.6000000000004,9249.7000000000007,7164,0,0,0,0,0,0,7312.6000000000004,7921,9029.6000000000004,7865.6999999999998,9452.5,7325.3000000000002,0,0,0,0,0,0,7302.8000000000002,7910.3999999999996,9017.3999999999996,7855.1000000000004,9439.7999999999993,7315.5,0,0,0,0,0,0,7458.8999999999996,7883.6999999999998,7116.6999999999998,8008.6000000000004,9262.3999999999996,7121.6999999999998,0,0,0,0,0,0,7247.8999999999996,7784.8999999999996,8990.2000000000007,7939.6999999999998,9038,6891.3999999999996,0,0,0,0,0,0,6740.8999999999996,7677.1000000000004,8827.1000000000004,7836,8852.7999999999993,6648,0,0,0,0,0,0,6753.8999999999996,7692,8844.2000000000007,7851.1999999999998,8870,6771.8999999999996,0,0,0,0,0,0,6576.3999999999996,7489.8999999999996,8611.7999999999993,7644.8999999999996,8636.8999999999996,6593.8999999999996,0,0,0,0,0,0,6838.1000000000004,7754.1999999999998,8635.5,7742.8999999999996,8753.3999999999996,6716.6000000000004,0,0,0,0,0,0,6700.5,7807.3000000000002,8654.8999999999996,7445.1000000000004,8838.2000000000007,6912.8999999999996,0,0,0,0,0,0,6701,8045.8000000000002,8529.1000000000004,7532.3999999999996,8929,6595.3999999999996,0,0,0,0,0,0,6704.8000000000002,8050.3999999999996,8533.8999999999996,7536.6999999999998,8934.1000000000004,6599.1000000000004,0,0,0,0,0,0,6704.8000000000002,8050.3999999999996,8533.8999999999996,7536.6999999999998,8934.1000000000004,6599.1000000000004,0,0,0,0,0,0,6730.1000000000004,8080.6999999999998,8566.1000000000004,7565.1000000000004,8967.7999999999993,6624,0,0,0,0,0,0,6704.8000000000002,8050.3999999999996,8533.8999999999996,7536.6999999999998,8934.1000000000004,6537.5,0,0,0,0,0,0,6463.3999999999996,8050.3999999999996,8533.8999999999996,7536.6999999999998,8934.1000000000004,6335.1000000000004,0,0,0,0,0,0,6405.1999999999998,8492.3999999999996,8541.3999999999996,7423.8000000000002,9006.3999999999996,5845.1999999999998,0,0,0,0,0,0,6157.1999999999998,8385.2000000000007,8597,7601.3000000000002,8811.5,5614.8000000000002,0,0,0,0,0,0,6381.6999999999998,8630.1000000000004,8657,7292.3000000000002,8860.7999999999993,5340.5,2502.3000000000002,0,0,0,0,0,6201.6000000000004,8386.6000000000004,8412.7000000000007,7086.6000000000004,8610.5,5010.8999999999996,7356.6000000000004,0,0,0,0,0,6705.1000000000004,8653.3999999999996,8681.1000000000004,7189.5,8150.6000000000004,4127.1999999999998,7591.1000000000004,0,0,0,0,0,6482.1000000000004,8365.1000000000004,8416.7000000000007,7192.8999999999996,8163.1000000000004,4137.1000000000004,7601,0,0,0,0,0,6340.1999999999998,8445.8999999999996,8680.6000000000004,6234.3999999999996,8943.2000000000007,3982.0999999999999,8400,0,0,0,0,0,6273.5,8409.2999999999993,8623.1000000000004,6278.6000000000004,8897.3999999999996,3964.8000000000002,8363.5,0,0,0,0,0,6169.1999999999998,8360.2999999999993,8113.1999999999998,7482,8694,3918.5,8191,0,0,0,0,0,6055.6000000000004,8354.8999999999996,8140.8000000000002,7202,8718.5,3707.5999999999999,8185.8000000000002,0,4948.3999999999996,0,0,0,5930.3000000000002,8187.1000000000004,8208.2999999999993,7176.6000000000004,8790.7000000000007,4591.8000000000002,8253.7000000000007,0,7787,0,0,0,6226.8999999999996,8065.8000000000002,8782.6000000000004,7580.8999999999996,7302.6999999999998,5459.5,8634.1000000000004,0,8276.1000000000004,0,0,0,5982.1999999999998,7830.6000000000004,8594.1000000000004,7248,6851.6999999999998,5287.8000000000002,8113.5,0,8380.6000000000004,0,0,0,5316.6999999999998,7823.8999999999996,8183,6387.3000000000002,7910.1999999999998,4920.8999999999996,5425.1000000000004,0,8609.2999999999993,0,0,0,4526.8000000000002,7236.6000000000004,7442.8000000000002,6609.6000000000004,7552.3000000000002,5270.1000000000004,6975.8999999999996,0,8141.3999999999996,0,0,0,4321.6999999999998,7201.6999999999998,7371.8999999999996,6500.8000000000002,7592.3000000000002,5075.3000000000002,6663.1000000000004,4068.4000000000001,8141.3999999999996,0,0,0,4248,7183.5,7159.8999999999996,6247.6999999999998,7518.8000000000002,4836.1000000000004,6719.6000000000004,6355.8999999999996,7802.6999999999998,0,0,0,3814.3000000000002,5803.3999999999996,7047.1000000000004,6195.8000000000002,7594,5676.6000000000004,7231.1999999999998,6564,7006.1000000000004,0,0,0,4943.1999999999998,5964.1999999999998,6787.3999999999996,6427.6999999999998,8053.8000000000002,5340.8999999999996,7503.8000000000002,6310.6999999999998,6564,0,0,0,4865.6000000000004,6375.1999999999998,6903.3999999999996,5698.8999999999996,6608.3000000000002,5059.8999999999996,6569.1999999999998,6997.5,7237.5,0,0,0,4017.5999999999999,8634.7000000000007,7881.8000000000002,5820.8000000000002,7345.6999999999998,4431.8999999999996,7306.8000000000002,4976.6999999999998,4633.6000000000004,0,0,0,4878.8999999999996,6167.8999999999996,7047.8999999999996,5568,6616.6000000000004,4826.8999999999996,7357.3000000000002,6542.3000000000002,7018,0,0,0,5228.6999999999998,6560.5,7224.8999999999996,5764.8999999999996,6595.1000000000004,4563.8999999999996,6981.6000000000004,5754.1999999999998,7681.6999999999998,0,0,0,5940.8999999999996,6533.3000000000002,7327.6000000000004,6536.1999999999998,6794.6999999999998,1714.4000000000001,7067.3000000000002,5309.1000000000004,7691.1000000000004,0,0,0,5714.1000000000004,6611.1000000000004,7202.1000000000004,6317.8999999999996,6575.3000000000002,1417,6796.8000000000002,4958.3000000000002,7631.3999999999996,0,0,0,5672.1000000000004,6274.1999999999998,7132.6000000000004,6238.3999999999996,6532,910.60000000000002,6916.5,5029.6999999999998,7550.6999999999998,0,0,0,5614.1000000000004,5629.8000000000002,6930.1000000000004,6069,6636.3999999999996,668.39999999999998,6902.1000000000004,4503,7716.1000000000004,0,0,0,6078.3000000000002,5914.6000000000004,7572.5,6488.3999999999996,6953.3000000000002,803.70000000000005,7250.8000000000002,5690.8999999999996,8404.2999999999993,0,0,0,6312.3999999999996,5605.1000000000004,7775.1000000000004,5464.5,6485.8000000000002,0,7447.6000000000004,3811.6999999999998,7471.6000000000004,0,0,0,6109.6000000000004,5378,7625.3999999999996,5197.3999999999996,6997,0,7374.8000000000002,4299,8101.8999999999996,0,0,0,6103.8000000000002,5204.3999999999996,7680.3999999999996,4487.6999999999998,7047.6000000000004,0,7061.6000000000004,4202.5,8354.6000000000004,0,0,0,5832.1000000000004,5008.3000000000002,8084.6999999999998,4507.3999999999996,7418.6000000000004,0,7173.5,3993.1999999999998,8066.5,0,0,0,6461.8999999999996,5729,8102.6999999999998,4950.8999999999996,7475.5,0,7471.1000000000004,2530.9000000000001,8672.7999999999993,0,0,0,6074.8000000000002,5523.8999999999996,7733.3999999999996,4759.8999999999996,7544.5,0,7521,3447.3000000000002,8368.3999999999996,0,0,0,6211.8999999999996,6067.6999999999998,8227.2999999999993,5898.3999999999996,5574.6000000000004,0,6800.6000000000004,1608.3,8752.5,0,0,4539.1999999999998,5553.8999999999996,5371,7847.5,5626.1999999999998,5711.1999999999998,0,6519.1999999999998,1532.8,8142.8000000000002,0,0,5812,5643,5006.8999999999996,7870.6000000000004,4798.8000000000002,5240.8999999999996,0,5542.3999999999996,1551.9000000000001,7919.6999999999998,0,0,5678.3000000000002,5545.6999999999998,4875.8999999999996,7658.6999999999998,5360.1999999999998,5171.8999999999996,0,4869.3000000000002,1053.7,7770.6999999999998,0,0,5521.8000000000002,6321.6999999999998,1096,7577.6000000000004,4992.3999999999996,5886.6999999999998,0,3509.6999999999998,1919.5999999999999,8805.8999999999996,0,0,6349.3999999999996,5942.6999999999998,178.40000000000001,7984.8999999999996,3536.9000000000001,6130.6000000000004,0,2115.3000000000002,1790.2,8721.5,0,4710.6999999999998,7186.6999999999998,5682.8000000000002,1513.2,7718.6000000000004,3213.8000000000002,4489.1999999999998,0,1143.7,1575.8,8779.5,0,7376.6000000000004,7231.3000000000002,6248.3999999999996,1929.5,7984.8000000000002,2333,3229.6999999999998,0,1596.2,1660.2,8904.6000000000004,0,7517.8000000000002,6519.8000000000002,6395.8000000000002,1476.4000000000001,8204.6000000000004,3886.0999999999999,2848.9000000000001,0,1643.0999999999999,1554.8,8630.2999999999993,0,7322.5,6531.8000000000002,6641.1000000000004,1410.5999999999999,8631.3999999999996,3622.4000000000001,2063.9000000000001,0,1536,963.70000000000005,9105.5,0,7730.1000000000004,6933.6000000000004,5678.6000000000004,1187.2,7581.6000000000004,2972.5999999999999,2370.0999999999999,0,882.10000000000002,1151.8,5810.1000000000004,0,8113.8000000000002,7436.3000000000002,6360.6000000000004,1191.0999999999999,8036.6999999999998,3379.8000000000002,811.60000000000002,0,635.60000000000002,837.39999999999998,6526,0,8786.2000000000007,8055.6999999999998,5143.8999999999996,1217.5999999999999,5981.6999999999998,2615.4000000000001,609,0,748.20000000000005,759.60000000000002,6826.1999999999998,3134,7037.6000000000004,6842.6999999999998,5653,480.39999999999998,6964.8000000000002,2051.4000000000001,50.299999999999997,0,277.5,508.19999999999999,8019.8999999999996,3940.5,6996.6999999999998,6981.8999999999996,5619.6999999999998,527.10000000000002,7576.1000000000004,1999.2,0,0,267.80000000000001,554.79999999999995,8577.5,4086,7258.6999999999998,7270.3000000000002,4547.8000000000002,588,7867.1000000000004,1916,0,0,340,630.79999999999995,8554.6000000000004,4124.8999999999996,7338.5,7362.8999999999996,4147,424.5,7759.3000000000002,1847.4000000000001,0,52.100000000000001,250.40000000000001,555.89999999999998,8355.5,4245.3000000000002,7175.5,7097.8999999999996,2712,499.10000000000002,8030.1999999999998,2233.5,0,3907.9000000000001,316,542.60000000000002,8589.3999999999996,4317.6999999999998,7249.3000000000002,7206,4357.6000000000004,482.10000000000002,7556.8000000000002,2103.6999999999998,0,4513.6000000000004,297.19999999999999,645.5,8087.3000000000002,4179.1999999999998,7308.6999999999998,6889.6999999999998,4578.6999999999998,498.10000000000002,7871.5,2378.5999999999999,657.5,4266,154,625.10000000000002,8120.3999999999996,4288.5,6764.1999999999998,7050.1999999999998,4321.6999999999998,475.89999999999998,7945.3999999999996,2497,0,4419.8000000000002,0,526.70000000000005,8341.3999999999996,4814.6999999999998,6136.6999999999998,7124.8999999999996,3419.6999999999998,256.5,7573.6999999999998,2451.3000000000002,0,4753,1075.5,82,7998.3000000000002,6128.3000000000002,4973.3999999999996,6502.6000000000004,3647.8000000000002,0,7712.3000000000002,202.59999999999999,0,5895.8999999999996,5323.8999999999996,0,8567,6584.8999999999996,4323.1000000000004,5187.6999999999998,3851.8000000000002,0,7874.6000000000004,0,0,6315.6000000000004,5384.6999999999998,0,8692.3999999999996,6706.3999999999996,4177.8999999999996,4691.1000000000004,4019.4000000000001,0,7753.8999999999996,0,0,6217.6999999999998,5301.3000000000002,0,8746.3999999999996,6576.6999999999998,3531.5,4794.3000000000002,3923,0,7974.8999999999996,0,0,5842.8999999999996,4828.8000000000002,0,8139.1000000000004,7145.1000000000004,3285.0999999999999,4649.1000000000004,3369.5,0,8031.3999999999996,407.80000000000001,0,5777.8999999999996,4597.3999999999996,0,8588.1000000000004,6986.6000000000004,3176,4553.1999999999998,3386.0999999999999,0,7853.1999999999998,0,0,6126.3999999999996,4719,0,8726.1000000000004,7024,2593.5999999999999,4056.9000000000001,1760,0,7808.1999999999998,0,0,5960.8999999999996,4739.8999999999996,1871.0999999999999,8637,7002.8999999999996,2159.8000000000002,3621.4000000000001,2687.3000000000002,0,7803.5,0,0,5733.8000000000002,4750.6000000000004,5407.3000000000002,8736,6898.1000000000004,1861.8,3143.3000000000002,2227.9000000000001,0,7724.3999999999996,839.29999999999995,0,5679.1000000000004,4566.8999999999996,5285,8549.6000000000004,6912.6000000000004,1240.4000000000001,2858.4000000000001,1625.2,0,7645.3999999999996,1619.2,0,5761.5,4262.6999999999998,5142.1999999999998,8394,6538.1999999999998,572.89999999999998,2825.4000000000001,1463,0,7567.3000000000002,1325.3,0,5708.3999999999996,4266.6000000000004,5137.1999999999998,8041.3999999999996,6177.8999999999996,579.89999999999998,2822.5,712.10000000000002,0,7024.3000000000002,1302.4000000000001,0,5523.8999999999996,4301.6999999999998,5091.6999999999998,7632.6000000000004,5797.1999999999998,584.10000000000002,2238.9000000000001,670.60000000000002,0,7043.1999999999998,1275.3,0,5857,4303.6000000000004,5096.8999999999996,7234.8999999999996,5598.1000000000004,38.899999999999999,1987.2,530.5,0,6936,1293.5999999999999,0,6069.3999999999996,4355.1999999999998,5307.6000000000004,6986.8000000000002,5291.5,0,1762.9000000000001,1060,0,6649,1238,0,6131.6000000000004,4490.3999999999996,5451.8999999999996,6546.6000000000004,5172.1000000000004,0,884.89999999999998,884.20000000000005,0,5939.1000000000004,1134.4000000000001,0,5958,4361.1999999999998,5248.6999999999998,6137.5,4836.1000000000004,0,0,913.70000000000005,0,5462.3000000000002,1085.7,0,5950.8999999999996,4243,5058.8999999999996,5380.1000000000004,4575.6999999999998,0,1697.9000000000001,751,0,5432.8000000000002,891.29999999999995,0,6614.5,4645.5,5283.8999999999996,5252.1000000000004,4649.3999999999996,0,1353.9000000000001,0,0,5379.6000000000004,434.69999999999999,0,6683.6999999999998,4864.5,5365.3999999999996,3932.1999999999998,4771.8999999999996,0,826.5,0,0,5192.5,384.89999999999998,0,6669.5,4962.3000000000002,5065,3170.5999999999999,4273.6999999999998,0,1301.9000000000001,0,0,5230.1999999999998,415,0,6868.6999999999998,5274.1000000000004,4960.3999999999996,2344.6999999999998,4536.8999999999996,0,884.60000000000002,0,0,4807,377,0,6516.3000000000002,5089.3000000000002,4694.8999999999996,2096.5,4234.1000000000004,0,953.79999999999995,0,0,4147,204.09999999999999,0,5890,4743.3000000000002,3985.5,1521.9000000000001,3763.5999999999999,0,691.29999999999995,0,0,3962.0999999999999,179,0,5351.8000000000002,4644.3000000000002,3642.4000000000001,1520.8,3461,0,820.10000000000002,0,0,3815.8000000000002,139.19999999999999,0,5216.8000000000002,4935.6999999999998,3137.8000000000002,1383.5,3005.8000000000002,0,920.20000000000005,0,0,3753.3000000000002,0,0,4735,4885.3999999999996,2794,1449.9000000000001,1909.0999999999999,0,884.10000000000002,0,0,3471.4000000000001,0,0,4152.8000000000002,4681.6999999999998,2557.0999999999999,1373.3,1858.5999999999999,0,968.5,0,0,3383.6999999999998,0,0,3744.0999999999999,4719,2407.3000000000002,1243.0999999999999,1877.9000000000001,0,1046.5999999999999,0,0,3358.6999999999998,0,0,3338.5999999999999,4705.6999999999998,2382.9000000000001,1098.5999999999999,1923.3,0,897.20000000000005,0,0,3288.5,0,0,3064.1999999999998,4553.8999999999996,2525.4000000000001,1129.3,1973.5999999999999,0,826.79999999999995,0,0,3002.5999999999999,0,0,2734.1999999999998,4187.1999999999998,2413.5,992.20000000000005,1961.2,0,758.60000000000002,0,0,2478.8000000000002,0,0,2566.3000000000002,4136.6000000000004,2535.4000000000001,899.29999999999995,1869.7,0,863.39999999999998,0,0,1758,0,0,2527.5,5022.3999999999996,2512.4000000000001,1046.0999999999999,1851.2,0,528.79999999999995,0,0,1328,0,0,2683.8000000000002,5282.3999999999996,2800.6999999999998,904.10000000000002,1849.2,0,345.69999999999999,0,0,828.29999999999995,0,0,2114.4000000000001,4717.3000000000002,2642.4000000000001,851.70000000000005,1667.2,0,220.69999999999999],"type":"scatter","mode":"markers","marker":{"color":"rgba(31,119,180,1)","line":{"color":"rgba(31,119,180,1)"}},"error_y":{"color":"rgba(31,119,180,1)"},"error_x":{"color":"rgba(31,119,180,1)"},"line":{"color":"rgba(31,119,180,1)"},"xaxis":"x","yaxis":"y","frame":null}],"highlight":{"on":"plotly_click","persistent":false,"dynamic":false,"selectize":false,"opacityDim":0.20000000000000001,"selected":{"opacity":1},"debounce":0},"shinyEvents":["plotly_hover","plotly_click","plotly_selected","plotly_relayout","plotly_brushed","plotly_brushing","plotly_clickannotation","plotly_doubleclick","plotly_deselect","plotly_afterplot","plotly_sunburstclick"],"base_url":"https://plot.ly"},"evals":[],"jsHooks":[]}</script>
</div>
</div>
<p>📌 Explicación:</p>
<p>✔ Cómo funciona:</p>
<ul>
<li><p>Se extrae la lista de pozos únicos desde prod_data$Well.</p></li>
<li><p>Para cada pozo, se genera un botón con la acción “restyle”, que actualizará el filtro del gráfico.</p></li>
<li><p>Se filtran los datos para visualizar únicamente la producción de petróleo (Fluid == “Qo”).</p></li>
<li><p>Se crea un plotly con la transformación “filter” que permite seleccionar pozos.</p></li>
<li><p>Se añaden puntos (add_markers) para representar la producción diaria.</p></li>
<li><p>Se configura un menú desplegable (updatemenus) para cambiar entre distintos pozos.</p></li>
</ul>
</section>
<section id="segundo-ejemplo-uso-de-botones-personalizados" class="level2">
<h2 class="anchored" data-anchor-id="segundo-ejemplo-uso-de-botones-personalizados">🟢 Segundo Ejemplo: Uso de Botones Personalizados</h2>
<p>Vamos a crear botones personalizados para alternar entre producción de petróleo (Qo) y gas (Qg).</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb4-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Agrupar datos por fecha y sumar tasas de producción</span></span>
<span id="cb4-2">df_campo <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> prod_data <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb4-3">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">group_by</span>(Date, Fluid) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb4-4">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">summarise</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">Total_Rate =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>(Rate, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">na.rm =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">.groups =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"drop"</span>)</span>
<span id="cb4-5"></span>
<span id="cb4-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear el gráfico de líneas con botones interactivos</span></span>
<span id="cb4-7">plot_buttons <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">plot_ly</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> df_campo, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>Date, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>Total_Rate, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">type =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'scatter'</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">mode =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lines'</span>,</span>
<span id="cb4-8">                        <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span>Fluid, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">text =</span> <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">~</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">paste</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"&lt;br&gt;Tipo:"</span>, Fluid)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb4-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">layout</span>(</span>
<span id="cb4-10">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Comparación de Producción de Petróleo y Gas"</span>,</span>
<span id="cb4-11">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xaxis =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fecha"</span>),</span>
<span id="cb4-12">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">yaxis =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Producción (bbl/d o Mcf/d)"</span>),</span>
<span id="cb4-13">    <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">updatemenus =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(</span>
<span id="cb4-14">      <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(</span>
<span id="cb4-15">        <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">type =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"buttons"</span>,</span>
<span id="cb4-16">         <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1.15</span>,  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Ajusta la posición horizontal (más a la derecha del gráfico)</span></span>
<span id="cb4-17">        <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>,  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Posición superior</span></span>
<span id="cb4-18">        <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">xanchor =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"left"</span>,  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Ancla desde la izquierda</span></span>
<span id="cb4-19">        <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">yanchor =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"bottom"</span>,  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Ancla en la parte superior</span></span>
<span id="cb4-20">        <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">buttons =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(</span>
<span id="cb4-21">          <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">method =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"update"</span>,</span>
<span id="cb4-22">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">args =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">visible =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(df_campo<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Fluid <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Qo"</span>, <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">FALSE</span>, <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">FALSE</span>))),</span>
<span id="cb4-23">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">label =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Petróleo"</span>),</span>
<span id="cb4-24">          <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">method =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"update"</span>,</span>
<span id="cb4-25">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">args =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">visible =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">FALSE</span>, df_campo<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>Fluid <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">==</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Qg"</span>, <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">FALSE</span>))),</span>
<span id="cb4-26">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">label =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Gas"</span>),</span>
<span id="cb4-27">          <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">method =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"update"</span>,</span>
<span id="cb4-28">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">args =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">list</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">visible =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>)),</span>
<span id="cb4-29">               <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">label =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Todos"</span>)</span>
<span id="cb4-30">        )</span>
<span id="cb4-31">      )</span>
<span id="cb4-32">    )</span>
<span id="cb4-33">  )</span>
<span id="cb4-34"></span>
<span id="cb4-35"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Mostrar el gráfico</span></span>
<span id="cb4-36">plot_buttons</span></code></pre></div>
</details>
<div class="cell-output-display">
<div class="plotly html-widget html-fill-item" id="htmlwidget-fc7269ffd7667fab518a" style="width:100%;height:464px;"></div>
<script type="application/json" data-for="htmlwidget-fc7269ffd7667fab518a">{"x":{"visdat":{"99cc2e7e178c":["function () ","plotlyVisDat"]},"cur_data":"99cc2e7e178c","attrs":{"99cc2e7e178c":{"x":{},"y":{},"mode":"lines","text":{},"color":{},"alpha_stroke":1,"sizes":[10,100],"spans":[1,20],"type":"scatter"}},"layout":{"margin":{"b":40,"l":60,"t":25,"r":10},"title":"Comparación de Producción de Petróleo y Gas","xaxis":{"domain":[0,1],"automargin":true,"title":"Fecha"},"yaxis":{"domain":[0,1],"automargin":true,"title":"Producción (bbl/d o Mcf/d)"},"updatemenus":[{"type":"buttons","x":1.1499999999999999,"y":1,"xanchor":"left","yanchor":"bottom","buttons":[{"method":"update","args":[{"visible":[[false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false],false,false]}],"label":"Petróleo"},{"method":"update","args":[{"visible":[false,[true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false,true,false,false],false]}],"label":"Gas"},{"method":"update","args":[{"visible":true}],"label":"Todos"}]}],"hovermode":"closest","showlegend":true},"source":"A","config":{"modeBarButtonsToAdd":["hoverclosest","hovercompare"],"showSendToCloud":false},"data":[{"x":["2007-01-01","2007-02-01","2007-03-01","2007-04-01","2007-05-01","2007-06-01","2007-07-01","2007-08-01","2007-09-01","2007-10-01","2007-11-01","2007-12-01","2008-01-01","2008-02-01","2008-03-01","2008-04-01","2008-05-01","2008-06-01","2008-07-01","2008-08-01","2008-09-01","2008-10-01","2008-11-01","2008-12-01","2009-01-01","2009-02-01","2009-03-01","2009-04-01","2009-05-01","2009-06-01","2009-07-01","2009-08-01","2009-09-01","2009-10-01","2009-11-01","2009-12-01","2010-01-01","2010-02-01","2010-03-01","2010-04-01","2010-05-01","2010-06-01","2010-07-01","2010-08-01","2010-09-01","2010-10-01","2010-11-01","2010-12-01","2011-01-01","2011-02-01","2011-03-01","2011-04-01","2011-05-01","2011-06-01","2011-07-01","2011-08-01","2011-09-01","2011-10-01","2011-11-01","2011-12-01","2012-01-01","2012-02-01","2012-03-01","2012-04-01","2012-05-01","2012-06-01","2012-07-01","2012-08-01","2012-09-01","2012-10-01","2012-11-01","2012-12-01","2013-01-01","2013-02-01","2013-03-01","2013-04-01","2013-05-01","2013-06-01","2013-07-01","2013-08-01","2013-09-01","2013-10-01","2013-11-01","2013-12-01","2014-01-01","2014-02-01","2014-03-01","2014-04-01","2014-05-01","2014-06-01","2014-07-01","2014-08-01","2014-09-01","2014-10-01","2014-11-01","2014-12-01","2015-01-01","2015-02-01","2015-03-01","2015-04-01","2015-05-01","2015-06-01","2015-07-01","2015-08-01","2015-09-01","2015-10-01","2015-11-01","2015-12-01","2016-01-01","2016-02-01","2016-03-01","2016-04-01","2016-05-01","2016-06-01","2016-07-01","2016-08-01","2016-09-01","2016-10-01","2016-11-01","2016-12-01","2017-01-01","2017-02-01","2017-03-01","2017-04-01","2017-05-01","2017-06-01","2017-07-01","2017-08-01","2017-09-01","2017-10-01","2017-11-01","2017-12-01","2018-01-01","2018-02-01","2018-03-01","2018-04-01","2018-05-01","2018-06-01","2018-07-01","2018-08-01","2018-09-01","2018-10-01","2018-11-01","2018-12-01","2019-01-01","2019-02-01","2019-03-01","2019-04-01","2019-05-01","2019-06-01","2019-07-01","2019-08-01","2019-09-01","2019-10-01","2019-11-01","2019-12-01","2020-01-01","2020-02-01","2020-03-01","2020-04-01","2020-05-01","2020-06-01","2020-07-01","2020-08-01","2020-09-01","2020-10-01","2020-11-01","2020-12-01","2021-01-01","2021-02-01","2021-03-01","2021-04-01"],"y":[0,0,0,1379.2,6138.6999999999998,8289.5,8304.5,8263.6000000000004,8260.1000000000004,8221.1000000000004,8260.1000000000004,8171,9142.2999999999993,10505.1,11237.099999999999,11237.1,11237.099999999999,12732.199999999999,17634.299999999999,17934.799999999999,17636.200000000001,18511.100000000002,18922.299999999999,18460.099999999999,18008.600000000002,18035.200000000001,18035.200000000001,17809.300000000003,12899,17735,17600,17008.200000000001,16828.200000000001,16828.200000000001,16828.200000000001,16828.200000000001,16804.799999999999,15899.1,15324.799999999999,20989.900000000001,20985.799999999999,21085.700000000001,21540.700000000001,23711.900000000001,23789.700000000001,30821.599999999999,30267.599999999999,29544.900000000001,29360.200000000001,29245.400000000001,30317,35619.599999999999,38661.800000000003,39773.699999999997,44371.900000000001,46647.599999999999,49662.5,50504.5,51086.199999999997,51032.099999999999,51193.300000000003,52780.599999999999,58950.400000000001,58841.900000000001,58538.599999999999,59153.699999999997,59377.400000000001,59300,59300,59158.099999999999,57257,56932.200000000004,55723.400000000001,55742,55699.900000000001,55667.800000000003,55700,55700,55903.199999999997,55676.699999999997,55506.5,55406.400000000001,54964.199999999997,57316.200000000004,60770.099999999999,60800,59920,60703.199999999997,60419.400000000001,58783.699999999997,64023.599999999999,72056.099999999991,72996.699999999997,70325.5,66446.399999999994,65487.099999999999,68049.800000000003,69809.699999999997,69250,69390.399999999994,67506.5,66012.699999999997,67180.899999999994,67673.399999999994,65903.199999999997,63128.400000000001,61987,60002,64973.199999999997,54239.900000000001,54967.199999999997,53943.799999999996,53867.5,55299,54852.300000000003,57577.099999999999,56072.199999999997,52990.700000000004,51454.400000000001,49975.900000000001,51503.799999999996,51427.699999999997,50351.699999999997,50947.900000000001,51195.800000000003,45493,47316.700000000004,44320.5,46328.799999999996,49523.699999999997,48614.5,47040.599999999999,51048.300000000003,51927.099999999999,52583.5,51586.099999999999,49857.900000000001,52124.199999999997,52454.099999999999,51618.699999999997,50340.800000000003,50265,49741.400000000001,48758.900000000001,52373.699999999997,51338.699999999997,49822.800000000003,48142.699999999997,46262.300000000003,44882.400000000001,44267.199999999997,43687.199999999997,40902.5,40562.5,41040.599999999999,37986.199999999997,36934.700000000004,36470.800000000003,34331.699999999997,29914.100000000002,28338,27158.599999999999,25034.099999999999,23833.5,22819.5,21863.400000000001,21550.200000000001,20135.099999999999,19624.299999999999,19280.599999999999,19496.299999999999,17110.700000000001],"mode":"lines","text":["<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg","<br>Tipo: Qg"],"type":"scatter","name":"Qg","marker":{"color":"rgba(102,194,165,1)","line":{"color":"rgba(102,194,165,1)"}},"textfont":{"color":"rgba(102,194,165,1)"},"error_y":{"color":"rgba(102,194,165,1)"},"error_x":{"color":"rgba(102,194,165,1)"},"line":{"color":"rgba(102,194,165,1)"},"xaxis":"x","yaxis":"y","frame":null},{"x":["2007-01-01","2007-02-01","2007-03-01","2007-04-01","2007-05-01","2007-06-01","2007-07-01","2007-08-01","2007-09-01","2007-10-01","2007-11-01","2007-12-01","2008-01-01","2008-02-01","2008-03-01","2008-04-01","2008-05-01","2008-06-01","2008-07-01","2008-08-01","2008-09-01","2008-10-01","2008-11-01","2008-12-01","2009-01-01","2009-02-01","2009-03-01","2009-04-01","2009-05-01","2009-06-01","2009-07-01","2009-08-01","2009-09-01","2009-10-01","2009-11-01","2009-12-01","2010-01-01","2010-02-01","2010-03-01","2010-04-01","2010-05-01","2010-06-01","2010-07-01","2010-08-01","2010-09-01","2010-10-01","2010-11-01","2010-12-01","2011-01-01","2011-02-01","2011-03-01","2011-04-01","2011-05-01","2011-06-01","2011-07-01","2011-08-01","2011-09-01","2011-10-01","2011-11-01","2011-12-01","2012-01-01","2012-02-01","2012-03-01","2012-04-01","2012-05-01","2012-06-01","2012-07-01","2012-08-01","2012-09-01","2012-10-01","2012-11-01","2012-12-01","2013-01-01","2013-02-01","2013-03-01","2013-04-01","2013-05-01","2013-06-01","2013-07-01","2013-08-01","2013-09-01","2013-10-01","2013-11-01","2013-12-01","2014-01-01","2014-02-01","2014-03-01","2014-04-01","2014-05-01","2014-06-01","2014-07-01","2014-08-01","2014-09-01","2014-10-01","2014-11-01","2014-12-01","2015-01-01","2015-02-01","2015-03-01","2015-04-01","2015-05-01","2015-06-01","2015-07-01","2015-08-01","2015-09-01","2015-10-01","2015-11-01","2015-12-01","2016-01-01","2016-02-01","2016-03-01","2016-04-01","2016-05-01","2016-06-01","2016-07-01","2016-08-01","2016-09-01","2016-10-01","2016-11-01","2016-12-01","2017-01-01","2017-02-01","2017-03-01","2017-04-01","2017-05-01","2017-06-01","2017-07-01","2017-08-01","2017-09-01","2017-10-01","2017-11-01","2017-12-01","2018-01-01","2018-02-01","2018-03-01","2018-04-01","2018-05-01","2018-06-01","2018-07-01","2018-08-01","2018-09-01","2018-10-01","2018-11-01","2018-12-01","2019-01-01","2019-02-01","2019-03-01","2019-04-01","2019-05-01","2019-06-01","2019-07-01","2019-08-01","2019-09-01","2019-10-01","2019-11-01","2019-12-01","2020-01-01","2020-02-01","2020-03-01","2020-04-01","2020-05-01","2020-06-01","2020-07-01","2020-08-01","2020-09-01","2020-10-01","2020-11-01","2020-12-01","2021-01-01","2021-02-01","2021-03-01","2021-04-01"],"y":[216.30000000000001,201.5,224,1298.5,5721.3000000000002,7616.8999999999996,7626.1000000000004,7616.8999999999996,7616.8999999999996,7582.6999999999998,7616.8999999999996,7532.8999999999996,8404.1999999999989,9606.1000000000004,10264.9,10264.9,10264.9,11384.299999999999,15597.9,15865.299999999999,15604.9,16377.6,16745.5,15950.5,15389.1,15410,15410,15226.400000000001,11054.300000000001,15085.4,15071.700000000001,14643.4,14542.1,15287,14542,14542,14521.700000000001,14335.699999999999,14541.9,14542,14542,14610,14926,16433.099999999999,16495,22599.100000000002,22500.299999999999,22020,21997.400000000001,20012.200000000001,22800.799999999999,27503.299999999999,29872.5,30738.399999999998,34637.5,36287,38734.5,40018,40592.900000000001,40550.400000000001,40707.699999999997,41470.299999999996,47563.599999999999,47978,48123.5,48705.5,48906.699999999997,48841,46852,47892.099999999999,46581.900000000001,46783.199999999997,45553.799999999996,46440.699999999997,46358.900000000001,46332.699999999997,46359,46359,46533.800000000003,46297.400000000001,45853.599999999999,45714.400000000001,45167,47664.699999999997,51065.5,51098,50358,51026.400000000001,50810.199999999997,50928.199999999997,55313.599999999999,58925.5,60328.599999999999,58288.5,54576.400000000001,53755.5,56936.599999999999,58072.199999999997,56932.5,57895.699999999997,56315.5,55049.599999999999,56023.800000000003,56355.5,54914.599999999999,53224,52256.800000000003,50669,55156.800000000003,50373.800000000003,51083.099999999999,50142.599999999999,50084.300000000003,51394.799999999996,50973.199999999997,53680.5,52116.599999999999,49252.5,47827.900000000001,46459,48297.900000000001,48724.5,47924,48494.300000000003,48638.300000000003,43184.200000000004,44620.700000000004,40915.900000000001,41924.599999999999,43737.199999999997,43270.599999999999,41910.800000000003,45603.699999999997,46421.400000000001,47252.799999999996,46604.199999999997,45214.300000000003,47445.199999999997,47694.5,46941.199999999997,45788,45487.900000000001,44485.300000000003,43561.199999999997,47021.700000000004,45883.599999999999,44386.699999999997,43089.5,40208.900000000001,39105.699999999997,38533.5,37624.5,34499.199999999997,34368.199999999997,34874.400000000001,32258.5,31020.400000000001,30514.599999999999,28768.900000000001,24946.700000000001,23581.5,22554.799999999999,20410.799999999999,19063.400000000001,18421.700000000001,17705,17361.700000000001,16049.5,15349.5,15246.4,15193.9,13042],"mode":"lines","text":["<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo","<br>Tipo: Qo"],"type":"scatter","name":"Qo","marker":{"color":"rgba(252,141,98,1)","line":{"color":"rgba(252,141,98,1)"}},"textfont":{"color":"rgba(252,141,98,1)"},"error_y":{"color":"rgba(252,141,98,1)"},"error_x":{"color":"rgba(252,141,98,1)"},"line":{"color":"rgba(252,141,98,1)"},"xaxis":"x","yaxis":"y","frame":null},{"x":["2007-01-01","2007-02-01","2007-03-01","2007-04-01","2007-05-01","2007-06-01","2007-07-01","2007-08-01","2007-09-01","2007-10-01","2007-11-01","2007-12-01","2008-01-01","2008-02-01","2008-03-01","2008-04-01","2008-05-01","2008-06-01","2008-07-01","2008-08-01","2008-09-01","2008-10-01","2008-11-01","2008-12-01","2009-01-01","2009-02-01","2009-03-01","2009-04-01","2009-05-01","2009-06-01","2009-07-01","2009-08-01","2009-09-01","2009-10-01","2009-11-01","2009-12-01","2010-01-01","2010-02-01","2010-03-01","2010-04-01","2010-05-01","2010-06-01","2010-07-01","2010-08-01","2010-09-01","2010-10-01","2010-11-01","2010-12-01","2011-01-01","2011-02-01","2011-03-01","2011-04-01","2011-05-01","2011-06-01","2011-07-01","2011-08-01","2011-09-01","2011-10-01","2011-11-01","2011-12-01","2012-01-01","2012-02-01","2012-03-01","2012-04-01","2012-05-01","2012-06-01","2012-07-01","2012-08-01","2012-09-01","2012-10-01","2012-11-01","2012-12-01","2013-01-01","2013-02-01","2013-03-01","2013-04-01","2013-05-01","2013-06-01","2013-07-01","2013-08-01","2013-09-01","2013-10-01","2013-11-01","2013-12-01","2014-01-01","2014-02-01","2014-03-01","2014-04-01","2014-05-01","2014-06-01","2014-07-01","2014-08-01","2014-09-01","2014-10-01","2014-11-01","2014-12-01","2015-01-01","2015-02-01","2015-03-01","2015-04-01","2015-05-01","2015-06-01","2015-07-01","2015-08-01","2015-09-01","2015-10-01","2015-11-01","2015-12-01","2016-01-01","2016-02-01","2016-03-01","2016-04-01","2016-05-01","2016-06-01","2016-07-01","2016-08-01","2016-09-01","2016-10-01","2016-11-01","2016-12-01","2017-01-01","2017-02-01","2017-03-01","2017-04-01","2017-05-01","2017-06-01","2017-07-01","2017-08-01","2017-09-01","2017-10-01","2017-11-01","2017-12-01","2018-01-01","2018-02-01","2018-03-01","2018-04-01","2018-05-01","2018-06-01","2018-07-01","2018-08-01","2018-09-01","2018-10-01","2018-11-01","2018-12-01","2019-01-01","2019-02-01","2019-03-01","2019-04-01","2019-05-01","2019-06-01","2019-07-01","2019-08-01","2019-09-01","2019-10-01","2019-11-01","2019-12-01","2020-01-01","2020-02-01","2020-03-01","2020-04-01","2020-05-01","2020-06-01","2020-07-01","2020-08-01","2020-09-01","2020-10-01","2020-11-01","2020-12-01","2021-01-01","2021-02-01","2021-03-01","2021-04-01"],"y":[0,0,0,0,0,0,0,0,0,0,0,0,505.5,852.60000000000002,1151,1132.2,1094.4000000000001,1436.2,1302.5999999999999,1132.0999999999999,1101.9000000000001,859.5,905.70000000000005,923.60000000000002,716.60000000000002,751.89999999999998,727.5,1085.5,107.5,579.70000000000005,569.10000000000002,690.60000000000002,772.20000000000005,653.10000000000002,1363.3,1224.5,1137.8,1244.5999999999999,1609.0999999999999,1471.4000000000001,1370.2,1362.5999999999999,994.20000000000005,855.20000000000005,740.39999999999998,422.60000000000002,20.399999999999999,59.599999999999994,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25.600000000000001,68.800000000000011,70.699999999999989,7,0.30000000000000004,0,38.5,384.09999999999997,359.19999999999999,478.89999999999998,692.60000000000002,723.10000000000002,1770.7,1797.9000000000001,1524.4000000000001,1779.3,2111.0999999999999,2409.5,2303.5,1773.2,2120.9000000000001,1675.3999999999999,1339.4000000000001,1267.5,1906,1923.7,1948.8999999999999,1905,2143.7999999999997,3260.4000000000001,3197.7999999999997,3107.0999999999999,4393.3000000000002,5390.6999999999998,5696,2877.5999999999999,5057.1999999999998,3880.2999999999997,4948.4000000000005,2362.6999999999998,1872.3,1778.3,803.60000000000002,650.19999999999993,1695.4000000000001,1739.2,2759.5999999999999,2881.7000000000003,2542.8000000000002,2183.2000000000003,1881.0999999999999,1599.6000000000001,2260.8000000000002,2388.5,2541.5,2399.9000000000001,2735,2559.2999999999997,3268.9000000000001,2156.6999999999998,1985.3,1956.5999999999999,2321.7999999999997,2289.3000000000002,2157.1999999999998,1666.2,2167.9000000000001,3210.7000000000003,4337.6000000000004,3509.3000000000002,2656.9000000000001,4303.8999999999996,4002.1999999999998,2386,2928.5,4528.6999999999998,3919.5,3521.5,2407.3000000000002,3071.7999999999997,3176.4000000000001,2653.6999999999998,2604.0999999999999,2399.9000000000001,2055.3000000000002,2049.3000000000002],"mode":"lines","text":["<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw","<br>Tipo: Qw"],"type":"scatter","name":"Qw","marker":{"color":"rgba(141,160,203,1)","line":{"color":"rgba(141,160,203,1)"}},"textfont":{"color":"rgba(141,160,203,1)"},"error_y":{"color":"rgba(141,160,203,1)"},"error_x":{"color":"rgba(141,160,203,1)"},"line":{"color":"rgba(141,160,203,1)"},"xaxis":"x","yaxis":"y","frame":null}],"highlight":{"on":"plotly_click","persistent":false,"dynamic":false,"selectize":false,"opacityDim":0.20000000000000001,"selected":{"opacity":1},"debounce":0},"shinyEvents":["plotly_hover","plotly_click","plotly_selected","plotly_relayout","plotly_brushed","plotly_brushing","plotly_clickannotation","plotly_doubleclick","plotly_deselect","plotly_afterplot","plotly_sunburstclick"],"base_url":"https://plot.ly"},"evals":[],"jsHooks":[]}</script>
</div>
</div>
<p>📌 Explicación:</p>
<p>🔹 updatemenus con type = “buttons” → Agrega botones para alternar entre petróleo y gas.</p>
<p>🔹 args = list(list(visible = prod_data$Fluid == “Qo”)) → Filtra solo producción de petróleo.</p>
<p>🔹 args = list(list(visible = prod_data$Fluid == “Qg”)) → Filtra solo producción de gas.</p>
</section>
<section id="conclusión" class="level2">
<h2 class="anchored" data-anchor-id="conclusión">🟢 Conclusión 🎯</h2>
<p>🔹 Plotly permite crear gráficos interactivos de producción petrolera de forma sencilla.</p>
<p>🔹 Los menús desplegables y botones personalizados mejoran la exploración de datos.</p>
<p>🔹 Es una herramienta ideal para análisis de producción en la industria petrolera.</p>
</section>
<section id="recursos-adicionales" class="level2">
<h2 class="anchored" data-anchor-id="recursos-adicionales">🟢 Recursos Adicionales 📚</h2>
<p>📌 Documentación Oficial: <a href="https://plotly.com/r/" class="uri">https://plotly.com/r/</a></p>
<p>📌 Ejemplos de Plotly en R: <a href="https://rpubs.com/" class="uri">https://rpubs.com/</a></p>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>
</section>

 ]]></description>
  <guid>https://rigobertochandomiblog.com/posts/2025-03-31-graficos-interactivos-de-produccion-en-r-con-plotly/</guid>
  <pubDate>Mon, 31 Mar 2025 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2025-03-31-graficos-interactivos-de-produccion-en-r-con-plotly/imagen.png" medium="image" type="image/png" height="85" width="144"/>
</item>
<item>
  <title>Ecuación de balance de materia: ejemplo 1, parte 1</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2025-03-30-ebm/</link>
  <description><![CDATA[ 




<p>Un yacimiento con una presión inicial de <strong>5200 psi</strong> y temperatura de <strong>123 °F</strong> tiene las siguientes propiedades:</p>
<p>Porosidad = 0.2</p>
<p><img src="https://latex.codecogs.com/png.latex?S_%7Bwc%7D%20=%200.15"></p>
<p><img src="https://latex.codecogs.com/png.latex?c_f%20=%203.50%20%5Ctimes%2010%5E%7B-6%7D%20%5Ctext%7B%20psi%7D%5E%7B-1%7D"></p>
<p><img src="https://latex.codecogs.com/png.latex?c_w%20=%207.00%20%5Ctimes%2010%5E%7B-6%7D%20%5Ctext%7B%20psi%7D%5E%7B-1%7D"></p>
<p>API = 30°</p>
<p>GOR = 800 scf/stb</p>
<p><img src="https://latex.codecogs.com/png.latex?g_g%20=%200.8"></p>
<section id="carga-de-datos-de-producción-y-propiedades-de-fluidos" class="level2">
<h2 class="anchored" data-anchor-id="carga-de-datos-de-producción-y-propiedades-de-fluidos">📌 Carga de Datos de Producción y Propiedades de Fluidos</h2>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb1-2"></span>
<span id="cb1-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Cargar datos del archivo CSV</span></span>
<span id="cb1-4">file_path <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"MB_ex.csv"</span></span>
<span id="cb1-5">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.read_csv(file_path)</span>
<span id="cb1-6"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(df)   </span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>          Date     Pavg     Np     Gp     Bo     Rs     Bg     Rp
0   01/01/2003  5200.00   0.00   0.00  1.376  0.800  0.545  0.800
1   02/04/2003  3940.89   3.89   3.11  1.389  0.800  0.613  0.800
2   02/07/2003  3512.38   6.07   4.85  1.364  0.747  0.651  0.800
3   01/10/2003  3322.18   7.74   6.17  1.336  0.696  0.673  0.798
4   31/12/2003  3178.82   9.22   7.51  1.316  0.658  0.692  0.814
5   31/03/2004  3058.58  10.57   8.98  1.299  0.627  0.709  0.850
6   30/06/2004  2952.10  11.79  10.63  1.285  0.600  0.727  0.901
7   29/09/2004  2854.95  12.90  12.47  1.272  0.576  0.745  0.966
8   29/12/2004  2764.87  13.91  14.50  1.261  0.554  0.763  1.042
9   30/03/2005  2680.77  14.83  16.70  1.250  0.533  0.781  1.126
10  29/06/2005  2602.16  15.65  19.04  1.241  0.515  0.800  1.216
11  28/09/2005  2528.94  16.39  21.47  1.232  0.497  0.820  1.310
12  28/12/2005  2461.18  17.05  23.94  1.224  0.482  0.839  1.404
13  29/03/2006  2399.03  17.62  26.40  1.216  0.467  0.858  1.498
14  28/06/2006  2342.59  18.13  28.79  1.210  0.455  0.877  1.588
15  27/09/2006  2291.91  18.56  31.07  1.204  0.443  0.895  1.674
16  27/12/2006  2246.93  18.94  33.20  1.199  0.433  0.912  1.753
17  28/03/2007  2207.46  19.26  35.14  1.195  0.424  0.928  1.825
18  27/06/2007  2173.21  19.53  36.89  1.191  0.417  0.943  1.889
19  26/09/2007  2143.79  19.76  38.44  1.188  0.410  0.956  1.945
20  26/12/2007  2118.77  19.95  39.79  1.185  0.405  0.967  1.994
21  26/03/2008  2097.66  20.11  40.95  1.183  0.400  0.977  2.037
22  25/06/2008  2080.00  20.24  41.94  1.181  0.397  0.986  2.072
23  24/09/2008  2065.32  20.35  42.77  1.179  0.393  0.993  2.102
24  24/12/2008  2053.19  20.43  43.47  1.178  0.391  0.999  2.127
25  25/03/2009  2043.21  20.51  44.05  1.177  0.389  1.004  2.148
26  24/06/2009  2035.03  20.56  44.52  1.176  0.387  1.008  2.165
27  23/09/2009  2028.36  20.61  44.91  1.176  0.385  1.012  2.179
28  23/12/2009  2022.92  20.65  45.23  1.175  0.384  1.015  2.190
29  24/03/2010  2018.51  20.68  45.50  1.174  0.383  1.017  2.200
30  23/06/2010  2014.94  20.71  45.80  1.174  0.383  1.019  2.212</code></pre>
</div>
</div>
</section>
<section id="ecuaciones-del-balance-de-materia" class="level2">
<h2 class="anchored" data-anchor-id="ecuaciones-del-balance-de-materia">📌 Ecuaciones del Balance de Materia</h2>
<p>Las siguientes ecuaciones nos permiten crear los <strong>gráficos de diagnóstico de Campbell y Havlena-Odeh</strong>.</p>
<p><img src="https://latex.codecogs.com/png.latex?%0AF%20=%20NE_t%20%20%0A"></p>
<p>Donde:</p>
<p><img src="https://latex.codecogs.com/png.latex?%0AF%20=%20N_p(B_o+(R_p-R_s)B_g)%0A"></p>
<p>Y:</p>
<p><img src="https://latex.codecogs.com/png.latex?%0AE_t%20=%20B_%7Boi%7D%20%5Cleft%5B%20%5Cfrac%7B(B_o%20-%20B_%7Boi%7D)%20+%20(R_%7Bsi%7D%20-%20R_s)%7D%7BB_%7Boi%7D%7D%20+%20m%20%5Cleft(%20%5Cfrac%7BB_g%7D%7BB_%7Bgi%7D%7D%20-1%20%5Cright)%20+%20(1%20+%20m)%20%5Cleft(%20%5Cfrac%7Bc_w%20S_%7Bwc%7D%20+%20c_f%7D%7B1%20-%20S_%7Bwc%7D%7D%20%5CDelta%20p%20%5Cright)%20%5Cright%5D%0A"></p>
<p>Reordenando la ecuación:</p>
<p><img src="https://latex.codecogs.com/png.latex?%0A%5Cfrac%7BF%7D%7BE_t%7D%20=%20N%0A"></p>
<p>En el caso del <strong>gráfico de Campbell</strong>, el yacimiento es volumétrico, por lo que:</p>
<p><img src="https://latex.codecogs.com/png.latex?%20W_e%20=%200%20"></p>
<p>El término independiente es el <strong>petróleo producido</strong> ( N_p ), mientras que el primer término es el <strong>petróleo original en sitio</strong> ( N ).</p>
</section>
<section id="reorganización-de-la-ecuación-de-havlena-odeh" class="level2">
<h2 class="anchored" data-anchor-id="reorganización-de-la-ecuación-de-havlena-odeh">📌 Reorganización de la Ecuación de Havlena-Odeh</h2>
<p>En los <strong>métodos de diagnóstico de Havlena-Odeh</strong>, la ecuación (1) se reorganiza de la siguiente forma:</p>
<p><img src="https://latex.codecogs.com/png.latex?%0AF%20-%20W_e%20=%20N%20E_t%0A"></p>
<p>Por lo tanto, un <strong>gráfico de</strong> ( (F - W_e) ) <strong>contra</strong> ( E_t ) producirá una <strong>línea recta que pasa por el origen</strong>, cuya <strong>pendiente representa el petróleo original en sitio</strong> ( N ).</p>
</section>
<section id="cálculo-de-f-y-e_t-en-python" class="level2">
<h2 class="anchored" data-anchor-id="cálculo-de-f-y-e_t-en-python">📌 Cálculo de ( F ) y ( E_t ) en Python</h2>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np</span>
<span id="cb3-2"></span>
<span id="cb3-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Si el archivo fue cargado correctamente</span></span>
<span id="cb3-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Extraer columnas relevantes</span></span>
<span id="cb3-5">Np <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Np"</span>]  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Producción acumulada de petróleo (MMSTB)</span></span>
<span id="cb3-6">Bo <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Bo"</span>]  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Factor de volumen de formación del petróleo</span></span>
<span id="cb3-7">Bg <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Bg"</span>]  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Factor de volumen de formación del gas</span></span>
<span id="cb3-8">Rp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Rp"</span>]  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Razón gas-petróleo producida</span></span>
<span id="cb3-9">Rs <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Rs"</span>]  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Razón gas disuelto</span></span>
<span id="cb3-10">Pavg <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Pavg"</span>]  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Razón gas disuelto</span></span>
<span id="cb3-11"></span>
<span id="cb3-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#Parámetros iniciales</span></span>
<span id="cb3-13">Sw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.15</span></span>
<span id="cb3-14">cf <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.0000035</span></span>
<span id="cb3-15">cw <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.000007</span></span>
<span id="cb3-16">Boi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Bo.iloc[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Bo inicial</span></span>
<span id="cb3-17">Rsi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Rs.iloc[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Rs inicial</span></span>
<span id="cb3-18">Pi <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>  Pavg.iloc[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Bg inicial</span></span>
<span id="cb3-19"></span>
<span id="cb3-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Cálculo de F y Et</span></span>
<span id="cb3-21">F <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Np <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> (Bo <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> (Rp <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span> Rs) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span> Bg)</span>
<span id="cb3-22">Et <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Boi<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>(((Bo<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>Boi)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span>(Rsi<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>Rs)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>Bg)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>Boi<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span>(Pi<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>Pavg)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>(cw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">*</span>Sw<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span>cf)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span>Sw))</span>
<span id="cb3-23"></span>
<span id="cb3-24"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Agregar los resultados al dataframe</span></span>
<span id="cb3-25">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> F</span>
<span id="cb3-26">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Et"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> Et</span>
<span id="cb3-27">df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F_Et"</span>] <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> F<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">/</span>Et</span>
<span id="cb3-28"></span>
<span id="cb3-29"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Mostrar los resultados calculados</span></span>
<span id="cb3-30"><span class="bu" style="color: null;
background-color: null;
font-style: inherit;">print</span>(df)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>          Date     Pavg     Np     Gp  ...     Rp          F        Et        F_Et
0   01/01/2003  5200.00   0.00   0.00  ...  0.800   0.000000  0.000000         NaN
1   02/04/2003  3940.89   3.89   3.11  ...  0.800   5.403210  0.022274  242.577499
2   02/07/2003  3512.38   6.07   4.85  ...  0.800   8.488913  0.034933  243.002685
3   01/10/2003  3322.18   7.74   6.17  ...  0.798  10.871960  0.043823  248.085957
4   31/12/2003  3178.82   9.22   7.51  ...  0.814  13.128837  0.053151  247.008781
5   31/03/2004  3058.58  10.57   8.98  ...  0.850  15.401621  0.061430  250.718461
6   30/06/2004  2952.10  11.79  10.63  ...  0.901  17.730120  0.070957  249.870497
7   29/09/2004  2854.95  12.90  12.47  ...  0.966  20.156895  0.080153  251.480826
8   29/12/2004  2764.87  13.91  14.50  ...  1.042  22.719815  0.090634  250.675660
9   30/03/2005  2680.77  14.83  16.70  ...  1.126  25.405762  0.101083  251.336258
10  29/06/2005  2602.16  15.65  19.04  ...  1.216  28.198170  0.112135  251.466778
11  28/09/2005  2528.94  16.39  21.47  ...  1.310  31.119037  0.124134  250.688901
12  28/12/2005  2461.18  17.05  23.94  ...  1.404  34.058364  0.134975  252.330566
13  29/03/2006  2399.03  17.62  26.40  ...  1.498  37.012537  0.146345  252.912964
14  28/06/2006  2342.59  18.13  28.79  ...  1.588  39.952011  0.157612  253.483834
15  27/09/2006  2291.91  18.56  31.07  ...  1.674  42.794627  0.168935  253.320130
16  27/12/2006  2246.93  18.94  33.20  ...  1.753  45.509790  0.179455  253.599625
17  28/03/2007  2207.46  19.26  35.14  ...  1.825  48.056165  0.189970  252.967137
18  27/06/2007  2173.21  19.53  36.89  ...  1.889  50.369745  0.198463  253.798830
19  26/09/2007  2143.79  19.76  38.44  ...  1.945  52.471890  0.207351  253.058334
20  26/12/2007  2118.77  19.95  39.79  ...  1.994  54.295182  0.213660  254.119244
21  26/03/2008  2097.66  20.11  40.95  ...  2.037  55.953038  0.220651  253.581919
22  25/06/2008  2080.00  20.24  41.94  ...  2.072  57.330812  0.225339  254.420487
23  24/09/2008  2065.32  20.35  42.77  ...  2.102  58.527353  0.230240  254.201557
24  24/12/2008  2053.19  20.43  43.47  ...  2.127  59.497554  0.233769  254.513983
25  25/03/2009  2043.21  20.51  44.05  ...  2.148  60.361668  0.236896  254.802610
26  24/06/2009  2035.03  20.56  44.52  ...  2.165  61.026685  0.239616  254.685297
27  23/09/2009  2028.36  20.61  44.91  ...  2.179  61.655392  0.243341  253.370152
28  23/12/2009  2022.92  20.65  45.23  ...  2.190  62.117058  0.244641  253.910812
29  24/03/2010  2018.51  20.68  45.50  ...  2.200  62.492665  0.245523  254.529036
30  23/06/2010  2014.94  20.71  45.80  ...  2.212  62.911823  0.246383  255.341546

[31 rows x 11 columns]</code></pre>
</div>
</div>
</section>
<section id="gráfico-de-campbell" class="level2">
<h2 class="anchored" data-anchor-id="gráfico-de-campbell">📊 Gráfico de Campbell</h2>
<p>El <strong>gráfico de Campbell</strong> muestra una línea horizontal con una intersección en <strong>250 MMSTB</strong>, lo que indica un volumen original de petróleo en sitio aproximado de <strong>250 MMSTB OOIP</strong>.</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb5-2"></span>
<span id="cb5-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Gráfico de Np vs F_ET</span></span>
<span id="cb5-4">plt.figure(figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>,<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>))</span>
<span id="cb5-5">plt.scatter(df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Np"</span>], df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F_Et"</span>], color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'blue'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Datos"</span>)</span>
<span id="cb5-6"></span>
<span id="cb5-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Calcular la regresión lineal solo con datos limpios</span></span>
<span id="cb5-8">df_clean <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> df.dropna(subset<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F_Et"</span>])</span>
<span id="cb5-9">coeficientes <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.polyfit(df_clean[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Np"</span>], df_clean[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F_Et"</span>], <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Ajuste lineal (grado 1)</span></span>
<span id="cb5-10">polinomio <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.poly1d(coeficientes)  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear función polinómica</span></span>
<span id="cb5-11"></span>
<span id="cb5-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Evaluar la línea de ajuste en los valores de Np limpios</span></span>
<span id="cb5-13">ajuste_y <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> polinomio(df_clean[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Np"</span>])</span>
<span id="cb5-14"></span>
<span id="cb5-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Graficar la línea de ajuste</span></span>
<span id="cb5-16">plt.plot(df_clean[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Np"</span>], ajuste_y, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'r--'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Ajuste lineal: y = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>coeficientes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">x + </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>coeficientes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb5-17"></span>
<span id="cb5-18"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Agregar línea horizontal en y=250 (similar a geom_hline)</span></span>
<span id="cb5-19">plt.axhline(y<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">250</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'black'</span>, linestyle<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'-'</span>, linewidth<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)</span>
<span id="cb5-20"></span>
<span id="cb5-21"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Agregar texto en (x=2, y=270) (similar a geom_text)</span></span>
<span id="cb5-22">plt.text(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">270</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"N = 250 MMSTB"</span>, fontsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">12</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"black"</span>)</span>
<span id="cb5-23"></span>
<span id="cb5-24">plt.xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Np"</span>)</span>
<span id="cb5-25">plt.ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F_Et"</span>)</span>
<span id="cb5-26">plt.ylim(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">400</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>(0.0, 400.0)</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1">plt.title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Gráfico de Campbell "</span>)</span>
<span id="cb7-2">plt.legend()</span>
<span id="cb7-3">plt.grid()</span>
<span id="cb7-4">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-30-ebm/index_files/figure-html/unnamed-chunk-3-1.png" class="img-fluid figure-img" width="768"></p>
</figure>
</div>
</div>
</div>
</section>
<section id="gráfico-de-havlena-odeh" class="level2">
<h2 class="anchored" data-anchor-id="gráfico-de-havlena-odeh">📊 Gráfico de Havlena-Odeh</h2>
<p>El <strong>gráfico de Havlena-Odeh</strong> muestra una línea recta con una pendiente de <strong>255.67</strong>, lo que indica un volumen original de petróleo en sitio de aproximadamente <strong>256 MMSTB OOIP</strong>.</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb8" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb8-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Gráfico de Et vs F</span></span>
<span id="cb8-2">plt.figure(figsize<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>(<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">8</span>,<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>))</span>
<span id="cb8-3">plt.scatter(df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Et"</span>], df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F"</span>], color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'blue'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Datos"</span>)</span>
<span id="cb8-4"></span>
<span id="cb8-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Calcular la regresión lineal </span></span>
<span id="cb8-6">coeficientes <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.polyfit(df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Et"</span>], df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F"</span>], <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>)  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Ajuste lineal (grado 1)</span></span>
<span id="cb8-7">polinomio <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> np.poly1d(coeficientes)  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear función polinómica</span></span>
<span id="cb8-8"></span>
<span id="cb8-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Evaluar la línea de ajuste en los valores de Np limpios</span></span>
<span id="cb8-10">ajuste_y <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> polinomio(df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Et"</span>])</span>
<span id="cb8-11"></span>
<span id="cb8-12"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Graficar la línea de ajuste</span></span>
<span id="cb8-13">plt.plot(df[<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Et"</span>], ajuste_y, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'r--'</span>, label<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">f"Ajuste lineal: y = </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>coeficientes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">x + </span><span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">{</span>coeficientes[<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>]<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">:.2f}</span><span class="ss" style="color: #20794D;
background-color: null;
font-style: inherit;">"</span>)</span>
<span id="cb8-14"></span>
<span id="cb8-15">plt.xlabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Et"</span>)</span>
<span id="cb8-16">plt.ylabel(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"F"</span>)</span>
<span id="cb8-17">plt.ylim(<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">70</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>(0.0, 70.0)</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb10" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb10-1">plt.title(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Havlena–Odeh"</span>)</span>
<span id="cb10-2">plt.legend()</span>
<span id="cb10-3">plt.grid()</span>
<span id="cb10-4">plt.show()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-30-ebm/index_files/figure-html/unnamed-chunk-4-3.png" class="img-fluid figure-img" width="768"></p>
</figure>
</div>
</div>
</div>
</section>
<section id="interpretación-de-los-gráficos" class="level2">
<h2 class="anchored" data-anchor-id="interpretación-de-los-gráficos">📈 Interpretación de los Gráficos</h2>
<p>1️⃣ <strong>Si la relación F vs E_t es lineal</strong>, el yacimiento sigue un <strong>comportamiento volumétrico</strong> sin empuje de agua.<br>
2️⃣ <strong>Si hay desviaciones, puede indicar presencia de empuje de agua o un comportamiento no volumétrico.</strong><br>
3️⃣ <strong>El valor de la pendiente de la recta es el volumen original de petróleo en sitio (( N )).</strong></p>
<p>Este análisis es clave para estimar reservas y tomar decisiones de producción. 🚀</p>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>

 ]]></description>
  <guid>https://rigobertochandomiblog.com/posts/2025-03-30-ebm/</guid>
  <pubDate>Sun, 30 Mar 2025 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2025-03-30-ebm/preview.png" medium="image" type="image/png" height="90" width="144"/>
</item>
<item>
  <title>gganimate: Crea Animaciones en R con ggplot2</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2025-03-29-gganimate/</link>
  <description><![CDATA[ 




<p>📢 <strong>Si alguna vez quisiste visualizar cómo evolucionan los datos en el tiempo, <code>gganimate</code> es la solución.</strong></p>
<p>📌 <strong>En esta publicación aprenderás a:</strong><br>
✅ <strong>Crear gráficos animados con <code>ggplot2</code> y <code>gganimate</code>.</strong><br>
✅ <strong>Utilizar datos reales de producción de petróleo para visualizar tendencias.</strong><br>
✅ <strong>Explorar cómo las propiedades del yacimiento varían con la profundidad.</strong></p>
<section id="instalación-y-carga-de-librerías" class="level1">
<h1>🟢 1. Instalación y Carga de Librerías</h1>
<p>Para trabajar con <code>gganimate</code>, primero necesitamos instalar y cargar las librerías necesarias.</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Instalar paquetes si es necesario</span></span>
<span id="cb1-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages(c("ggplot2", "gganimate", "gifski", "dplyr", "readr", "readxl"))</span></span>
<span id="cb1-3"></span>
<span id="cb1-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Cargar librerías</span></span>
<span id="cb1-5"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(ggplot2)</span>
<span id="cb1-6"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(gganimate)</span>
<span id="cb1-7"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(gifski)</span>
<span id="cb1-8"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(dplyr)</span>
<span id="cb1-9"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(readr)</span>
<span id="cb1-10"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(readxl)</span></code></pre></div>
</details>
</div>
</section>
<section id="animación-de-la-producción-de-petróleo-con-gganimate" class="level1">
<h1>🟢 2. Animación de la Producción de Petróleo con <code>gganimate</code></h1>
<p>📌 <strong>Cargamos los datos de producción del yacimiento Volve para visualizar la evolución del petróleo producido en el tiempo.</strong></p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb2-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Cargar datos de producción</span></span>
<span id="cb2-2">volve_production <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">read_excel</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Volve production data.xlsx"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">sheet =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Daily Production Data"</span>)</span>
<span id="cb2-3"></span>
<span id="cb2-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Convertir la fecha a formato Date</span></span>
<span id="cb2-5">volve_production<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>DATEPRD <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">as.Date</span>(volve_production<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>DATEPRD)</span>
<span id="cb2-6"></span>
<span id="cb2-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Filtrar datos relevantes</span></span>
<span id="cb2-8">volve_filtered <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> volve_production <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb2-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">filter</span>(BORE_OIL_VOL <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">&gt;</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">0</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb2-10">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">group_by</span>(DATEPRD) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">%&gt;%</span></span>
<span id="cb2-11">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">summarise</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">Oil_Production =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sum</span>(BORE_OIL_VOL))</span>
<span id="cb2-12"></span>
<span id="cb2-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear gráfico animado de producción de petróleo</span></span>
<span id="cb2-14">p <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(volve_filtered, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> DATEPRD, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> Oil_Production)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb2-15">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_line</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb2-16">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Producción de Petróleo en el Campo Volve"</span>,</span>
<span id="cb2-17">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Fecha"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Producción de Petróleo (bbl)"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb2-18">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">transition_reveal</span>(DATEPRD)</span>
<span id="cb2-19"></span>
<span id="cb2-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Renderizar animación</span></span>
<span id="cb2-21"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">animate</span>(p, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">fps =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">duration =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-29-gganimate/index_files/figure-html/unnamed-chunk-2-1.gif" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p>📌 <strong>Este gráfico muestra cómo ha cambiado la producción de petróleo a lo largo del tiempo en el campo Volve.</strong></p>
</section>
<section id="animación-de-la-variación-de-propiedades-del-yacimiento-con-la-profundidad" class="level1">
<h1>🟢 3. Animación de la Variación de Propiedades del Yacimiento con la Profundidad</h1>
<p>📌 <strong>Utilizamos datos de <code>RT_cores.csv</code> para visualizar cómo la porosidad y permeabilidad varían con la profundidad en un pozo de petróleo.</strong></p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb3-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Cargar datos de RT_cores</span></span>
<span id="cb3-2">rt_cores <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">read.csv</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"RT_cores.csv"</span>)</span>
<span id="cb3-3"></span>
<span id="cb3-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear gráfico animado de porosidad vs. profundidad</span></span>
<span id="cb3-5">p <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(rt_cores, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> POROSITY, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> MD, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> PERMEABILITY)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb3-6">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_point</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">3</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">alpha =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.7</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb3-7">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_y_reverse</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Invertir eje para que la profundidad sea descendente</span></span>
<span id="cb3-8">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Variación de Propiedades del Yacimiento con la Profundidad"</span>,</span>
<span id="cb3-9">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Porosidad"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Profundidad (MD)"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Permeabilidad"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb3-10">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">transition_time</span>(MD) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb3-11">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ease_aes</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"linear"</span>)</span>
<span id="cb3-12"></span>
<span id="cb3-13"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Renderizar animación</span></span>
<span id="cb3-14"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">animate</span>(p, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">fps =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">duration =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-29-gganimate/index_files/figure-html/unnamed-chunk-3-1.gif" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p>📌 <strong>Este gráfico muestra cómo cambian la porosidad y permeabilidad con la profundidad en un pozo de petróleo.</strong></p>
</section>
<section id="conclusión" class="level1">
<h1>📌 <strong>Conclusión</strong></h1>
<p>📌 <strong><code>gganimate</code> permite visualizar datos en evolución de forma clara e interactiva.</strong><br>
📌 <strong>Es especialmente útil para análisis de series temporales, exploración de datos de yacimientos y estudios de producción.</strong><br>
📌 <strong>Con solo unas líneas de código, puedes crear animaciones impactantes en R.</strong></p>
<p>🚀 <strong>Ahora es tu turno de probar <code>gganimate</code> con tus propios datos. ¡Haz que tus gráficos cobren vida!</strong> 🔥</p>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>

 ]]></description>
  <category>R</category>
  <guid>https://rigobertochandomiblog.com/posts/2025-03-29-gganimate/</guid>
  <pubDate>Sat, 29 Mar 2025 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2025-03-29-gganimate/gganimate.png" medium="image" type="image/png" height="81" width="144"/>
</item>
<item>
  <title>3 Librerías para Potenciar ggplot2 en R: Parte 2</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2025-03-29-potenciarggplot22/</link>
  <description><![CDATA[ 




<section id="librerías-para-potenciar-ggplot2-en-r" class="level1">
<h1>📌 3 Librerías para Potenciar ggplot2 en R</h1>
<p>📢 <strong>ggplot2 es una de las herramientas más poderosas para la visualización de datos en R. Sin embargo, con algunas librerías adicionales, podemos extender sus capacidades aún más.</strong></p>
<p>📌 <strong>En esta publicación exploraremos tres librerías que te ayudarán a mejorar tus gráficos en R:</strong></p>
<p>✅ <strong>GGally:</strong> Facilita la creación de gráficos multivariados y análisis exploratorio.<br>
✅ <strong>ggthemes:</strong> Ofrece temas profesionales y personalizados para mejorar el diseño visual.<br>
✅ <strong>ggpattern:</strong> Agrega patrones a gráficos de barras, áreas y cajas, mejorando la diferenciación visual.</p>
</section>
<section id="ggally-gráficos-multivariados-y-exploración-de-datos" class="level1">
<h1>🟢 1. <code>GGally</code>: Gráficos Multivariados y Exploración de Datos</h1>
<p>📌 <strong><code>GGally</code> extiende <code>ggplot2</code> al permitir crear gráficos de pares, correlaciones y modelos de regresión de forma sencilla.</strong></p>
<section id="ejemplo-matriz-de-dispersión-de-variables-en-el-dataset-iris" class="level3">
<h3 class="anchored" data-anchor-id="ejemplo-matriz-de-dispersión-de-variables-en-el-dataset-iris"><strong>Ejemplo: Matriz de Dispersión de Variables en el Dataset Iris</strong></h3>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Instalar y cargar GGally</span></span>
<span id="cb1-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("GGally")</span></span>
<span id="cb1-3"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(GGally)</span>
<span id="cb1-4"></span>
<span id="cb1-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear una matriz de dispersión con ggplot2</span></span>
<span id="cb1-6"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggpairs</span>(iris, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">mapping =</span> ggplot2<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> Species))</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-29-potenciarggplot22/index_files/figure-html/unnamed-chunk-1-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>📌 <strong>Este gráfico nos permite ver la relación entre todas las variables numéricas de <code>iris</code>, resaltando las diferencias entre especies.</strong></p>
</section>
</section>
<section id="ggthemes-personaliza-tus-gráficos-con-estilos-profesionales" class="level1">
<h1>🟢 2. <code>ggthemes</code>: Personaliza tus Gráficos con Estilos Profesionales</h1>
<p>📌 <strong><code>ggthemes</code> ofrece temas personalizados que facilitan la creación de gráficos con estilos utilizados en medios como The Economist, Wall Street Journal o Excel.</strong></p>
<section id="ejemplo-gráfico-de-dispersión-con-tema-the-economist" class="level3">
<h3 class="anchored" data-anchor-id="ejemplo-gráfico-de-dispersión-con-tema-the-economist"><strong>Ejemplo: Gráfico de Dispersión con Tema The Economist</strong></h3>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb2-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Instalar y cargar ggthemes</span></span>
<span id="cb2-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("ggthemes")</span></span>
<span id="cb2-3"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(ggthemes)</span>
<span id="cb2-4"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(ggplot2)</span>
<span id="cb2-5"></span>
<span id="cb2-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear un gráfico de dispersión con un tema mejorado</span></span>
<span id="cb2-7"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(mtcars, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> hp, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> mpg)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb2-8">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_point</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb2-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_economist</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb2-10">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggtitle</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Consumo de Combustible vs Potencia (Tema The Economist)"</span>)</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-29-potenciarggplot22/index_files/figure-html/unnamed-chunk-2-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>📌 <strong>Este gráfico muestra cómo mejorar la estética de <code>ggplot2</code> con temas profesionales.</strong></p>
</section>
</section>
<section id="ggpattern-agrega-patrones-a-gráficos-de-barras-y-áreas" class="level1">
<h1>🟢 3. <code>ggpattern</code>: Agrega Patrones a Gráficos de Barras y Áreas</h1>
<p>📌 <strong><code>ggpattern</code> permite agregar patrones en gráficos para mejorar la diferenciación entre categorías sin depender solo del color.</strong></p>
<section id="ejemplo-gráfico-de-barras-con-patrones" class="level3">
<h3 class="anchored" data-anchor-id="ejemplo-gráfico-de-barras-con-patrones"><strong>Ejemplo: Gráfico de Barras con Patrones</strong></h3>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb3-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Instalar y cargar ggpattern</span></span>
<span id="cb3-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("ggpattern")</span></span>
<span id="cb3-3"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(ggpattern)</span>
<span id="cb3-4"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(ggplot2)</span>
<span id="cb3-5"></span>
<span id="cb3-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear un gráfico de barras con patrones</span></span>
<span id="cb3-7"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(mtcars, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">factor</span>(cyl), <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">fill =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">factor</span>(cyl))) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb3-8">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_bar_pattern</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">pattern =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">factor</span>(cyl)),</span>
<span id="cb3-9">                   <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">pattern_fill =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"white"</span>,</span>
<span id="cb3-10">                   <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">pattern_density =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.1</span>,</span>
<span id="cb3-11">                   <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">pattern_angle =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">45</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb3-12">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Distribución de Cilindros con Patrones"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Cilindros"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb3-13">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>()</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-29-potenciarggplot22/index_files/figure-html/unnamed-chunk-3-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>📌 <strong>Este gráfico es útil cuando queremos agregar diferenciación visual sin depender exclusivamente del color.</strong></p>
</section>
</section>
<section id="conclusión" class="level1">
<h1>📌 <strong>Conclusión</strong></h1>
<p>📌 <strong>Si necesitas analizar múltiples variables a la vez, usa <code>GGally</code>.</strong><br>
📌 <strong>Para mejorar el diseño visual de tus gráficos, prueba <code>ggthemes</code>.</strong><br>
📌 <strong>Si quieres agregar patrones para una mejor diferenciación, <code>ggpattern</code> es la mejor opción.</strong></p>
<p>Con estas librerías, podrás <strong>llevar tus gráficos en R a un nivel superior</strong>. 🚀🔥</p>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>

 ]]></description>
  <category>R</category>
  <guid>https://rigobertochandomiblog.com/posts/2025-03-29-potenciarggplot22/</guid>
  <pubDate>Sat, 29 Mar 2025 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2025-03-29-potenciarggplot22/preview.png" medium="image" type="image/png" height="89" width="144"/>
</item>
<item>
  <title>3 Librerías para Potenciar ggplot2 en R</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2025-03-29-potenciarggplot21/</link>
  <description><![CDATA[ 




<section id="librerías-para-potenciar-ggplot2-en-r" class="level1">
<h1>📌 3 Librerías para Potenciar ggplot2 en R</h1>
<p>📢 <strong>ggplot2 es una herramienta increíble para la visualización de datos en R, pero con estas librerías puedes llevarlo al siguiente nivel.</strong></p>
<p>📌 <strong>Hoy exploraremos tres librerías esenciales para mejorar la personalización, la animación y la presentación de gráficos en R:</strong></p>
<p>✅ <strong>gganimate:</strong> Crea gráficos animados para visualizar cambios en el tiempo.<br>
✅ <strong>ggtext:</strong> Permite personalizar y mejorar la presentación de texto en gráficos.<br>
✅ <strong>ggpubr:</strong> Facilita la creación de gráficos con estilo para publicaciones científicas.</p>
</section>
<section id="gganimate-gráficos-animados-en-r" class="level1">
<h1>🟢 1. <code>gganimate</code>: Gráficos Animados en R</h1>
<p>📌 <strong><code>gganimate</code> permite agregar animaciones a <code>ggplot2</code>, lo que facilita la visualización de tendencias y datos en evolución.</strong></p>
<section id="ejemplo-animación-de-la-evolución-de-un-dataset" class="level3">
<h3 class="anchored" data-anchor-id="ejemplo-animación-de-la-evolución-de-un-dataset"><strong>Ejemplo: Animación de la Evolución de un Dataset</strong></h3>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Instalar y cargar gganimate</span></span>
<span id="cb1-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("gganimate")</span></span>
<span id="cb1-3"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(gganimate)</span>
<span id="cb1-4"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(ggplot2)</span>
<span id="cb1-5"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(gapminder)</span>
<span id="cb1-6"></span>
<span id="cb1-7"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear un gráfico de dispersión animado con ggplot2</span></span>
<span id="cb1-8">p <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(gapminder, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> gdpPercap, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> lifeExp, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">size =</span> pop, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> continent)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb1-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_point</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">alpha =</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.7</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb1-10">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">scale_x_log10</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb1-11">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Año: {frame_time}"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"PIB per cápita"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Esperanza de vida"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb1-12">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">transition_time</span>(year) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb1-13">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ease_aes</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"linear"</span>)</span>
<span id="cb1-14"></span>
<span id="cb1-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Renderizar animación</span></span>
<span id="cb1-16"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">animate</span>(p, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">fps =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">duration =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">5</span>)</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-29-potenciarggplot21/index_files/figure-html/unnamed-chunk-1-1.gif" class="img-fluid figure-img"></p>
</figure>
</div>
</div>
</div>
<p>📌 <strong>Este gráfico muestra cómo cambia la esperanza de vida en relación con el PIB per cápita a lo largo de los años.</strong></p>
</section>
</section>
<section id="ggtext-texto-avanzado-en-gráficos" class="level1">
<h1>🟢 2. <code>ggtext</code>: Texto Avanzado en Gráficos</h1>
<p>📌 <strong><code>ggtext</code> mejora las etiquetas y anotaciones en <code>ggplot2</code>, permitiendo usar HTML y Markdown dentro de los gráficos.</strong></p>
<section id="ejemplo-personalización-de-texto-en-un-gráfico" class="level3">
<h3 class="anchored" data-anchor-id="ejemplo-personalización-de-texto-en-un-gráfico"><strong>Ejemplo: Personalización de Texto en un Gráfico</strong></h3>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb2-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Instalar y cargar ggtext</span></span>
<span id="cb2-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("ggtext")</span></span>
<span id="cb2-3"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(ggtext)</span>
<span id="cb2-4"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(ggplot2)</span>
<span id="cb2-5"></span>
<span id="cb2-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear un gráfico con etiquetas personalizadas</span></span>
<span id="cb2-7"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(mtcars, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> hp, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> mpg)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb2-8">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_point</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb2-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Relación entre &lt;b style='color:blue;'&gt;Potencia&lt;/b&gt; y &lt;i&gt;Consumo&lt;/i&gt;"</span>,</span>
<span id="cb2-10">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">subtitle =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Gráfico con texto enriquecido"</span>,</span>
<span id="cb2-11">       <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">caption =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"&lt;b&gt;Fuente:&lt;/b&gt; Base de datos mtcars"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb2-12">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme_minimal</span>() <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb2-13">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">theme</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">plot.title =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_markdown</span>(),</span>
<span id="cb2-14">        <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">plot.subtitle =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_markdown</span>(),</span>
<span id="cb2-15">        <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">plot.caption =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">element_markdown</span>())</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-29-potenciarggplot21/index_files/figure-html/unnamed-chunk-2-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>📌 <strong>Este gráfico personaliza los títulos con negritas, cursivas y colores, mejorando la estética y claridad de los datos.</strong></p>
</section>
</section>
<section id="ggpubr-gráficos-científicos-listos-para-publicación" class="level1">
<h1>🟢 3. <code>ggpubr</code>: Gráficos Científicos Listos para Publicación</h1>
<p>📌 <strong><code>ggpubr</code> facilita la creación de gráficos listos para publicaciones científicas, agregando elementos estadísticos y mejorando el diseño visual.</strong></p>
<section id="ejemplo-gráfico-con-comparaciones-estadísticas" class="level3">
<h3 class="anchored" data-anchor-id="ejemplo-gráfico-con-comparaciones-estadísticas"><strong>Ejemplo: Gráfico con Comparaciones Estadísticas</strong></h3>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb3-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Instalar y cargar ggpubr</span></span>
<span id="cb3-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("ggpubr")</span></span>
<span id="cb3-3"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(ggpubr)</span>
<span id="cb3-4"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(ggplot2)</span>
<span id="cb3-5"></span>
<span id="cb3-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear un gráfico de cajas con pruebas estadísticas</span></span>
<span id="cb3-7"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggboxplot</span>(iris, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Species"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Sepal.Length"</span>,</span>
<span id="cb3-8">          <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">color =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Species"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">palette =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"jco"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb3-9">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">stat_compare_means</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">label =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"p.signif"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">method =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"t.test"</span>) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb3-10">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">labs</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Comparación de Sepal.Length entre especies"</span>)</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-29-potenciarggplot21/index_files/figure-html/unnamed-chunk-3-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>📌 <strong>Este gráfico compara estadísticamente las especies de iris, mostrando los valores de <code>p</code> directamente en el gráfico.</strong></p>
</section>
</section>
<section id="conclusión" class="level1">
<h1>📌 <strong>Conclusión</strong></h1>
<p>📌 <strong>Si quieres visualizar datos en evolución, usa <code>gganimate</code>.</strong><br>
📌 <strong>Si necesitas mejorar la personalización de etiquetas y títulos, prueba <code>ggtext</code>.</strong><br>
📌 <strong>Si trabajas con publicaciones científicas, <code>ggpubr</code> te ayudará a crear gráficos más claros y estructurados.</strong></p>
<p>Estas librerías amplían las capacidades de ggplot2, permitiéndote <strong>crear gráficos más impactantes, interactivos y listos para compartir.</strong> 🚀🔥</p>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>

 ]]></description>
  <category>R</category>
  <guid>https://rigobertochandomiblog.com/posts/2025-03-29-potenciarggplot21/</guid>
  <pubDate>Fri, 28 Mar 2025 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2025-03-29-potenciarggplot21/preview.png" medium="image" type="image/png" height="89" width="144"/>
</item>
<item>
  <title>Recursos para Aprender Geoestadística</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2025-03-17-geoestadisticarecursos/</link>
  <description><![CDATA[ 




<section id="recursos-para-aprender-geoestadística" class="level1">
<h1>📌 Recursos para Aprender Geoestadística 📊🌍</h1>
<p>📢 <strong>La geoestadística es una herramienta fundamental en exploración de recursos naturales, modelado de reservorios y análisis espacial.</strong></p>
<p>📌 <strong>En esta publicación, exploraremos tres recursos clave para aprender y aplicar geoestadística:</strong></p>
<p>✅ <strong>Un libro recomendado sobre geoestadística aplicada.</strong><br>
✅ <strong>Un software open-source para modelado geoestadístico.</strong><br>
✅ <strong>Una librería de Python para análisis geoestadístico avanzado.</strong></p>
<p>Estos recursos son útiles para <strong>ingenieros petroleros, geocientíficos y analistas de datos espaciales</strong>. # 🟢 1. Libro: <em>Applied Geostatistics with SGeMS</em></p>
<p>📖 <strong>Autores:</strong> Nicolas Remy, Alexandre Boucher, Jianbing Wu<br>
🔗 <strong>Disponible en:</strong> <a href="https://www.cambridge.org/core/books/applied-geostatistics-with-sgems/35D45D41BF8FD9BB43E8DCD462E30975">Cambridge University Press</a></p>
<p>📌 <strong>Este libro es una referencia esencial para aprender los fundamentos de la geoestadística aplicada.</strong></p>
<p>✅ <strong>Explica teoría y aplicaciones prácticas en modelado geoestadístico.</strong><br>
✅ <strong>Utiliza SGeMS (Stand-alone Geostatistical Modeling Software) para ejemplos computacionales.</strong><br>
✅ <strong>Incluye algoritmos de Kriging, simulación estocástica y análisis variográfico.</strong></p>
<p>Es un <strong>recurso recomendado tanto para principiantes como para usuarios avanzados</strong> que desean entender la implementación práctica de la geoestadística.</p>
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-17-geoestadisticarecursos/LibroGEo.jpg" class="img-fluid"></p>
</section>
<section id="software-sgems-stand-alone-geostatistical-modeling-software" class="level1">
<h1>🟢 2. Software: <em>SGeMS – Stand-alone Geostatistical Modeling Software</em></h1>
<p>🔗 <strong>Descarga:</strong> <a href="https://sourceforge.net/projects/sgems/">SGeMS en SourceForge</a></p>
<p>📌 <strong>SGeMS es un software de código abierto diseñado para el modelado geoestadístico de datos espaciales.</strong></p>
<p>✅ <strong>Herramientas de análisis variográfico y simulación geoestadística.</strong><br>
✅ <strong>Implementa métodos avanzados como Kriging y Simulación Secuencial Gaussiana.</strong><br>
✅ <strong>Compatible con formatos de datos espaciales y geológicos.</strong></p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Comando para instalar SGeMS en Linux</span></span>
<span id="cb1-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">system</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"sudo apt install sgems"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">intern =</span> <span class="cn" style="color: #8f5902;
background-color: null;
font-style: inherit;">TRUE</span>)</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>character(0)
attr(,"status")
[1] 5</code></pre>
</div>
</div>
<p>📌 <strong>Este software es utilizado en minería, modelado de reservorios y ciencias ambientales.</strong></p>
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-17-geoestadisticarecursos/geo2.png" class="img-fluid" style="width:100.0%"></p>
</section>
<section id="librería-de-python-geostatspy" class="level1">
<h1>🟢 3. Librería de Python: <em>GeostatsPy</em></h1>
<p>🔗 <strong>Repositorio en GitHub:</strong> <a href="https://github.com/GeostatsGuy/GeostatsPy">GeostatsPy</a></p>
<p>📌 <strong>GeostatsPy es una librería de Python desarrollada para realizar análisis geoestadísticos de forma sencilla y eficiente.</strong></p>
<p>✅ <strong>Incluye herramientas para análisis variográfico, interpolación y simulación geoestadística.</strong><br>
✅ <strong>Compatible con <code>matplotlib</code>, <code>numpy</code> y <code>scipy</code> para visualización y análisis.</strong><br>
✅ <strong>Ideal para geocientíficos que trabajan con datos espaciales en Python.</strong></p>
<section id="ejemplo-visualización-de-datos-con-geostatspy" class="level3">
<h3 class="anchored" data-anchor-id="ejemplo-visualización-de-datos-con-geostatspy"><strong>Ejemplo: Visualización de Datos con GeostatsPy</strong></h3>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> geostatspy.GSLIB <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> GSLIB          <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># GSLIB utilies, visualization and wrapper</span></span>
<span id="cb3-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> geostatspy.geostats <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> geostats    <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># GSLIB methods convert to Python        </span></span>
<span id="cb3-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> numpy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> np                        <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># ndarrys for gridded data</span></span>
<span id="cb3-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd                       <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># DataFrames for tabular data</span></span>
<span id="cb3-5"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> os                                 <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># set working directory, run executables</span></span>
<span id="cb3-6"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt           <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># for plotting</span></span>
<span id="cb3-7"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> scipy <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> stats                   <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># summary statistics</span></span>
<span id="cb3-8"></span>
<span id="cb3-9">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.read_csv(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'sample_data_biased.csv'</span>)     <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># load our data table (wrong name!)</span></span>
<span id="cb3-10">df.head(n<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">13</span>)    </span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>      X    Y  Facies  Porosity         Perm
0   100  900       1  0.115359     5.736104
1   100  800       1  0.136425    17.211462
2   100  600       1  0.135810    43.724752
3   100  500       0  0.094414     1.609942
4   100  100       0  0.113049    10.886001
5   200  800       1  0.154648   106.491795
6   200  700       1  0.153113   140.976324
7   200  500       1  0.126167    12.548074
8   200  400       0  0.094750     1.208561
9   200  100       1  0.150961    44.687430
10  300  800       1  0.199227  1079.709291
11  300  700       1  0.154220   179.491695
12  300  500       1  0.137502    38.164911</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb5" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb5-1">df.describe()</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>                X           Y      Facies    Porosity         Perm
count  289.000000  289.000000  289.000000  289.000000   289.000000
mean   475.813149  529.692042    0.813149    0.134744   207.832368
std    254.277530  300.895374    0.390468    0.037745   559.359350
min      0.000000    9.000000    0.000000    0.058548     0.075819
25%    300.000000  269.000000    1.000000    0.106318     3.634086
50%    430.000000  549.000000    1.000000    0.126167    14.908970
75%    670.000000  819.000000    1.000000    0.154220    71.454424
max    990.000000  999.000000    1.000000    0.228790  5308.842566</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb7" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb7-1">xmin <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.0</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">;</span> xmax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000.0</span>               <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># range of x values</span></span>
<span id="cb7-2">ymin <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.0</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">;</span> ymax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">1000.0</span>               <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># range of y values</span></span>
<span id="cb7-3">pormin <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.05</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">;</span> pormax <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">0.25</span><span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">;</span>           <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># range of porosity values</span></span>
<span id="cb7-4">cmap <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> plt.cm.inferno                   <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># color map</span></span>
<span id="cb7-5"></span>
<span id="cb7-6">GSLIB.locmap</span></code></pre></div>
</details>
<div class="cell-output cell-output-stdout">
<pre><code>&lt;function locmap at 0x000001829563FEC0&gt;</code></pre>
</div>
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb9" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb9-1">GSLIB.locmap(df,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'X'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Y'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Porosity'</span>,xmin,xmax,ymin,ymax,pormin,pormax,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Well Data - Porosity'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'X(m)'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Y(m)'</span>,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'Porosity (fraction)'</span>,cmap,<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'locmap_Porosity'</span>)</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-17-geoestadisticarecursos/index_files/figure-html/unnamed-chunk-2-1.png" class="img-fluid figure-img" width="768"></p>
</figure>
</div>
</div>
</div>
<p>📌 <strong>Este código carga datos de un archivo CSV, muestra estadísticas básicas y visualiza la distribución espacial de la porosidad usando <code>GeostatsPy</code>.</strong></p>
</section>
</section>
<section id="conclusión" class="level1">
<h1>📌 <strong>Conclusión</strong></h1>
<p>📌 <strong>Si buscas aprender los fundamentos, el libro <em>Applied Geostatistics with SGeMS</em> es un excelente punto de partida.</strong><br>
📌 <strong>Si necesitas una herramienta de modelado profesional, SGeMS ofrece un entorno completo para análisis geoestadístico.</strong><br>
📌 <strong>Si trabajas con Python, GeostatsPy es una librería poderosa para análisis y simulación geoestadística.</strong></p>
<p>Estos recursos te permitirán <strong>dominar la geoestadística aplicada a datos espaciales</strong>, ya sea en ingeniería petrolera, minería o ciencias ambientales.</p>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>

 ]]></description>
  <guid>https://rigobertochandomiblog.com/posts/2025-03-17-geoestadisticarecursos/</guid>
  <pubDate>Mon, 17 Mar 2025 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2025-03-17-geoestadisticarecursos/LibroGEo.jpg" medium="image" type="image/jpeg"/>
</item>
<item>
  <title>ggstatsplot: Visualización y Estadística en R con un Solo Paquete</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2025-03-17-ggstatsplot/</link>
  <description><![CDATA[ 




<section id="ggstatsplot-visualización-y-estadística-en-r" class="level1">
<h1>📌 ggstatsplot: Visualización y Estadística en R 📊📈</h1>
<p>📢 <strong>¿Quieres generar gráficos en R que incluyan análisis estadísticos automáticamente?</strong> <strong>ggstatsplot</strong> es una poderosa extensión de <strong>ggplot2</strong> que combina <strong>visualización y estadística inferencial</strong>, facilitando la exploración de datos y la presentación de resultados.</p>
<p>📌 <strong>En este post, exploraremos qué es ggstatsplot, cómo funciona y cómo implementarlo en análisis de datos en R.</strong></p>
</section>
<section id="qué-es-ggstatsplot" class="level1">
<h1>🟢 ¿Qué es ggstatsplot?</h1>
<p>📌 <strong>ggstatsplot es una librería en R que permite generar gráficos con análisis estadísticos automáticos en una sola línea de código.</strong></p>
<p>✅ <strong>Basado en ggplot2, mantiene la estructura familiar de gráficos en R.</strong><br>
✅ <strong>Incluye pruebas estadísticas como ANOVA, t-tests, correlaciones y más.</strong><br>
✅ <strong>Soporta múltiples tipos de gráficos, desde dispersión hasta diagramas de caja y violin.</strong></p>
<p>📖 <strong>Ideal para científicos de datos, estadísticos e investigadores que desean una integración fluida entre visualización y estadística.</strong></p>
<p>🔗 <strong>Más información en:</strong> <a href="https://github.com/IndrajeetPatil/ggstatsplot">ggstatsplot en GitHub</a></p>
</section>
<section id="instalación-y-primeros-pasos" class="level1">
<h1>🟢 Instalación y Primeros Pasos</h1>
<p>📌 <strong>Para instalar y comenzar a usar ggstatsplot en RStudio, sigue estos pasos:</strong></p>
<div class="sourceCode" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Instalar ggstatsplot desde CRAN</span></span>
<span id="cb1-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">install.packages</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ggstatsplot"</span>)</span>
<span id="cb1-3"></span>
<span id="cb1-4"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Cargar la librería</span></span>
<span id="cb1-5"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(ggstatsplot)</span></code></pre></div>
</section>
<section id="ejemplo-1-gráfico-de-dispersión-con-correlación" class="level1">
<h1>🔵 Ejemplo 1: Gráfico de Dispersión con Correlación</h1>
<p>📌 <strong>En este ejemplo, generaremos un gráfico de dispersión con análisis de correlación incluido.</strong></p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb2-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear un gráfico de dispersión con estadística de correlación</span></span>
<span id="cb2-2">ggstatsplot<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggscatterstats</span>(</span>
<span id="cb2-3">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> mtcars,</span>
<span id="cb2-4">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> mpg,</span>
<span id="cb2-5">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> hp</span>
<span id="cb2-6">)</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-17-ggstatsplot/index_files/figure-html/unnamed-chunk-1-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>📌 <strong>Este gráfico incluye automáticamente:</strong><br>
✅ <strong>Cálculo del coeficiente de correlación (Pearson, Spearman o Kendall).</strong><br>
✅ <strong>Intervalo de confianza y valores p.</strong><br>
✅ <strong>Línea de tendencia con bandas de confianza.</strong></p>
</section>
<section id="ejemplo-2-comparación-de-medias-con-diagramas-de-caja" class="level1">
<h1>🟢 Ejemplo 2: Comparación de Medias con Diagramas de Caja</h1>
<p>📌 <strong>Podemos utilizar ggstatsplot para comparar distribuciones entre grupos con diagramas de caja.</strong></p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb3-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Comparación de medias por tipo de cilindros</span></span>
<span id="cb3-2">mtcars<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>cyl <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">as.factor</span>(mtcars<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>cyl)</span>
<span id="cb3-3"></span>
<span id="cb3-4">ggstatsplot<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggbetweenstats</span>(</span>
<span id="cb3-5">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">data =</span> mtcars,</span>
<span id="cb3-6">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> cyl,</span>
<span id="cb3-7">  <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> mpg</span>
<span id="cb3-8">)</span></code></pre></div>
</details>
<div class="cell-output-display">
<div>
<figure class="figure">
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-17-ggstatsplot/index_files/figure-html/unnamed-chunk-2-1.png" class="img-fluid figure-img" width="672"></p>
</figure>
</div>
</div>
</div>
<p>📌 <strong>Este gráfico incluye:</strong><br>
✅ <strong>Prueba de ANOVA o t-test según corresponda.</strong><br>
✅ <strong>Estadística inferencial con valores p y tamaño del efecto.</strong><br>
✅ <strong>Opciones para personalizar la visualización de los datos.</strong></p>
</section>
<section id="comparación-rápida-con-otros-métodos" class="level1">
<h1>📌 Comparación Rápida con Otros Métodos</h1>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb4-1"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(knitr)</span>
<span id="cb4-2">data <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">data.frame</span>(</span>
<span id="cb4-3">  Método <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ggplot2 + estadísticas manuales"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"ggstatsplot"</span>),</span>
<span id="cb4-4">  Código<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">_Necesario =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Más de 5 líneas"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"1 línea"</span>),</span>
<span id="cb4-5">  Automatización <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"No, manual"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Sí, incluye estadísticas automáticamente"</span>),</span>
<span id="cb4-6">  Tipos_de_Gráficos <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Barras, dispersión, líneas"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Barras, dispersión, violin, boxplot y más"</span>),</span>
<span id="cb4-7">  Integración <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">=</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">c</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Con paquetes adicionales"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Incluye estadísticas y visualización en uno solo"</span>)</span>
<span id="cb4-8">)</span>
<span id="cb4-9"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">kable</span>(data)</span></code></pre></div>
</details>
<div class="cell-output-display">
<table class="caption-top table table-sm table-striped small">
<colgroup>
<col style="width: 17%">
<col style="width: 9%">
<col style="width: 22%">
<col style="width: 23%">
<col style="width: 27%">
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;">Método</th>
<th style="text-align: left;">Código_Necesario</th>
<th style="text-align: left;">Automatización</th>
<th style="text-align: left;">Tipos_de_Gráficos</th>
<th style="text-align: left;">Integración</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">ggplot2 + estadísticas manuales</td>
<td style="text-align: left;">Más de 5 líneas</td>
<td style="text-align: left;">No, manual</td>
<td style="text-align: left;">Barras, dispersión, líneas</td>
<td style="text-align: left;">Con paquetes adicionales</td>
</tr>
<tr class="even">
<td style="text-align: left;">ggstatsplot</td>
<td style="text-align: left;">1 línea</td>
<td style="text-align: left;">Sí, incluye estadísticas automáticamente</td>
<td style="text-align: left;">Barras, dispersión, violin, boxplot y más</td>
<td style="text-align: left;">Incluye estadísticas y visualización en uno solo</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>📌 <strong>ggstatsplot permite realizar análisis estadísticos sin necesidad de calcular valores p o intervalos de confianza manualmente.</strong></p>
</section>
<section id="conclusión" class="level1">
<h1><strong>Conclusión</strong></h1>
<p>📌 <strong>Si ya usas ggplot2, ggstatsplot mejorará tu flujo de trabajo al integrar estadísticas automáticamente.</strong><br>
📌 <strong>Si eres investigador o analista de datos, esta librería facilitará la presentación de resultados con gráficos listos para reportes y artículos científicos.</strong><br>
📌 <strong>Si trabajas con múltiples variables, puedes ahorrar tiempo al generar visualizaciones con estadísticas incluidas en una sola línea de código.</strong></p>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>

 ]]></description>
  <guid>https://rigobertochandomiblog.com/posts/2025-03-17-ggstatsplot/</guid>
  <pubDate>Mon, 17 Mar 2025 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2025-03-17-ggstatsplot/preview.png" medium="image" type="image/png" height="89" width="144"/>
</item>
<item>
  <title>4 Libros Imprescindibles para Dominar R Shiny</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2025-03-17-librosshiny/</link>
  <description><![CDATA[ 




<section id="libros-imprescindibles-para-dominar-r-shiny" class="level1">
<h1>📌 4 Libros Imprescindibles para Dominar R Shiny 🚀</h1>
<p>📢 <strong>Si quieres aprender a crear aplicaciones web interactivas con R Shiny, estos libros son referencias clave.</strong></p>
<p>📌 <strong>Desde la introducción hasta el desarrollo de aplicaciones de nivel profesional, estos recursos te ayudarán a mejorar tus habilidades en Shiny.</strong></p>
<p>A continuación, presentamos <strong>4 libros esenciales</strong> para dominar <strong>Shiny en R</strong>, con enlaces a versiones online disponibles.</p>
</section>
<section id="mastering-shiny-hadley-wickham" class="level1">
<h1>🟢 1. Mastering Shiny – Hadley Wickham</h1>
<p>📖 <strong>Autor:</strong> Hadley Wickham<br>
🔗 <strong>Versión online:</strong> <a href="https://mastering-shiny.org/">Mastering Shiny (O’Reilly)</a></p>
<p>📌 <strong>Este libro es la mejor introducción a Shiny si vienes del mundo de R y quieres desarrollar aplicaciones interactivas.</strong><br>
<img src="https://rigobertochandomiblog.com/posts/2025-03-17-librosshiny/Shiny1_.jpg" class="img-fluid"></p>
<p>✅ <strong>Estructurado en tres partes:</strong> fundamentos, reactividad avanzada y despliegue.<br>
✅ <strong>Explica en detalle cómo usar <code>reactive()</code> y <code>observe()</code>.</strong><br>
✅ <strong>Incluye prácticas recomendadas para optimizar rendimiento y organizar código.</strong></p>
<p>Si buscas un <strong>punto de partida sólido</strong>, este es <strong>el libro ideal</strong>.</p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Instalar y cargar Shiny</span></span>
<span id="cb1-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">install.packages</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"shiny"</span>)</span>
<span id="cb1-3"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(shiny)</span>
<span id="cb1-4"></span>
<span id="cb1-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Ejemplo básico de aplicación Shiny</span></span>
<span id="cb1-6">ui <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">fluidPage</span>(</span>
<span id="cb1-7">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">titlePanel</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Ejemplo Shiny"</span>),</span>
<span id="cb1-8">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sidebarLayout</span>(</span>
<span id="cb1-9">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sidebarPanel</span>(</span>
<span id="cb1-10">      <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sliderInput</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"num"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Selecciona un número:"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">min =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">1</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">max =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">100</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">value =</span> <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">50</span>)</span>
<span id="cb1-11">    ),</span>
<span id="cb1-12">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">mainPanel</span>(</span>
<span id="cb1-13">      <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">textOutput</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"result"</span>)</span>
<span id="cb1-14">    )</span>
<span id="cb1-15">  )</span>
<span id="cb1-16">)</span>
<span id="cb1-17"></span>
<span id="cb1-18">server <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">function</span>(input, output) {</span>
<span id="cb1-19">  output<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>result <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">renderText</span>({ <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">paste</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Número seleccionado:"</span>, input<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>num) })</span>
<span id="cb1-20">}</span>
<span id="cb1-21"></span>
<span id="cb1-22"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">shinyApp</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">ui =</span> ui, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">server =</span> server)</span></code></pre></div>
</details>
</div>
<p>📌 <strong>Este código muestra un ejemplo simple de una aplicación con <code>sliderInput()</code>.</strong></p>
</section>
<section id="outstanding-user-interfaces-with-shiny-david-granjon" class="level1">
<h1>🟢 2. Outstanding User Interfaces With Shiny – David Granjon</h1>
<p>📖 <strong>Autor:</strong> David Granjon<br>
🔗 <strong>Versión online:</strong> <a href="https://divadnojnarg.github.io/outstanding-shiny-ui/">Shiny UI Book (Granjon)</a></p>
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-17-librosshiny/Shiny2.jpg" class="img-fluid"></p>
<p>📌 <strong>Si quieres mejorar la apariencia de tus aplicaciones, este libro es imprescindible.</strong></p>
<p>✅ <strong>Explica <code>shinydashboard</code>, <code>bs4Dash</code> y <code>golem</code> para aplicaciones modulares.</strong><br>
✅ <strong>Guía sobre diseño de interfaces con Bootstrap y HTML/CSS.</strong><br>
✅ <strong>Ejemplos avanzados de visualización y UX en Shiny.</strong></p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb2-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Ejemplo de Shiny con shinydashboard</span></span>
<span id="cb2-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">install.packages</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"shinydashboard"</span>)</span>
<span id="cb2-3"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(shinydashboard)</span>
<span id="cb2-4"></span>
<span id="cb2-5">ui <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">dashboardPage</span>(</span>
<span id="cb2-6">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">dashboardHeader</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">title =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Dashboard"</span>),</span>
<span id="cb2-7">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">dashboardSidebar</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">sidebarMenu</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">menuItem</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Inicio"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">tabName =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"inicio"</span>, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">icon =</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">icon</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"home"</span>)))),</span>
<span id="cb2-8">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">dashboardBody</span>(</span>
<span id="cb2-9">    <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">tabItems</span>(</span>
<span id="cb2-10">      <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">tabItem</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">tabName =</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"inicio"</span>, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">h2</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Bienvenido a un Dashboard con Shiny"</span>))</span>
<span id="cb2-11">    )</span>
<span id="cb2-12">  )</span>
<span id="cb2-13">)</span>
<span id="cb2-14"></span>
<span id="cb2-15">server <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">function</span>(input, output) {}</span>
<span id="cb2-16"></span>
<span id="cb2-17"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">shinyApp</span>(ui, server)</span></code></pre></div>
</details>
</div>
<p>📌 <strong>Con <code>shinydashboard</code>, puedes crear aplicaciones con un diseño más profesional.</strong></p>
</section>
<section id="engineering-production-grade-shiny-apps-colin-fay" class="level1">
<h1>🟢 3. Engineering Production-Grade Shiny Apps – Colin Fay</h1>
<p>📖 <strong>Autor:</strong> Colin Fay<br>
🔗 <strong>Versión online:</strong> <a href="https://engineering-shiny.org/">O’Reilly – Engineering Shiny</a></p>
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-17-librosshiny/Shiny3.jpg" class="img-fluid"></p>
<p>📌 <strong>Este libro es ideal para quienes buscan crear aplicaciones de nivel empresarial.</strong></p>
<p>✅ <strong>Estructuración del código con <code>golem</code>.</strong><br>
✅ <strong>Manejo de seguridad, logging y pruebas en aplicaciones Shiny.</strong><br>
✅ <strong>Mejoras de escalabilidad y rendimiento.</strong></p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb3-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Ejemplo de estructura modular con golem</span></span>
<span id="cb3-2"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">install.packages</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"golem"</span>)</span>
<span id="cb3-3"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(golem)</span>
<span id="cb3-4"></span>
<span id="cb3-5"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear un nuevo proyecto con golem</span></span>
<span id="cb3-6">golem<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">::</span><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">create_golem</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"MiShinyApp"</span>)</span></code></pre></div>
</details>
</div>
<p>📌 <strong>Si buscas desarrollar aplicaciones robustas para producción, este es el mejor recurso.</strong></p>
</section>
<section id="interactive-web-based-data-visualization-with-r-plotly-and-shiny" class="level1">
<h1>🟢 4. Interactive Web-Based Data Visualization with R, Plotly, and Shiny</h1>
<p>📖 <strong>Autores:</strong> Carson Sievert<br>
🔗 <strong>Versión online:</strong> <a href="https://plotly-r.com/">Plotly &amp; Shiny (Libro)</a></p>
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-17-librosshiny/Shiny4.jpg" class="img-fluid"></p>
<p>📌 <strong>Este libro combina la potencia de Shiny con visualizaciones interactivas en <code>plotly</code>.</strong></p>
<p>✅ <strong>Explicación detallada de <code>ggplotly()</code> para gráficos dinámicos.</strong><br>
✅ <strong>Ejemplos con mapas, dashboards y gráficos personalizados.</strong><br>
✅ <strong>Integración avanzada entre Shiny y Plotly.</strong></p>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb4" style="background: #f1f3f5;"><pre class="sourceCode r code-with-copy"><code class="sourceCode r"><span id="cb4-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Ejemplo de gráfico interactivo con plotly y Shiny</span></span>
<span id="cb4-2"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#install.packages("plotly")</span></span>
<span id="cb4-3"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(shiny)</span>
<span id="cb4-4"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">library</span>(plotly)</span>
<span id="cb4-5"></span>
<span id="cb4-6">ui <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">fluidPage</span>(</span>
<span id="cb4-7">  <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">plotlyOutput</span>(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"plot"</span>)</span>
<span id="cb4-8">)</span>
<span id="cb4-9"></span>
<span id="cb4-10">server <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="cf" style="color: #003B4F;
background-color: null;
font-weight: bold;
font-style: inherit;">function</span>(input, output) {</span>
<span id="cb4-11">  output<span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">$</span>plot <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">renderPlotly</span>({</span>
<span id="cb4-12">    p <span class="ot" style="color: #003B4F;
background-color: null;
font-style: inherit;">&lt;-</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplotly</span>(<span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">ggplot</span>(mtcars, <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">aes</span>(<span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">x =</span> wt, <span class="at" style="color: #657422;
background-color: null;
font-style: inherit;">y =</span> mpg)) <span class="sc" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span> <span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">geom_point</span>())</span>
<span id="cb4-13">    p</span>
<span id="cb4-14">  })</span>
<span id="cb4-15">}</span>
<span id="cb4-16"></span>
<span id="cb4-17"><span class="fu" style="color: #4758AB;
background-color: null;
font-style: inherit;">shinyApp</span>(ui, server)</span></code></pre></div>
</details>
</div>
<p>📌 <strong>Este código genera un gráfico interactivo con <code>ggplotly()</code>.</strong></p>
</section>
<section id="conclusión" class="level1">
<h1>📌 <strong>Conclusión</strong></h1>
<p>📌 <strong>Si estás comenzando con Shiny, “Mastering Shiny” es la mejor opción.</strong><br>
📌 <strong>Si te interesa mejorar interfaces, “Outstanding User Interfaces with Shiny” te dará todas las herramientas.</strong><br>
📌 <strong>Para aplicaciones en producción, “Engineering Production-Grade Shiny Apps” es esencial.</strong><br>
📌 <strong>Si buscas interactividad en gráficos, “Interactive Web-Based Data Visualization with R, Plotly, and Shiny” es la mejor opción.</strong></p>
<p>Estos libros <strong>cubren desde lo básico hasta lo más avanzado en Shiny</strong>, permitiéndote crear aplicaciones de alto impacto con R.</p>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>

 ]]></description>
  <guid>https://rigobertochandomiblog.com/posts/2025-03-17-librosshiny/</guid>
  <pubDate>Mon, 17 Mar 2025 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2025-03-17-librosshiny/Shiny1_.jpg" medium="image" type="image/jpeg"/>
</item>
<item>
  <title>3 Librerías de Python para Visualización de Datos: Plotnine, Pygal y Folium</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2025-03-17-pythonvisualizacion/</link>
  <description><![CDATA[ 




<p>Veamos cómo utilizarlas con ejemplos más avanzados. 🚀 # 🔵 Plotnine: Visualización con Gramática de Gráficos</p>
<p>📌 <strong>Plotnine es la implementación de la gramática de gráficos en Python, similar a ggplot2 en R.</strong></p>
<p>✅ <strong>Facilita la construcción de gráficos mediante capas.</strong><br>
✅ <strong>Permite un alto grado de personalización.</strong><br>
✅ <strong>Compatible con Pandas y NumPy.</strong></p>
<p>🔗 <strong>Documentación:</strong> <a href="https://github.com/has2k1/plotnine">Plotnine en GitHub</a></p>
<section id="ejemplo-gráfico-de-dispersión-con-regresión" class="level3">
<h3 class="anchored" data-anchor-id="ejemplo-gráfico-de-dispersión-con-regresión"><strong>Ejemplo: Gráfico de Dispersión con Regresión</strong></h3>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb1" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb1-1"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Importar librerías</span></span>
<span id="cb1-2"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pandas <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> pd</span>
<span id="cb1-3"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> matplotlib.pyplot <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">as</span> plt</span>
<span id="cb1-4"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">from</span> plotnine <span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> ggplot, aes, geom_point, geom_smooth, theme_minimal</span>
<span id="cb1-5"></span>
<span id="cb1-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Cargar datos</span></span>
<span id="cb1-7">df <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pd.read_csv(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"https://raw.githubusercontent.com/mwaskom/seaborn-data/master/mpg.csv"</span>)</span>
<span id="cb1-8"></span>
<span id="cb1-9"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear gráfico con los nombres correctos de las columnas</span></span>
<span id="cb1-10">plot <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> (ggplot(df, aes(x<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'displacement'</span>, y<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'mpg'</span>)) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span>  <span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Cambiamos hwy -&gt; mpg</span></span>
<span id="cb1-11">        geom_point(color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"blue"</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb1-12">        geom_smooth(method<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">'lm'</span>, color<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"red"</span>, se<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="va" style="color: #111111;
background-color: null;
font-style: inherit;">True</span>) <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">+</span></span>
<span id="cb1-13">        theme_minimal())</span>
<span id="cb1-14"></span>
<span id="cb1-15"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Mostrar gráfico en RMarkdown</span></span>
<span id="cb1-16">plot.draw()</span>
<span id="cb1-17"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#plt.show()</span></span>
<span id="cb1-18"></span>
<span id="cb1-19"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Guardar el gráfico como imagen</span></span>
<span id="cb1-20"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">#plot.save("plotnine_output.png", dpi=300)</span></span></code></pre></div>
</details>
</div>
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-17-pythonvisualizacion/plotnine_output.png" class="img-fluid" style="width:100.0%"></p>
<p>📌 <strong>En este gráfico:</strong><br>
✅ <strong>Se representa la relación entre el desplazamiento del motor y la eficiencia en carretera.</strong><br>
✅ <strong>Se añade una línea de regresión con un intervalo de confianza.</strong><br>
✅ <strong>El estilo minimalista mejora la legibilidad.</strong></p>
</section>
<section id="pygal-gráficos-interactivos-en-svg" class="level1">
<h1>🔵 Pygal: Gráficos Interactivos en SVG</h1>
<p>📌 <strong>Pygal permite generar gráficos interactivos en formato SVG, ideales para web.</strong></p>
<p>✅ <strong>Ligero y fácil de usar.</strong><br>
✅ <strong>Ideal para dashboards interactivos.</strong><br>
✅ <strong>Compatible con Flask y Django.</strong></p>
<p>🔗 <strong>Documentación:</strong> <a href="https://github.com/Kozea/pygal">Pygal en GitHub</a></p>
<section id="ejemplo-gráfico-de-barras-comparativo" class="level3">
<h3 class="anchored" data-anchor-id="ejemplo-gráfico-de-barras-comparativo"><strong>Ejemplo: Gráfico de Barras Comparativo</strong></h3>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb2" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb2-1"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> pygal</span>
<span id="cb2-2"></span>
<span id="cb2-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear un gráfico de barras</span></span>
<span id="cb2-4">bar_chart <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> pygal.Bar()</span>
<span id="cb2-5">bar_chart.title <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Comparación de Consumo de Combustible"</span></span>
<span id="cb2-6">bar_chart.add(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Ciudad"</span>, [<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">15</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">18</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">22</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">24</span>])<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">;</span></span>
<span id="cb2-7">bar_chart.add(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Carretera"</span>, [<span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">20</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">24</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">28</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">30</span>, <span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">32</span>])<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">;</span></span>
<span id="cb2-8">bar_chart.x_labels <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> [<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Toyota"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Ford"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"BMW"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Tesla"</span>, <span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Honda"</span>]</span>
<span id="cb2-9"></span>
<span id="cb2-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Guardar como archivo SVG</span></span>
<span id="cb2-11">bar_chart.render_to_file(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"barras.svg"</span>)</span></code></pre></div>
</details>
</div>
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-17-pythonvisualizacion/barras.svg" class="img-fluid" style="width:100.0%"></p>
<p>📌 <strong>Este gráfico incluye:</strong><br>
✅ <strong>Comparación entre consumo en ciudad y carretera.</strong><br>
✅ <strong>Formato interactivo que se puede usar en web.</strong><br>
✅ <strong>Se genera en un archivo SVG optimizado.</strong></p>
</section>
</section>
<section id="folium-mapas-interactivos-con-leaflet.js" class="level1">
<h1>🔵 Folium: Mapas Interactivos con Leaflet.js</h1>
<p>📌 <strong>Folium es la mejor opción para crear mapas interactivos en Python con Leaflet.js.</strong></p>
<p>✅ <strong>Fácil integración con datos geoespaciales.</strong><br>
✅ <strong>Permite superponer datos sobre mapas de OpenStreetMap.</strong><br>
✅ <strong>Compatible con Pandas y GeoJSON.</strong></p>
<p>🔗 <strong>Documentación:</strong> <a href="https://github.com/python-visualization/folium">Folium en GitHub</a></p>
<section id="ejemplo-mapa-con-marcadores-personalizados" class="level3">
<h3 class="anchored" data-anchor-id="ejemplo-mapa-con-marcadores-personalizados"><strong>Ejemplo: Mapa con Marcadores Personalizados</strong></h3>
<div class="cell">
<details class="code-fold">
<summary>Ver código</summary>
<div class="sourceCode cell-code" id="cb3" style="background: #f1f3f5;"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb3-1"><span class="im" style="color: #00769E;
background-color: null;
font-style: inherit;">import</span> folium</span>
<span id="cb3-2"></span>
<span id="cb3-3"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Crear mapa centrado en una ubicación</span></span>
<span id="cb3-4">mapa <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span> folium.Map(location<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span>[<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">19.4326</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">99.1332</span>], zoom_start<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="dv" style="color: #AD0000;
background-color: null;
font-style: inherit;">10</span>)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">;</span> </span>
<span id="cb3-5"></span>
<span id="cb3-6"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Agregar marcadores con información emergente</span></span>
<span id="cb3-7">folium.Marker([<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">19.4326</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">99.1332</span>], popup<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Ciudad de México"</span>).add_to(mapa)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">;</span></span>
<span id="cb3-8">folium.Marker([<span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">20.6597</span>, <span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">-</span><span class="fl" style="color: #AD0000;
background-color: null;
font-style: inherit;">103.3496</span>], popup<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">=</span><span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"Guadalajara"</span>).add_to(mapa)<span class="op" style="color: #5E5E5E;
background-color: null;
font-style: inherit;">;</span></span>
<span id="cb3-9"></span>
<span id="cb3-10"><span class="co" style="color: #5E5E5E;
background-color: null;
font-style: inherit;"># Guardar mapa en HTML</span></span>
<span id="cb3-11">mapa.save(<span class="st" style="color: #20794D;
background-color: null;
font-style: inherit;">"mapa_interactivo.html"</span>)</span></code></pre></div>
</details>
</div>
<p><img src="https://rigobertochandomiblog.com/posts/2025-03-17-pythonvisualizacion/mapa.png" class="img-fluid" style="width:100.0%"></p>
<p>📌 <strong>Este mapa incluye:</strong><br>
✅ <strong>Ubicaciones clave en México.</strong><br>
✅ <strong>Marcadores con información emergente.</strong><br>
✅ <strong>Generación de un archivo HTML interactivo.</strong></p>
</section>
</section>
<section id="comparación-de-las-librerías" class="level1">
<h1>📌 Comparación de las Librerías</h1>
<div class="cell">
<div class="cell-output cell-output-stdout">
<pre><code>   Librería  Tipo de gráficos             Mejor uso   Compatibilidad
0  Plotnine         Estáticos  Exploración de datos    Pandas, NumPy
1     Pygal  Interactivos SVG     Visualización web    Django, Flask
2    Folium             Mapas  Análisis geoespacial  GeoJSON, Pandas</code></pre>
</div>
</div>
<p>📌 <strong>Resumen de diferencias entre librerías:</strong><br>
✅ <strong>Plotnine</strong> es ideal para visualizaciones estáticas y exploración de datos.<br>
✅ <strong>Pygal</strong> destaca en gráficos interactivos que se pueden incrustar en web.<br>
✅ <strong>Folium</strong> permite trabajar con datos geoespaciales de manera sencilla.</p>
</section>
<section id="conclusión" class="level1">
<h1><strong>Conclusión</strong></h1>
<p>📌 <strong>Cada una de estas librerías tiene un caso de uso ideal:</strong></p>
<p>✅ <strong>Si buscas gráficos al estilo ggplot2, usa Plotnine.</strong><br>
✅ <strong>Si necesitas gráficos interactivos en web, Pygal es una excelente opción.</strong><br>
✅ <strong>Si trabajas con mapas, Folium te permitirá visualizar datos geoespaciales de forma interactiva.</strong></p>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>


</section>

 ]]></description>
  <guid>https://rigobertochandomiblog.com/posts/2025-03-17-pythonvisualizacion/</guid>
  <pubDate>Mon, 17 Mar 2025 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2025-03-17-pythonvisualizacion/plotnine_output.png" medium="image" type="image/png" height="108" width="144"/>
</item>
<item>
  <title>Generación de curvas de permeabilidades relativas en Excel</title>
  <dc:creator>Rigoberto Chandomi</dc:creator>
  <link>https://rigobertochandomiblog.com/posts/2024-11-16-krpcexcel/</link>
  <description><![CDATA[ 




<p>En este ejemplo te muestro como generar un set de curvas de permeabilidades relativas en Excel. Para ello vamos a hacer uso de las ecuaciones analíticas de permeabilidades relativas las cuales se basan en los exponentes de Corey. Estos exponentes que se definen en cada una de las curvas tanto para el sistema agua aceite como para el sistema gas aceite. A partir de ese valor y algunos otros valores de entrada los cuales pueden ser obtenidos de datos de núcleos o estimaciones a partir de otros métodos podemos generar un set de curvas de relativas el cual puede ser usado en modelos de yacimientos como es simulación numérica o balance de materia</p>
<p><img src="https://rigobertochandomiblog.com/posts/2024-11-16-krpcexcel/imagen1.png" class="img-fluid" style="width:100.0%"></p>
<p>Para este ejemplo disponemos de la siguiente información. Para cada uno de los sistemas tenemos la saturación de agua inicial, saturación de aceite residual, permeabilidad relativa de aceite, agua y gas máxima, la presión capilar máxima y el exponente para cada una de las curvas en este caso para la curva</p>
<p>El objetivo es generar una tabla en la que tengamos para cada valor de saturación de agua un valor de permeabilidad relativa al agua, permeabilidad relativa al aceite y de presión capilar para obtener un set de curvas para el sistema agua-aceite y gas-aceite</p>
<p><img src="https://rigobertochandomiblog.com/posts/2024-11-16-krpcexcel/imagen3.png" class="img-fluid" style="width:60.0%"></p>
<p>Primero se define una serie de valores de Sw dentro del rango de Swi y 1-Sor, después aplicamos para cada curva su ecuación correspondiente. De esta forma obtenemos para el sistema agua-aceite las curvas de Krw, Kro y Pc, de manera similar se realiza para el sistema gas-aceite obteniendo Krg, Kro y Pc.</p>
<p>Posteriormente podemos generar el gráfico para cada sistema asegurándonos que cumplas con las consideraciones iniciales y tengan una forma lógica.</p>
<p><img src="https://rigobertochandomiblog.com/posts/2024-11-16-krpcexcel/imagen4.png" class="img-fluid" style="width:60.0%"></p>
<p>En el siguiente video puedes encontrar el mismo procedimiento</p>
<iframe src="https://www.youtube.com/embed/YfkYgcQgb4k" width="560" height="315" frameborder="0" allowfullscreen="">
</iframe>
<div class="cell">
<div class="cell-output-display">


<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8852121115266328" crossorigin="anonymous"></script>

<div class="sidebar-section custom">
<script type="text/javascript" src="https://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js" data-name="bmc-button" data-slug="rigochando" data-color="#40DCA5" data-emoji="" data-font="Cookie" data-text="Buy me a coffee" data-outline-color="#000000" data-font-color="#ffffff" data-coffee-color="#FFDD00"></script>
</div>
</div>
</div>



 ]]></description>
  <guid>https://rigobertochandomiblog.com/posts/2024-11-16-krpcexcel/</guid>
  <pubDate>Sat, 16 Nov 2024 06:00:00 GMT</pubDate>
  <media:content url="https://rigobertochandomiblog.com/posts/2024-11-16-krpcexcel/Imagen2.png" medium="image" type="image/png" height="177" width="144"/>
</item>
</channel>
</rss>
