def __init__(self, filename, dataset_type='openPMD', storage_filename=None, units_override=None): # This defines which of the data sets are meshes (fields) self.fluid_types += ('openPMD', ) # This defines which of the data sets are particles self.particle_types = ["electrons", "ions", "all"] self.particle_types = tuple(self.particle_types) self.particle_types_raw = self.particle_types # Opens a HDF5 file and stores its file handle in _handle # All _handle objects refers to the file self._handle = HDF5FileHandler(filename) Dataset.__init__(self, filename, dataset_type, units_override=units_override) self.storage_filename = storage_filename
def __init__(self, filename, dataset_type='flash_particle_hdf5', storage_filename=None, units_override=None, index_order=None, index_filename=None, unit_system="cgs"): self.index_order = validate_index_order(index_order) self.index_filename = index_filename if self._handle is not None: return self._handle = HDF5FileHandler(filename) self.refine_by = 2 Dataset.__init__(self, filename, dataset_type, units_override=units_override, unit_system=unit_system) self.storage_filename = storage_filename
def __init__( self, filename, dataset_type="athena_pp", storage_filename=None, parameters=None, units_override=None, unit_system="code", default_species_fields=None, magnetic_normalization="gaussian", ): self.fluid_types += ("athena_pp", ) if parameters is None: parameters = {} self.specified_parameters = parameters if units_override is None: units_override = {} self._handle = HDF5FileHandler(filename) xrat = self._handle.attrs["RootGridX1"][2] yrat = self._handle.attrs["RootGridX2"][2] zrat = self._handle.attrs["RootGridX3"][2] if xrat != 1.0 or yrat != 1.0 or zrat != 1.0: self._index_class = AthenaPPLogarithmicIndex self.logarithmic = True else: self._index_class = AthenaPPHierarchy self.logarithmic = False self._magnetic_factor = get_magnetic_normalization( magnetic_normalization) Dataset.__init__( self, filename, dataset_type, units_override=units_override, unit_system=unit_system, default_species_fields=default_species_fields, ) if storage_filename is None: storage_filename = self.basename + ".yt" self.storage_filename = storage_filename
def __init__( self, filename, dataset_type="athena_pp", storage_filename=None, parameters=None, units_override=None, unit_system="code", default_species_fields=None, ): self.fluid_types += ("athena_pp",) if parameters is None: parameters = {} self.specified_parameters = parameters if units_override is None: units_override = {} self._handle = HDF5FileHandler(filename) xrat = self._handle.attrs["RootGridX1"][2] yrat = self._handle.attrs["RootGridX2"][2] zrat = self._handle.attrs["RootGridX3"][2] if xrat != 1.0 or yrat != 1.0 or zrat != 1.0: self._index_class = AthenaPPLogarithmicIndex self.logarithmic = True else: self._index_class = AthenaPPHierarchy self.logarithmic = False Dataset.__init__( self, filename, dataset_type, units_override=units_override, unit_system=unit_system, default_species_fields=default_species_fields, ) self.filename = filename if storage_filename is None: storage_filename = f"{filename.split('/')[-1]}.yt" self.storage_filename = storage_filename self.backup_filename = self.filename[:-4] + "_backup.gdf"
def __init__( self, filename, dataset_type="openPMD", storage_filename=None, units_override=None, unit_system="mks", **kwargs, ): self._handle = HDF5FileHandler(filename) self.gridsize = kwargs.pop("open_pmd_virtual_gridsize", 10 ** 9) self.standard_version = StrictVersion(self._handle.attrs["openPMD"].decode()) self.iteration = kwargs.pop("iteration", None) self._set_paths(self._handle, path.dirname(filename), self.iteration) Dataset.__init__( self, filename, dataset_type, units_override=units_override, unit_system=unit_system, ) self.storage_filename = storage_filename self.fluid_types += ("openPMD",) try: particles = tuple( str(c) for c in self._handle[self.base_path + self.particles_path].keys() ) if len(particles) > 1: # Only use on-disk particle names if there is more than one species self.particle_types = particles mylog.debug("self.particle_types: %s", self.particle_types) self.particle_types_raw = self.particle_types self.particle_types = tuple(self.particle_types) except (KeyError, TypeError, AttributeError): pass
def __init__(self, filename, dataset_type='chombo_hdf5', storage_filename=None, ini_filename=None, units_override=None): self.fluid_types += ("chombo", ) self._handle = HDF5FileHandler(filename) self.dataset_type = dataset_type self.geometry = "cartesian" self.ini_filename = ini_filename self.fullplotdir = os.path.abspath(filename) Dataset.__init__(self, filename, self.dataset_type, units_override=units_override) self.storage_filename = storage_filename self.cosmological_simulation = False # These are parameters that I very much wish to get rid of. self.parameters["HydroMethod"] = 'chombo' self.parameters["DualEnergyFormalism"] = 0 self.parameters["EOSType"] = -1 # default
def __init__( self, filename, dataset_type="flash_hdf5", storage_filename=None, particle_filename=None, units_override=None, unit_system="cgs", default_species_fields=None, ): self.fluid_types += ("flash", ) if self._handle is not None: return self._handle = HDF5FileHandler(filename) self.particle_filename = particle_filename if self.particle_filename is None: # try to guess the particle filename try: self._particle_handle = HDF5FileHandler( filename.replace("plt_cnt", "part")) self.particle_filename = filename.replace("plt_cnt", "part") mylog.info("Particle file found: %s", self.particle_filename.split("/")[-1]) except OSError: self._particle_handle = self._handle else: # particle_filename is specified by user self._particle_handle = HDF5FileHandler(self.particle_filename) # Check if the particle file has the same time if self._particle_handle != self._handle: part_time = self._particle_handle.handle.get("real scalars")[0][1] plot_time = self._handle.handle.get("real scalars")[0][1] if not np.isclose(part_time, plot_time): self._particle_handle = self._handle mylog.warning( "%s and %s are not at the same time. " "This particle file will not be used.", self.particle_filename, filename, ) # These should be explicitly obtained from the file, but for now that # will wait until a reorganization of the source tree and better # generalization. self.refine_by = 2 Dataset.__init__( self, filename, dataset_type, units_override=units_override, unit_system=unit_system, default_species_fields=default_species_fields, ) self.storage_filename = storage_filename self.parameters["HydroMethod"] = "flash" # always PPM DE self.parameters["Time"] = 1.0 # default unit is 1...