<div dir="ltr"><div>Dear yt users,</div><div><br></div><div>Hi, I have a question on derived field. I want to define "Dark Matter cell mass", which can be defined by (Dark matter density) * (cell_volume). To check that "Dark Matter cell mass" defined well, I also tried to define "my_cell_mass", which should give the same value as the default  'cell_mass', but it gave me an error, and I don't have any idea what the problem is. Could you help me with the problem?</div><div><br></div><div>I'm working on Enzo data.</div><div><br></div><div>Here is my python code (I'm sorry that it's lengthy):</div><div><br></div><div>import yt</div><div>from yt.data_objects.particle_filters import add_particle_filter</div><div><br></div><div><div>def stars(pfilter, data):</div><div>    filter = data[(pfilter.filtered_type, "particle_type")] == 2</div><div>    return filter</div><div>def DMparticles(pfilter, data):</div><div>    filter = data[(pfilter.filtered_type, "particle_type")] == 1</div><div>    return filter</div></div><div><br></div><div><div>add_particle_filter("stars", function=stars, filtered_type='io',</div><div>                  requires=["particle_type"])</div><div>add_particle_filter("DMparticles", function=DMparticles, filtered_type='io', requires=["particle_type"])</div></div><div><br></div><div><div>def only_DM(field, data):</div><div>    return data['deposit','DMparticles_density']</div><div>def DM_in_cell_mass(field, data):</div><div>    return (data['only_DM_Density']*data['cell_volume'])</div><div>def my_cell_mass(field, data):</div><div>    return (data['density']*data['cell_volume'])</div></div><div><br></div><div>ds_all=yt.load("/.../redshift00??")<br></div><div><br></div><div><div>ds_all.add_particle_filter('stars')</div><div>ds_all.add_particle_filter('DMparticles')</div></div><div><br></div><div><div>ds_all.add_field(("gas", "only_DM_Density"), units="g/cm**3", function=only_DM)</div><div>ds_all.add_field(("gas", "DM_in_cell_mass"), units="g", function=DM_in_cell_mass)</div><div>ds_all.add_field(("gas", "my_cell_mass"), units="g", function=my_cell_mass)</div></div><div><br></div><div>sp = ds_all.sphere([centerx, centery, centerz], ((somevalue), "kpc"))<br></div><div><br></div><div>sp['cell_volume']<br></div><div><pre style="box-sizing:border-box;overflow:auto;font-size:14px;padding:0px;margin-top:0px;margin-bottom:0px;line-height:inherit;word-break:break-all;word-wrap:break-word;color:rgb(0,0,0);background-color:transparent;border:0px;border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;white-space:pre-wrap;vertical-align:baseline">YTArray([  4.44089210e-16,   4.44089210e-16,   4.44089210e-16, ...,
           6.93889390e-18,   6.93889390e-18,   6.93889390e-18]) code_length**3</pre><pre style="box-sizing:border-box;overflow:auto;font-size:14px;padding:0px;margin-top:0px;margin-bottom:0px;line-height:inherit;word-break:break-all;word-wrap:break-word;color:rgb(0,0,0);background-color:transparent;border:0px;border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;white-space:pre-wrap;vertical-align:baseline"><br></pre></div><div>sp[('gas', 'my_cell_mass')]<br></div><div><pre style="box-sizing:border-box;overflow:auto;font-size:14px;padding:0px;margin-top:0px;margin-bottom:0px;line-height:inherit;word-break:break-all;word-wrap:break-word;color:rgb(0,0,0);background-color:transparent;border:0px;border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;white-space:pre-wrap;vertical-align:baseline"><span class="gmail-ansi-red-fg" style="box-sizing:border-box;color:rgb(231,92,88)">YTFieldNotFound</span>: Could not find field '('gas', 'my_cell_mass')' in redshift00??.</pre><pre style="box-sizing:border-box;overflow:auto;font-size:14px;padding:0px;margin-top:0px;margin-bottom:0px;line-height:inherit;word-break:break-all;word-wrap:break-word;color:rgb(0,0,0);background-color:transparent;border:0px;border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;white-space:pre-wrap;vertical-align:baseline"><br></pre><pre style="box-sizing:border-box;overflow:auto;font-size:14px;padding:0px;margin-top:0px;margin-bottom:0px;line-height:inherit;word-break:break-all;word-wrap:break-word;color:rgb(0,0,0);background-color:transparent;border:0px;border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;white-space:pre-wrap;vertical-align:baseline"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;white-space:normal">Best,</span><br></pre><pre style="box-sizing:border-box;overflow:auto;font-size:14px;padding:0px;margin-top:0px;margin-bottom:0px;line-height:inherit;word-break:break-all;word-wrap:break-word;color:rgb(0,0,0);background-color:transparent;border:0px;border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;white-space:pre-wrap;vertical-align:baseline"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;white-space:normal">Y.T.</span></pre></div></div>