[yt-svn] commit/yt: MatthewTurk: Updating FLASH fields information to use the fallbacks, with TranslationFunc

Bitbucket commits-noreply at bitbucket.org
Wed Jan 18 13:13:28 PST 2012


1 new commit in yt:


https://bitbucket.org/yt_analysis/yt/changeset/cd9537a4ef6e/
changeset:   cd9537a4ef6e
branch:      yt
user:        MatthewTurk
date:        2012-01-18 22:13:21
summary:     Updating FLASH fields information to use the fallbacks, with TranslationFunc
and NullFunc.
affected #:  1 file

diff -r 1530ad858a177c4074f9987d51aa0fc7ff495cda -r cd9537a4ef6e4b8f1fdeade05b220190b9400e6d yt/frontends/flash/fields.py
--- a/yt/frontends/flash/fields.py
+++ b/yt/frontends/flash/fields.py
@@ -25,6 +25,8 @@
 
 from yt.data_objects.field_info_container import \
     FieldInfoContainer, \
+    NullFunc, \
+    TranslationFunc, \
     FieldInfo, \
     ValidateParameter, \
     ValidateDataField, \
@@ -94,99 +96,92 @@
         add_field(fn1.split("_")[0] + "_Density",
                   function=_get_density(fn1), take_log=True)
 
-def _get_alias(alias):
-    def _alias(field, data):
-        return data[alias]
-    return _alias
-
-def _generate_translation(mine, theirs):
-    pfield = theirs.startswith("particle")
-    add_field(theirs, function=_get_alias(mine), take_log=True,
-              particle_type = pfield)
-
 def _get_convert(fname):
     def _conv(data):
         return data.convert(fname)
     return _conv
 
