Skip to content

Commit 8334730

Browse files
committed
Fix for odd units crash in adaptive MF
1 parent 574f55b commit 8334730

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

velociraptor/tools/mass_functions.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -290,11 +290,21 @@ def create_adaptive_mass_function(
290290
np.sqrt(n) / (width * box_volume) for n, width in zip(number_in_bin, bin_widths)
291291
]
292292

293-
mass_function = unyt.unyt_array(mass_function, units=mass_function[0].units,)
293+
try:
294+
mass_function_units = mass_function[0].units
295+
except IndexError:
296+
mass_function_units = (1 / box_volume).units
297+
298+
try:
299+
error_units = error[0].units
300+
except IndexError:
301+
error_units = mass_function_units
302+
303+
mass_function = unyt.unyt_array(mass_function, units=mass_function_units)
294304
# For some reason when using a name= argument here this ends up as None?
295305
mass_function.name = get_mass_function_label_no_units("{}")
296306

297-
error = unyt.unyt_array(error, units=error[0].units)
307+
error = unyt.unyt_array(error, units=error_units)
298308

299309
bin_centers = unyt.unyt_array(
300310
[10 ** x for x in bin_medians], units=masses.units, name=masses.name

0 commit comments

Comments
 (0)