Issue #1086: derived_field_list not updated after add_volume_weighted_smoothed_field (yt_analysis/yt)
New issue 1086: derived_field_list not updated after add_volume_weighted_smoothed_field https://bitbucket.org/yt_analysis/yt/issues/1086/derived_field_list-not-upda... Bili Dong: When ``add_volume_weighted_smoothed_field`` is used to add a smoothed field to a dataset (``ds`` thereafter) as shown below, ``ds.derived_field_list`` remains the same before and after the operation. The issue is that ``ds.field_info`` is supposed to be passed to ``add_volume_weighted_smoothed_field``. Then ``ds.field_info.add_field`` is called to add the field, which updates ``ds.field_info`` but not ``ds.derived_field_list``. One way to fix it is to call ``registry.ds.add_field`` instead of ``registry.add_field`` in ``add_volume_weighted_smoothed_field`` (here ``registry`` is supposed to be ``ds.field_info``. But I'm not sure if this is the best way to do it. ``` python import yt ds = yt.load('GadgetDiskGalaxy/snapshot_200.hdf5') ds.index from yt.fields.particle_fields import add_volume_weighted_smoothed_field add_volume_weighted_smoothed_field('PartType0', 'Coordinates', 'Masses', 'SmoothingLength', 'Density', 'particle_ones', ds.field_info) ad = ds.all_data() field = ('deposit', 'PartType0_smoothed_particle_ones') print(field in ds.derived_field_list) ad[field] ``` BTW, ``('deposit', 'PartType0_smoothed_particle_ones')`` can be accessed with no problem.
participants (1)
-
Bili Dong