mirror of
https://github.com/fjosw/pyerrors.git
synced 2025-03-16 15:20:24 +01:00
Documentation updated
This commit is contained in:
parent
54bab990e1
commit
8674dff110
1 changed files with 237 additions and 48 deletions
|
@ -87,6 +87,7 @@
|
|||
<span class="kn">import</span> <span class="nn">platform</span>
|
||||
<span class="kn">import</span> <span class="nn">warnings</span>
|
||||
<span class="kn">from</span> <span class="nn">..obs</span> <span class="kn">import</span> <span class="n">Obs</span>
|
||||
<span class="kn">from</span> <span class="nn">..covobs</span> <span class="kn">import</span> <span class="n">Covobs</span>
|
||||
<span class="kn">from</span> <span class="nn">..</span> <span class="kn">import</span> <span class="n">version</span> <span class="k">as</span> <span class="n">pyerrorsversion</span>
|
||||
|
||||
|
||||
|
@ -128,9 +129,25 @@
|
|||
<span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="fm">__repr__</span><span class="p">()</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">Floatlist</span><span class="p">:</span>
|
||||
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">li</span><span class="p">):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">li</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">li</span><span class="p">)</span>
|
||||
|
||||
<span class="k">def</span> <span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="n">s</span> <span class="o">=</span> <span class="s1">'['</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">li</span><span class="p">)):</span>
|
||||
<span class="k">if</span> <span class="n">i</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">s</span> <span class="o">+=</span> <span class="s1">', '</span>
|
||||
<span class="n">s</span> <span class="o">+=</span> <span class="s1">'</span><span class="si">%1.15e</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">li</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
|
||||
<span class="n">s</span> <span class="o">+=</span> <span class="s1">']'</span>
|
||||
<span class="k">return</span> <span class="n">s</span>
|
||||
|
||||
<span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="fm">__repr__</span><span class="p">()</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_gen_data_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
<span class="n">dl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">e_names</span><span class="p">:</span>
|
||||
<span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">mc_names</span><span class="p">:</span>
|
||||
<span class="n">ed</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'id'</span><span class="p">]</span> <span class="o">=</span> <span class="n">name</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'replica'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -149,6 +166,23 @@
|
|||
<span class="n">dl</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ed</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">dl</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_gen_cdata_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
<span class="n">dl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">cov_names</span><span class="p">:</span>
|
||||
<span class="n">ed</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'id'</span><span class="p">]</span> <span class="o">=</span> <span class="n">name</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'layout'</span><span class="p">]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">cov</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span><span class="o">.</span><span class="n">lstrip</span><span class="p">(</span><span class="s1">'('</span><span class="p">)</span><span class="o">.</span><span class="n">rstrip</span><span class="p">(</span><span class="s1">')'</span><span class="p">)</span><span class="o">.</span><span class="n">rstrip</span><span class="p">(</span><span class="s1">','</span><span class="p">)</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'cov'</span><span class="p">]</span> <span class="o">=</span> <span class="n">Floatlist</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ravel</span><span class="p">(</span><span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">cov</span><span class="p">))</span>
|
||||
<span class="n">ncov</span> <span class="o">=</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">cov</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">ncov</span><span class="p">):</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
||||
<span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">:</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">grad</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">Floatlist</span><span class="p">(</span><span class="n">ed</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
|
||||
<span class="n">dl</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ed</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">dl</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_assert_equal_properties</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">otype</span><span class="o">=</span><span class="n">Obs</span><span class="p">):</span>
|
||||
<span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">otype</span><span class="p">):</span>
|
||||
|
@ -172,7 +206,12 @@
|
|||
<span class="k">if</span> <span class="n">o</span><span class="o">.</span><span class="n">reweighted</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'reweighted'</span><span class="p">]</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">reweighted</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'value'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span><span class="p">]</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'data'</span><span class="p">]</span> <span class="o">=</span> <span class="n">_gen_data_d_from_list</span><span class="p">([</span><span class="n">o</span><span class="p">])</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">_gen_data_d_from_list</span><span class="p">([</span><span class="n">o</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'data'</span><span class="p">]</span> <span class="o">=</span> <span class="n">data</span>
|
||||
<span class="n">cdata</span> <span class="o">=</span> <span class="n">_gen_cdata_d_from_list</span><span class="p">([</span><span class="n">o</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">cdata</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'cdata'</span><span class="p">]</span> <span class="o">=</span> <span class="n">cdata</span>
|
||||
<span class="k">return</span> <span class="n">d</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">write_List_to_dict</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
|
@ -186,7 +225,12 @@
|
|||
<span class="k">if</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">reweighted</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'reweighted'</span><span class="p">]</span> <span class="o">=</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">reweighted</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'value'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">]</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'data'</span><span class="p">]</span> <span class="o">=</span> <span class="n">_gen_data_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">_gen_data_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'data'</span><span class="p">]</span> <span class="o">=</span> <span class="n">data</span>
|
||||
<span class="n">cdata</span> <span class="o">=</span> <span class="n">_gen_cdata_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">cdata</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'cdata'</span><span class="p">]</span> <span class="o">=</span> <span class="n">cdata</span>
|
||||
<span class="k">return</span> <span class="n">d</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">write_Array_to_dict</span><span class="p">(</span><span class="n">oa</span><span class="p">):</span>
|
||||
|
@ -201,7 +245,12 @@
|
|||
<span class="k">if</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">reweighted</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'reweighted'</span><span class="p">]</span> <span class="o">=</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">reweighted</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'value'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">]</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'data'</span><span class="p">]</span> <span class="o">=</span> <span class="n">_gen_data_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">_gen_data_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'data'</span><span class="p">]</span> <span class="o">=</span> <span class="n">data</span>
|
||||
<span class="n">cdata</span> <span class="o">=</span> <span class="n">_gen_cdata_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">cdata</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'cdata'</span><span class="p">]</span> <span class="o">=</span> <span class="n">cdata</span>
|
||||
<span class="k">return</span> <span class="n">d</span>
|
||||
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
|
||||
|
@ -234,9 +283,9 @@
|
|||
<span class="n">deltas</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
<span class="n">split</span> <span class="o">=</span> <span class="n">s</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">split</span><span class="p">)):</span>
|
||||
<span class="k">if</span> <span class="s1">'"deltas":'</span> <span class="ow">in</span> <span class="n">split</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span>
|
||||
<span class="k">if</span> <span class="s1">'"deltas":'</span> <span class="ow">in</span> <span class="n">split</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">'"cov":'</span> <span class="ow">in</span> <span class="n">split</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">'"grad":'</span> <span class="ow">in</span> <span class="n">split</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span>
|
||||
<span class="n">deltas</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
<span class="k">elif</span> <span class="n">deltas</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">deltas</span><span class="p">:</span>
|
||||
<span class="n">split</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">split</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">'"['</span><span class="p">,</span> <span class="s1">'['</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">']"'</span><span class="p">,</span> <span class="s1">']'</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">split</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="s1">']'</span><span class="p">:</span>
|
||||
<span class="n">deltas</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
|
@ -302,6 +351,7 @@
|
|||
|
||||
<span class="k">def</span> <span class="nf">_gen_obsd_from_datad</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
<span class="n">retd</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="k">if</span> <span class="n">d</span><span class="p">:</span>
|
||||
<span class="n">retd</span><span class="p">[</span><span class="s1">'names'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">retd</span><span class="p">[</span><span class="s1">'idl'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">retd</span><span class="p">[</span><span class="s1">'deltas'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -314,17 +364,42 @@
|
|||
<span class="n">retd</span><span class="p">[</span><span class="s1">'is_merged'</span><span class="p">][</span><span class="n">rep</span><span class="p">[</span><span class="s1">'name'</span><span class="p">]]</span> <span class="o">=</span> <span class="n">rep</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'is_merged'</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">retd</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_gen_covobsd_from_cdatad</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
<span class="n">retd</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="k">for</span> <span class="n">ens</span> <span class="ow">in</span> <span class="n">d</span><span class="p">:</span>
|
||||
<span class="n">retl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">name</span> <span class="o">=</span> <span class="n">ens</span><span class="p">[</span><span class="s1">'id'</span><span class="p">]</span>
|
||||
<span class="n">layouts</span> <span class="o">=</span> <span class="n">ens</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'layout'</span><span class="p">,</span> <span class="s1">'1'</span><span class="p">)</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="n">layout</span> <span class="o">=</span> <span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">ls</span><span class="o">.</span><span class="n">strip</span><span class="p">())</span> <span class="k">for</span> <span class="n">ls</span> <span class="ow">in</span> <span class="n">layouts</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">','</span><span class="p">)</span> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">cov</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">ens</span><span class="p">[</span><span class="s1">'cov'</span><span class="p">],</span> <span class="n">layout</span><span class="p">)</span>
|
||||
<span class="n">grad</span> <span class="o">=</span> <span class="n">ens</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">]</span>
|
||||
<span class="n">nobs</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">grad</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nobs</span><span class="p">):</span>
|
||||
<span class="n">retl</span><span class="o">.</span><span class="n">append</span><span class="p">({</span><span class="s1">'name'</span><span class="p">:</span> <span class="n">name</span><span class="p">,</span> <span class="s1">'cov'</span><span class="p">:</span> <span class="n">cov</span><span class="p">,</span> <span class="s1">'grad'</span><span class="p">:</span> <span class="p">[</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">g</span> <span class="ow">in</span> <span class="n">grad</span><span class="p">]})</span>
|
||||
<span class="n">retd</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">retl</span>
|
||||
<span class="k">return</span> <span class="n">retd</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">get_Obs_from_dict</span><span class="p">(</span><span class="n">o</span><span class="p">):</span>
|
||||
<span class="n">layouts</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'layout'</span><span class="p">,</span> <span class="s1">'1'</span><span class="p">)</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">layouts</span> <span class="o">!=</span> <span class="s1">'1'</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"layout is </span><span class="si">%s</span><span class="s2"> has to be 1 for type Obs."</span> <span class="o">%</span> <span class="p">(</span><span class="n">layouts</span><span class="p">),</span> <span class="ne">RuntimeWarning</span><span class="p">)</span>
|
||||
|
||||
<span class="n">values</span> <span class="o">=</span> <span class="n">o</span><span class="p">[</span><span class="s1">'value'</span><span class="p">]</span>
|
||||
<span class="n">od</span> <span class="o">=</span> <span class="n">_gen_obsd_from_datad</span><span class="p">(</span><span class="n">o</span><span class="p">[</span><span class="s1">'data'</span><span class="p">])</span>
|
||||
<span class="n">od</span> <span class="o">=</span> <span class="n">_gen_obsd_from_datad</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'data'</span><span class="p">,</span> <span class="p">{}))</span>
|
||||
<span class="n">cd</span> <span class="o">=</span> <span class="n">_gen_covobsd_from_cdatad</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'cdata'</span><span class="p">,</span> <span class="p">{}))</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">od</span><span class="p">:</span>
|
||||
<span class="n">ret</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([[</span><span class="n">ddi</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">values</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">ddi</span> <span class="ow">in</span> <span class="n">di</span><span class="p">]</span> <span class="k">for</span> <span class="n">di</span> <span class="ow">in</span> <span class="n">od</span><span class="p">[</span><span class="s1">'deltas'</span><span class="p">]],</span> <span class="n">od</span><span class="p">[</span><span class="s1">'names'</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="n">od</span><span class="p">[</span><span class="s1">'idl'</span><span class="p">])</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'reweighted'</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">is_merged</span> <span class="o">=</span> <span class="n">od</span><span class="p">[</span><span class="s1">'is_merged'</span><span class="p">]</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">ret</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([],</span> <span class="p">[])</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">values</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">cd</span><span class="p">:</span>
|
||||
<span class="n">co</span> <span class="o">=</span> <span class="n">cd</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">_covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">Covobs</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="n">co</span><span class="p">[</span><span class="s1">'cov'</span><span class="p">],</span> <span class="n">co</span><span class="p">[</span><span class="s1">'name'</span><span class="p">],</span> <span class="n">grad</span><span class="o">=</span><span class="n">co</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">])</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">co</span><span class="p">[</span><span class="s1">'name'</span><span class="p">])</span>
|
||||
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'reweighted'</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'tag'</span><span class="p">,</span> <span class="p">[</span><span class="kc">None</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="n">ret</span>
|
||||
|
||||
|
@ -332,14 +407,25 @@
|
|||
<span class="n">layouts</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'layout'</span><span class="p">,</span> <span class="s1">'1'</span><span class="p">)</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="n">layout</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">layouts</span><span class="p">)</span>
|
||||
<span class="n">values</span> <span class="o">=</span> <span class="n">o</span><span class="p">[</span><span class="s1">'value'</span><span class="p">]</span>
|
||||
<span class="n">od</span> <span class="o">=</span> <span class="n">_gen_obsd_from_datad</span><span class="p">(</span><span class="n">o</span><span class="p">[</span><span class="s1">'data'</span><span class="p">])</span>
|
||||
<span class="n">od</span> <span class="o">=</span> <span class="n">_gen_obsd_from_datad</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'data'</span><span class="p">,</span> <span class="p">{}))</span>
|
||||
<span class="n">cd</span> <span class="o">=</span> <span class="n">_gen_covobsd_from_cdatad</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'cdata'</span><span class="p">,</span> <span class="p">{}))</span>
|
||||
|
||||
<span class="n">ret</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">taglist</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'tag'</span><span class="p">,</span> <span class="n">layout</span> <span class="o">*</span> <span class="p">[</span><span class="kc">None</span><span class="p">])</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">layout</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">od</span><span class="p">:</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">([</span><span class="nb">list</span><span class="p">(</span><span class="n">di</span><span class="p">[:,</span> <span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">values</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="k">for</span> <span class="n">di</span> <span class="ow">in</span> <span class="n">od</span><span class="p">[</span><span class="s1">'deltas'</span><span class="p">]],</span> <span class="n">od</span><span class="p">[</span><span class="s1">'names'</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="n">od</span><span class="p">[</span><span class="s1">'idl'</span><span class="p">]))</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'reweighted'</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">is_merged</span> <span class="o">=</span> <span class="n">od</span><span class="p">[</span><span class="s1">'is_merged'</span><span class="p">]</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">([],</span> <span class="p">[]))</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">values</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s1">'Created Obs with means= '</span><span class="p">,</span> <span class="n">values</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
|
||||
<span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">cd</span><span class="p">:</span>
|
||||
<span class="n">co</span> <span class="o">=</span> <span class="n">cd</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">_covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">Covobs</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="n">co</span><span class="p">[</span><span class="s1">'cov'</span><span class="p">],</span> <span class="n">co</span><span class="p">[</span><span class="s1">'name'</span><span class="p">],</span> <span class="n">grad</span><span class="o">=</span><span class="n">co</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">])</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">co</span><span class="p">[</span><span class="s1">'name'</span><span class="p">])</span>
|
||||
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'reweighted'</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">taglist</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="n">ret</span>
|
||||
|
||||
|
@ -348,14 +434,23 @@
|
|||
<span class="n">layout</span> <span class="o">=</span> <span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">ls</span><span class="o">.</span><span class="n">strip</span><span class="p">())</span> <span class="k">for</span> <span class="n">ls</span> <span class="ow">in</span> <span class="n">layouts</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">','</span><span class="p">)</span> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">N</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">prod</span><span class="p">(</span><span class="n">layout</span><span class="p">)</span>
|
||||
<span class="n">values</span> <span class="o">=</span> <span class="n">o</span><span class="p">[</span><span class="s1">'value'</span><span class="p">]</span>
|
||||
<span class="n">od</span> <span class="o">=</span> <span class="n">_gen_obsd_from_datad</span><span class="p">(</span><span class="n">o</span><span class="p">[</span><span class="s1">'data'</span><span class="p">])</span>
|
||||
<span class="n">od</span> <span class="o">=</span> <span class="n">_gen_obsd_from_datad</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'data'</span><span class="p">,</span> <span class="p">{}))</span>
|
||||
<span class="n">cd</span> <span class="o">=</span> <span class="n">_gen_covobsd_from_cdatad</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'cdata'</span><span class="p">,</span> <span class="p">{}))</span>
|
||||
|
||||
<span class="n">ret</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">taglist</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'tag'</span><span class="p">,</span> <span class="n">N</span> <span class="o">*</span> <span class="p">[</span><span class="kc">None</span><span class="p">])</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">N</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">od</span><span class="p">:</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">([</span><span class="n">di</span><span class="p">[:,</span> <span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">values</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">di</span> <span class="ow">in</span> <span class="n">od</span><span class="p">[</span><span class="s1">'deltas'</span><span class="p">]],</span> <span class="n">od</span><span class="p">[</span><span class="s1">'names'</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="n">od</span><span class="p">[</span><span class="s1">'idl'</span><span class="p">]))</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'reweighted'</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">is_merged</span> <span class="o">=</span> <span class="n">od</span><span class="p">[</span><span class="s1">'is_merged'</span><span class="p">]</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">([],</span> <span class="p">[]))</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">values</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">cd</span><span class="p">:</span>
|
||||
<span class="n">co</span> <span class="o">=</span> <span class="n">cd</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">_covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">Covobs</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="n">co</span><span class="p">[</span><span class="s1">'cov'</span><span class="p">],</span> <span class="n">co</span><span class="p">[</span><span class="s1">'name'</span><span class="p">],</span> <span class="n">grad</span><span class="o">=</span><span class="n">co</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">])</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">co</span><span class="p">[</span><span class="s1">'name'</span><span class="p">])</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'reweighted'</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">taglist</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="n">layout</span><span class="p">)</span>
|
||||
|
||||
|
@ -489,9 +584,25 @@
|
|||
<span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="fm">__repr__</span><span class="p">()</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">Floatlist</span><span class="p">:</span>
|
||||
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">li</span><span class="p">):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">li</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">li</span><span class="p">)</span>
|
||||
|
||||
<span class="k">def</span> <span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="n">s</span> <span class="o">=</span> <span class="s1">'['</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">li</span><span class="p">)):</span>
|
||||
<span class="k">if</span> <span class="n">i</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">s</span> <span class="o">+=</span> <span class="s1">', '</span>
|
||||
<span class="n">s</span> <span class="o">+=</span> <span class="s1">'</span><span class="si">%1.15e</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">li</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
|
||||
<span class="n">s</span> <span class="o">+=</span> <span class="s1">']'</span>
|
||||
<span class="k">return</span> <span class="n">s</span>
|
||||
|
||||
<span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="fm">__repr__</span><span class="p">()</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_gen_data_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
<span class="n">dl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">e_names</span><span class="p">:</span>
|
||||
<span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">mc_names</span><span class="p">:</span>
|
||||
<span class="n">ed</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'id'</span><span class="p">]</span> <span class="o">=</span> <span class="n">name</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'replica'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -510,6 +621,23 @@
|
|||
<span class="n">dl</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ed</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">dl</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_gen_cdata_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
<span class="n">dl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">cov_names</span><span class="p">:</span>
|
||||
<span class="n">ed</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'id'</span><span class="p">]</span> <span class="o">=</span> <span class="n">name</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'layout'</span><span class="p">]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">cov</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span><span class="o">.</span><span class="n">lstrip</span><span class="p">(</span><span class="s1">'('</span><span class="p">)</span><span class="o">.</span><span class="n">rstrip</span><span class="p">(</span><span class="s1">')'</span><span class="p">)</span><span class="o">.</span><span class="n">rstrip</span><span class="p">(</span><span class="s1">','</span><span class="p">)</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'cov'</span><span class="p">]</span> <span class="o">=</span> <span class="n">Floatlist</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ravel</span><span class="p">(</span><span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">cov</span><span class="p">))</span>
|
||||
<span class="n">ncov</span> <span class="o">=</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">cov</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">ncov</span><span class="p">):</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
|
||||
<span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">:</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">grad</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span>
|
||||
<span class="n">ed</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">Floatlist</span><span class="p">(</span><span class="n">ed</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
|
||||
<span class="n">dl</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ed</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">dl</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_assert_equal_properties</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="n">otype</span><span class="o">=</span><span class="n">Obs</span><span class="p">):</span>
|
||||
<span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">o</span><span class="p">,</span> <span class="n">otype</span><span class="p">):</span>
|
||||
|
@ -533,7 +661,12 @@
|
|||
<span class="k">if</span> <span class="n">o</span><span class="o">.</span><span class="n">reweighted</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'reweighted'</span><span class="p">]</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">reweighted</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'value'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span><span class="p">]</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'data'</span><span class="p">]</span> <span class="o">=</span> <span class="n">_gen_data_d_from_list</span><span class="p">([</span><span class="n">o</span><span class="p">])</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">_gen_data_d_from_list</span><span class="p">([</span><span class="n">o</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'data'</span><span class="p">]</span> <span class="o">=</span> <span class="n">data</span>
|
||||
<span class="n">cdata</span> <span class="o">=</span> <span class="n">_gen_cdata_d_from_list</span><span class="p">([</span><span class="n">o</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">cdata</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'cdata'</span><span class="p">]</span> <span class="o">=</span> <span class="n">cdata</span>
|
||||
<span class="k">return</span> <span class="n">d</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">write_List_to_dict</span><span class="p">(</span><span class="n">ol</span><span class="p">):</span>
|
||||
|
@ -547,7 +680,12 @@
|
|||
<span class="k">if</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">reweighted</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'reweighted'</span><span class="p">]</span> <span class="o">=</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">reweighted</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'value'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">]</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'data'</span><span class="p">]</span> <span class="o">=</span> <span class="n">_gen_data_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">_gen_data_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'data'</span><span class="p">]</span> <span class="o">=</span> <span class="n">data</span>
|
||||
<span class="n">cdata</span> <span class="o">=</span> <span class="n">_gen_cdata_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">cdata</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'cdata'</span><span class="p">]</span> <span class="o">=</span> <span class="n">cdata</span>
|
||||
<span class="k">return</span> <span class="n">d</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">write_Array_to_dict</span><span class="p">(</span><span class="n">oa</span><span class="p">):</span>
|
||||
|
@ -562,7 +700,12 @@
|
|||
<span class="k">if</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">reweighted</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'reweighted'</span><span class="p">]</span> <span class="o">=</span> <span class="n">ol</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">reweighted</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'value'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">o</span><span class="o">.</span><span class="n">value</span> <span class="k">for</span> <span class="n">o</span> <span class="ow">in</span> <span class="n">ol</span><span class="p">]</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'data'</span><span class="p">]</span> <span class="o">=</span> <span class="n">_gen_data_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">_gen_data_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'data'</span><span class="p">]</span> <span class="o">=</span> <span class="n">data</span>
|
||||
<span class="n">cdata</span> <span class="o">=</span> <span class="n">_gen_cdata_d_from_list</span><span class="p">(</span><span class="n">ol</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">cdata</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">d</span><span class="p">[</span><span class="s1">'cdata'</span><span class="p">]</span> <span class="o">=</span> <span class="n">cdata</span>
|
||||
<span class="k">return</span> <span class="n">d</span>
|
||||
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">ol</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
|
||||
|
@ -595,9 +738,9 @@
|
|||
<span class="n">deltas</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
<span class="n">split</span> <span class="o">=</span> <span class="n">s</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">split</span><span class="p">)):</span>
|
||||
<span class="k">if</span> <span class="s1">'"deltas":'</span> <span class="ow">in</span> <span class="n">split</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span>
|
||||
<span class="k">if</span> <span class="s1">'"deltas":'</span> <span class="ow">in</span> <span class="n">split</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">'"cov":'</span> <span class="ow">in</span> <span class="n">split</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">'"grad":'</span> <span class="ow">in</span> <span class="n">split</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span>
|
||||
<span class="n">deltas</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
<span class="k">elif</span> <span class="n">deltas</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">deltas</span><span class="p">:</span>
|
||||
<span class="n">split</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">split</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">'"['</span><span class="p">,</span> <span class="s1">'['</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">']"'</span><span class="p">,</span> <span class="s1">']'</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">split</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="s1">']'</span><span class="p">:</span>
|
||||
<span class="n">deltas</span> <span class="o">=</span> <span class="kc">False</span>
|
||||
|
@ -730,6 +873,7 @@ If True, the output is a gzipped json. If False, the output is a json file.</li>
|
|||
|
||||
<span class="k">def</span> <span class="nf">_gen_obsd_from_datad</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
<span class="n">retd</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="k">if</span> <span class="n">d</span><span class="p">:</span>
|
||||
<span class="n">retd</span><span class="p">[</span><span class="s1">'names'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">retd</span><span class="p">[</span><span class="s1">'idl'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">retd</span><span class="p">[</span><span class="s1">'deltas'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -742,17 +886,42 @@ If True, the output is a gzipped json. If False, the output is a json file.</li>
|
|||
<span class="n">retd</span><span class="p">[</span><span class="s1">'is_merged'</span><span class="p">][</span><span class="n">rep</span><span class="p">[</span><span class="s1">'name'</span><span class="p">]]</span> <span class="o">=</span> <span class="n">rep</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'is_merged'</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">retd</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_gen_covobsd_from_cdatad</span><span class="p">(</span><span class="n">d</span><span class="p">):</span>
|
||||
<span class="n">retd</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="k">for</span> <span class="n">ens</span> <span class="ow">in</span> <span class="n">d</span><span class="p">:</span>
|
||||
<span class="n">retl</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">name</span> <span class="o">=</span> <span class="n">ens</span><span class="p">[</span><span class="s1">'id'</span><span class="p">]</span>
|
||||
<span class="n">layouts</span> <span class="o">=</span> <span class="n">ens</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'layout'</span><span class="p">,</span> <span class="s1">'1'</span><span class="p">)</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="n">layout</span> <span class="o">=</span> <span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">ls</span><span class="o">.</span><span class="n">strip</span><span class="p">())</span> <span class="k">for</span> <span class="n">ls</span> <span class="ow">in</span> <span class="n">layouts</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">','</span><span class="p">)</span> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">cov</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">ens</span><span class="p">[</span><span class="s1">'cov'</span><span class="p">],</span> <span class="n">layout</span><span class="p">)</span>
|
||||
<span class="n">grad</span> <span class="o">=</span> <span class="n">ens</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">]</span>
|
||||
<span class="n">nobs</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">grad</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nobs</span><span class="p">):</span>
|
||||
<span class="n">retl</span><span class="o">.</span><span class="n">append</span><span class="p">({</span><span class="s1">'name'</span><span class="p">:</span> <span class="n">name</span><span class="p">,</span> <span class="s1">'cov'</span><span class="p">:</span> <span class="n">cov</span><span class="p">,</span> <span class="s1">'grad'</span><span class="p">:</span> <span class="p">[</span><span class="n">g</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">g</span> <span class="ow">in</span> <span class="n">grad</span><span class="p">]})</span>
|
||||
<span class="n">retd</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">retl</span>
|
||||
<span class="k">return</span> <span class="n">retd</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">get_Obs_from_dict</span><span class="p">(</span><span class="n">o</span><span class="p">):</span>
|
||||
<span class="n">layouts</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'layout'</span><span class="p">,</span> <span class="s1">'1'</span><span class="p">)</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">layouts</span> <span class="o">!=</span> <span class="s1">'1'</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"layout is </span><span class="si">%s</span><span class="s2"> has to be 1 for type Obs."</span> <span class="o">%</span> <span class="p">(</span><span class="n">layouts</span><span class="p">),</span> <span class="ne">RuntimeWarning</span><span class="p">)</span>
|
||||
|
||||
<span class="n">values</span> <span class="o">=</span> <span class="n">o</span><span class="p">[</span><span class="s1">'value'</span><span class="p">]</span>
|
||||
<span class="n">od</span> <span class="o">=</span> <span class="n">_gen_obsd_from_datad</span><span class="p">(</span><span class="n">o</span><span class="p">[</span><span class="s1">'data'</span><span class="p">])</span>
|
||||
<span class="n">od</span> <span class="o">=</span> <span class="n">_gen_obsd_from_datad</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'data'</span><span class="p">,</span> <span class="p">{}))</span>
|
||||
<span class="n">cd</span> <span class="o">=</span> <span class="n">_gen_covobsd_from_cdatad</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'cdata'</span><span class="p">,</span> <span class="p">{}))</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">od</span><span class="p">:</span>
|
||||
<span class="n">ret</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([[</span><span class="n">ddi</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="n">values</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">ddi</span> <span class="ow">in</span> <span class="n">di</span><span class="p">]</span> <span class="k">for</span> <span class="n">di</span> <span class="ow">in</span> <span class="n">od</span><span class="p">[</span><span class="s1">'deltas'</span><span class="p">]],</span> <span class="n">od</span><span class="p">[</span><span class="s1">'names'</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="n">od</span><span class="p">[</span><span class="s1">'idl'</span><span class="p">])</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'reweighted'</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">is_merged</span> <span class="o">=</span> <span class="n">od</span><span class="p">[</span><span class="s1">'is_merged'</span><span class="p">]</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">ret</span> <span class="o">=</span> <span class="n">Obs</span><span class="p">([],</span> <span class="p">[])</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">values</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">cd</span><span class="p">:</span>
|
||||
<span class="n">co</span> <span class="o">=</span> <span class="n">cd</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">_covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">Covobs</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="n">co</span><span class="p">[</span><span class="s1">'cov'</span><span class="p">],</span> <span class="n">co</span><span class="p">[</span><span class="s1">'name'</span><span class="p">],</span> <span class="n">grad</span><span class="o">=</span><span class="n">co</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">])</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">co</span><span class="p">[</span><span class="s1">'name'</span><span class="p">])</span>
|
||||
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'reweighted'</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'tag'</span><span class="p">,</span> <span class="p">[</span><span class="kc">None</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="n">ret</span>
|
||||
|
||||
|
@ -760,14 +929,25 @@ If True, the output is a gzipped json. If False, the output is a json file.</li>
|
|||
<span class="n">layouts</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'layout'</span><span class="p">,</span> <span class="s1">'1'</span><span class="p">)</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="n">layout</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">layouts</span><span class="p">)</span>
|
||||
<span class="n">values</span> <span class="o">=</span> <span class="n">o</span><span class="p">[</span><span class="s1">'value'</span><span class="p">]</span>
|
||||
<span class="n">od</span> <span class="o">=</span> <span class="n">_gen_obsd_from_datad</span><span class="p">(</span><span class="n">o</span><span class="p">[</span><span class="s1">'data'</span><span class="p">])</span>
|
||||
<span class="n">od</span> <span class="o">=</span> <span class="n">_gen_obsd_from_datad</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'data'</span><span class="p">,</span> <span class="p">{}))</span>
|
||||
<span class="n">cd</span> <span class="o">=</span> <span class="n">_gen_covobsd_from_cdatad</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'cdata'</span><span class="p">,</span> <span class="p">{}))</span>
|
||||
|
||||
<span class="n">ret</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">taglist</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'tag'</span><span class="p">,</span> <span class="n">layout</span> <span class="o">*</span> <span class="p">[</span><span class="kc">None</span><span class="p">])</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">layout</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">od</span><span class="p">:</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">([</span><span class="nb">list</span><span class="p">(</span><span class="n">di</span><span class="p">[:,</span> <span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">values</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="k">for</span> <span class="n">di</span> <span class="ow">in</span> <span class="n">od</span><span class="p">[</span><span class="s1">'deltas'</span><span class="p">]],</span> <span class="n">od</span><span class="p">[</span><span class="s1">'names'</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="n">od</span><span class="p">[</span><span class="s1">'idl'</span><span class="p">]))</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'reweighted'</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">is_merged</span> <span class="o">=</span> <span class="n">od</span><span class="p">[</span><span class="s1">'is_merged'</span><span class="p">]</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">([],</span> <span class="p">[]))</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">values</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s1">'Created Obs with means= '</span><span class="p">,</span> <span class="n">values</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
|
||||
<span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">cd</span><span class="p">:</span>
|
||||
<span class="n">co</span> <span class="o">=</span> <span class="n">cd</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">_covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">Covobs</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="n">co</span><span class="p">[</span><span class="s1">'cov'</span><span class="p">],</span> <span class="n">co</span><span class="p">[</span><span class="s1">'name'</span><span class="p">],</span> <span class="n">grad</span><span class="o">=</span><span class="n">co</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">])</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">co</span><span class="p">[</span><span class="s1">'name'</span><span class="p">])</span>
|
||||
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'reweighted'</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">taglist</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="n">ret</span>
|
||||
|
||||
|
@ -776,14 +956,23 @@ If True, the output is a gzipped json. If False, the output is a json file.</li>
|
|||
<span class="n">layout</span> <span class="o">=</span> <span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">ls</span><span class="o">.</span><span class="n">strip</span><span class="p">())</span> <span class="k">for</span> <span class="n">ls</span> <span class="ow">in</span> <span class="n">layouts</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">','</span><span class="p">)</span> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">ls</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">N</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">prod</span><span class="p">(</span><span class="n">layout</span><span class="p">)</span>
|
||||
<span class="n">values</span> <span class="o">=</span> <span class="n">o</span><span class="p">[</span><span class="s1">'value'</span><span class="p">]</span>
|
||||
<span class="n">od</span> <span class="o">=</span> <span class="n">_gen_obsd_from_datad</span><span class="p">(</span><span class="n">o</span><span class="p">[</span><span class="s1">'data'</span><span class="p">])</span>
|
||||
<span class="n">od</span> <span class="o">=</span> <span class="n">_gen_obsd_from_datad</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'data'</span><span class="p">,</span> <span class="p">{}))</span>
|
||||
<span class="n">cd</span> <span class="o">=</span> <span class="n">_gen_covobsd_from_cdatad</span><span class="p">(</span><span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'cdata'</span><span class="p">,</span> <span class="p">{}))</span>
|
||||
|
||||
<span class="n">ret</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">taglist</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'tag'</span><span class="p">,</span> <span class="n">N</span> <span class="o">*</span> <span class="p">[</span><span class="kc">None</span><span class="p">])</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">N</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">od</span><span class="p">:</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">([</span><span class="n">di</span><span class="p">[:,</span> <span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">values</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">di</span> <span class="ow">in</span> <span class="n">od</span><span class="p">[</span><span class="s1">'deltas'</span><span class="p">]],</span> <span class="n">od</span><span class="p">[</span><span class="s1">'names'</span><span class="p">],</span> <span class="n">idl</span><span class="o">=</span><span class="n">od</span><span class="p">[</span><span class="s1">'idl'</span><span class="p">]))</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'reweighted'</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">is_merged</span> <span class="o">=</span> <span class="n">od</span><span class="p">[</span><span class="s1">'is_merged'</span><span class="p">]</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">ret</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Obs</span><span class="p">([],</span> <span class="p">[]))</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="n">values</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">cd</span><span class="p">:</span>
|
||||
<span class="n">co</span> <span class="o">=</span> <span class="n">cd</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">_covobs</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">Covobs</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="n">co</span><span class="p">[</span><span class="s1">'cov'</span><span class="p">],</span> <span class="n">co</span><span class="p">[</span><span class="s1">'name'</span><span class="p">],</span> <span class="n">grad</span><span class="o">=</span><span class="n">co</span><span class="p">[</span><span class="s1">'grad'</span><span class="p">])</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">co</span><span class="p">[</span><span class="s1">'name'</span><span class="p">])</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">reweighted</span> <span class="o">=</span> <span class="n">o</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'reweighted'</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||||
<span class="n">ret</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">tag</span> <span class="o">=</span> <span class="n">taglist</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="n">layout</span><span class="p">)</span>
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue