diff --git a/galaxy.py b/galaxy.py index 076f4a0..8055d04 100644 --- a/galaxy.py +++ b/galaxy.py @@ -133,23 +133,29 @@ def ring_analysis(pp, r=4, dr=0.5, dphi=0.125, z=0, dz=0.5, do_mean=True): def get_time_from_relax(pp): pp.load_parts() - epoch = pp.parts["epoch"].copy() - epoch *= pp.info["unit_time"].express(U.Myr) - trelax = np.min(epoch[epoch > 0]) - tfromrelax = np.max(epoch - trelax) + try: + epoch = pp.parts["epoch"].copy() + epoch *= pp.info["unit_time"].express(U.Myr) + trelax = np.min(epoch[epoch > 0]) + tfromrelax = np.max(epoch - trelax) + except KeyError: + tfromrelax = 0.0 return tfromrelax def get_last_sfr(pp): pp.load_parts() - epoch = pp.parts["epoch"].copy() - epoch *= pp.info["unit_time"].express(U.year) - mass = pp.parts["mass"].copy() - mass *= pp.info["unit_mass"].express(U.Msun) - mask = epoch > 0 - masstot, time = np.histogram(epoch[mask], weights=mass[mask], bins=100) - dtime = np.diff(time) - sfr = masstot[-1] / dtime[-1] + try: + epoch = pp.parts["epoch"].copy() + epoch *= pp.info["unit_time"].express(U.year) + mass = pp.parts["mass"].copy() + mass *= pp.info["unit_mass"].express(U.Msun) + mask = epoch > 0 + masstot, time = np.histogram(epoch[mask], weights=mass[mask], bins=100) + dtime = np.diff(time) + sfr = masstot[-1] / dtime[-1] + except KeyError: + sfr = 0.0 return sfr