Documentation updated

This commit is contained in:
fjosw 2023-05-26 12:02:52 +00:00
parent 8f392816d5
commit ea4d74e9cf
2 changed files with 287 additions and 263 deletions

View file

@ -1262,139 +1262,150 @@
</span><span id="L-1163"><a href="#L-1163"><span class="linenos">1163</span></a><span class="sd"> Additional keyword arguments. The following keyword arguments are recognized:</span>
</span><span id="L-1164"><a href="#L-1164"><span class="linenos">1164</span></a>
</span><span id="L-1165"><a href="#L-1165"><span class="linenos">1165</span></a><span class="sd"> - names (List[str]): A list of names to use for the replicas.</span>
</span><span id="L-1166"><a href="#L-1166"><span class="linenos">1166</span></a>
</span><span id="L-1167"><a href="#L-1167"><span class="linenos">1167</span></a><span class="sd"> Returns</span>
</span><span id="L-1168"><a href="#L-1168"><span class="linenos">1168</span></a><span class="sd"> -------</span>
</span><span id="L-1169"><a href="#L-1169"><span class="linenos">1169</span></a><span class="sd"> Corr</span>
</span><span id="L-1170"><a href="#L-1170"><span class="linenos">1170</span></a><span class="sd"> A complex valued `Corr` object containing the data read from the files. In case of boudary to bulk correlators.</span>
</span><span id="L-1171"><a href="#L-1171"><span class="linenos">1171</span></a><span class="sd"> or</span>
</span><span id="L-1172"><a href="#L-1172"><span class="linenos">1172</span></a><span class="sd"> CObs</span>
</span><span id="L-1173"><a href="#L-1173"><span class="linenos">1173</span></a><span class="sd"> A complex valued `CObs` object containing the data read from the files. In case of boudary to boundary correlators.</span>
</span><span id="L-1174"><a href="#L-1174"><span class="linenos">1174</span></a>
</span><span id="L-1175"><a href="#L-1175"><span class="linenos">1175</span></a>
</span><span id="L-1176"><a href="#L-1176"><span class="linenos">1176</span></a><span class="sd"> Raises</span>
</span><span id="L-1177"><a href="#L-1177"><span class="linenos">1177</span></a><span class="sd"> ------</span>
</span><span id="L-1178"><a href="#L-1178"><span class="linenos">1178</span></a><span class="sd"> FileNotFoundError</span>
</span><span id="L-1179"><a href="#L-1179"><span class="linenos">1179</span></a><span class="sd"> If no files matching the specified prefix and quark combination extension are found in the specified directory.</span>
</span><span id="L-1180"><a href="#L-1180"><span class="linenos">1180</span></a><span class="sd"> IOError</span>
</span><span id="L-1181"><a href="#L-1181"><span class="linenos">1181</span></a><span class="sd"> If there is an error reading a file.</span>
</span><span id="L-1182"><a href="#L-1182"><span class="linenos">1182</span></a><span class="sd"> struct.error</span>
</span><span id="L-1183"><a href="#L-1183"><span class="linenos">1183</span></a><span class="sd"> If there is an error unpacking binary data.</span>
</span><span id="L-1184"><a href="#L-1184"><span class="linenos">1184</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1185"><a href="#L-1185"><span class="linenos">1185</span></a>
</span><span id="L-1186"><a href="#L-1186"><span class="linenos">1186</span></a> <span class="c1"># found = []</span>
</span><span id="L-1187"><a href="#L-1187"><span class="linenos">1187</span></a> <span class="n">files</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1188"><a href="#L-1188"><span class="linenos">1188</span></a> <span class="n">names</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1189"><a href="#L-1189"><span class="linenos">1189</span></a>
</span><span id="L-1190"><a href="#L-1190"><span class="linenos">1190</span></a> <span class="c1"># test if the input is correct</span>
</span><span id="L-1191"><a href="#L-1191"><span class="linenos">1191</span></a> <span class="k">if</span> <span class="n">qc</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;dd&#39;</span><span class="p">,</span> <span class="s1">&#39;ud&#39;</span><span class="p">,</span> <span class="s1">&#39;du&#39;</span><span class="p">,</span> <span class="s1">&#39;uu&#39;</span><span class="p">]:</span>
</span><span id="L-1192"><a href="#L-1192"><span class="linenos">1192</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unknown quark conbination!&quot;</span><span class="p">)</span>
</span><span id="L-1193"><a href="#L-1193"><span class="linenos">1193</span></a>
</span><span id="L-1194"><a href="#L-1194"><span class="linenos">1194</span></a> <span class="k">if</span> <span class="n">corr</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;gS&quot;</span><span class="p">,</span> <span class="s2">&quot;gP&quot;</span><span class="p">,</span> <span class="s2">&quot;gA&quot;</span><span class="p">,</span> <span class="s2">&quot;gV&quot;</span><span class="p">,</span> <span class="s2">&quot;gVt&quot;</span><span class="p">,</span> <span class="s2">&quot;lA&quot;</span><span class="p">,</span> <span class="s2">&quot;lV&quot;</span><span class="p">,</span> <span class="s2">&quot;lVt&quot;</span><span class="p">,</span> <span class="s2">&quot;lT&quot;</span><span class="p">,</span> <span class="s2">&quot;lTt&quot;</span><span class="p">,</span> <span class="s2">&quot;g1&quot;</span><span class="p">,</span> <span class="s2">&quot;l1&quot;</span><span class="p">]:</span>
</span><span id="L-1195"><a href="#L-1195"><span class="linenos">1195</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unknown correlator!&quot;</span><span class="p">)</span>
</span><span id="L-1196"><a href="#L-1196"><span class="linenos">1196</span></a>
</span><span id="L-1197"><a href="#L-1197"><span class="linenos">1197</span></a> <span class="k">if</span> <span class="s2">&quot;files&quot;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
</span><span id="L-1198"><a href="#L-1198"><span class="linenos">1198</span></a> <span class="n">known_files</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;files&quot;</span><span class="p">)</span>
</span><span id="L-1199"><a href="#L-1199"><span class="linenos">1199</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="L-1200"><a href="#L-1200"><span class="linenos">1200</span></a> <span class="n">known_files</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1201"><a href="#L-1201"><span class="linenos">1201</span></a> <span class="n">files</span> <span class="o">=</span> <span class="n">_find_files</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="s2">&quot;ms5_xsf_&quot;</span> <span class="o">+</span> <span class="n">qc</span><span class="p">,</span> <span class="s2">&quot;dat&quot;</span><span class="p">,</span> <span class="n">known_files</span><span class="o">=</span><span class="n">known_files</span><span class="p">)</span>
</span><span id="L-1202"><a href="#L-1202"><span class="linenos">1202</span></a>
</span><span id="L-1203"><a href="#L-1203"><span class="linenos">1203</span></a> <span class="k">if</span> <span class="s2">&quot;names&quot;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
</span><span id="L-1204"><a href="#L-1204"><span class="linenos">1204</span></a> <span class="n">names</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;names&quot;</span><span class="p">)</span>
</span><span id="L-1205"><a href="#L-1205"><span class="linenos">1205</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="L-1206"><a href="#L-1206"><span class="linenos">1206</span></a> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">files</span><span class="p">:</span>
</span><span id="L-1207"><a href="#L-1207"><span class="linenos">1207</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">sep</span> <span class="o">==</span> <span class="s2">&quot;&quot;</span><span class="p">:</span>
</span><span id="L-1208"><a href="#L-1208"><span class="linenos">1208</span></a> <span class="n">se</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1209"><a href="#L-1209"><span class="linenos">1209</span></a> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">f</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)[</span><span class="mi">1</span><span class="p">:</span><span class="o">-</span><span class="mi">2</span><span class="p">]:</span>
</span><span id="L-1210"><a href="#L-1210"><span class="linenos">1210</span></a> <span class="n">se</span> <span class="o">+=</span> <span class="s2">&quot;.&quot;</span> <span class="o">+</span> <span class="n">s</span>
</span><span id="L-1211"><a href="#L-1211"><span class="linenos">1211</span></a> <span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">se</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">sep</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="s2">&quot;|r&quot;</span> <span class="o">+</span> <span class="n">se</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">sep</span><span class="p">)[</span><span class="mi">1</span><span class="p">])</span>
</span><span id="L-1212"><a href="#L-1212"><span class="linenos">1212</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="L-1213"><a href="#L-1213"><span class="linenos">1213</span></a> <span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">prefix</span><span class="p">)</span>
</span><span id="L-1214"><a href="#L-1214"><span class="linenos">1214</span></a>
</span><span id="L-1215"><a href="#L-1215"><span class="linenos">1215</span></a> <span class="n">names</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">names</span><span class="p">)</span>
</span><span id="L-1216"><a href="#L-1216"><span class="linenos">1216</span></a> <span class="n">files</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">files</span><span class="p">)</span>
</span><span id="L-1217"><a href="#L-1217"><span class="linenos">1217</span></a>
</span><span id="L-1218"><a href="#L-1218"><span class="linenos">1218</span></a> <span class="n">cnfgs</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1219"><a href="#L-1219"><span class="linenos">1219</span></a> <span class="n">realsamples</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1220"><a href="#L-1220"><span class="linenos">1220</span></a> <span class="n">imagsamples</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1221"><a href="#L-1221"><span class="linenos">1221</span></a> <span class="n">repnum</span> <span class="o">=</span> <span class="mi">0</span>
</span><span id="L-1222"><a href="#L-1222"><span class="linenos">1222</span></a> <span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">files</span><span class="p">:</span>
</span><span id="L-1223"><a href="#L-1223"><span class="linenos">1223</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span> <span class="o">+</span> <span class="s2">&quot;/&quot;</span> <span class="o">+</span> <span class="n">file</span><span class="p">,</span> <span class="s2">&quot;rb&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
</span><span id="L-1224"><a href="#L-1224"><span class="linenos">1224</span></a>
</span><span id="L-1225"><a href="#L-1225"><span class="linenos">1225</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span><span id="L-1226"><a href="#L-1226"><span class="linenos">1226</span></a> <span class="n">kappa</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1227"><a href="#L-1227"><span class="linenos">1227</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span><span id="L-1228"><a href="#L-1228"><span class="linenos">1228</span></a> <span class="n">csw</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1229"><a href="#L-1229"><span class="linenos">1229</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span><span id="L-1230"><a href="#L-1230"><span class="linenos">1230</span></a> <span class="n">dF</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1231"><a href="#L-1231"><span class="linenos">1231</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span><span id="L-1232"><a href="#L-1232"><span class="linenos">1232</span></a> <span class="n">zF</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1233"><a href="#L-1233"><span class="linenos">1233</span></a>
</span><span id="L-1234"><a href="#L-1234"><span class="linenos">1234</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
</span><span id="L-1235"><a href="#L-1235"><span class="linenos">1235</span></a> <span class="n">tmax</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;i&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1236"><a href="#L-1236"><span class="linenos">1236</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
</span><span id="L-1237"><a href="#L-1237"><span class="linenos">1237</span></a> <span class="n">bnd</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;i&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1238"><a href="#L-1238"><span class="linenos">1238</span></a>
</span><span id="L-1239"><a href="#L-1239"><span class="linenos">1239</span></a> <span class="n">placesBI</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;gS&quot;</span><span class="p">,</span> <span class="s2">&quot;gP&quot;</span><span class="p">,</span>
</span><span id="L-1240"><a href="#L-1240"><span class="linenos">1240</span></a> <span class="s2">&quot;gA&quot;</span><span class="p">,</span> <span class="s2">&quot;gV&quot;</span><span class="p">,</span>
</span><span id="L-1241"><a href="#L-1241"><span class="linenos">1241</span></a> <span class="s2">&quot;gVt&quot;</span><span class="p">,</span> <span class="s2">&quot;lA&quot;</span><span class="p">,</span>
</span><span id="L-1242"><a href="#L-1242"><span class="linenos">1242</span></a> <span class="s2">&quot;lV&quot;</span><span class="p">,</span> <span class="s2">&quot;lVt&quot;</span><span class="p">,</span>
</span><span id="L-1243"><a href="#L-1243"><span class="linenos">1243</span></a> <span class="s2">&quot;lT&quot;</span><span class="p">,</span> <span class="s2">&quot;lTt&quot;</span><span class="p">]</span>
</span><span id="L-1244"><a href="#L-1244"><span class="linenos">1244</span></a> <span class="n">placesBB</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;g1&quot;</span><span class="p">,</span> <span class="s2">&quot;l1&quot;</span><span class="p">]</span>
</span><span id="L-1245"><a href="#L-1245"><span class="linenos">1245</span></a>
</span><span id="L-1246"><a href="#L-1246"><span class="linenos">1246</span></a> <span class="c1"># the chunks have the following structure:</span>
</span><span id="L-1247"><a href="#L-1247"><span class="linenos">1247</span></a> <span class="c1"># confignumber, 10x timedependent complex correlators as doubles, 2x timeindependent complex correlators as doubles</span>
</span><span id="L-1166"><a href="#L-1166"><span class="linenos">1166</span></a><span class="sd"> - files (List[str]): A list of files to read data from.</span>
</span><span id="L-1167"><a href="#L-1167"><span class="linenos">1167</span></a><span class="sd"> - idl (List[List[int]]): A list of idls per replicum, resticting data to the idls given.</span>
</span><span id="L-1168"><a href="#L-1168"><span class="linenos">1168</span></a>
</span><span id="L-1169"><a href="#L-1169"><span class="linenos">1169</span></a><span class="sd"> Returns</span>
</span><span id="L-1170"><a href="#L-1170"><span class="linenos">1170</span></a><span class="sd"> -------</span>
</span><span id="L-1171"><a href="#L-1171"><span class="linenos">1171</span></a><span class="sd"> Corr</span>
</span><span id="L-1172"><a href="#L-1172"><span class="linenos">1172</span></a><span class="sd"> A complex valued `Corr` object containing the data read from the files. In case of boudary to bulk correlators.</span>
</span><span id="L-1173"><a href="#L-1173"><span class="linenos">1173</span></a><span class="sd"> or</span>
</span><span id="L-1174"><a href="#L-1174"><span class="linenos">1174</span></a><span class="sd"> CObs</span>
</span><span id="L-1175"><a href="#L-1175"><span class="linenos">1175</span></a><span class="sd"> A complex valued `CObs` object containing the data read from the files. In case of boudary to boundary correlators.</span>
</span><span id="L-1176"><a href="#L-1176"><span class="linenos">1176</span></a>
</span><span id="L-1177"><a href="#L-1177"><span class="linenos">1177</span></a>
</span><span id="L-1178"><a href="#L-1178"><span class="linenos">1178</span></a><span class="sd"> Raises</span>
</span><span id="L-1179"><a href="#L-1179"><span class="linenos">1179</span></a><span class="sd"> ------</span>
</span><span id="L-1180"><a href="#L-1180"><span class="linenos">1180</span></a><span class="sd"> FileNotFoundError</span>
</span><span id="L-1181"><a href="#L-1181"><span class="linenos">1181</span></a><span class="sd"> If no files matching the specified prefix and quark combination extension are found in the specified directory.</span>
</span><span id="L-1182"><a href="#L-1182"><span class="linenos">1182</span></a><span class="sd"> IOError</span>
</span><span id="L-1183"><a href="#L-1183"><span class="linenos">1183</span></a><span class="sd"> If there is an error reading a file.</span>
</span><span id="L-1184"><a href="#L-1184"><span class="linenos">1184</span></a><span class="sd"> struct.error</span>
</span><span id="L-1185"><a href="#L-1185"><span class="linenos">1185</span></a><span class="sd"> If there is an error unpacking binary data.</span>
</span><span id="L-1186"><a href="#L-1186"><span class="linenos">1186</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-1187"><a href="#L-1187"><span class="linenos">1187</span></a>
</span><span id="L-1188"><a href="#L-1188"><span class="linenos">1188</span></a> <span class="c1"># found = []</span>
</span><span id="L-1189"><a href="#L-1189"><span class="linenos">1189</span></a> <span class="n">files</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1190"><a href="#L-1190"><span class="linenos">1190</span></a> <span class="n">names</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1191"><a href="#L-1191"><span class="linenos">1191</span></a>
</span><span id="L-1192"><a href="#L-1192"><span class="linenos">1192</span></a> <span class="c1"># test if the input is correct</span>
</span><span id="L-1193"><a href="#L-1193"><span class="linenos">1193</span></a> <span class="k">if</span> <span class="n">qc</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;dd&#39;</span><span class="p">,</span> <span class="s1">&#39;ud&#39;</span><span class="p">,</span> <span class="s1">&#39;du&#39;</span><span class="p">,</span> <span class="s1">&#39;uu&#39;</span><span class="p">]:</span>
</span><span id="L-1194"><a href="#L-1194"><span class="linenos">1194</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unknown quark conbination!&quot;</span><span class="p">)</span>
</span><span id="L-1195"><a href="#L-1195"><span class="linenos">1195</span></a>
</span><span id="L-1196"><a href="#L-1196"><span class="linenos">1196</span></a> <span class="k">if</span> <span class="n">corr</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;gS&quot;</span><span class="p">,</span> <span class="s2">&quot;gP&quot;</span><span class="p">,</span> <span class="s2">&quot;gA&quot;</span><span class="p">,</span> <span class="s2">&quot;gV&quot;</span><span class="p">,</span> <span class="s2">&quot;gVt&quot;</span><span class="p">,</span> <span class="s2">&quot;lA&quot;</span><span class="p">,</span> <span class="s2">&quot;lV&quot;</span><span class="p">,</span> <span class="s2">&quot;lVt&quot;</span><span class="p">,</span> <span class="s2">&quot;lT&quot;</span><span class="p">,</span> <span class="s2">&quot;lTt&quot;</span><span class="p">,</span> <span class="s2">&quot;g1&quot;</span><span class="p">,</span> <span class="s2">&quot;l1&quot;</span><span class="p">]:</span>
</span><span id="L-1197"><a href="#L-1197"><span class="linenos">1197</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unknown correlator!&quot;</span><span class="p">)</span>
</span><span id="L-1198"><a href="#L-1198"><span class="linenos">1198</span></a>
</span><span id="L-1199"><a href="#L-1199"><span class="linenos">1199</span></a> <span class="k">if</span> <span class="s2">&quot;files&quot;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
</span><span id="L-1200"><a href="#L-1200"><span class="linenos">1200</span></a> <span class="n">known_files</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;files&quot;</span><span class="p">)</span>
</span><span id="L-1201"><a href="#L-1201"><span class="linenos">1201</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="L-1202"><a href="#L-1202"><span class="linenos">1202</span></a> <span class="n">known_files</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1203"><a href="#L-1203"><span class="linenos">1203</span></a> <span class="n">files</span> <span class="o">=</span> <span class="n">_find_files</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="s2">&quot;ms5_xsf_&quot;</span> <span class="o">+</span> <span class="n">qc</span><span class="p">,</span> <span class="s2">&quot;dat&quot;</span><span class="p">,</span> <span class="n">known_files</span><span class="o">=</span><span class="n">known_files</span><span class="p">)</span>
</span><span id="L-1204"><a href="#L-1204"><span class="linenos">1204</span></a>
</span><span id="L-1205"><a href="#L-1205"><span class="linenos">1205</span></a> <span class="k">if</span> <span class="s2">&quot;names&quot;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
</span><span id="L-1206"><a href="#L-1206"><span class="linenos">1206</span></a> <span class="n">names</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;names&quot;</span><span class="p">)</span>
</span><span id="L-1207"><a href="#L-1207"><span class="linenos">1207</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="L-1208"><a href="#L-1208"><span class="linenos">1208</span></a> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">files</span><span class="p">:</span>
</span><span id="L-1209"><a href="#L-1209"><span class="linenos">1209</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">sep</span> <span class="o">==</span> <span class="s2">&quot;&quot;</span><span class="p">:</span>
</span><span id="L-1210"><a href="#L-1210"><span class="linenos">1210</span></a> <span class="n">se</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1211"><a href="#L-1211"><span class="linenos">1211</span></a> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">f</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)[</span><span class="mi">1</span><span class="p">:</span><span class="o">-</span><span class="mi">2</span><span class="p">]:</span>
</span><span id="L-1212"><a href="#L-1212"><span class="linenos">1212</span></a> <span class="n">se</span> <span class="o">+=</span> <span class="s2">&quot;.&quot;</span> <span class="o">+</span> <span class="n">s</span>
</span><span id="L-1213"><a href="#L-1213"><span class="linenos">1213</span></a> <span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">se</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">sep</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="s2">&quot;|r&quot;</span> <span class="o">+</span> <span class="n">se</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">sep</span><span class="p">)[</span><span class="mi">1</span><span class="p">])</span>
</span><span id="L-1214"><a href="#L-1214"><span class="linenos">1214</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="L-1215"><a href="#L-1215"><span class="linenos">1215</span></a> <span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">prefix</span><span class="p">)</span>
</span><span id="L-1216"><a href="#L-1216"><span class="linenos">1216</span></a> <span class="k">if</span> <span class="s1">&#39;idl&#39;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
</span><span id="L-1217"><a href="#L-1217"><span class="linenos">1217</span></a> <span class="n">expected_idl</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;idl&#39;</span><span class="p">)</span>
</span><span id="L-1218"><a href="#L-1218"><span class="linenos">1218</span></a> <span class="n">names</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">names</span><span class="p">)</span>
</span><span id="L-1219"><a href="#L-1219"><span class="linenos">1219</span></a> <span class="n">files</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">files</span><span class="p">)</span>
</span><span id="L-1220"><a href="#L-1220"><span class="linenos">1220</span></a>
</span><span id="L-1221"><a href="#L-1221"><span class="linenos">1221</span></a> <span class="n">cnfgs</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1222"><a href="#L-1222"><span class="linenos">1222</span></a> <span class="n">realsamples</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1223"><a href="#L-1223"><span class="linenos">1223</span></a> <span class="n">imagsamples</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1224"><a href="#L-1224"><span class="linenos">1224</span></a> <span class="n">repnum</span> <span class="o">=</span> <span class="mi">0</span>
</span><span id="L-1225"><a href="#L-1225"><span class="linenos">1225</span></a> <span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">files</span><span class="p">:</span>
</span><span id="L-1226"><a href="#L-1226"><span class="linenos">1226</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span> <span class="o">+</span> <span class="s2">&quot;/&quot;</span> <span class="o">+</span> <span class="n">file</span><span class="p">,</span> <span class="s2">&quot;rb&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
</span><span id="L-1227"><a href="#L-1227"><span class="linenos">1227</span></a>
</span><span id="L-1228"><a href="#L-1228"><span class="linenos">1228</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span><span id="L-1229"><a href="#L-1229"><span class="linenos">1229</span></a> <span class="n">kappa</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1230"><a href="#L-1230"><span class="linenos">1230</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span><span id="L-1231"><a href="#L-1231"><span class="linenos">1231</span></a> <span class="n">csw</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1232"><a href="#L-1232"><span class="linenos">1232</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span><span id="L-1233"><a href="#L-1233"><span class="linenos">1233</span></a> <span class="n">dF</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1234"><a href="#L-1234"><span class="linenos">1234</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span><span id="L-1235"><a href="#L-1235"><span class="linenos">1235</span></a> <span class="n">zF</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1236"><a href="#L-1236"><span class="linenos">1236</span></a>
</span><span id="L-1237"><a href="#L-1237"><span class="linenos">1237</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
</span><span id="L-1238"><a href="#L-1238"><span class="linenos">1238</span></a> <span class="n">tmax</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;i&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1239"><a href="#L-1239"><span class="linenos">1239</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
</span><span id="L-1240"><a href="#L-1240"><span class="linenos">1240</span></a> <span class="n">bnd</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;i&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1241"><a href="#L-1241"><span class="linenos">1241</span></a>
</span><span id="L-1242"><a href="#L-1242"><span class="linenos">1242</span></a> <span class="n">placesBI</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;gS&quot;</span><span class="p">,</span> <span class="s2">&quot;gP&quot;</span><span class="p">,</span>
</span><span id="L-1243"><a href="#L-1243"><span class="linenos">1243</span></a> <span class="s2">&quot;gA&quot;</span><span class="p">,</span> <span class="s2">&quot;gV&quot;</span><span class="p">,</span>
</span><span id="L-1244"><a href="#L-1244"><span class="linenos">1244</span></a> <span class="s2">&quot;gVt&quot;</span><span class="p">,</span> <span class="s2">&quot;lA&quot;</span><span class="p">,</span>
</span><span id="L-1245"><a href="#L-1245"><span class="linenos">1245</span></a> <span class="s2">&quot;lV&quot;</span><span class="p">,</span> <span class="s2">&quot;lVt&quot;</span><span class="p">,</span>
</span><span id="L-1246"><a href="#L-1246"><span class="linenos">1246</span></a> <span class="s2">&quot;lT&quot;</span><span class="p">,</span> <span class="s2">&quot;lTt&quot;</span><span class="p">]</span>
</span><span id="L-1247"><a href="#L-1247"><span class="linenos">1247</span></a> <span class="n">placesBB</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;g1&quot;</span><span class="p">,</span> <span class="s2">&quot;l1&quot;</span><span class="p">]</span>
</span><span id="L-1248"><a href="#L-1248"><span class="linenos">1248</span></a>
</span><span id="L-1249"><a href="#L-1249"><span class="linenos">1249</span></a> <span class="n">chunksize</span> <span class="o">=</span> <span class="mi">4</span> <span class="o">+</span> <span class="p">(</span><span class="mi">8</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="mi">10</span><span class="p">)</span> <span class="o">+</span> <span class="p">(</span><span class="mi">8</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">*</span> <span class="mi">2</span><span class="p">)</span>
</span><span id="L-1250"><a href="#L-1250"><span class="linenos">1250</span></a> <span class="n">packstr</span> <span class="o">=</span> <span class="s1">&#39;=i&#39;</span> <span class="o">+</span> <span class="p">(</span><span class="s1">&#39;d&#39;</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="mi">10</span><span class="p">)</span> <span class="o">+</span> <span class="p">(</span><span class="s1">&#39;d&#39;</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">*</span> <span class="mi">2</span><span class="p">)</span>
</span><span id="L-1251"><a href="#L-1251"><span class="linenos">1251</span></a> <span class="n">cnfgs</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="L-1252"><a href="#L-1252"><span class="linenos">1252</span></a> <span class="n">realsamples</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="L-1253"><a href="#L-1253"><span class="linenos">1253</span></a> <span class="n">imagsamples</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="L-1254"><a href="#L-1254"><span class="linenos">1254</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">tmax</span><span class="p">):</span>
</span><span id="L-1255"><a href="#L-1255"><span class="linenos">1255</span></a> <span class="n">realsamples</span><span class="p">[</span><span class="n">repnum</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="L-1256"><a href="#L-1256"><span class="linenos">1256</span></a> <span class="n">imagsamples</span><span class="p">[</span><span class="n">repnum</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="L-1257"><a href="#L-1257"><span class="linenos">1257</span></a>
</span><span id="L-1258"><a href="#L-1258"><span class="linenos">1258</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
</span><span id="L-1259"><a href="#L-1259"><span class="linenos">1259</span></a> <span class="n">cnfgt</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">chunksize</span><span class="p">)</span>
</span><span id="L-1260"><a href="#L-1260"><span class="linenos">1260</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">cnfgt</span><span class="p">:</span>
</span><span id="L-1261"><a href="#L-1261"><span class="linenos">1261</span></a> <span class="k">break</span>
</span><span id="L-1262"><a href="#L-1262"><span class="linenos">1262</span></a> <span class="n">asascii</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="n">packstr</span><span class="p">,</span> <span class="n">cnfgt</span><span class="p">)</span>
</span><span id="L-1263"><a href="#L-1263"><span class="linenos">1263</span></a> <span class="n">cnfg</span> <span class="o">=</span> <span class="n">asascii</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1264"><a href="#L-1264"><span class="linenos">1264</span></a> <span class="n">cnfgs</span><span class="p">[</span><span class="n">repnum</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cnfg</span><span class="p">)</span>
</span><span id="L-1265"><a href="#L-1265"><span class="linenos">1265</span></a>
</span><span id="L-1266"><a href="#L-1266"><span class="linenos">1266</span></a> <span class="k">if</span> <span class="n">corr</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">placesBB</span><span class="p">:</span>
</span><span id="L-1267"><a href="#L-1267"><span class="linenos">1267</span></a> <span class="n">tmpcorr</span> <span class="o">=</span> <span class="n">asascii</span><span class="p">[</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="n">placesBI</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">corr</span><span class="p">):</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="n">placesBI</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span><span class="p">]</span>
</span><span id="L-1268"><a href="#L-1268"><span class="linenos">1268</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="L-1269"><a href="#L-1269"><span class="linenos">1269</span></a> <span class="n">tmpcorr</span> <span class="o">=</span> <span class="n">asascii</span><span class="p">[</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">placesBI</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">placesBB</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">corr</span><span class="p">):</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">placesBI</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">placesBB</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span>
</span><span id="L-1270"><a href="#L-1270"><span class="linenos">1270</span></a>
</span><span id="L-1271"><a href="#L-1271"><span class="linenos">1271</span></a> <span class="n">corrres</span> <span class="o">=</span> <span class="p">[[],</span> <span class="p">[]]</span>
</span><span id="L-1272"><a href="#L-1272"><span class="linenos">1272</span></a> <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">tmpcorr</span><span class="p">)):</span>
</span><span id="L-1273"><a href="#L-1273"><span class="linenos">1273</span></a> <span class="n">corrres</span><span class="p">[</span><span class="n">i</span> <span class="o">%</span> <span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tmpcorr</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
</span><span id="L-1274"><a href="#L-1274"><span class="linenos">1274</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">tmpcorr</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)):</span>
</span><span id="L-1275"><a href="#L-1275"><span class="linenos">1275</span></a> <span class="n">realsamples</span><span class="p">[</span><span class="n">repnum</span><span class="p">][</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">corrres</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
</span><span id="L-1276"><a href="#L-1276"><span class="linenos">1276</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">tmpcorr</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)):</span>
</span><span id="L-1277"><a href="#L-1277"><span class="linenos">1277</span></a> <span class="n">imagsamples</span><span class="p">[</span><span class="n">repnum</span><span class="p">][</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">corrres</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
</span><span id="L-1278"><a href="#L-1278"><span class="linenos">1278</span></a> <span class="n">repnum</span> <span class="o">+=</span> <span class="mi">1</span>
</span><span id="L-1249"><a href="#L-1249"><span class="linenos">1249</span></a> <span class="c1"># the chunks have the following structure:</span>
</span><span id="L-1250"><a href="#L-1250"><span class="linenos">1250</span></a> <span class="c1"># confignumber, 10x timedependent complex correlators as doubles, 2x timeindependent complex correlators as doubles</span>
</span><span id="L-1251"><a href="#L-1251"><span class="linenos">1251</span></a>
</span><span id="L-1252"><a href="#L-1252"><span class="linenos">1252</span></a> <span class="n">chunksize</span> <span class="o">=</span> <span class="mi">4</span> <span class="o">+</span> <span class="p">(</span><span class="mi">8</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="mi">10</span><span class="p">)</span> <span class="o">+</span> <span class="p">(</span><span class="mi">8</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">*</span> <span class="mi">2</span><span class="p">)</span>
</span><span id="L-1253"><a href="#L-1253"><span class="linenos">1253</span></a> <span class="n">packstr</span> <span class="o">=</span> <span class="s1">&#39;=i&#39;</span> <span class="o">+</span> <span class="p">(</span><span class="s1">&#39;d&#39;</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="mi">10</span><span class="p">)</span> <span class="o">+</span> <span class="p">(</span><span class="s1">&#39;d&#39;</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">*</span> <span class="mi">2</span><span class="p">)</span>
</span><span id="L-1254"><a href="#L-1254"><span class="linenos">1254</span></a> <span class="n">cnfgs</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="L-1255"><a href="#L-1255"><span class="linenos">1255</span></a> <span class="n">realsamples</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="L-1256"><a href="#L-1256"><span class="linenos">1256</span></a> <span class="n">imagsamples</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="L-1257"><a href="#L-1257"><span class="linenos">1257</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">tmax</span><span class="p">):</span>
</span><span id="L-1258"><a href="#L-1258"><span class="linenos">1258</span></a> <span class="n">realsamples</span><span class="p">[</span><span class="n">repnum</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="L-1259"><a href="#L-1259"><span class="linenos">1259</span></a> <span class="n">imagsamples</span><span class="p">[</span><span class="n">repnum</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="L-1260"><a href="#L-1260"><span class="linenos">1260</span></a> <span class="k">if</span> <span class="s1">&#39;idl&#39;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
</span><span id="L-1261"><a href="#L-1261"><span class="linenos">1261</span></a> <span class="n">left_idl</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">expected_idl</span><span class="p">[</span><span class="n">repnum</span><span class="p">])</span>
</span><span id="L-1262"><a href="#L-1262"><span class="linenos">1262</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
</span><span id="L-1263"><a href="#L-1263"><span class="linenos">1263</span></a> <span class="n">cnfgt</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">chunksize</span><span class="p">)</span>
</span><span id="L-1264"><a href="#L-1264"><span class="linenos">1264</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">cnfgt</span><span class="p">:</span>
</span><span id="L-1265"><a href="#L-1265"><span class="linenos">1265</span></a> <span class="k">break</span>
</span><span id="L-1266"><a href="#L-1266"><span class="linenos">1266</span></a> <span class="n">asascii</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="n">packstr</span><span class="p">,</span> <span class="n">cnfgt</span><span class="p">)</span>
</span><span id="L-1267"><a href="#L-1267"><span class="linenos">1267</span></a> <span class="n">cnfg</span> <span class="o">=</span> <span class="n">asascii</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1268"><a href="#L-1268"><span class="linenos">1268</span></a> <span class="n">idl_wanted</span> <span class="o">=</span> <span class="kc">True</span>
</span><span id="L-1269"><a href="#L-1269"><span class="linenos">1269</span></a> <span class="k">if</span> <span class="s1">&#39;idl&#39;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
</span><span id="L-1270"><a href="#L-1270"><span class="linenos">1270</span></a> <span class="n">idl_wanted</span> <span class="o">=</span> <span class="p">(</span><span class="n">cnfg</span> <span class="ow">in</span> <span class="n">expected_idl</span><span class="p">[</span><span class="n">repnum</span><span class="p">])</span>
</span><span id="L-1271"><a href="#L-1271"><span class="linenos">1271</span></a> <span class="n">left_idl</span> <span class="o">=</span> <span class="n">left_idl</span> <span class="o">-</span> <span class="nb">set</span><span class="p">([</span><span class="n">cnfg</span><span class="p">])</span>
</span><span id="L-1272"><a href="#L-1272"><span class="linenos">1272</span></a> <span class="k">if</span> <span class="n">idl_wanted</span><span class="p">:</span>
</span><span id="L-1273"><a href="#L-1273"><span class="linenos">1273</span></a> <span class="n">cnfgs</span><span class="p">[</span><span class="n">repnum</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cnfg</span><span class="p">)</span>
</span><span id="L-1274"><a href="#L-1274"><span class="linenos">1274</span></a>
</span><span id="L-1275"><a href="#L-1275"><span class="linenos">1275</span></a> <span class="k">if</span> <span class="n">corr</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">placesBB</span><span class="p">:</span>
</span><span id="L-1276"><a href="#L-1276"><span class="linenos">1276</span></a> <span class="n">tmpcorr</span> <span class="o">=</span> <span class="n">asascii</span><span class="p">[</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="n">placesBI</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">corr</span><span class="p">):</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="n">placesBI</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span><span class="p">]</span>
</span><span id="L-1277"><a href="#L-1277"><span class="linenos">1277</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="L-1278"><a href="#L-1278"><span class="linenos">1278</span></a> <span class="n">tmpcorr</span> <span class="o">=</span> <span class="n">asascii</span><span class="p">[</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">placesBI</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">placesBB</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">corr</span><span class="p">):</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">placesBI</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">placesBB</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span>
</span><span id="L-1279"><a href="#L-1279"><span class="linenos">1279</span></a>
</span><span id="L-1280"><a href="#L-1280"><span class="linenos">1280</span></a> <span class="n">s</span> <span class="o">=</span> <span class="s2">&quot;Read correlator &quot;</span> <span class="o">+</span> <span class="n">corr</span> <span class="o">+</span> <span class="s2">&quot; from &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">repnum</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot; replika with &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">realsamples</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">t</span><span class="p">]))</span>
</span><span id="L-1281"><a href="#L-1281"><span class="linenos">1281</span></a> <span class="k">for</span> <span class="n">rep</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">repnum</span><span class="p">):</span>
</span><span id="L-1282"><a href="#L-1282"><span class="linenos">1282</span></a> <span class="n">s</span> <span class="o">+=</span> <span class="s2">&quot;, &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">realsamples</span><span class="p">[</span><span class="n">rep</span><span class="p">][</span><span class="n">t</span><span class="p">]))</span>
</span><span id="L-1283"><a href="#L-1283"><span class="linenos">1283</span></a> <span class="n">s</span> <span class="o">+=</span> <span class="s2">&quot; samples&quot;</span>
</span><span id="L-1284"><a href="#L-1284"><span class="linenos">1284</span></a> <span class="nb">print</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
</span><span id="L-1285"><a href="#L-1285"><span class="linenos">1285</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Asserted run parameters:</span><span class="se">\n</span><span class="s2"> T:&quot;</span><span class="p">,</span> <span class="n">tmax</span><span class="p">,</span> <span class="s2">&quot;kappa:&quot;</span><span class="p">,</span> <span class="n">kappa</span><span class="p">,</span> <span class="s2">&quot;csw:&quot;</span><span class="p">,</span> <span class="n">csw</span><span class="p">,</span> <span class="s2">&quot;dF:&quot;</span><span class="p">,</span> <span class="n">dF</span><span class="p">,</span> <span class="s2">&quot;zF:&quot;</span><span class="p">,</span> <span class="n">zF</span><span class="p">,</span> <span class="s2">&quot;bnd:&quot;</span><span class="p">,</span> <span class="n">bnd</span><span class="p">)</span>
</span><span id="L-1286"><a href="#L-1286"><span class="linenos">1286</span></a>
</span><span id="L-1287"><a href="#L-1287"><span class="linenos">1287</span></a> <span class="c1"># we have the data now... but we need to re format the whole thing and put it into Corr objects.</span>
</span><span id="L-1288"><a href="#L-1288"><span class="linenos">1288</span></a>
</span><span id="L-1289"><a href="#L-1289"><span class="linenos">1289</span></a> <span class="n">compObs</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1290"><a href="#L-1290"><span class="linenos">1290</span></a>
</span><span id="L-1291"><a href="#L-1291"><span class="linenos">1291</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">tmpcorr</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)):</span>
</span><span id="L-1292"><a href="#L-1292"><span class="linenos">1292</span></a> <span class="n">compObs</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">CObs</span><span class="p">(</span><span class="n">Obs</span><span class="p">([</span><span class="n">realsamples</span><span class="p">[</span><span class="n">rep</span><span class="p">][</span><span class="n">t</span><span class="p">]</span> <span class="k">for</span> <span class="n">rep</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">repnum</span><span class="p">)],</span> <span class="n">names</span><span class="o">=</span><span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="n">cnfgs</span><span class="p">),</span>
</span><span id="L-1293"><a href="#L-1293"><span class="linenos">1293</span></a> <span class="n">Obs</span><span class="p">([</span><span class="n">imagsamples</span><span class="p">[</span><span class="n">rep</span><span class="p">][</span><span class="n">t</span><span class="p">]</span> <span class="k">for</span> <span class="n">rep</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">repnum</span><span class="p">)],</span> <span class="n">names</span><span class="o">=</span><span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="n">cnfgs</span><span class="p">)))</span>
</span><span id="L-1294"><a href="#L-1294"><span class="linenos">1294</span></a>
</span><span id="L-1295"><a href="#L-1295"><span class="linenos">1295</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">compObs</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="L-1296"><a href="#L-1296"><span class="linenos">1296</span></a> <span class="k">return</span> <span class="n">compObs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1297"><a href="#L-1297"><span class="linenos">1297</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="L-1298"><a href="#L-1298"><span class="linenos">1298</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">compObs</span><span class="p">)</span>
</span><span id="L-1280"><a href="#L-1280"><span class="linenos">1280</span></a> <span class="n">corrres</span> <span class="o">=</span> <span class="p">[[],</span> <span class="p">[]]</span>
</span><span id="L-1281"><a href="#L-1281"><span class="linenos">1281</span></a> <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">tmpcorr</span><span class="p">)):</span>
</span><span id="L-1282"><a href="#L-1282"><span class="linenos">1282</span></a> <span class="n">corrres</span><span class="p">[</span><span class="n">i</span> <span class="o">%</span> <span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tmpcorr</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
</span><span id="L-1283"><a href="#L-1283"><span class="linenos">1283</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">tmpcorr</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)):</span>
</span><span id="L-1284"><a href="#L-1284"><span class="linenos">1284</span></a> <span class="n">realsamples</span><span class="p">[</span><span class="n">repnum</span><span class="p">][</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">corrres</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
</span><span id="L-1285"><a href="#L-1285"><span class="linenos">1285</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">tmpcorr</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)):</span>
</span><span id="L-1286"><a href="#L-1286"><span class="linenos">1286</span></a> <span class="n">imagsamples</span><span class="p">[</span><span class="n">repnum</span><span class="p">][</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">corrres</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
</span><span id="L-1287"><a href="#L-1287"><span class="linenos">1287</span></a> <span class="k">if</span> <span class="s1">&#39;idl&#39;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
</span><span id="L-1288"><a href="#L-1288"><span class="linenos">1288</span></a> <span class="n">left_idl</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">left_idl</span><span class="p">)</span>
</span><span id="L-1289"><a href="#L-1289"><span class="linenos">1289</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">left_idl</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
</span><span id="L-1290"><a href="#L-1290"><span class="linenos">1290</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s1">&#39;Could not find idls &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">left_idl</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; in replikum of file &#39;</span> <span class="o">+</span> <span class="n">file</span><span class="p">,</span> <span class="ne">UserWarning</span><span class="p">)</span>
</span><span id="L-1291"><a href="#L-1291"><span class="linenos">1291</span></a> <span class="n">repnum</span> <span class="o">+=</span> <span class="mi">1</span>
</span><span id="L-1292"><a href="#L-1292"><span class="linenos">1292</span></a> <span class="n">s</span> <span class="o">=</span> <span class="s2">&quot;Read correlator &quot;</span> <span class="o">+</span> <span class="n">corr</span> <span class="o">+</span> <span class="s2">&quot; from &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">repnum</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot; replika with idls&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">realsamples</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
</span><span id="L-1293"><a href="#L-1293"><span class="linenos">1293</span></a> <span class="k">for</span> <span class="n">rep</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">repnum</span><span class="p">):</span>
</span><span id="L-1294"><a href="#L-1294"><span class="linenos">1294</span></a> <span class="n">s</span> <span class="o">+=</span> <span class="s2">&quot;, &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">realsamples</span><span class="p">[</span><span class="n">rep</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
</span><span id="L-1295"><a href="#L-1295"><span class="linenos">1295</span></a> <span class="nb">print</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
</span><span id="L-1296"><a href="#L-1296"><span class="linenos">1296</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Asserted run parameters:</span><span class="se">\n</span><span class="s2"> T:&quot;</span><span class="p">,</span> <span class="n">tmax</span><span class="p">,</span> <span class="s2">&quot;kappa:&quot;</span><span class="p">,</span> <span class="n">kappa</span><span class="p">,</span> <span class="s2">&quot;csw:&quot;</span><span class="p">,</span> <span class="n">csw</span><span class="p">,</span> <span class="s2">&quot;dF:&quot;</span><span class="p">,</span> <span class="n">dF</span><span class="p">,</span> <span class="s2">&quot;zF:&quot;</span><span class="p">,</span> <span class="n">zF</span><span class="p">,</span> <span class="s2">&quot;bnd:&quot;</span><span class="p">,</span> <span class="n">bnd</span><span class="p">)</span>
</span><span id="L-1297"><a href="#L-1297"><span class="linenos">1297</span></a>
</span><span id="L-1298"><a href="#L-1298"><span class="linenos">1298</span></a> <span class="c1"># we have the data now... but we need to re format the whole thing and put it into Corr objects.</span>
</span><span id="L-1299"><a href="#L-1299"><span class="linenos">1299</span></a>
</span><span id="L-1300"><a href="#L-1300"><span class="linenos">1300</span></a> <span class="n">compObs</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="L-1301"><a href="#L-1301"><span class="linenos">1301</span></a>
</span><span id="L-1302"><a href="#L-1302"><span class="linenos">1302</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">tmpcorr</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)):</span>
</span><span id="L-1303"><a href="#L-1303"><span class="linenos">1303</span></a> <span class="n">compObs</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">CObs</span><span class="p">(</span><span class="n">Obs</span><span class="p">([</span><span class="n">realsamples</span><span class="p">[</span><span class="n">rep</span><span class="p">][</span><span class="n">t</span><span class="p">]</span> <span class="k">for</span> <span class="n">rep</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">repnum</span><span class="p">)],</span> <span class="n">names</span><span class="o">=</span><span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="n">cnfgs</span><span class="p">),</span>
</span><span id="L-1304"><a href="#L-1304"><span class="linenos">1304</span></a> <span class="n">Obs</span><span class="p">([</span><span class="n">imagsamples</span><span class="p">[</span><span class="n">rep</span><span class="p">][</span><span class="n">t</span><span class="p">]</span> <span class="k">for</span> <span class="n">rep</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">repnum</span><span class="p">)],</span> <span class="n">names</span><span class="o">=</span><span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="n">cnfgs</span><span class="p">)))</span>
</span><span id="L-1305"><a href="#L-1305"><span class="linenos">1305</span></a>
</span><span id="L-1306"><a href="#L-1306"><span class="linenos">1306</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">compObs</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="L-1307"><a href="#L-1307"><span class="linenos">1307</span></a> <span class="k">return</span> <span class="n">compObs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-1308"><a href="#L-1308"><span class="linenos">1308</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="L-1309"><a href="#L-1309"><span class="linenos">1309</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">compObs</span><span class="p">)</span>
</span></pre></div>
@ -2450,139 +2461,150 @@ projection to the topological charge sector defined by target</li>
</span><span id="read_ms5_xsf-1164"><a href="#read_ms5_xsf-1164"><span class="linenos">1164</span></a><span class="sd"> Additional keyword arguments. The following keyword arguments are recognized:</span>
</span><span id="read_ms5_xsf-1165"><a href="#read_ms5_xsf-1165"><span class="linenos">1165</span></a>
</span><span id="read_ms5_xsf-1166"><a href="#read_ms5_xsf-1166"><span class="linenos">1166</span></a><span class="sd"> - names (List[str]): A list of names to use for the replicas.</span>
</span><span id="read_ms5_xsf-1167"><a href="#read_ms5_xsf-1167"><span class="linenos">1167</span></a>
</span><span id="read_ms5_xsf-1168"><a href="#read_ms5_xsf-1168"><span class="linenos">1168</span></a><span class="sd"> Returns</span>
</span><span id="read_ms5_xsf-1169"><a href="#read_ms5_xsf-1169"><span class="linenos">1169</span></a><span class="sd"> -------</span>
</span><span id="read_ms5_xsf-1170"><a href="#read_ms5_xsf-1170"><span class="linenos">1170</span></a><span class="sd"> Corr</span>
</span><span id="read_ms5_xsf-1171"><a href="#read_ms5_xsf-1171"><span class="linenos">1171</span></a><span class="sd"> A complex valued `Corr` object containing the data read from the files. In case of boudary to bulk correlators.</span>
</span><span id="read_ms5_xsf-1172"><a href="#read_ms5_xsf-1172"><span class="linenos">1172</span></a><span class="sd"> or</span>
</span><span id="read_ms5_xsf-1173"><a href="#read_ms5_xsf-1173"><span class="linenos">1173</span></a><span class="sd"> CObs</span>
</span><span id="read_ms5_xsf-1174"><a href="#read_ms5_xsf-1174"><span class="linenos">1174</span></a><span class="sd"> A complex valued `CObs` object containing the data read from the files. In case of boudary to boundary correlators.</span>
</span><span id="read_ms5_xsf-1175"><a href="#read_ms5_xsf-1175"><span class="linenos">1175</span></a>
</span><span id="read_ms5_xsf-1176"><a href="#read_ms5_xsf-1176"><span class="linenos">1176</span></a>
</span><span id="read_ms5_xsf-1177"><a href="#read_ms5_xsf-1177"><span class="linenos">1177</span></a><span class="sd"> Raises</span>
</span><span id="read_ms5_xsf-1178"><a href="#read_ms5_xsf-1178"><span class="linenos">1178</span></a><span class="sd"> ------</span>
</span><span id="read_ms5_xsf-1179"><a href="#read_ms5_xsf-1179"><span class="linenos">1179</span></a><span class="sd"> FileNotFoundError</span>
</span><span id="read_ms5_xsf-1180"><a href="#read_ms5_xsf-1180"><span class="linenos">1180</span></a><span class="sd"> If no files matching the specified prefix and quark combination extension are found in the specified directory.</span>
</span><span id="read_ms5_xsf-1181"><a href="#read_ms5_xsf-1181"><span class="linenos">1181</span></a><span class="sd"> IOError</span>
</span><span id="read_ms5_xsf-1182"><a href="#read_ms5_xsf-1182"><span class="linenos">1182</span></a><span class="sd"> If there is an error reading a file.</span>
</span><span id="read_ms5_xsf-1183"><a href="#read_ms5_xsf-1183"><span class="linenos">1183</span></a><span class="sd"> struct.error</span>
</span><span id="read_ms5_xsf-1184"><a href="#read_ms5_xsf-1184"><span class="linenos">1184</span></a><span class="sd"> If there is an error unpacking binary data.</span>
</span><span id="read_ms5_xsf-1185"><a href="#read_ms5_xsf-1185"><span class="linenos">1185</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="read_ms5_xsf-1186"><a href="#read_ms5_xsf-1186"><span class="linenos">1186</span></a>
</span><span id="read_ms5_xsf-1187"><a href="#read_ms5_xsf-1187"><span class="linenos">1187</span></a> <span class="c1"># found = []</span>
</span><span id="read_ms5_xsf-1188"><a href="#read_ms5_xsf-1188"><span class="linenos">1188</span></a> <span class="n">files</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="read_ms5_xsf-1189"><a href="#read_ms5_xsf-1189"><span class="linenos">1189</span></a> <span class="n">names</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="read_ms5_xsf-1190"><a href="#read_ms5_xsf-1190"><span class="linenos">1190</span></a>
</span><span id="read_ms5_xsf-1191"><a href="#read_ms5_xsf-1191"><span class="linenos">1191</span></a> <span class="c1"># test if the input is correct</span>
</span><span id="read_ms5_xsf-1192"><a href="#read_ms5_xsf-1192"><span class="linenos">1192</span></a> <span class="k">if</span> <span class="n">qc</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;dd&#39;</span><span class="p">,</span> <span class="s1">&#39;ud&#39;</span><span class="p">,</span> <span class="s1">&#39;du&#39;</span><span class="p">,</span> <span class="s1">&#39;uu&#39;</span><span class="p">]:</span>
</span><span id="read_ms5_xsf-1193"><a href="#read_ms5_xsf-1193"><span class="linenos">1193</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unknown quark conbination!&quot;</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1194"><a href="#read_ms5_xsf-1194"><span class="linenos">1194</span></a>
</span><span id="read_ms5_xsf-1195"><a href="#read_ms5_xsf-1195"><span class="linenos">1195</span></a> <span class="k">if</span> <span class="n">corr</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;gS&quot;</span><span class="p">,</span> <span class="s2">&quot;gP&quot;</span><span class="p">,</span> <span class="s2">&quot;gA&quot;</span><span class="p">,</span> <span class="s2">&quot;gV&quot;</span><span class="p">,</span> <span class="s2">&quot;gVt&quot;</span><span class="p">,</span> <span class="s2">&quot;lA&quot;</span><span class="p">,</span> <span class="s2">&quot;lV&quot;</span><span class="p">,</span> <span class="s2">&quot;lVt&quot;</span><span class="p">,</span> <span class="s2">&quot;lT&quot;</span><span class="p">,</span> <span class="s2">&quot;lTt&quot;</span><span class="p">,</span> <span class="s2">&quot;g1&quot;</span><span class="p">,</span> <span class="s2">&quot;l1&quot;</span><span class="p">]:</span>
</span><span id="read_ms5_xsf-1196"><a href="#read_ms5_xsf-1196"><span class="linenos">1196</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unknown correlator!&quot;</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1197"><a href="#read_ms5_xsf-1197"><span class="linenos">1197</span></a>
</span><span id="read_ms5_xsf-1198"><a href="#read_ms5_xsf-1198"><span class="linenos">1198</span></a> <span class="k">if</span> <span class="s2">&quot;files&quot;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1199"><a href="#read_ms5_xsf-1199"><span class="linenos">1199</span></a> <span class="n">known_files</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;files&quot;</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1200"><a href="#read_ms5_xsf-1200"><span class="linenos">1200</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1201"><a href="#read_ms5_xsf-1201"><span class="linenos">1201</span></a> <span class="n">known_files</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="read_ms5_xsf-1202"><a href="#read_ms5_xsf-1202"><span class="linenos">1202</span></a> <span class="n">files</span> <span class="o">=</span> <span class="n">_find_files</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="s2">&quot;ms5_xsf_&quot;</span> <span class="o">+</span> <span class="n">qc</span><span class="p">,</span> <span class="s2">&quot;dat&quot;</span><span class="p">,</span> <span class="n">known_files</span><span class="o">=</span><span class="n">known_files</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1203"><a href="#read_ms5_xsf-1203"><span class="linenos">1203</span></a>
</span><span id="read_ms5_xsf-1204"><a href="#read_ms5_xsf-1204"><span class="linenos">1204</span></a> <span class="k">if</span> <span class="s2">&quot;names&quot;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1205"><a href="#read_ms5_xsf-1205"><span class="linenos">1205</span></a> <span class="n">names</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;names&quot;</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1206"><a href="#read_ms5_xsf-1206"><span class="linenos">1206</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1207"><a href="#read_ms5_xsf-1207"><span class="linenos">1207</span></a> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">files</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1208"><a href="#read_ms5_xsf-1208"><span class="linenos">1208</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">sep</span> <span class="o">==</span> <span class="s2">&quot;&quot;</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1209"><a href="#read_ms5_xsf-1209"><span class="linenos">1209</span></a> <span class="n">se</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1210"><a href="#read_ms5_xsf-1210"><span class="linenos">1210</span></a> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">f</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)[</span><span class="mi">1</span><span class="p">:</span><span class="o">-</span><span class="mi">2</span><span class="p">]:</span>
</span><span id="read_ms5_xsf-1211"><a href="#read_ms5_xsf-1211"><span class="linenos">1211</span></a> <span class="n">se</span> <span class="o">+=</span> <span class="s2">&quot;.&quot;</span> <span class="o">+</span> <span class="n">s</span>
</span><span id="read_ms5_xsf-1212"><a href="#read_ms5_xsf-1212"><span class="linenos">1212</span></a> <span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">se</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">sep</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="s2">&quot;|r&quot;</span> <span class="o">+</span> <span class="n">se</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">sep</span><span class="p">)[</span><span class="mi">1</span><span class="p">])</span>
</span><span id="read_ms5_xsf-1213"><a href="#read_ms5_xsf-1213"><span class="linenos">1213</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1214"><a href="#read_ms5_xsf-1214"><span class="linenos">1214</span></a> <span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">prefix</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1215"><a href="#read_ms5_xsf-1215"><span class="linenos">1215</span></a>
</span><span id="read_ms5_xsf-1216"><a href="#read_ms5_xsf-1216"><span class="linenos">1216</span></a> <span class="n">names</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">names</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1217"><a href="#read_ms5_xsf-1217"><span class="linenos">1217</span></a> <span class="n">files</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">files</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1218"><a href="#read_ms5_xsf-1218"><span class="linenos">1218</span></a>
</span><span id="read_ms5_xsf-1219"><a href="#read_ms5_xsf-1219"><span class="linenos">1219</span></a> <span class="n">cnfgs</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="read_ms5_xsf-1220"><a href="#read_ms5_xsf-1220"><span class="linenos">1220</span></a> <span class="n">realsamples</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="read_ms5_xsf-1221"><a href="#read_ms5_xsf-1221"><span class="linenos">1221</span></a> <span class="n">imagsamples</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="read_ms5_xsf-1222"><a href="#read_ms5_xsf-1222"><span class="linenos">1222</span></a> <span class="n">repnum</span> <span class="o">=</span> <span class="mi">0</span>
</span><span id="read_ms5_xsf-1223"><a href="#read_ms5_xsf-1223"><span class="linenos">1223</span></a> <span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">files</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1224"><a href="#read_ms5_xsf-1224"><span class="linenos">1224</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span> <span class="o">+</span> <span class="s2">&quot;/&quot;</span> <span class="o">+</span> <span class="n">file</span><span class="p">,</span> <span class="s2">&quot;rb&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1225"><a href="#read_ms5_xsf-1225"><span class="linenos">1225</span></a>
</span><span id="read_ms5_xsf-1226"><a href="#read_ms5_xsf-1226"><span class="linenos">1226</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1227"><a href="#read_ms5_xsf-1227"><span class="linenos">1227</span></a> <span class="n">kappa</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1228"><a href="#read_ms5_xsf-1228"><span class="linenos">1228</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1229"><a href="#read_ms5_xsf-1229"><span class="linenos">1229</span></a> <span class="n">csw</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1230"><a href="#read_ms5_xsf-1230"><span class="linenos">1230</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1231"><a href="#read_ms5_xsf-1231"><span class="linenos">1231</span></a> <span class="n">dF</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1232"><a href="#read_ms5_xsf-1232"><span class="linenos">1232</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1233"><a href="#read_ms5_xsf-1233"><span class="linenos">1233</span></a> <span class="n">zF</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1234"><a href="#read_ms5_xsf-1234"><span class="linenos">1234</span></a>
</span><span id="read_ms5_xsf-1235"><a href="#read_ms5_xsf-1235"><span class="linenos">1235</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1236"><a href="#read_ms5_xsf-1236"><span class="linenos">1236</span></a> <span class="n">tmax</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;i&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1237"><a href="#read_ms5_xsf-1237"><span class="linenos">1237</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1238"><a href="#read_ms5_xsf-1238"><span class="linenos">1238</span></a> <span class="n">bnd</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;i&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1239"><a href="#read_ms5_xsf-1239"><span class="linenos">1239</span></a>
</span><span id="read_ms5_xsf-1240"><a href="#read_ms5_xsf-1240"><span class="linenos">1240</span></a> <span class="n">placesBI</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;gS&quot;</span><span class="p">,</span> <span class="s2">&quot;gP&quot;</span><span class="p">,</span>
</span><span id="read_ms5_xsf-1241"><a href="#read_ms5_xsf-1241"><span class="linenos">1241</span></a> <span class="s2">&quot;gA&quot;</span><span class="p">,</span> <span class="s2">&quot;gV&quot;</span><span class="p">,</span>
</span><span id="read_ms5_xsf-1242"><a href="#read_ms5_xsf-1242"><span class="linenos">1242</span></a> <span class="s2">&quot;gVt&quot;</span><span class="p">,</span> <span class="s2">&quot;lA&quot;</span><span class="p">,</span>
</span><span id="read_ms5_xsf-1243"><a href="#read_ms5_xsf-1243"><span class="linenos">1243</span></a> <span class="s2">&quot;lV&quot;</span><span class="p">,</span> <span class="s2">&quot;lVt&quot;</span><span class="p">,</span>
</span><span id="read_ms5_xsf-1244"><a href="#read_ms5_xsf-1244"><span class="linenos">1244</span></a> <span class="s2">&quot;lT&quot;</span><span class="p">,</span> <span class="s2">&quot;lTt&quot;</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1245"><a href="#read_ms5_xsf-1245"><span class="linenos">1245</span></a> <span class="n">placesBB</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;g1&quot;</span><span class="p">,</span> <span class="s2">&quot;l1&quot;</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1246"><a href="#read_ms5_xsf-1246"><span class="linenos">1246</span></a>
</span><span id="read_ms5_xsf-1247"><a href="#read_ms5_xsf-1247"><span class="linenos">1247</span></a> <span class="c1"># the chunks have the following structure:</span>
</span><span id="read_ms5_xsf-1248"><a href="#read_ms5_xsf-1248"><span class="linenos">1248</span></a> <span class="c1"># confignumber, 10x timedependent complex correlators as doubles, 2x timeindependent complex correlators as doubles</span>
</span><span id="read_ms5_xsf-1167"><a href="#read_ms5_xsf-1167"><span class="linenos">1167</span></a><span class="sd"> - files (List[str]): A list of files to read data from.</span>
</span><span id="read_ms5_xsf-1168"><a href="#read_ms5_xsf-1168"><span class="linenos">1168</span></a><span class="sd"> - idl (List[List[int]]): A list of idls per replicum, resticting data to the idls given.</span>
</span><span id="read_ms5_xsf-1169"><a href="#read_ms5_xsf-1169"><span class="linenos">1169</span></a>
</span><span id="read_ms5_xsf-1170"><a href="#read_ms5_xsf-1170"><span class="linenos">1170</span></a><span class="sd"> Returns</span>
</span><span id="read_ms5_xsf-1171"><a href="#read_ms5_xsf-1171"><span class="linenos">1171</span></a><span class="sd"> -------</span>
</span><span id="read_ms5_xsf-1172"><a href="#read_ms5_xsf-1172"><span class="linenos">1172</span></a><span class="sd"> Corr</span>
</span><span id="read_ms5_xsf-1173"><a href="#read_ms5_xsf-1173"><span class="linenos">1173</span></a><span class="sd"> A complex valued `Corr` object containing the data read from the files. In case of boudary to bulk correlators.</span>
</span><span id="read_ms5_xsf-1174"><a href="#read_ms5_xsf-1174"><span class="linenos">1174</span></a><span class="sd"> or</span>
</span><span id="read_ms5_xsf-1175"><a href="#read_ms5_xsf-1175"><span class="linenos">1175</span></a><span class="sd"> CObs</span>
</span><span id="read_ms5_xsf-1176"><a href="#read_ms5_xsf-1176"><span class="linenos">1176</span></a><span class="sd"> A complex valued `CObs` object containing the data read from the files. In case of boudary to boundary correlators.</span>
</span><span id="read_ms5_xsf-1177"><a href="#read_ms5_xsf-1177"><span class="linenos">1177</span></a>
</span><span id="read_ms5_xsf-1178"><a href="#read_ms5_xsf-1178"><span class="linenos">1178</span></a>
</span><span id="read_ms5_xsf-1179"><a href="#read_ms5_xsf-1179"><span class="linenos">1179</span></a><span class="sd"> Raises</span>
</span><span id="read_ms5_xsf-1180"><a href="#read_ms5_xsf-1180"><span class="linenos">1180</span></a><span class="sd"> ------</span>
</span><span id="read_ms5_xsf-1181"><a href="#read_ms5_xsf-1181"><span class="linenos">1181</span></a><span class="sd"> FileNotFoundError</span>
</span><span id="read_ms5_xsf-1182"><a href="#read_ms5_xsf-1182"><span class="linenos">1182</span></a><span class="sd"> If no files matching the specified prefix and quark combination extension are found in the specified directory.</span>
</span><span id="read_ms5_xsf-1183"><a href="#read_ms5_xsf-1183"><span class="linenos">1183</span></a><span class="sd"> IOError</span>
</span><span id="read_ms5_xsf-1184"><a href="#read_ms5_xsf-1184"><span class="linenos">1184</span></a><span class="sd"> If there is an error reading a file.</span>
</span><span id="read_ms5_xsf-1185"><a href="#read_ms5_xsf-1185"><span class="linenos">1185</span></a><span class="sd"> struct.error</span>
</span><span id="read_ms5_xsf-1186"><a href="#read_ms5_xsf-1186"><span class="linenos">1186</span></a><span class="sd"> If there is an error unpacking binary data.</span>
</span><span id="read_ms5_xsf-1187"><a href="#read_ms5_xsf-1187"><span class="linenos">1187</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="read_ms5_xsf-1188"><a href="#read_ms5_xsf-1188"><span class="linenos">1188</span></a>
</span><span id="read_ms5_xsf-1189"><a href="#read_ms5_xsf-1189"><span class="linenos">1189</span></a> <span class="c1"># found = []</span>
</span><span id="read_ms5_xsf-1190"><a href="#read_ms5_xsf-1190"><span class="linenos">1190</span></a> <span class="n">files</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="read_ms5_xsf-1191"><a href="#read_ms5_xsf-1191"><span class="linenos">1191</span></a> <span class="n">names</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="read_ms5_xsf-1192"><a href="#read_ms5_xsf-1192"><span class="linenos">1192</span></a>
</span><span id="read_ms5_xsf-1193"><a href="#read_ms5_xsf-1193"><span class="linenos">1193</span></a> <span class="c1"># test if the input is correct</span>
</span><span id="read_ms5_xsf-1194"><a href="#read_ms5_xsf-1194"><span class="linenos">1194</span></a> <span class="k">if</span> <span class="n">qc</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;dd&#39;</span><span class="p">,</span> <span class="s1">&#39;ud&#39;</span><span class="p">,</span> <span class="s1">&#39;du&#39;</span><span class="p">,</span> <span class="s1">&#39;uu&#39;</span><span class="p">]:</span>
</span><span id="read_ms5_xsf-1195"><a href="#read_ms5_xsf-1195"><span class="linenos">1195</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unknown quark conbination!&quot;</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1196"><a href="#read_ms5_xsf-1196"><span class="linenos">1196</span></a>
</span><span id="read_ms5_xsf-1197"><a href="#read_ms5_xsf-1197"><span class="linenos">1197</span></a> <span class="k">if</span> <span class="n">corr</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">&quot;gS&quot;</span><span class="p">,</span> <span class="s2">&quot;gP&quot;</span><span class="p">,</span> <span class="s2">&quot;gA&quot;</span><span class="p">,</span> <span class="s2">&quot;gV&quot;</span><span class="p">,</span> <span class="s2">&quot;gVt&quot;</span><span class="p">,</span> <span class="s2">&quot;lA&quot;</span><span class="p">,</span> <span class="s2">&quot;lV&quot;</span><span class="p">,</span> <span class="s2">&quot;lVt&quot;</span><span class="p">,</span> <span class="s2">&quot;lT&quot;</span><span class="p">,</span> <span class="s2">&quot;lTt&quot;</span><span class="p">,</span> <span class="s2">&quot;g1&quot;</span><span class="p">,</span> <span class="s2">&quot;l1&quot;</span><span class="p">]:</span>
</span><span id="read_ms5_xsf-1198"><a href="#read_ms5_xsf-1198"><span class="linenos">1198</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unknown correlator!&quot;</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1199"><a href="#read_ms5_xsf-1199"><span class="linenos">1199</span></a>
</span><span id="read_ms5_xsf-1200"><a href="#read_ms5_xsf-1200"><span class="linenos">1200</span></a> <span class="k">if</span> <span class="s2">&quot;files&quot;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1201"><a href="#read_ms5_xsf-1201"><span class="linenos">1201</span></a> <span class="n">known_files</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;files&quot;</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1202"><a href="#read_ms5_xsf-1202"><span class="linenos">1202</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1203"><a href="#read_ms5_xsf-1203"><span class="linenos">1203</span></a> <span class="n">known_files</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="read_ms5_xsf-1204"><a href="#read_ms5_xsf-1204"><span class="linenos">1204</span></a> <span class="n">files</span> <span class="o">=</span> <span class="n">_find_files</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span><span class="p">,</span> <span class="s2">&quot;ms5_xsf_&quot;</span> <span class="o">+</span> <span class="n">qc</span><span class="p">,</span> <span class="s2">&quot;dat&quot;</span><span class="p">,</span> <span class="n">known_files</span><span class="o">=</span><span class="n">known_files</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1205"><a href="#read_ms5_xsf-1205"><span class="linenos">1205</span></a>
</span><span id="read_ms5_xsf-1206"><a href="#read_ms5_xsf-1206"><span class="linenos">1206</span></a> <span class="k">if</span> <span class="s2">&quot;names&quot;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1207"><a href="#read_ms5_xsf-1207"><span class="linenos">1207</span></a> <span class="n">names</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;names&quot;</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1208"><a href="#read_ms5_xsf-1208"><span class="linenos">1208</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1209"><a href="#read_ms5_xsf-1209"><span class="linenos">1209</span></a> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">files</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1210"><a href="#read_ms5_xsf-1210"><span class="linenos">1210</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">sep</span> <span class="o">==</span> <span class="s2">&quot;&quot;</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1211"><a href="#read_ms5_xsf-1211"><span class="linenos">1211</span></a> <span class="n">se</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1212"><a href="#read_ms5_xsf-1212"><span class="linenos">1212</span></a> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">f</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)[</span><span class="mi">1</span><span class="p">:</span><span class="o">-</span><span class="mi">2</span><span class="p">]:</span>
</span><span id="read_ms5_xsf-1213"><a href="#read_ms5_xsf-1213"><span class="linenos">1213</span></a> <span class="n">se</span> <span class="o">+=</span> <span class="s2">&quot;.&quot;</span> <span class="o">+</span> <span class="n">s</span>
</span><span id="read_ms5_xsf-1214"><a href="#read_ms5_xsf-1214"><span class="linenos">1214</span></a> <span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">se</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">sep</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="s2">&quot;|r&quot;</span> <span class="o">+</span> <span class="n">se</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">sep</span><span class="p">)[</span><span class="mi">1</span><span class="p">])</span>
</span><span id="read_ms5_xsf-1215"><a href="#read_ms5_xsf-1215"><span class="linenos">1215</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1216"><a href="#read_ms5_xsf-1216"><span class="linenos">1216</span></a> <span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">prefix</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1217"><a href="#read_ms5_xsf-1217"><span class="linenos">1217</span></a> <span class="k">if</span> <span class="s1">&#39;idl&#39;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1218"><a href="#read_ms5_xsf-1218"><span class="linenos">1218</span></a> <span class="n">expected_idl</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;idl&#39;</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1219"><a href="#read_ms5_xsf-1219"><span class="linenos">1219</span></a> <span class="n">names</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">names</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1220"><a href="#read_ms5_xsf-1220"><span class="linenos">1220</span></a> <span class="n">files</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">files</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1221"><a href="#read_ms5_xsf-1221"><span class="linenos">1221</span></a>
</span><span id="read_ms5_xsf-1222"><a href="#read_ms5_xsf-1222"><span class="linenos">1222</span></a> <span class="n">cnfgs</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="read_ms5_xsf-1223"><a href="#read_ms5_xsf-1223"><span class="linenos">1223</span></a> <span class="n">realsamples</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="read_ms5_xsf-1224"><a href="#read_ms5_xsf-1224"><span class="linenos">1224</span></a> <span class="n">imagsamples</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="read_ms5_xsf-1225"><a href="#read_ms5_xsf-1225"><span class="linenos">1225</span></a> <span class="n">repnum</span> <span class="o">=</span> <span class="mi">0</span>
</span><span id="read_ms5_xsf-1226"><a href="#read_ms5_xsf-1226"><span class="linenos">1226</span></a> <span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">files</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1227"><a href="#read_ms5_xsf-1227"><span class="linenos">1227</span></a> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span> <span class="o">+</span> <span class="s2">&quot;/&quot;</span> <span class="o">+</span> <span class="n">file</span><span class="p">,</span> <span class="s2">&quot;rb&quot;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fp</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1228"><a href="#read_ms5_xsf-1228"><span class="linenos">1228</span></a>
</span><span id="read_ms5_xsf-1229"><a href="#read_ms5_xsf-1229"><span class="linenos">1229</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1230"><a href="#read_ms5_xsf-1230"><span class="linenos">1230</span></a> <span class="n">kappa</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1231"><a href="#read_ms5_xsf-1231"><span class="linenos">1231</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1232"><a href="#read_ms5_xsf-1232"><span class="linenos">1232</span></a> <span class="n">csw</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1233"><a href="#read_ms5_xsf-1233"><span class="linenos">1233</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1234"><a href="#read_ms5_xsf-1234"><span class="linenos">1234</span></a> <span class="n">dF</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1235"><a href="#read_ms5_xsf-1235"><span class="linenos">1235</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1236"><a href="#read_ms5_xsf-1236"><span class="linenos">1236</span></a> <span class="n">zF</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1237"><a href="#read_ms5_xsf-1237"><span class="linenos">1237</span></a>
</span><span id="read_ms5_xsf-1238"><a href="#read_ms5_xsf-1238"><span class="linenos">1238</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1239"><a href="#read_ms5_xsf-1239"><span class="linenos">1239</span></a> <span class="n">tmax</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;i&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1240"><a href="#read_ms5_xsf-1240"><span class="linenos">1240</span></a> <span class="n">t</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1241"><a href="#read_ms5_xsf-1241"><span class="linenos">1241</span></a> <span class="n">bnd</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s1">&#39;i&#39;</span><span class="p">,</span> <span class="n">t</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1242"><a href="#read_ms5_xsf-1242"><span class="linenos">1242</span></a>
</span><span id="read_ms5_xsf-1243"><a href="#read_ms5_xsf-1243"><span class="linenos">1243</span></a> <span class="n">placesBI</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;gS&quot;</span><span class="p">,</span> <span class="s2">&quot;gP&quot;</span><span class="p">,</span>
</span><span id="read_ms5_xsf-1244"><a href="#read_ms5_xsf-1244"><span class="linenos">1244</span></a> <span class="s2">&quot;gA&quot;</span><span class="p">,</span> <span class="s2">&quot;gV&quot;</span><span class="p">,</span>
</span><span id="read_ms5_xsf-1245"><a href="#read_ms5_xsf-1245"><span class="linenos">1245</span></a> <span class="s2">&quot;gVt&quot;</span><span class="p">,</span> <span class="s2">&quot;lA&quot;</span><span class="p">,</span>
</span><span id="read_ms5_xsf-1246"><a href="#read_ms5_xsf-1246"><span class="linenos">1246</span></a> <span class="s2">&quot;lV&quot;</span><span class="p">,</span> <span class="s2">&quot;lVt&quot;</span><span class="p">,</span>
</span><span id="read_ms5_xsf-1247"><a href="#read_ms5_xsf-1247"><span class="linenos">1247</span></a> <span class="s2">&quot;lT&quot;</span><span class="p">,</span> <span class="s2">&quot;lTt&quot;</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1248"><a href="#read_ms5_xsf-1248"><span class="linenos">1248</span></a> <span class="n">placesBB</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;g1&quot;</span><span class="p">,</span> <span class="s2">&quot;l1&quot;</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1249"><a href="#read_ms5_xsf-1249"><span class="linenos">1249</span></a>
</span><span id="read_ms5_xsf-1250"><a href="#read_ms5_xsf-1250"><span class="linenos">1250</span></a> <span class="n">chunksize</span> <span class="o">=</span> <span class="mi">4</span> <span class="o">+</span> <span class="p">(</span><span class="mi">8</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="mi">10</span><span class="p">)</span> <span class="o">+</span> <span class="p">(</span><span class="mi">8</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">*</span> <span class="mi">2</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1251"><a href="#read_ms5_xsf-1251"><span class="linenos">1251</span></a> <span class="n">packstr</span> <span class="o">=</span> <span class="s1">&#39;=i&#39;</span> <span class="o">+</span> <span class="p">(</span><span class="s1">&#39;d&#39;</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="mi">10</span><span class="p">)</span> <span class="o">+</span> <span class="p">(</span><span class="s1">&#39;d&#39;</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">*</span> <span class="mi">2</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1252"><a href="#read_ms5_xsf-1252"><span class="linenos">1252</span></a> <span class="n">cnfgs</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="read_ms5_xsf-1253"><a href="#read_ms5_xsf-1253"><span class="linenos">1253</span></a> <span class="n">realsamples</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="read_ms5_xsf-1254"><a href="#read_ms5_xsf-1254"><span class="linenos">1254</span></a> <span class="n">imagsamples</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="read_ms5_xsf-1255"><a href="#read_ms5_xsf-1255"><span class="linenos">1255</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">tmax</span><span class="p">):</span>
</span><span id="read_ms5_xsf-1256"><a href="#read_ms5_xsf-1256"><span class="linenos">1256</span></a> <span class="n">realsamples</span><span class="p">[</span><span class="n">repnum</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="read_ms5_xsf-1257"><a href="#read_ms5_xsf-1257"><span class="linenos">1257</span></a> <span class="n">imagsamples</span><span class="p">[</span><span class="n">repnum</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="read_ms5_xsf-1258"><a href="#read_ms5_xsf-1258"><span class="linenos">1258</span></a>
</span><span id="read_ms5_xsf-1259"><a href="#read_ms5_xsf-1259"><span class="linenos">1259</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1260"><a href="#read_ms5_xsf-1260"><span class="linenos">1260</span></a> <span class="n">cnfgt</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">chunksize</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1261"><a href="#read_ms5_xsf-1261"><span class="linenos">1261</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">cnfgt</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1262"><a href="#read_ms5_xsf-1262"><span class="linenos">1262</span></a> <span class="k">break</span>
</span><span id="read_ms5_xsf-1263"><a href="#read_ms5_xsf-1263"><span class="linenos">1263</span></a> <span class="n">asascii</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="n">packstr</span><span class="p">,</span> <span class="n">cnfgt</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1264"><a href="#read_ms5_xsf-1264"><span class="linenos">1264</span></a> <span class="n">cnfg</span> <span class="o">=</span> <span class="n">asascii</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1265"><a href="#read_ms5_xsf-1265"><span class="linenos">1265</span></a> <span class="n">cnfgs</span><span class="p">[</span><span class="n">repnum</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cnfg</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1266"><a href="#read_ms5_xsf-1266"><span class="linenos">1266</span></a>
</span><span id="read_ms5_xsf-1267"><a href="#read_ms5_xsf-1267"><span class="linenos">1267</span></a> <span class="k">if</span> <span class="n">corr</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">placesBB</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1268"><a href="#read_ms5_xsf-1268"><span class="linenos">1268</span></a> <span class="n">tmpcorr</span> <span class="o">=</span> <span class="n">asascii</span><span class="p">[</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="n">placesBI</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">corr</span><span class="p">):</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="n">placesBI</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1269"><a href="#read_ms5_xsf-1269"><span class="linenos">1269</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1270"><a href="#read_ms5_xsf-1270"><span class="linenos">1270</span></a> <span class="n">tmpcorr</span> <span class="o">=</span> <span class="n">asascii</span><span class="p">[</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">placesBI</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">placesBB</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">corr</span><span class="p">):</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">placesBI</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">placesBB</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1271"><a href="#read_ms5_xsf-1271"><span class="linenos">1271</span></a>
</span><span id="read_ms5_xsf-1272"><a href="#read_ms5_xsf-1272"><span class="linenos">1272</span></a> <span class="n">corrres</span> <span class="o">=</span> <span class="p">[[],</span> <span class="p">[]]</span>
</span><span id="read_ms5_xsf-1273"><a href="#read_ms5_xsf-1273"><span class="linenos">1273</span></a> <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">tmpcorr</span><span class="p">)):</span>
</span><span id="read_ms5_xsf-1274"><a href="#read_ms5_xsf-1274"><span class="linenos">1274</span></a> <span class="n">corrres</span><span class="p">[</span><span class="n">i</span> <span class="o">%</span> <span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tmpcorr</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
</span><span id="read_ms5_xsf-1275"><a href="#read_ms5_xsf-1275"><span class="linenos">1275</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">tmpcorr</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)):</span>
</span><span id="read_ms5_xsf-1276"><a href="#read_ms5_xsf-1276"><span class="linenos">1276</span></a> <span class="n">realsamples</span><span class="p">[</span><span class="n">repnum</span><span class="p">][</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">corrres</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
</span><span id="read_ms5_xsf-1277"><a href="#read_ms5_xsf-1277"><span class="linenos">1277</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">tmpcorr</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)):</span>
</span><span id="read_ms5_xsf-1278"><a href="#read_ms5_xsf-1278"><span class="linenos">1278</span></a> <span class="n">imagsamples</span><span class="p">[</span><span class="n">repnum</span><span class="p">][</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">corrres</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
</span><span id="read_ms5_xsf-1279"><a href="#read_ms5_xsf-1279"><span class="linenos">1279</span></a> <span class="n">repnum</span> <span class="o">+=</span> <span class="mi">1</span>
</span><span id="read_ms5_xsf-1250"><a href="#read_ms5_xsf-1250"><span class="linenos">1250</span></a> <span class="c1"># the chunks have the following structure:</span>
</span><span id="read_ms5_xsf-1251"><a href="#read_ms5_xsf-1251"><span class="linenos">1251</span></a> <span class="c1"># confignumber, 10x timedependent complex correlators as doubles, 2x timeindependent complex correlators as doubles</span>
</span><span id="read_ms5_xsf-1252"><a href="#read_ms5_xsf-1252"><span class="linenos">1252</span></a>
</span><span id="read_ms5_xsf-1253"><a href="#read_ms5_xsf-1253"><span class="linenos">1253</span></a> <span class="n">chunksize</span> <span class="o">=</span> <span class="mi">4</span> <span class="o">+</span> <span class="p">(</span><span class="mi">8</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="mi">10</span><span class="p">)</span> <span class="o">+</span> <span class="p">(</span><span class="mi">8</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">*</span> <span class="mi">2</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1254"><a href="#read_ms5_xsf-1254"><span class="linenos">1254</span></a> <span class="n">packstr</span> <span class="o">=</span> <span class="s1">&#39;=i&#39;</span> <span class="o">+</span> <span class="p">(</span><span class="s1">&#39;d&#39;</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="mi">10</span><span class="p">)</span> <span class="o">+</span> <span class="p">(</span><span class="s1">&#39;d&#39;</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">*</span> <span class="mi">2</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1255"><a href="#read_ms5_xsf-1255"><span class="linenos">1255</span></a> <span class="n">cnfgs</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="read_ms5_xsf-1256"><a href="#read_ms5_xsf-1256"><span class="linenos">1256</span></a> <span class="n">realsamples</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="read_ms5_xsf-1257"><a href="#read_ms5_xsf-1257"><span class="linenos">1257</span></a> <span class="n">imagsamples</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="read_ms5_xsf-1258"><a href="#read_ms5_xsf-1258"><span class="linenos">1258</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">tmax</span><span class="p">):</span>
</span><span id="read_ms5_xsf-1259"><a href="#read_ms5_xsf-1259"><span class="linenos">1259</span></a> <span class="n">realsamples</span><span class="p">[</span><span class="n">repnum</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="read_ms5_xsf-1260"><a href="#read_ms5_xsf-1260"><span class="linenos">1260</span></a> <span class="n">imagsamples</span><span class="p">[</span><span class="n">repnum</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
</span><span id="read_ms5_xsf-1261"><a href="#read_ms5_xsf-1261"><span class="linenos">1261</span></a> <span class="k">if</span> <span class="s1">&#39;idl&#39;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1262"><a href="#read_ms5_xsf-1262"><span class="linenos">1262</span></a> <span class="n">left_idl</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">expected_idl</span><span class="p">[</span><span class="n">repnum</span><span class="p">])</span>
</span><span id="read_ms5_xsf-1263"><a href="#read_ms5_xsf-1263"><span class="linenos">1263</span></a> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1264"><a href="#read_ms5_xsf-1264"><span class="linenos">1264</span></a> <span class="n">cnfgt</span> <span class="o">=</span> <span class="n">fp</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">chunksize</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1265"><a href="#read_ms5_xsf-1265"><span class="linenos">1265</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">cnfgt</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1266"><a href="#read_ms5_xsf-1266"><span class="linenos">1266</span></a> <span class="k">break</span>
</span><span id="read_ms5_xsf-1267"><a href="#read_ms5_xsf-1267"><span class="linenos">1267</span></a> <span class="n">asascii</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="n">packstr</span><span class="p">,</span> <span class="n">cnfgt</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1268"><a href="#read_ms5_xsf-1268"><span class="linenos">1268</span></a> <span class="n">cnfg</span> <span class="o">=</span> <span class="n">asascii</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1269"><a href="#read_ms5_xsf-1269"><span class="linenos">1269</span></a> <span class="n">idl_wanted</span> <span class="o">=</span> <span class="kc">True</span>
</span><span id="read_ms5_xsf-1270"><a href="#read_ms5_xsf-1270"><span class="linenos">1270</span></a> <span class="k">if</span> <span class="s1">&#39;idl&#39;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1271"><a href="#read_ms5_xsf-1271"><span class="linenos">1271</span></a> <span class="n">idl_wanted</span> <span class="o">=</span> <span class="p">(</span><span class="n">cnfg</span> <span class="ow">in</span> <span class="n">expected_idl</span><span class="p">[</span><span class="n">repnum</span><span class="p">])</span>
</span><span id="read_ms5_xsf-1272"><a href="#read_ms5_xsf-1272"><span class="linenos">1272</span></a> <span class="n">left_idl</span> <span class="o">=</span> <span class="n">left_idl</span> <span class="o">-</span> <span class="nb">set</span><span class="p">([</span><span class="n">cnfg</span><span class="p">])</span>
</span><span id="read_ms5_xsf-1273"><a href="#read_ms5_xsf-1273"><span class="linenos">1273</span></a> <span class="k">if</span> <span class="n">idl_wanted</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1274"><a href="#read_ms5_xsf-1274"><span class="linenos">1274</span></a> <span class="n">cnfgs</span><span class="p">[</span><span class="n">repnum</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cnfg</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1275"><a href="#read_ms5_xsf-1275"><span class="linenos">1275</span></a>
</span><span id="read_ms5_xsf-1276"><a href="#read_ms5_xsf-1276"><span class="linenos">1276</span></a> <span class="k">if</span> <span class="n">corr</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">placesBB</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1277"><a href="#read_ms5_xsf-1277"><span class="linenos">1277</span></a> <span class="n">tmpcorr</span> <span class="o">=</span> <span class="n">asascii</span><span class="p">[</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="n">placesBI</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">corr</span><span class="p">):</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="n">placesBI</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1278"><a href="#read_ms5_xsf-1278"><span class="linenos">1278</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1279"><a href="#read_ms5_xsf-1279"><span class="linenos">1279</span></a> <span class="n">tmpcorr</span> <span class="o">=</span> <span class="n">asascii</span><span class="p">[</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">placesBI</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">placesBB</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">corr</span><span class="p">):</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">tmax</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">placesBI</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">placesBB</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">corr</span><span class="p">)</span> <span class="o">+</span> <span class="mi">2</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1280"><a href="#read_ms5_xsf-1280"><span class="linenos">1280</span></a>
</span><span id="read_ms5_xsf-1281"><a href="#read_ms5_xsf-1281"><span class="linenos">1281</span></a> <span class="n">s</span> <span class="o">=</span> <span class="s2">&quot;Read correlator &quot;</span> <span class="o">+</span> <span class="n">corr</span> <span class="o">+</span> <span class="s2">&quot; from &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">repnum</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot; replika with &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">realsamples</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">t</span><span class="p">]))</span>
</span><span id="read_ms5_xsf-1282"><a href="#read_ms5_xsf-1282"><span class="linenos">1282</span></a> <span class="k">for</span> <span class="n">rep</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">repnum</span><span class="p">):</span>
</span><span id="read_ms5_xsf-1283"><a href="#read_ms5_xsf-1283"><span class="linenos">1283</span></a> <span class="n">s</span> <span class="o">+=</span> <span class="s2">&quot;, &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">realsamples</span><span class="p">[</span><span class="n">rep</span><span class="p">][</span><span class="n">t</span><span class="p">]))</span>
</span><span id="read_ms5_xsf-1284"><a href="#read_ms5_xsf-1284"><span class="linenos">1284</span></a> <span class="n">s</span> <span class="o">+=</span> <span class="s2">&quot; samples&quot;</span>
</span><span id="read_ms5_xsf-1285"><a href="#read_ms5_xsf-1285"><span class="linenos">1285</span></a> <span class="nb">print</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1286"><a href="#read_ms5_xsf-1286"><span class="linenos">1286</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Asserted run parameters:</span><span class="se">\n</span><span class="s2"> T:&quot;</span><span class="p">,</span> <span class="n">tmax</span><span class="p">,</span> <span class="s2">&quot;kappa:&quot;</span><span class="p">,</span> <span class="n">kappa</span><span class="p">,</span> <span class="s2">&quot;csw:&quot;</span><span class="p">,</span> <span class="n">csw</span><span class="p">,</span> <span class="s2">&quot;dF:&quot;</span><span class="p">,</span> <span class="n">dF</span><span class="p">,</span> <span class="s2">&quot;zF:&quot;</span><span class="p">,</span> <span class="n">zF</span><span class="p">,</span> <span class="s2">&quot;bnd:&quot;</span><span class="p">,</span> <span class="n">bnd</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1287"><a href="#read_ms5_xsf-1287"><span class="linenos">1287</span></a>
</span><span id="read_ms5_xsf-1288"><a href="#read_ms5_xsf-1288"><span class="linenos">1288</span></a> <span class="c1"># we have the data now... but we need to re format the whole thing and put it into Corr objects.</span>
</span><span id="read_ms5_xsf-1289"><a href="#read_ms5_xsf-1289"><span class="linenos">1289</span></a>
</span><span id="read_ms5_xsf-1290"><a href="#read_ms5_xsf-1290"><span class="linenos">1290</span></a> <span class="n">compObs</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="read_ms5_xsf-1291"><a href="#read_ms5_xsf-1291"><span class="linenos">1291</span></a>
</span><span id="read_ms5_xsf-1292"><a href="#read_ms5_xsf-1292"><span class="linenos">1292</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">tmpcorr</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)):</span>
</span><span id="read_ms5_xsf-1293"><a href="#read_ms5_xsf-1293"><span class="linenos">1293</span></a> <span class="n">compObs</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">CObs</span><span class="p">(</span><span class="n">Obs</span><span class="p">([</span><span class="n">realsamples</span><span class="p">[</span><span class="n">rep</span><span class="p">][</span><span class="n">t</span><span class="p">]</span> <span class="k">for</span> <span class="n">rep</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">repnum</span><span class="p">)],</span> <span class="n">names</span><span class="o">=</span><span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="n">cnfgs</span><span class="p">),</span>
</span><span id="read_ms5_xsf-1294"><a href="#read_ms5_xsf-1294"><span class="linenos">1294</span></a> <span class="n">Obs</span><span class="p">([</span><span class="n">imagsamples</span><span class="p">[</span><span class="n">rep</span><span class="p">][</span><span class="n">t</span><span class="p">]</span> <span class="k">for</span> <span class="n">rep</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">repnum</span><span class="p">)],</span> <span class="n">names</span><span class="o">=</span><span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="n">cnfgs</span><span class="p">)))</span>
</span><span id="read_ms5_xsf-1295"><a href="#read_ms5_xsf-1295"><span class="linenos">1295</span></a>
</span><span id="read_ms5_xsf-1296"><a href="#read_ms5_xsf-1296"><span class="linenos">1296</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">compObs</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1297"><a href="#read_ms5_xsf-1297"><span class="linenos">1297</span></a> <span class="k">return</span> <span class="n">compObs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1298"><a href="#read_ms5_xsf-1298"><span class="linenos">1298</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1299"><a href="#read_ms5_xsf-1299"><span class="linenos">1299</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">compObs</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1281"><a href="#read_ms5_xsf-1281"><span class="linenos">1281</span></a> <span class="n">corrres</span> <span class="o">=</span> <span class="p">[[],</span> <span class="p">[]]</span>
</span><span id="read_ms5_xsf-1282"><a href="#read_ms5_xsf-1282"><span class="linenos">1282</span></a> <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">tmpcorr</span><span class="p">)):</span>
</span><span id="read_ms5_xsf-1283"><a href="#read_ms5_xsf-1283"><span class="linenos">1283</span></a> <span class="n">corrres</span><span class="p">[</span><span class="n">i</span> <span class="o">%</span> <span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">tmpcorr</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
</span><span id="read_ms5_xsf-1284"><a href="#read_ms5_xsf-1284"><span class="linenos">1284</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">tmpcorr</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)):</span>
</span><span id="read_ms5_xsf-1285"><a href="#read_ms5_xsf-1285"><span class="linenos">1285</span></a> <span class="n">realsamples</span><span class="p">[</span><span class="n">repnum</span><span class="p">][</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">corrres</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
</span><span id="read_ms5_xsf-1286"><a href="#read_ms5_xsf-1286"><span class="linenos">1286</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">tmpcorr</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)):</span>
</span><span id="read_ms5_xsf-1287"><a href="#read_ms5_xsf-1287"><span class="linenos">1287</span></a> <span class="n">imagsamples</span><span class="p">[</span><span class="n">repnum</span><span class="p">][</span><span class="n">t</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">corrres</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
</span><span id="read_ms5_xsf-1288"><a href="#read_ms5_xsf-1288"><span class="linenos">1288</span></a> <span class="k">if</span> <span class="s1">&#39;idl&#39;</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1289"><a href="#read_ms5_xsf-1289"><span class="linenos">1289</span></a> <span class="n">left_idl</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">left_idl</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1290"><a href="#read_ms5_xsf-1290"><span class="linenos">1290</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">left_idl</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1291"><a href="#read_ms5_xsf-1291"><span class="linenos">1291</span></a> <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s1">&#39;Could not find idls &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">left_idl</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; in replikum of file &#39;</span> <span class="o">+</span> <span class="n">file</span><span class="p">,</span> <span class="ne">UserWarning</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1292"><a href="#read_ms5_xsf-1292"><span class="linenos">1292</span></a> <span class="n">repnum</span> <span class="o">+=</span> <span class="mi">1</span>
</span><span id="read_ms5_xsf-1293"><a href="#read_ms5_xsf-1293"><span class="linenos">1293</span></a> <span class="n">s</span> <span class="o">=</span> <span class="s2">&quot;Read correlator &quot;</span> <span class="o">+</span> <span class="n">corr</span> <span class="o">+</span> <span class="s2">&quot; from &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">repnum</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot; replika with idls&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">realsamples</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
</span><span id="read_ms5_xsf-1294"><a href="#read_ms5_xsf-1294"><span class="linenos">1294</span></a> <span class="k">for</span> <span class="n">rep</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">repnum</span><span class="p">):</span>
</span><span id="read_ms5_xsf-1295"><a href="#read_ms5_xsf-1295"><span class="linenos">1295</span></a> <span class="n">s</span> <span class="o">+=</span> <span class="s2">&quot;, &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">realsamples</span><span class="p">[</span><span class="n">rep</span><span class="p">][</span><span class="n">t</span><span class="p">])</span>
</span><span id="read_ms5_xsf-1296"><a href="#read_ms5_xsf-1296"><span class="linenos">1296</span></a> <span class="nb">print</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1297"><a href="#read_ms5_xsf-1297"><span class="linenos">1297</span></a> <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Asserted run parameters:</span><span class="se">\n</span><span class="s2"> T:&quot;</span><span class="p">,</span> <span class="n">tmax</span><span class="p">,</span> <span class="s2">&quot;kappa:&quot;</span><span class="p">,</span> <span class="n">kappa</span><span class="p">,</span> <span class="s2">&quot;csw:&quot;</span><span class="p">,</span> <span class="n">csw</span><span class="p">,</span> <span class="s2">&quot;dF:&quot;</span><span class="p">,</span> <span class="n">dF</span><span class="p">,</span> <span class="s2">&quot;zF:&quot;</span><span class="p">,</span> <span class="n">zF</span><span class="p">,</span> <span class="s2">&quot;bnd:&quot;</span><span class="p">,</span> <span class="n">bnd</span><span class="p">)</span>
</span><span id="read_ms5_xsf-1298"><a href="#read_ms5_xsf-1298"><span class="linenos">1298</span></a>
</span><span id="read_ms5_xsf-1299"><a href="#read_ms5_xsf-1299"><span class="linenos">1299</span></a> <span class="c1"># we have the data now... but we need to re format the whole thing and put it into Corr objects.</span>
</span><span id="read_ms5_xsf-1300"><a href="#read_ms5_xsf-1300"><span class="linenos">1300</span></a>
</span><span id="read_ms5_xsf-1301"><a href="#read_ms5_xsf-1301"><span class="linenos">1301</span></a> <span class="n">compObs</span> <span class="o">=</span> <span class="p">[]</span>
</span><span id="read_ms5_xsf-1302"><a href="#read_ms5_xsf-1302"><span class="linenos">1302</span></a>
</span><span id="read_ms5_xsf-1303"><a href="#read_ms5_xsf-1303"><span class="linenos">1303</span></a> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">tmpcorr</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span><span class="p">)):</span>
</span><span id="read_ms5_xsf-1304"><a href="#read_ms5_xsf-1304"><span class="linenos">1304</span></a> <span class="n">compObs</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">CObs</span><span class="p">(</span><span class="n">Obs</span><span class="p">([</span><span class="n">realsamples</span><span class="p">[</span><span class="n">rep</span><span class="p">][</span><span class="n">t</span><span class="p">]</span> <span class="k">for</span> <span class="n">rep</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">repnum</span><span class="p">)],</span> <span class="n">names</span><span class="o">=</span><span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="n">cnfgs</span><span class="p">),</span>
</span><span id="read_ms5_xsf-1305"><a href="#read_ms5_xsf-1305"><span class="linenos">1305</span></a> <span class="n">Obs</span><span class="p">([</span><span class="n">imagsamples</span><span class="p">[</span><span class="n">rep</span><span class="p">][</span><span class="n">t</span><span class="p">]</span> <span class="k">for</span> <span class="n">rep</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">repnum</span><span class="p">)],</span> <span class="n">names</span><span class="o">=</span><span class="n">names</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="n">cnfgs</span><span class="p">)))</span>
</span><span id="read_ms5_xsf-1306"><a href="#read_ms5_xsf-1306"><span class="linenos">1306</span></a>
</span><span id="read_ms5_xsf-1307"><a href="#read_ms5_xsf-1307"><span class="linenos">1307</span></a> <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">compObs</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1308"><a href="#read_ms5_xsf-1308"><span class="linenos">1308</span></a> <span class="k">return</span> <span class="n">compObs</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="read_ms5_xsf-1309"><a href="#read_ms5_xsf-1309"><span class="linenos">1309</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="read_ms5_xsf-1310"><a href="#read_ms5_xsf-1310"><span class="linenos">1310</span></a> <span class="k">return</span> <span class="n">Corr</span><span class="p">(</span><span class="n">compObs</span><span class="p">)</span>
</span></pre></div>
@ -2605,6 +2627,8 @@ The separator to use when parsing the replika names.</li>
<ul>
<li>names (List[str]): A list of names to use for the replicas.</li>
<li>files (List[str]): A list of files to read data from.</li>
<li>idl (List[List[int]]): A list of idls per replicum, resticting data to the idls given.</li>
</ul></li>
</ul>

File diff suppressed because one or more lines are too long