def __init__(self, parameter_filename, simulation_type, near_redshift, far_redshift, use_minimum_datasets=True, deltaz_min=0.0, minimum_coherent_box_fraction=0.0, time_data=True, redshift_data=True, find_outputs=False): self.near_redshift = near_redshift self.far_redshift = far_redshift self.use_minimum_datasets = use_minimum_datasets self.deltaz_min = deltaz_min self.minimum_coherent_box_fraction = minimum_coherent_box_fraction self.light_ray_solution = [] self._data = {} # Get list of datasets for light ray solution. CosmologySplice.__init__(self, parameter_filename, simulation_type, find_outputs=find_outputs) self.light_ray_solution = \ self.create_cosmology_splice(self.near_redshift, self.far_redshift, minimal=self.use_minimum_datasets, deltaz_min=self.deltaz_min, time_data=time_data, redshift_data=redshift_data)
def __init__(self, parameter_filename, simulation_type, near_redshift, far_redshift, observer_redshift=0.0, use_minimum_datasets=True, deltaz_min=0.0, minimum_coherent_box_fraction=0.0, time_data=True, redshift_data=True, find_outputs=False, set_parameters=None, output_dir="LC", output_prefix="LightCone"): self.near_redshift = near_redshift self.far_redshift = far_redshift self.observer_redshift = observer_redshift self.use_minimum_datasets = use_minimum_datasets self.deltaz_min = deltaz_min self.minimum_coherent_box_fraction = minimum_coherent_box_fraction if set_parameters is None: self.set_parameters = {} else: self.set_parameters = set_parameters self.output_dir = output_dir self.output_prefix = output_prefix # Create output directory. ensure_dir(self.output_dir) # Calculate light cone solution. CosmologySplice.__init__(self, parameter_filename, simulation_type, find_outputs=find_outputs) self.light_cone_solution = \ self.create_cosmology_splice(self.near_redshift, self.far_redshift, minimal=self.use_minimum_datasets, deltaz_min=self.deltaz_min, time_data=time_data, redshift_data=redshift_data)
def __init__(self, parameter_filename, simulation_type, near_redshift, far_redshift, observer_redshift=0.0, use_minimum_datasets=True, deltaz_min=0.0, minimum_coherent_box_fraction=0.0, time_data=True, redshift_data=True, find_outputs=False, set_parameters=None, output_dir="LC", output_prefix="LightCone"): self.near_redshift = near_redshift self.far_redshift = far_redshift self.observer_redshift = observer_redshift self.use_minimum_datasets = use_minimum_datasets self.deltaz_min = deltaz_min self.minimum_coherent_box_fraction = minimum_coherent_box_fraction if set_parameters is None: self.set_parameters = {} else: self.set_parameters = set_parameters self.output_dir = output_dir self.output_prefix = output_prefix # Create output directory. if not os.path.exists(self.output_dir): only_on_root(os.mkdir, self.output_dir) # Calculate light cone solution. CosmologySplice.__init__(self, parameter_filename, simulation_type, find_outputs=find_outputs) self.light_cone_solution = \ self.create_cosmology_splice(self.near_redshift, self.far_redshift, minimal=self.use_minimum_datasets, deltaz_min=self.deltaz_min, time_data=time_data, redshift_data=redshift_data)
def __init__(self, parameter_filename, simulation_type=None, near_redshift=None, far_redshift=None, use_minimum_datasets=True, deltaz_min=0.0, minimum_coherent_box_fraction=0.0, time_data=True, redshift_data=True, find_outputs=False, load_kwargs=None): self.near_redshift = near_redshift self.far_redshift = far_redshift self.use_minimum_datasets = use_minimum_datasets self.deltaz_min = deltaz_min self.minimum_coherent_box_fraction = minimum_coherent_box_fraction self.parameter_filename = parameter_filename if load_kwargs is None: self.load_kwargs = {} else: self.load_kwargs = load_kwargs self.light_ray_solution = [] self._data = {} # Make a light ray from a single, given dataset. if simulation_type is None: ds = load(parameter_filename, **self.load_kwargs) if ds.cosmological_simulation: redshift = ds.current_redshift self.cosmology = Cosmology( hubble_constant=ds.hubble_constant, omega_matter=ds.omega_matter, omega_lambda=ds.omega_lambda, unit_registry=ds.unit_registry) else: redshift = 0. self.light_ray_solution.append({"filename": parameter_filename, "redshift": redshift}) # Make a light ray from a simulation time-series. else: # Get list of datasets for light ray solution. CosmologySplice.__init__(self, parameter_filename, simulation_type, find_outputs=find_outputs) self.light_ray_solution = \ self.create_cosmology_splice(self.near_redshift, self.far_redshift, minimal=self.use_minimum_datasets, deltaz_min=self.deltaz_min, time_data=time_data, redshift_data=redshift_data)
def __init__(self, parameter_filename, simulation_type=None, near_redshift=None, far_redshift=None, use_minimum_datasets=True, max_box_fraction=1.0, deltaz_min=0.0, minimum_coherent_box_fraction=0.0, time_data=True, redshift_data=True, find_outputs=False, load_kwargs=None): if near_redshift is not None and far_redshift is not None and \ near_redshift >= far_redshift: raise RuntimeError("near_redshift must be less than far_redshift.") self.near_redshift = near_redshift self.far_redshift = far_redshift self.use_minimum_datasets = use_minimum_datasets self.deltaz_min = deltaz_min self.minimum_coherent_box_fraction = minimum_coherent_box_fraction self.parameter_filename = parameter_filename if load_kwargs is None: self.load_kwargs = {} else: self.load_kwargs = load_kwargs self.light_ray_solution = [] self._data = {} # The options here are: # 1) User passed us a dataset: use it to make a simple ray # 2) User passed us a dataset filename: use it to make a simple ray # 3) User passed us a simulation filename: use it to make a compound ray # Make a light ray from a single, given dataset: #1, #2 if simulation_type is None: self.simulation_type = simulation_type if isinstance(self.parameter_filename, Dataset): self.ds = self.parameter_filename self.parameter_filename = self.ds.basename elif isinstance(self.parameter_filename, str): self.ds = load(self.parameter_filename, **self.load_kwargs) if self.ds.cosmological_simulation: redshift = self.ds.current_redshift self.cosmology = Cosmology( hubble_constant=self.ds.hubble_constant, omega_matter=self.ds.omega_matter, omega_lambda=self.ds.omega_lambda) else: redshift = 0. self.light_ray_solution.append({ "filename": self.parameter_filename, "redshift": redshift }) # Make a light ray from a simulation time-series. #3 else: self.ds = None assert isinstance(self.parameter_filename, str) # Get list of datasets for light ray solution. CosmologySplice.__init__(self, self.parameter_filename, simulation_type, find_outputs=find_outputs) self.light_ray_solution = \ self.create_cosmology_splice( self.near_redshift, self.far_redshift, minimal=self.use_minimum_datasets, max_box_fraction=max_box_fraction, deltaz_min=self.deltaz_min, time_data=time_data, redshift_data=redshift_data)