Issue #1229: Cannot set magnetic units to Tesla (yt_analysis/yt)
New issue 1229: Cannot set magnetic units to Tesla https://bitbucket.org/yt_analysis/yt/issues/1229/cannot-set-magnetic-units-t... Nathan Goldbaum: This is easiest to trigger by applying the following patch to the FLASH frontend: ``` diff -r e5ad039158b8 yt/frontends/flash/data_structures.py --- a/yt/frontends/flash/data_structures.py Wed Jun 01 21:22:59 2016 -0500 +++ b/yt/frontends/flash/data_structures.py Thu Jun 02 10:41:24 2016 -0500 @@ -246,7 +246,7 @@ class FLASHDataset(Dataset): else: length_factor = 1.0 temperature_factor = 1.0 - self.magnetic_unit = self.quan(b_factor, "gauss") + self.magnetic_unit = self.quan(b_factor/1e5, "T") self.length_unit = self.quan(length_factor, "cm") self.mass_unit = self.quan(1.0, "g") ``` And then running the following snippet: ``` #!python
import yt ds = yt.load('WDMerger_hdf5_chk_1000/WDMerger_hdf5_chk_1000.hdf5') yt : [INFO ] 2016-06-02 10:40:54,926 Particle file found: WDMerger_hdf5_chk_1000.hdf5 yt : [INFO ] 2016-06-02 10:40:54,932 integer runtime parameter checkpointfilenumber overwrites a simulation scalar of the same name yt : [INFO ] 2016-06-02 10:40:54,932 integer runtime parameter forcedplotfilenumber overwrites a simulation scalar of the same name yt : [INFO ] 2016-06-02 10:40:54,932 integer runtime parameter nbegin overwrites a simulation scalar of the same name yt : [WARNING ] 2016-06-02 10:40:54,938 Extending theta dimension to 2PI + left edge. Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Users/goldbaum/Documents/yt-hg/yt/convenience.py", line 86, in load return candidates[0](*args, **kwargs) File "/Users/goldbaum/Documents/yt-hg/yt/frontends/flash/data_structures.py", line 223, in __init__ unit_system=unit_system) File "/Users/goldbaum/Documents/yt-hg/yt/data_objects/static_output.py", line 240, in __init__ self.set_units() File "/Users/goldbaum/Documents/yt-hg/yt/data_objects/static_output.py", line 834, in set_units self.set_code_units() File "/Users/goldbaum/Documents/yt-hg/yt/frontends/flash/data_structures.py", line 259, in set_code_units super(FLASHDataset, self).set_code_units() File "/Users/goldbaum/Documents/yt-hg/yt/data_objects/static_output.py", line 862, in set_code_units self._set_code_unit_attributes() File "/Users/goldbaum/Documents/yt-hg/yt/frontends/flash/data_structures.py", line 256, in _set_code_unit_attributes self.unit_registry.modify("code_magnetic", self.magnetic_unit) File "/Users/goldbaum/Documents/yt-hg/yt/units/unit_registry.py", line 109, in modify base_value = base_value.in_base().value File "/Users/goldbaum/Documents/yt-hg/yt/units/yt_array.py", line 561, in in_base return self.in_units(self.units.get_base_equivalent(unit_system)) File "/Users/goldbaum/Documents/yt-hg/yt/units/unit_object.py", line 423, in get_base_equivalent raise YTUnitsNotReducible(self, "cgs") yt.utilities.exceptions.YTUnitsNotReducible: The unit 'T' cannot be reduced to a single expression within the cgs base system of units.
This is a problem for the OpenPMD frontend, see http://lists.spacepope.org/pipermail/yt-dev-spacepope.org/2016-May/006449.html
participants (1)
-
Nathan Goldbaum