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