[postprocessor] generalize use of get_value

This commit is contained in:
Noe Brucy
2021-05-04 16:10:43 +02:00
parent 7d6faba644
commit 62a788cb71
+25 -27
View File
@@ -714,8 +714,8 @@ class PostProcessor(HDF5Container):
bins : int, number of bins
logbins : bool, if true, the bins will be logaritmically distributed
"""
x = self.save.get_node(group + name_x + "_" + ax_los).read()
y = self.save.get_node(group + name_y + "_" + ax_los).read()
x = self.get_value(group + name_x + "_" + ax_los)
y = self.get_value(group + name_y + "_" + ax_los)
centers, values = mean_by_bins(x, y, bins, logbins)
# return ({os.path.basename(name_x) : centers, os.path.basename(name_y) : y_mean},
@@ -727,7 +727,7 @@ class PostProcessor(HDF5Container):
Mean of Ek/Eb in rho bins
"""
self.load_cells()
mean_speed = self.save.get_node("/globals/mwa_speed").read()
mean_speed = self.get_value("/globals/mwa_speed")
mean_speed = mean_speed * self.info["unit_velocity"].express(U.km_s)
vel_fluct = (self.cells)["vel"] * self.info["unit_velocity"].express(
U.km_s
@@ -774,7 +774,7 @@ class PostProcessor(HDF5Container):
def cos_vfluct_B(self):
"return the cos of the angle between the magnetic field and the velocity fluctuation field"
mean_speed = self.save.get_node("/globals/mwa_speed").read()
mean_speed = self.get_value("/globals/mwa_speed")
def getter_cos_vfluct_B(dset):
vel_fluct = dset["vel"] - mean_speed
@@ -787,7 +787,7 @@ class PostProcessor(HDF5Container):
return self._vol_pdf(getter_cos_vfluct_B)
def _mwa_sigma(self, axes=["x", "y", "z"]):
mw_speed = self.save.get_node("/globals/mwa_speed").read()
mw_speed = self.get_value("/globals/mwa_speed")
if axes == ["x", "y", "z"]:
@@ -852,7 +852,7 @@ class PostProcessor(HDF5Container):
def _temperature(self, ax_los, z=0.0):
P_op = ScalarOperator(lambda dset: dset["P"], self._ro.info["unit_pressure"])
dmap_P = (slicing.SliceMap(self._amr, self._cam[ax_los], P_op, z=z)).map.T
dmap_rho = self.save.get_node("/maps/slice_rho_{}".format(ax_los)).read()
dmap_rho = self.get_value("/maps/slice_rho_{}".format(ax_los))
return dmap_P / dmap_rho
def _levels(self, ax_los):
@@ -865,14 +865,14 @@ class PostProcessor(HDF5Container):
return datamap.map.T
def _jeans(self, ax_los):
dmap_T = self.save.get_node("/maps/T_" + ax_los).read()
dmap_rho = self.save.get_node("/maps/slice_rho_" + ax_los).read()
dmap_T = self.get_value("/maps/T_" + ax_los)
dmap_rho = self.get_value("/maps/slice_rho_" + ax_los)
dmap_jeans = np.sqrt(np.pi * dmap_T / dmap_rho)
return dmap_jeans
def _jeans_ratio(self, ax_los):
dmap_jeans = self.save.get_node("/maps/jeans_" + ax_los).read()
dmap_levels = self.save.get_node("/maps/levels_" + ax_los).read()
dmap_jeans = self.get_value("/maps/jeans_" + ax_los)
dmap_levels = self.get_value("/maps/levels_" + ax_los)
dmap_jeans_ratio = dmap_jeans * 2 ** (dmap_levels)
return dmap_jeans_ratio
@@ -989,7 +989,7 @@ class PostProcessor(HDF5Container):
return rad_bins
def _radial_centers(self, ax_los="z"):
radial_bins = self.save.get_node("/radial/radial_bins_" + ax_los).read()
radial_bins = self.get_value("/radial/radial_bins_" + ax_los)
bin_centers = 0.5 * (radial_bins[1:] + radial_bins[:-1])
return bin_centers
@@ -1016,8 +1016,8 @@ class PostProcessor(HDF5Container):
return rr
def _bins_on_map(self, ax_los="z"):
rad_bins = self.save.get_node("/radial/radial_bins_" + ax_los).read()
rr = self.save.get_node("/maps/rr_" + ax_los).read()
rad_bins = self.get_value("/radial/radial_bins_" + ax_los)
rr = self.get_value("/maps/rr_" + ax_los)
# Find appropriate bin for each coordinate set
bins = np.zeros(rr.shape, dtype=int)
@@ -1080,7 +1080,7 @@ class PostProcessor(HDF5Container):
def _fluct_map(self, name, ax_los="z", mass_weighted=False):
dmap = self.save.get_node("/maps/" + name + "_" + ax_los).read()
dmap = self.get_value("/maps/" + name + "_" + ax_los)
if mass_weighted:
avg_map = self.get_value("/maps/mwavg_map_" + name + "_" + ax_los)
else:
@@ -1147,8 +1147,8 @@ class PostProcessor(HDF5Container):
return np.stack([values, centers])
def _fit_pdf(self, name, ax_los="z"):
pdf = self.save.get_node("/hist/pdf_" + name + "_" + ax_los)
values, centers = pdf.read()
pdf = self.get_value("/hist/pdf_" + name + "_" + ax_los)
values, centers = pdf
mask_fit = (
(centers > self.pp_params.pdf.xmin_fit)
& (centers < self.pp_params.pdf.xmax_fit)
@@ -1171,15 +1171,13 @@ class PostProcessor(HDF5Container):
# Mean part
T_avg = self.save.get_node("/maps/avg_map_T_mwavg_z").read()
T_avg = self.get_value("/maps/avg_map_T_mwavg_z")
radial_bins = self.save.get_node("/radial/radial_bins_" + ax_los).read()
mean_bin_vr = self.save.get_node(
"/radial/rad_avg_" + "slice_velr" + "_" + ax_los
).read()
mean_bin_vphi = self.save.get_node(
radial_bins = self.get_value("/radial/radial_bins_" + ax_los)
mean_bin_vr = self.get_value("/radial/rad_avg_" + "slice_velr" + "_" + ax_los)
mean_bin_vphi = self.get_value(
"/radial/rad_avg_" + "slice_velphi" + "_" + ax_los
).read()
)
mean_bin_vr = np.concatenate((mean_bin_vr, [mean_bin_vr[-1]]))
mean_bin_vphi = np.concatenate((mean_bin_vphi, [mean_bin_vr[-1]]))
@@ -1223,8 +1221,8 @@ class PostProcessor(HDF5Container):
"Map of the gravitational contribution to the Shakura&Sunaev alpha parameter for disks"
assert ax_los == "z"
T_avg = self.save.get_node("/maps/avg_map_T_mwavg_z").read()
coldens = self.save.get_node("/maps/avg_map_coldens_z").read()
T_avg = self.get_value("/maps/avg_map_T_mwavg_z")
coldens = self.get_value("/maps/avg_map_coldens_z")
def getter_alpha_grav(dset):
r2 = np.sum((self.lbox * self.oct_getter_pos_disk(dset)) ** 2, axis=2)
@@ -1284,7 +1282,7 @@ class PostProcessor(HDF5Container):
def _pspec(self, **kwargs):
outfile = self.pspec_filename
pspec_new.pspec(repo=self.path, iouts=[self.num], outfile=outfile, **kwargs)
return True
return np.array([self.pspec_filename])
def _particles(self):
"""Ensure particles are written in the hdf5 file"""
@@ -1303,7 +1301,7 @@ class PostProcessor(HDF5Container):
branch_thresh = self.pp_params.filaments.branch_thresh
glob_thresh = self.pp_params.filaments.glob_thresh
datamap = self.save.get_node("/maps/" + datamap_name + "_z").read()
datamap = self.get_value("/maps/" + datamap_name + "_z")
shape = datamap.shape
x = np.arange(shape[0]) - shape[0] / 2
y = np.arange(shape[1]) - shape[1] / 2