Merge branch 'master' of drf-gitlab.cea.fr:nbrucy/pipeline
This commit is contained in:
+14
-15
@@ -252,9 +252,14 @@ class StudyProcessor(Aggregator, HDF5Container):
|
||||
nb_sink = np.int(content[i].split("=")[1])
|
||||
mass_sink = np.float(content[i + 1].split("=")[1])
|
||||
time = np.float(content[i + 2].split("=")[1])
|
||||
timekey = np.float(content[i + 2].split("=")[0])
|
||||
series["nb_sink"][run].append(nb_sink)
|
||||
series["mass_sink"][run].append(mass_sink)
|
||||
|
||||
if "[yr]" not in timekey:
|
||||
time *= self.info["unit_time"].express(U.yr)
|
||||
series["time"][run].append(time)
|
||||
|
||||
except (ValueError, IndexError):
|
||||
self._log(
|
||||
"Error encountered in parsing {} (grepped block {})".format(
|
||||
@@ -392,8 +397,8 @@ class StudyProcessor(Aggregator, HDF5Container):
|
||||
"""
|
||||
avg_window in year
|
||||
"""
|
||||
time_unit = self.save.get_node("/series/sinks_from_log/time")._v_attrs.unit
|
||||
mass_unit = self.save.get_node("/series/sinks_from_log/mass_sink")._v_attrs.unit
|
||||
time_unit = self.get_attribute("/series/sinks_from_log/time", "unit")
|
||||
mass_unit = self.get_attribute("/series/sinks_from_log/mass_sink", "unit")
|
||||
ssfr = {}
|
||||
for run in self.runs:
|
||||
# Surface of the box in pc^2
|
||||
@@ -401,11 +406,9 @@ class StudyProcessor(Aggregator, HDF5Container):
|
||||
surface = (info["unit_length"].express(U.pc)) ** 2
|
||||
# WARNING : We do not multiply by boxlen since already done in 'unit_length' (pymses)
|
||||
|
||||
time = self.save.get_node("/series/sinks_from_log/time/" + run).read()
|
||||
time = self.get_value(f"/series/sinks_from_log/time/{run}")
|
||||
time = time * time_unit.express(U.year)
|
||||
mass_sink = self.save.get_node(
|
||||
"/series/sinks_from_log/mass_sink/" + run
|
||||
).read()
|
||||
mass_sink = self.get_value(f"/series/sinks_from_log/mass_sink/{run}")
|
||||
mass_sink = mass_sink * mass_unit.express(U.Msun)
|
||||
|
||||
if avg_window is None:
|
||||
@@ -425,15 +428,13 @@ class StudyProcessor(Aggregator, HDF5Container):
|
||||
return ssfr, {"avg_window": avg_window}
|
||||
|
||||
def _surfacic_sink_mass(self):
|
||||
mass_unit = self.save.get_node("/series/sinks_from_log/mass_sink")._v_attrs.unit
|
||||
mass_unit = self.get_attribute("/series/sinks_from_log/mass_sink", "unit")
|
||||
ssm = {}
|
||||
for run in self.runs:
|
||||
# Surface of the box in pc^2
|
||||
info = self.snaps[run][self.nums[run][0]].info
|
||||
surface = (info["unit_length"].express(U.pc)) ** 2
|
||||
mass_sink = self.save.get_node(
|
||||
"/series/sinks_from_log/mass_sink/" + run
|
||||
).read()
|
||||
mass_sink = self.get_value(f"/series/sinks_from_log/mass_sink/{run}")
|
||||
mass_sink = mass_sink * mass_unit.express(U.Msun)
|
||||
|
||||
ssm[run] = mass_sink / surface
|
||||
@@ -443,11 +444,9 @@ class StudyProcessor(Aggregator, HDF5Container):
|
||||
def _turb_power(self):
|
||||
turb_power = {}
|
||||
for run in self.runs:
|
||||
dt = self.save.get_node("/series/rms_from_log/dt/" + run).read()
|
||||
dt = self.get_value("/series/rms_from_log/dt/{run}")
|
||||
# Energy injected at each timestep
|
||||
energy = self.save.get_node(
|
||||
"/series/rms_from_log/turb_energy/" + run
|
||||
).read()
|
||||
energy = self.get_value("/series/rms_from_log/turb_energy/{run}")
|
||||
# Power of the turbulence at this step in Watts
|
||||
turb_power[run] = energy / dt
|
||||
return turb_power
|
||||
@@ -563,7 +562,7 @@ class StudyProcessor(Aggregator, HDF5Container):
|
||||
self._extract_sinks_from_log,
|
||||
),
|
||||
group="/series",
|
||||
unit={"time": "unit_time", "mass_sink": U.Msun, "nb_sink": U.none},
|
||||
unit={"time": U.yr, "mass_sink": U.Msun, "nb_sink": U.none},
|
||||
description={
|
||||
"time": "Time",
|
||||
"mass_sink": "Total mass of stars",
|
||||
|
||||
Reference in New Issue
Block a user