Added sbeta_onavg + Switched to densty PDF

This commit is contained in:
Noe Brucy
2020-10-21 14:36:17 +02:00
parent c5705554e2
commit fd4ac5b58f
4 changed files with 67 additions and 12 deletions
+32
View File
@@ -367,6 +367,29 @@ class Comparator(Aggregator, HDF5Container):
turb_power[run] = energy / dt
return turb_power
def _sbeta_onavg(self):
"""
[ismfeed] Compute the slope of the Sigma pdf as a function of the value of beta
"""
col_pdf = self.get_value("/comp/avg_time_coldens_pdf_z")
beta = self.get_value("/comp/nml_cloud_params/beta_cool")
slope = np.zeros(len(col_pdf["runs"]))
origin = np.zeros(len(col_pdf["runs"]))
stderr = np.zeros(len(col_pdf["runs"]))
for i, run in enumerate(col_pdf["runs"]):
values, centers = col_pdf["mean"][i]
mask_fit = (
(centers > self.pp_params.pdf.xmin_fit)
& (centers < self.pp_params.pdf.xmax_fit)
& (values > np.max(values) * self.pp_params.pdf.fit_cut)
)
(slope[i], origin[i], correlation, _, stderr[i]) = linregress(
centers[mask_fit], np.log10(values[mask_fit])
)
return {"beta": beta, "slope": slope, "origin": origin, "stderr": stderr}
def _gen_rule_time_global(
self,
glob_name,
@@ -584,6 +607,15 @@ class Comparator(Aggregator, HDF5Container):
group="/series",
dependencies={"time": None, "fit_pdf_coldens": "z"},
),
"sbeta_onavg": Rule(
self,
partial(self._sbeta_onavg),
group="/comp",
dependencies={
"avg_time_coldens_pdf": "z",
"nml": "cloud_params/beta_cool",
},
),
# namelist
"nml": Rule(
self,