-add_flash_field("dens", function=lambda a,b: None, take_log=True,
+add_flash_field("dens", function=NullFunc, take_log=True,
                 convert_function=_get_convert("dens"),
                 units=r"\rm{g}/\rm{cm}^3")
-add_flash_field("velx", function=lambda a,b: None, take_log=False,
+add_flash_field("velx", function=NullFunc, take_log=False,
                 convert_function=_get_convert("velx"),
                 units=r"\rm{cm}/\rm{s}")
-add_flash_field("vely", function=lambda a,b: None, take_log=False,
+add_flash_field("vely", function=NullFunc, take_log=False,
                 convert_function=_get_convert("vely"),
                 units=r"\rm{cm}/\rm{s}")
-add_flash_field("velz", function=lambda a,b: None, take_log=False,
+add_flash_field("velz", function=NullFunc, take_log=False,
                 convert_function=_get_convert("velz"),
                 units=r"\rm{cm}/\rm{s}")
-add_flash_field("particle_posx", function=lambda a,b: None, take_log=False,
+add_flash_field("particle_posx", function=NullFunc, take_log=False,
                 convert_function=_get_convert("particle_posx"),
                 units=r"\rm{cm}")
-add_flash_field("particle_posy", function=lambda a,b: None, take_log=False,
+add_flash_field("particle_posy", function=NullFunc, take_log=False,
                 convert_function=_get_convert("particle_posy"),
                 units=r"\rm{cm}")
-add_flash_field("particle_posz", function=lambda a,b: None, take_log=False,
+add_flash_field("particle_posz", function=NullFunc, take_log=False,
                 convert_function=_get_convert("particle_posz"),
                 units=r"\rm{cm}")
-add_flash_field("particle_velx", function=lambda a,b: None, take_log=False,
+add_flash_field("particle_velx", function=NullFunc, take_log=False,
                 convert_function=_get_convert("particle_velx"),
                 units=r"\rm{cm}/\rm{s}")
-add_flash_field("particle_vely", function=lambda a,b: None, take_log=False,
+add_flash_field("particle_vely", function=NullFunc, take_log=False,
                 convert_function=_get_convert("particle_vely"),
                 units=r"\rm{cm}/\rm{s}")
-add_flash_field("particle_velz", function=lambda a,b: None, take_log=False,
+add_flash_field("particle_velz", function=NullFunc, take_log=False,
                 convert_function=_get_convert("particle_velz"),
                 units=r"\rm{cm}/\rm{s}")
-add_flash_field("particle_mass", function=lambda a,b: None, take_log=False,
+add_flash_field("particle_mass", function=NullFunc, take_log=False,
                 convert_function=_get_convert("particle_mass"),
                 units=r"\rm{g}")
-add_flash_field("temp", function=lambda a,b: None, take_log=True,
+add_flash_field("temp", function=NullFunc, take_log=True,
                 convert_function=_get_convert("temp"),
                 units=r"\rm{K}")
-add_flash_field("pres", function=lambda a,b: None, take_log=True,
+add_flash_field("pres", function=NullFunc, take_log=True,
                 convert_function=_get_convert("pres"),
                 units=r"\rm{erg}\//\/\rm{cm}^{3}")
-add_flash_field("pden", function=lambda a,b: None, take_log=True,
+add_flash_field("pden", function=NullFunc, take_log=True,
                 convert_function=_get_convert("pden"),
                 units=r"\rm{g}/\rm{cm}^3")
-add_flash_field("magx", function=lambda a,b: None, take_log=False,
+add_flash_field("magx", function=NullFunc, take_log=False,
                 convert_function=_get_convert("magx"),
                 units = r"\mathrm{Gau\ss}")
-add_flash_field("magy", function=lambda a,b: None, take_log=False,
+add_flash_field("magy", function=NullFunc, take_log=False,
                 convert_function=_get_convert("magy"),
                 units = r"\mathrm{Gau\ss}")
-add_flash_field("magz", function=lambda a,b: None, take_log=False,
+add_flash_field("magz", function=NullFunc, take_log=False,
                 convert_function=_get_convert("magz"),
                 units = r"\mathrm{Gau\ss}")
-add_flash_field("magp", function=lambda a,b: None, take_log=True,
+add_flash_field("magp", function=NullFunc, take_log=True,
                 convert_function=_get_convert("magp"),
                 units = r"\rm{erg}\//\/\rm{cm}^{3}")
-add_flash_field("divb", function=lambda a,b: None, take_log=True,
+add_flash_field("divb", function=NullFunc, take_log=True,
                 convert_function=_get_convert("divb"),
                 units = r"\mathrm{Gau\ss}\/\rm{cm}")
-add_flash_field("game", function=lambda a,b: None, take_log=True,
+add_flash_field("game", function=NullFunc, take_log=True,
                 convert_function=_get_convert("game"),
                 units=r"\rm{ratio\/of\/specific\/heats}")
-add_flash_field("gamc", function=lambda a,b: None, take_log=True,
+add_flash_field("gamc", function=NullFunc, take_log=True,
                 convert_function=_get_convert("gamc"),
                 units=r"\rm{ratio\/of\/specific\/heats}")
-add_flash_field("gpot", function=lambda a,b: None, take_log=True,
+add_flash_field("gpot", function=NullFunc, take_log=True,
                 convert_function=_get_convert("gpot"),
                 units=r"\rm{ergs\//\/g}")
-add_flash_field("gpol", function=lambda a,b: None, take_log=False,
+add_flash_field("gpol", function=NullFunc, take_log=False,
                 convert_function=_get_convert("gpol"),
                 units = r"\rm{ergs\//\/g}")
 
 for f,v in translation_dict.items():
     if v not in KnownFLASHFields:
         pfield = v.startswith("particle")
-        add_field(v, function=lambda a,b: None, take_log=False,
+        add_flash_field(v, function=NullFunc, take_log=False,
                   validators = [ValidateDataField(v)],
                   particle_type = pfield)
-    #print "Setting up translator from %s to %s" % (v, f)
-    _generate_translation(v, f)
+    else:
+        ff = KnownFLASHFields[v]
+        add_field(f, TranslationFunc(v),
+                  take_log=KnownFLASHFields[v].take_log,
+                  units = ff._units)
 
 def _convertParticleMassMsun(data):
     return 1.0/1.989e33

Repository URL: https://bitbucket.org/yt_analysis/yt/

--

This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.



More information about the yt-svn mailing list