Issue #1029: PhasePlot fails for a user-added derived field with no field type (yt_analysis/yt)
New issue 1029: PhasePlot fails for a user-added derived field with no field type https://bitbucket.org/yt_analysis/yt/issue/1029/phaseplot-fails-for-a-user-a... Nathan Goldbaum: This is illustrated by the following test script: ``` #!python import yt ds = yt.load("IsolatedGalaxy/galaxy0030/galaxy0030") def _mach_speed(field, data): return ((data["velocity_x"]**2 + data["velocity_y"]**2 + data["velocity_z"]**2)**(0.5) / (data["temperature"]**(0.5))) ds.add_field("mach_speed", function=_mach_speed, units="cm*K**(-0.5)/s") plot = yt.PhasePlot(ds.all_data(), 'density', 'mach_speed', 'cell_mass', weight_field=None) plot.save() ``` which raises the following traceback: ``` #!python Traceback (most recent call last): File "test.py", line 9, in <module> plot = yt.PhasePlot(ds.all_data(), 'density', 'mach_speed', 'cell_mass', weight_field=None) File "/Users/goldbaum/Documents/yt-hg/yt/visualization/profile_plotter.py", line 724, in __init__ fractional=fractional) File "/Users/goldbaum/Documents/yt-hg/yt/data_objects/profiles.py", line 1436, in create_profile for f in bin_fields + fields] File "/Users/goldbaum/Documents/yt-hg/yt/data_objects/static_output.py", line 540, in _get_field_info raise YTFieldNotFound((ftype, fname), self) yt.utilities.exceptions.YTFieldNotFound: Could not find field '('all', ('gas', 'mach_speed'))' in galaxy0030. ``` If I replace `'mach_speed'` with `('gas', 'mach_speed')` in the call to `add_field`, this behaves as expected.
participants (1)
-
Nathan Goldbaum