Repository: yt-project/yt

Issue:
RecursionError while loading enzo_p dataset with cosmology
### Bug report

**Bug summary**

Loading a cosmological Enzo_p dataset raises `RecursionError`

**Code for reproduction**

```python
from yt.utilities.answer_testing.framework import  data_dir_load 
ep_cosmo = "ENZOP_DD0140/ENZOP_DD0140.block_list"
ds = data_dir_load(ep_cosmo)
```

**Actual outcome**

```
Traceback (most recent call last):
  File "ala.py", line 7, in <module>
    ds = data_dir_load(ep_cosmo)
  File "/home/xarth/codes/xarthisius/yt/yt/utilities/answer_testing/framework.py", line 314, in data_dir_load
    ds.index
  File "/home/xarth/codes/xarthisius/yt/yt/data_objects/static_output.py", line 447, in index
    self.create_field_info()
  File "/home/xarth/codes/xarthisius/yt/yt/data_objects/static_output.py", line 494, in create_field_info
    self.field_info.setup_particle_fields(ptype)
  File "/home/xarth/codes/xarthisius/yt/yt/frontends/enzo_p/fields.py", line 50, in setup_particle_fields
    self.setup_particle_mass_field(ptype)
  File "/home/xarth/codes/xarthisius/yt/yt/frontends/enzo_p/fields.py", line 72, in setup_particle_mass_field
    val /= self.ds.domain_dimensions.prod()
  File "/home/xarth/codes/yt-project/unyt/unyt/array.py", line 1811, in __array_ufunc__
    multiply(out, mul, out=out)
  File "/home/xarth/codes/yt-project/unyt/unyt/array.py", line 1811, in __array_ufunc__
    multiply(out, mul, out=out)
  File "/home/xarth/codes/yt-project/unyt/unyt/array.py", line 1811, in __array_ufunc__
    multiply(out, mul, out=out)
  [Previous line repeated 323 more times]
  File "/home/xarth/codes/yt-project/unyt/unyt/array.py", line 1800, in __array_ufunc__
    out_arr = unyt_quantity(np.asarray(out_arr), unit)
  File "/home/xarth/codes/yt-project/unyt/unyt/array.py", line 2023, in __new__
    or isinstance(input_scalar, (numeric_type, np.number, np.ndarray))
  File "/usr/lib/python3.6/abc.py", line 190, in __instancecheck__
    subclass in cls._abc_negative_cache):
  File "/usr/lib/python3.6/_weakrefset.py", line 75, in __contains__
    return wr in self.data
RecursionError: maximum recursion depth exceeded in comparison
```

**Expected outcome**

Just happiness

**Version Information**

  * Operating System: Ubuntu 18.04.4 LTS
  * Python Version: 3.6.9
  * yt version: b6d9463b287099685800353fd6293dffa4bace9d
  * Other Libraries (if applicable): unyt==2.7.1

<!--Please tell us how you installed yt and python e.g., from source,
pip, conda. If you installed from conda, please specify which channel you used
if not the default-->




Discussion:

Resolving patch:
diff --git a/yt/frontends/enzo_p/fields.py b/yt/frontends/enzo_p/fields.py
--- a/yt/frontends/enzo_p/fields.py
+++ b/yt/frontends/enzo_p/fields.py
@@ -69,7 +69,7 @@ def setup_particle_mass_field(self, ptype):
             val = constants[names.index("mass")][2]
             val = self.ds.quan(val, self.ds.mass_unit)
             if self.ds.cosmological_simulation:
-                val /= self.ds.domain_dimensions.prod()
+                val = val / self.ds.domain_dimensions.prod()
 
             def _pmass(field, data):
                 return val * data[ptype, "particle_ones"]


Test patch: