I’m also throwing some ideas in the pot, but you may be interested in using the particle trajectories functionality (although this isn’t exactly covering what you’re interested into). Otherwise, I’ve had some chance with a pseudo-code as follows (to be adapted to your use case)
ds1 = yt.load("/path/to/output_78")
ds2 = yt.load("/path/to/other/output")
old_ids = ds1.r["PartType0", "particle_identifier"]
old_order = np.argsort(old_ids)
def _old_density(field, data):
ids = data["PartType0", "particle_identifier"]
# find ids in old_ids
inds = old_order[np.searchsorted(old_ids, ids, sorter=old_order)]
# this is just to make sure I haven't messed up the ids matching
np.testing.assert_allclose(ids, old_ids[inds])
# Return the value of the density for those matched indices
return ds1.r["density"][inds]
ds2.add_field(("PartType0", "old_density"), function=_old_density, sampling_type="cell", units=…)
Hey! Sorry I have been so long in replying. My current installation of yt is a mess, I had to make another thread about some issues I have to fix before I can test this: https://mail.python.org/archives/list/yt-users@python.org/thread/GM75POP42EHD6WLS7YRHPC3FPTNKCF63/ _______________________________________________ yt-users mailing list -- yt-users@python.org To unsubscribe send an email to yt-users-leave@python.org https://mail.python.org/mailman3/lists/yt-users.python.org/ Member address: contact@cphyc.me