Skip to content

Instantly share code, notes, and snippets.

@cphyc
Created March 29, 2023 13:40
Show Gist options
  • Save cphyc/7477723d247078dd0388d07f5689711f to your computer and use it in GitHub Desktop.
Save cphyc/7477723d247078dd0388d07f5689711f to your computer and use it in GitHub Desktop.
Extract data from a simulation into .h5 file, then load them and gather them using xarray.
import argparse
import gc
from functools import wraps
from pathlib import Path
from typing import List, Optional, Sequence, Tuple, Union
import h5py
import joblib
import numpy as np
import pynbody
import yt
from astrophysics_toolset.utilities.logging import logger
from yt.fields.derived_field import ValidateSpatial
from yt.utilities.parallel_tools.parallel_analysis_interface import communication_system
yt.enable_parallelism()
logger.setLevel(10)
def setup_dataset(
ds, iord_baryons: np.ndarray
):
@yt.particle_filter(requires=["particle_family"], filtered_type="io")
def tracers(pfilter, data):
return data[(pfilter.filtered_type, "particle_family")] <= 0
@yt.particle_filter(requires=["particle_identity"], filtered_type="tracers")
def baryon_tracers(pfilter, data):
return np.in1d(data[(pfilter.filtered_type, "particle_identity")], iord_baryons)
@yt.particle_filter(requires=["particle_identity"], filtered_type="DM")
def selected_DM(pfilter, data):
return np.in1d(data[(pfilter.filtered_type, "particle_identity")], iord_dm)
def _corresponding_DM_ids(field, data):
ids = data[field.name[0], "particle_identity"].astype(int)
corresponding_iord_dm
ind = np.searchsorted(iord_baryons, ids)
return data.apply_units(corresponding_iord_dm[ind], "1")
def _velocity_dispersion(field, data):
from itertools import product
new_field = np.zeros_like(data["gas", "velocity_x"])
for i, j, k in product(*[range(2)] * 3):
v = 0
w = np.ones_like(data["gas", "density"][i : i + 3, j : j + 3, k : k + 3])
for kk in "xyz":
vel_block = data["gas", f"velocity_{kk}"][
i : i + 3, j : j + 3, k : k + 3
]
vmean = np.average(vel_block, weights=w, axis=(0, 1, 2))
v += np.average((vel_block - vmean) ** 2, weights=w, axis=(0, 1, 2))
# v += np.average((vel_block - np.mean(vel_block))**2, weights=mass_block, axis=(0, 1, 2))
# v += vel_block.var(axis=(0, 1, 2))
new_field[i + 1, j + 1, k + 1] = np.sqrt(v)
return data.apply_units(new_field, data["gas", "velocity_x"].units)
ds.add_field(
("gas", "velocity_dispersion"),
_velocity_dispersion,
sampling_type="cell",
validators=[ValidateSpatial(ghost_zones=1)],
units="cm/s",
)
ds.add_particle_filter("tracers")
ds.add_particle_filter("baryon_tracers")
ds.add_particle_filter("selected_DM")
mesh_fields = [
*(("gas", f"velocity_{k}") for k in "xyz"),
("gas", "density"),
("gas", "temperature"),
*(
("gas", f"{species}_number_density")
for species in ("HI", "HII", "HeI", "HeII")
),
("gas", "sound_speed"),
("gas", "velocity_dispersion"),
("gas", "cooling_total"),
("gas", "heating_total"),
("gas", "cooling_net"),
]
for field in mesh_fields:
ds.add_mesh_sampling_particle_field(field, ptype="baryon_tracers")
# for k in "xyz":
# ds.add_mesh_sampling_particle_field(
# ("gas", f"velocity_{k}"), ptype="baryon_tracers"
# )
# ds.add_mesh_sampling_particle_field(("gas", "density"), ptype="baryon_tracers")
# ds.add_mesh_sampling_particle_field(("gas", "temperature"), ptype="baryon_tracers")
# ds.add_mesh_sampling_particle_field(
# ("gas", "HI_number_density"), ptype="baryon_tracers"
# )
# ds.add_mesh_sampling_particle_field(
# ("gas", "HII_number_density"), ptype="baryon_tracers"
# )
# ds.add_mesh_sampling_particle_field(
# ("gas", "HeI_number_density"), ptype="baryon_tracers"
# )
# ds.add_mesh_sampling_particle_field(
# ("gas", "HeII_number_density"), ptype="baryon_tracers"
# )
ds.add_field(
("baryon_tracers", "DM_identity"),
function=_corresponding_DM_ids,
sampling_type="particle",
units="1",
)
def extract_data(
ds,
fields: List[Tuple[str, str]],
iord_baryons: np.ndarray,
# corresponding_iord_dm: np.ndarray,
# iord_dm: np.ndarray,
):
out_folder = (Path(ds.directory).parent / "subset").resolve()
name = f"{str(ds)}_region.h5"
out_filename = out_folder / name
found_fields = []
if out_filename.exists():
found_fields = []
with h5py.File(out_filename, "r") as f:
for ft in f:
for fn in f[ft]:
found_fields.append((ft, fn))
# Now check all fields have been registered
missing = [f for f in fields if f not in found_fields]
if len(missing) > 0:
logger.info(
"Found data file %s, but missing %s fields", out_filename, len(missing)
)
else:
logger.info("Found data file %s, all fields found", out_filename)
return
logger.info("Extracting data from %s", ds)
setup_dataset(ds, iord_baryons) #, corresponding_iord_dm, iord_dm)
ad = ds.all_data()
yt.funcs.mylog.info("Computing cell indices")
ad["baryon_tracers", "cell_index"]
yt.funcs.mylog.info("Writing dataset into %s", out_filename)
out_filename.parent.mkdir(parents=True, exist_ok=True)
ad.save_as_dataset(str(out_filename), fields=fields)
del ad, ds
gc.collect()
def main(argv: Optional[Sequence] = None) -> int:
parser = argparse.ArgumentParser()
parser.add_argument(
"-i",
"--simulation",
type=str,
help="Path to the folder containing all outputs.",
)
parser.add_argument(
"-z",
"--z-target",
default=2,
type=float,
help="Redshift where to extract the Lagrangian patch (default: %(default)s).",
)
parser.add_argument(
"--R200-fraction",
default=2,
type=float,
help=(
"Maximum distance to look for particles, "
"in units of R200 (default: %(default)s)."
),
)
parser.add_argument(
"--output-slice",
default=None,
help=(
"Output slice to consider (in the form istart:iend:istep), "
"useful when parallelizing manually (default: %(default)s)."
),
)
args = parser.parse_args(argv)
# Find baryons & DM ids in the main galaxy
# memory = joblib.Memory(Path(args.simulation) / "cache")
# build_baryonic_patch_cached = memory.cache(build_baryonic_patch)
# iord_baryons, corresponding_iord_baryons, iord_dm = build_baryonic_patch_cached(
# path=args.simulation,
# fR200=args.R200_fraction,
# z_target=args.z_target,
# )
iord_baryons = np.loadtxt(Path(__file__).parent.parent / "nut_ids.csv_but_for_real.csv")
# Build field list
fields = []
for __ in ("baryon_tracers", ): # "selected_DM"):
fields.extend(
[
(__, "particle_family"),
(__, "particle_mass"),
(__, "particle_identity"),
*[(__, f"particle_position_{k}") for k in "xyz"],
*[(__, f"particle_velocity_{k}") for k in "xyz"],
(__, "particle_position"),
]
)
if __ == "baryon_tracers":
fields.extend(
[
*[(__, f"cell_gas_velocity_{k}") for k in "xyz"],
(__, "cell_gas_density"),
(__, "cell_gas_temperature"),
(__, "cell_gas_HI_number_density"),
(__, "cell_gas_HII_number_density"),
(__, "cell_gas_HeI_number_density"),
(__, "cell_gas_HeII_number_density"),
(__, "DM_identity"),
(__, "cell_gas_sound_speed"),
(__, "cell_gas_velocity_dispersion"),
(__, "cell_gas_cooling_total"),
(__, "cell_gas_heating_total"),
(__, "cell_gas_cooling_net"),
]
)
# Loop over all datasets
simu = Path(args.simulation)
outputs = [
out
for out in sorted(
list(simu.glob("output_?????")) + list(simu.glob("output_?????.tar.gz"))
)
if not (
out.name.endswith(".tar.gz")
and out.with_name(out.name.replace(".tar.gz", "")).exists()
)
]
if args.output_slice is not None:
istart, iend, istep = (int(i) if i else None for i in args.output_slice.split(":"))
sl = slice(istart, iend, istep)
outputs = outputs[sl]
pbar = yt.funcs.get_pbar("Constructing trajectory information", len(outputs))
yt.set_log_level(40)
for output in yt.parallel_objects(list(reversed(outputs))):
bbox = [[0.49] * 3, [0.51] * 3]
if output.name.endswith(".tar.gz"):
original_name = output.name.replace(".tar.gz", "")
try:
ds = yt.load_archive(output, original_name, mount_timeout=5, bbox=bbox)
except yt.utilities.exceptions.YTUnidentifiedDataType:
continue
ds.directory = str(output.parent / original_name)
else:
try:
ds = yt.load(output, bbox=bbox)
except yt.utilities.exceptions.YTUnidentifiedDataType:
continue
extract_data(ds, fields, iord_baryons)
pbar.update(outputs.index(output))
if __name__ == "__main__":
main()
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import xarray as xr\n",
"import h5py\n",
"from glob import glob\n",
"from tqdm import tqdm\n",
"\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['../data/halo_000480/hydro_reference/subset/info_00001_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00011_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00021_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00031_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00041_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00051_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00061_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00071_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00081_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00091_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00101_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00111_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00121_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00131_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00141_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00151_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00161_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00171_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00181_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00191_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00201_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00211_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00221_region.h5',\n",
" '../data/halo_000480/hydro_reference/subset/info_00231_region.h5']"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"files = list(sorted(glob(\"../data/halo_000480/hydro_reference/subset/info_*1_region.h5\")))\n",
"files"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
" 62%|██████▎ | 15/24 [00:20<00:13, 1.48s/it]"
]
}
],
"source": [
"all_xds = []\n",
"\n",
"for f in tqdm(files):\n",
" data = {}\n",
" with h5py.File(f) as hf:\n",
" attrs = dict(hf.attrs)\n",
"\n",
" grp = hf[\"baryon_tracers\"]\n",
" index = grp[\"particle_identity\"][:]\n",
"\n",
"\n",
" for key, val in grp.items():\n",
" if key == \"particle_identity\":\n",
" continue\n",
"\n",
" dims = [\"particle_identity\"]\n",
" if val.ndim == 2:\n",
" dims += [\"xyz\"]\n",
" elif val.ndim > 2:\n",
" raise Exception(\"Unknown dimensionality\")\n",
" data[key] = (dims, val[:]) # , dict(val.attrs))\n",
"\n",
" data[\"time\"] = attrs[\"current_time\"]\n",
" data[\"redshift\"] = attrs[\"current_redshift\"]\n",
"\n",
" all_xds.append(xr.Dataset(\n",
" data,\n",
" attrs=attrs,\n",
" coords={\n",
" \"particle_identity\": index,\n",
" \"xyz\": [\"x\", \"y\", \"z\"],\n",
" \"aexp\": attrs[\"aexp\"],\n",
" }))\n",
"\n",
"xds = xr.concat(all_xds, dim=\"aexp\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
"<defs>\n",
"<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
"<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
"<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
"<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
"</symbol>\n",
"<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
"<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
"<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"</symbol>\n",
"</defs>\n",
"</svg>\n",
"<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
" *\n",
" */\n",
"\n",
":root {\n",
" --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
" --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
" --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
" --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
" --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
" --xr-background-color: var(--jp-layout-color0, white);\n",
" --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
" --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
"}\n",
"\n",
"html[theme=dark],\n",
"body.vscode-dark {\n",
" --xr-font-color0: rgba(255, 255, 255, 1);\n",
" --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
" --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
" --xr-border-color: #1F1F1F;\n",
" --xr-disabled-color: #515151;\n",
" --xr-background-color: #111111;\n",
" --xr-background-color-row-even: #111111;\n",
" --xr-background-color-row-odd: #313131;\n",
"}\n",
"\n",
".xr-wrap {\n",
" display: block !important;\n",
" min-width: 300px;\n",
" max-width: 700px;\n",
"}\n",
"\n",
".xr-text-repr-fallback {\n",
" /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
" display: none;\n",
"}\n",
"\n",
".xr-header {\n",
" padding-top: 6px;\n",
" padding-bottom: 6px;\n",
" margin-bottom: 4px;\n",
" border-bottom: solid 1px var(--xr-border-color);\n",
"}\n",
"\n",
".xr-header > div,\n",
".xr-header > ul {\n",
" display: inline;\n",
" margin-top: 0;\n",
" margin-bottom: 0;\n",
"}\n",
"\n",
".xr-obj-type,\n",
".xr-array-name {\n",
" margin-left: 2px;\n",
" margin-right: 10px;\n",
"}\n",
"\n",
".xr-obj-type {\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-sections {\n",
" padding-left: 0 !important;\n",
" display: grid;\n",
" grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
"}\n",
"\n",
".xr-section-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-section-item input {\n",
" display: none;\n",
"}\n",
"\n",
".xr-section-item input + label {\n",
" color: var(--xr-disabled-color);\n",
"}\n",
"\n",
".xr-section-item input:enabled + label {\n",
" cursor: pointer;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-section-item input:enabled + label:hover {\n",
" color: var(--xr-font-color0);\n",
"}\n",
"\n",
".xr-section-summary {\n",
" grid-column: 1;\n",
" color: var(--xr-font-color2);\n",
" font-weight: 500;\n",
"}\n",
"\n",
".xr-section-summary > span {\n",
" display: inline-block;\n",
" padding-left: 0.5em;\n",
"}\n",
"\n",
".xr-section-summary-in:disabled + label {\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-section-summary-in + label:before {\n",
" display: inline-block;\n",
" content: '►';\n",
" font-size: 11px;\n",
" width: 15px;\n",
" text-align: center;\n",
"}\n",
"\n",
".xr-section-summary-in:disabled + label:before {\n",
" color: var(--xr-disabled-color);\n",
"}\n",
"\n",
".xr-section-summary-in:checked + label:before {\n",
" content: '▼';\n",
"}\n",
"\n",
".xr-section-summary-in:checked + label > span {\n",
" display: none;\n",
"}\n",
"\n",
".xr-section-summary,\n",
".xr-section-inline-details {\n",
" padding-top: 4px;\n",
" padding-bottom: 4px;\n",
"}\n",
"\n",
".xr-section-inline-details {\n",
" grid-column: 2 / -1;\n",
"}\n",
"\n",
".xr-section-details {\n",
" display: none;\n",
" grid-column: 1 / -1;\n",
" margin-bottom: 5px;\n",
"}\n",
"\n",
".xr-section-summary-in:checked ~ .xr-section-details {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-array-wrap {\n",
" grid-column: 1 / -1;\n",
" display: grid;\n",
" grid-template-columns: 20px auto;\n",
"}\n",
"\n",
".xr-array-wrap > label {\n",
" grid-column: 1;\n",
" vertical-align: top;\n",
"}\n",
"\n",
".xr-preview {\n",
" color: var(--xr-font-color3);\n",
"}\n",
"\n",
".xr-array-preview,\n",
".xr-array-data {\n",
" padding: 0 5px !important;\n",
" grid-column: 2;\n",
"}\n",
"\n",
".xr-array-data,\n",
".xr-array-in:checked ~ .xr-array-preview {\n",
" display: none;\n",
"}\n",
"\n",
".xr-array-in:checked ~ .xr-array-data,\n",
".xr-array-preview {\n",
" display: inline-block;\n",
"}\n",
"\n",
".xr-dim-list {\n",
" display: inline-block !important;\n",
" list-style: none;\n",
" padding: 0 !important;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-dim-list li {\n",
" display: inline-block;\n",
" padding: 0;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-dim-list:before {\n",
" content: '(';\n",
"}\n",
"\n",
".xr-dim-list:after {\n",
" content: ')';\n",
"}\n",
"\n",
".xr-dim-list li:not(:last-child):after {\n",
" content: ',';\n",
" padding-right: 5px;\n",
"}\n",
"\n",
".xr-has-index {\n",
" font-weight: bold;\n",
"}\n",
"\n",
".xr-var-list,\n",
".xr-var-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-var-item > div,\n",
".xr-var-item label,\n",
".xr-var-item > .xr-var-name span {\n",
" background-color: var(--xr-background-color-row-even);\n",
" margin-bottom: 0;\n",
"}\n",
"\n",
".xr-var-item > .xr-var-name:hover span {\n",
" padding-right: 5px;\n",
"}\n",
"\n",
".xr-var-list > li:nth-child(odd) > div,\n",
".xr-var-list > li:nth-child(odd) > label,\n",
".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
" background-color: var(--xr-background-color-row-odd);\n",
"}\n",
"\n",
".xr-var-name {\n",
" grid-column: 1;\n",
"}\n",
"\n",
".xr-var-dims {\n",
" grid-column: 2;\n",
"}\n",
"\n",
".xr-var-dtype {\n",
" grid-column: 3;\n",
" text-align: right;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-var-preview {\n",
" grid-column: 4;\n",
"}\n",
"\n",
".xr-var-name,\n",
".xr-var-dims,\n",
".xr-var-dtype,\n",
".xr-preview,\n",
".xr-attrs dt {\n",
" white-space: nowrap;\n",
" overflow: hidden;\n",
" text-overflow: ellipsis;\n",
" padding-right: 10px;\n",
"}\n",
"\n",
".xr-var-name:hover,\n",
".xr-var-dims:hover,\n",
".xr-var-dtype:hover,\n",
".xr-attrs dt:hover {\n",
" overflow: visible;\n",
" width: auto;\n",
" z-index: 1;\n",
"}\n",
"\n",
".xr-var-attrs,\n",
".xr-var-data {\n",
" display: none;\n",
" background-color: var(--xr-background-color) !important;\n",
" padding-bottom: 5px !important;\n",
"}\n",
"\n",
".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
".xr-var-data-in:checked ~ .xr-var-data {\n",
" display: block;\n",
"}\n",
"\n",
".xr-var-data > table {\n",
" float: right;\n",
"}\n",
"\n",
".xr-var-name span,\n",
".xr-var-data,\n",
".xr-attrs {\n",
" padding-left: 25px !important;\n",
"}\n",
"\n",
".xr-attrs,\n",
".xr-var-attrs,\n",
".xr-var-data {\n",
" grid-column: 1 / -1;\n",
"}\n",
"\n",
"dl.xr-attrs {\n",
" padding: 0;\n",
" margin: 0;\n",
" display: grid;\n",
" grid-template-columns: 125px auto;\n",
"}\n",
"\n",
".xr-attrs dt,\n",
".xr-attrs dd {\n",
" padding: 0;\n",
" margin: 0;\n",
" float: left;\n",
" padding-right: 10px;\n",
" width: auto;\n",
"}\n",
"\n",
".xr-attrs dt {\n",
" font-weight: normal;\n",
" grid-column: 1;\n",
"}\n",
"\n",
".xr-attrs dt:hover span {\n",
" display: inline-block;\n",
" background: var(--xr-background-color);\n",
" padding-right: 10px;\n",
"}\n",
"\n",
".xr-attrs dd {\n",
" grid-column: 2;\n",
" white-space: pre-wrap;\n",
" word-break: break-all;\n",
"}\n",
"\n",
".xr-icon-database,\n",
".xr-icon-file-text2 {\n",
" display: inline-block;\n",
" vertical-align: middle;\n",
" width: 1em;\n",
" height: 1.5em !important;\n",
" stroke-width: 0;\n",
" stroke: currentColor;\n",
" fill: currentColor;\n",
"}\n",
"</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt;\n",
"Dimensions: (particle_identity: 484798, aexp: 10, xyz: 3)\n",
"Coordinates:\n",
" * particle_identity (particle_identity) float64 1.353e+08 ... 1...\n",
" * xyz (xyz) &lt;U1 &#x27;x&#x27; &#x27;y&#x27; &#x27;z&#x27;\n",
" * aexp (aexp) float64 0.03076 0.03188 ... 0.04394\n",
"Data variables: (12/26)\n",
" DM_identity (aexp, particle_identity) float64 7.995e+08...\n",
" cell_gas_HII_number_density (aexp, particle_identity) float64 1.019e-06...\n",
" cell_gas_HI_number_density (aexp, particle_identity) float64 0.005777 ...\n",
" cell_gas_HeII_number_density (aexp, particle_identity) float64 1.132e-07...\n",
" cell_gas_HeI_number_density (aexp, particle_identity) float64 0.0004561...\n",
" cell_gas_cooling_net (aexp, particle_identity) float64 -1.403e-2...\n",
" ... ...\n",
" particle_position_z (aexp, particle_identity) float64 0.4882 .....\n",
" particle_velocity_x (aexp, particle_identity) float64 0.0 ... -...\n",
" particle_velocity_y (aexp, particle_identity) float64 0.0006488...\n",
" particle_velocity_z (aexp, particle_identity) float64 0.0 ... 0.0\n",
" time (aexp) float64 6.725 6.604 ... 5.711 5.632\n",
" redshift (aexp) float64 31.51 30.36 ... 22.45 21.76\n",
"Attributes: (12/57)\n",
" H0: 67.3199996948242\n",
" HydroMethod: ramses\n",
" Time: 1.0\n",
" aexp: 0.0307637224402167\n",
" boxlen: 1.0\n",
" center: [0.5 0.5 0.5]\n",
" ... ...\n",
" unit_l: 1.40749056495083e+25\n",
" unit_registry_json: {&quot;m&quot;: [1.0, &quot;(length)&quot;, 0.0, &quot;\\\\rm{m}&quot;, true], ...\n",
" unit_system_name: cgs\n",
" unit_t: 432996494031547.0\n",
" velocity_unit: 32505818969.709347\n",
" velocity_unit_units: cm/s</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-2baee777-9eaa-4199-b6e8-d9e98e7b0403' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-2baee777-9eaa-4199-b6e8-d9e98e7b0403' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>particle_identity</span>: 484798</li><li><span class='xr-has-index'>aexp</span>: 10</li><li><span class='xr-has-index'>xyz</span>: 3</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-80985146-ef2c-472f-82bf-90860d2b4ace' class='xr-section-summary-in' type='checkbox' checked><label for='section-80985146-ef2c-472f-82bf-90860d2b4ace' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>particle_identity</span></div><div class='xr-var-dims'>(particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>1.353e+08 1.353e+08 ... 1.361e+08</div><input id='attrs-1cde8c8e-ac90-46f6-9006-a11cf51adbea' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-1cde8c8e-ac90-46f6-9006-a11cf51adbea' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-1b1f0d19-95cb-4a48-9c7b-a34a92398fb0' class='xr-var-data-in' type='checkbox'><label for='data-1b1f0d19-95cb-4a48-9c7b-a34a92398fb0' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([1.353325e+08, 1.353325e+08, 1.353325e+08, ..., 1.361263e+08,\n",
" 1.361263e+08, 1.361263e+08])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>xyz</span></div><div class='xr-var-dims'>(xyz)</div><div class='xr-var-dtype'>&lt;U1</div><div class='xr-var-preview xr-preview'>&#x27;x&#x27; &#x27;y&#x27; &#x27;z&#x27;</div><input id='attrs-0912584f-5644-4a17-8415-bd97469225ab' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-0912584f-5644-4a17-8415-bd97469225ab' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ec282205-657c-4863-b918-8b6f43a08c3b' class='xr-var-data-in' type='checkbox'><label for='data-ec282205-657c-4863-b918-8b6f43a08c3b' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([&#x27;x&#x27;, &#x27;y&#x27;, &#x27;z&#x27;], dtype=&#x27;&lt;U1&#x27;)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>aexp</span></div><div class='xr-var-dims'>(aexp)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.03076 0.03188 ... 0.04265 0.04394</div><input id='attrs-8e4000ec-425b-4b29-a9e5-7cc66601690a' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-8e4000ec-425b-4b29-a9e5-7cc66601690a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d839cacb-e059-4de9-aa69-1b462bbc7052' class='xr-var-data-in' type='checkbox'><label for='data-d839cacb-e059-4de9-aa69-1b462bbc7052' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([0.030764, 0.031885, 0.03301 , 0.035269, 0.036098, 0.03808 , 0.039388,\n",
" 0.040692, 0.042645, 0.043943])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-04578e45-fbb3-436d-bcb1-71e61644e232' class='xr-section-summary-in' type='checkbox' ><label for='section-04578e45-fbb3-436d-bcb1-71e61644e232' class='xr-section-summary' >Data variables: <span>(26)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>DM_identity</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>7.995e+08 2.154e+08 ... 8.981e+08</div><input id='attrs-d675de14-2959-4d5a-9d31-69ccf8eff941' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-d675de14-2959-4d5a-9d31-69ccf8eff941' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d46dc184-c037-407f-b430-44a387253d3c' class='xr-var-data-in' type='checkbox'><label for='data-d46dc184-c037-407f-b430-44a387253d3c' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[7.99523288e+08, 2.15351527e+08, 7.99548880e+08, ...,\n",
" 8.97070605e+08, 8.98119182e+08, 8.98120206e+08],\n",
" [7.99523288e+08, 2.15351527e+08, 7.99548880e+08, ...,\n",
" 8.97070605e+08, 8.98119182e+08, 8.98120206e+08],\n",
" [7.99523288e+08, 2.15351527e+08, 7.99548880e+08, ...,\n",
" 8.97070605e+08, 8.98119182e+08, 8.98120206e+08],\n",
" ...,\n",
" [7.99523288e+08, 2.15351527e+08, 7.99548880e+08, ...,\n",
" 8.97070605e+08, 8.98119182e+08, 8.98120206e+08],\n",
" [7.99523288e+08, 2.15351527e+08, 7.99548880e+08, ...,\n",
" 8.97070605e+08, 8.98119182e+08, 8.98120206e+08],\n",
" [7.99523288e+08, 2.15351527e+08, 7.99548880e+08, ...,\n",
" 8.97070605e+08, 8.98119182e+08, 8.98120206e+08]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cell_gas_HII_number_density</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>1.019e-06 9.923e-07 ... 4.503e-07</div><input id='attrs-0c07bb53-5076-475d-9d55-a83061868dd4' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-0c07bb53-5076-475d-9d55-a83061868dd4' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-56af69fc-49cb-43a7-a2e0-52e21196f3ed' class='xr-var-data-in' type='checkbox'><label for='data-56af69fc-49cb-43a7-a2e0-52e21196f3ed' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[1.01857913e-06, 9.92337942e-07, 1.06980045e-06, ...,\n",
" 1.12408647e-06, 1.00133856e-06, 1.14893797e-06],\n",
" [9.26303967e-07, 8.97102219e-07, 9.73675048e-07, ...,\n",
" 1.02131221e-06, 9.13132557e-07, 1.03071425e-06],\n",
" [8.51490977e-07, 8.09994734e-07, 8.92369697e-07, ...,\n",
" 9.12962528e-07, 8.32273798e-07, 9.20114386e-07],\n",
" ...,\n",
" [4.94534758e-07, 5.30799029e-07, 5.38223657e-07, ...,\n",
" 5.33205973e-07, 5.43625794e-07, 5.22535540e-07],\n",
" [4.39921026e-07, 4.62560457e-07, 4.69116994e-07, ...,\n",
" 4.83822244e-07, 4.75477138e-07, 4.81936180e-07],\n",
" [4.10432536e-07, 4.20482383e-07, 4.37765601e-07, ...,\n",
" 4.50832817e-07, 4.57387003e-07, 4.50312944e-07]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cell_gas_HI_number_density</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.005777 0.005483 ... 0.002306</div><input id='attrs-e9fd3555-578b-419b-9ec1-4a2428a34b27' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-e9fd3555-578b-419b-9ec1-4a2428a34b27' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-956adae0-4a07-4add-b603-53fed5f28928' class='xr-var-data-in' type='checkbox'><label for='data-956adae0-4a07-4add-b603-53fed5f28928' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[0.00577712, 0.00548297, 0.00637347, ..., 0.0069853 , 0.005583 ,\n",
" 0.00716707],\n",
" [0.00513203, 0.0048133 , 0.00567104, ..., 0.00624028, 0.00498696,\n",
" 0.00635585],\n",
" [0.00464822, 0.00420586, 0.00510568, ..., 0.00534429, 0.00444061,\n",
" 0.00542844],\n",
" ...,\n",
" [0.00238506, 0.0027477 , 0.00282512, ..., 0.00277268, 0.00288213,\n",
" 0.0026628 ],\n",
" [0.00207311, 0.00229195, 0.00235738, ..., 0.00250747, 0.00242173,\n",
" 0.00248796],\n",
" [0.00191608, 0.00201108, 0.00217975, ..., 0.00231179, 0.00237948,\n",
" 0.00230647]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cell_gas_HeII_number_density</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>1.132e-07 1.103e-07 ... 5.004e-08</div><input id='attrs-d5f0faee-21b9-4cac-8cfd-44ca63d1a8e6' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-d5f0faee-21b9-4cac-8cfd-44ca63d1a8e6' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-055e634b-5113-489c-9c3f-08d8e945c51f' class='xr-var-data-in' type='checkbox'><label for='data-055e634b-5113-489c-9c3f-08d8e945c51f' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[1.13167255e-07, 1.10251027e-07, 1.18859677e-07, ...,\n",
" 1.24807331e-07, 1.11251277e-07, 1.27355237e-07],\n",
" [1.02914541e-07, 9.96694721e-08, 1.08179058e-07, ...,\n",
" 1.13473264e-07, 1.01450796e-07, 1.14518180e-07],\n",
" [9.46026709e-08, 8.99913408e-08, 9.91454896e-08, ...,\n",
" 1.01434026e-07, 9.24671221e-08, 1.02228837e-07],\n",
" ...,\n",
" [5.49488734e-08, 5.89786529e-08, 5.98037097e-08, ...,\n",
" 5.92461228e-08, 6.04040200e-08, 5.80603806e-08],\n",
" [4.88809378e-08, 5.13966315e-08, 5.21251969e-08, ...,\n",
" 5.37592558e-08, 5.28319402e-08, 5.35496745e-08],\n",
" [4.56045381e-08, 4.67213339e-08, 4.86417895e-08, ...,\n",
" 5.00937811e-08, 5.08220648e-08, 5.00360142e-08]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cell_gas_HeI_number_density</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.0004561 0.0004328 ... 0.0001821</div><input id='attrs-4fee0d54-fb8e-4d6d-870a-85cadf4475ce' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-4fee0d54-fb8e-4d6d-870a-85cadf4475ce' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d36f7d91-6db0-4d9d-b726-8ff65caef40b' class='xr-var-data-in' type='checkbox'><label for='data-d36f7d91-6db0-4d9d-b726-8ff65caef40b' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[0.00045606, 0.00043283, 0.00050313, ..., 0.00055143, 0.00044073,\n",
" 0.00056578],\n",
" [0.00040513, 0.00037997, 0.00044768, ..., 0.00049262, 0.00039368,\n",
" 0.00050174],\n",
" [0.00036694, 0.00033202, 0.00040305, ..., 0.00042189, 0.00035055,\n",
" 0.00042853],\n",
" ...,\n",
" [0.00018828, 0.00021691, 0.00022302, ..., 0.00021888, 0.00022752,\n",
" 0.0002102 ],\n",
" [0.00016365, 0.00018093, 0.00018609, ..., 0.00019794, 0.00019117,\n",
" 0.0001964 ],\n",
" [0.00015126, 0.00015876, 0.00017207, ..., 0.0001825 , 0.00018784,\n",
" 0.00018207]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cell_gas_cooling_net</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-1.403e-29 ... -1.722e-29</div><input id='attrs-bac92b24-1a69-4259-ba80-0954ad8bc75f' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-bac92b24-1a69-4259-ba80-0954ad8bc75f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c76c91e0-5579-477c-95c7-187ca33fa22c' class='xr-var-data-in' type='checkbox'><label for='data-c76c91e0-5579-477c-95c7-187ca33fa22c' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[-1.40315724e-29, -1.47841921e-29, -1.27188874e-29, ...,\n",
" -1.16049897e-29, -1.45193693e-29, -1.13105986e-29],\n",
" [-1.47041587e-29, -1.56776499e-29, -1.33068049e-29, ...,\n",
" -1.20931481e-29, -1.51318124e-29, -1.18732992e-29],\n",
" [-1.51461191e-29, -1.67388428e-29, -1.37892995e-29, ...,\n",
" -1.31737375e-29, -1.58541247e-29, -1.29695641e-29],\n",
" ...,\n",
" [-1.94246714e-29, -1.68614450e-29, -1.63994677e-29, ...,\n",
" -1.67095640e-29, -1.60751623e-29, -1.73989465e-29],\n",
" [-2.03469650e-29, -1.84045549e-29, -1.78938408e-29, ...,\n",
" -1.68229385e-29, -1.74184691e-29, -1.69548328e-29],\n",
" [-2.07331734e-29, -1.97540335e-29, -1.82257044e-29, ...,\n",
" -1.71849418e-29, -1.66961766e-29, -1.72246260e-29]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cell_gas_cooling_total</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>1.604e-28 1.69e-28 ... 4.017e-28</div><input id='attrs-24f1d1e4-dc76-467d-93cc-c3b6a76703ef' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-24f1d1e4-dc76-467d-93cc-c3b6a76703ef' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-8419ed90-229d-4168-917a-df79925ba9c2' class='xr-var-data-in' type='checkbox'><label for='data-8419ed90-229d-4168-917a-df79925ba9c2' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[1.60376482e-28, 1.68978640e-28, 1.45372993e-28, ...,\n",
" 1.32641972e-28, 1.65951815e-28, 1.29278173e-28],\n",
" [1.80533917e-28, 1.92486130e-28, 1.63377659e-28, ...,\n",
" 1.48476776e-28, 1.85784511e-28, 1.45777544e-28],\n",
" [1.99323224e-28, 2.20283393e-28, 1.81467546e-28, ...,\n",
" 1.73366784e-28, 2.08640543e-28, 1.70679873e-28],\n",
" ...,\n",
" [3.88438579e-28, 3.37181475e-28, 3.27943269e-28, ...,\n",
" 3.34144296e-28, 3.21458103e-28, 3.47929946e-28],\n",
" [4.46884122e-28, 4.04222753e-28, 3.93005884e-28, ...,\n",
" 3.69485544e-28, 3.82565245e-28, 3.72382352e-28],\n",
" [4.83503822e-28, 4.60670050e-28, 4.25029079e-28, ...,\n",
" 4.00758269e-28, 3.89360160e-28, 4.01683713e-28]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cell_gas_density</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>1.273e-26 1.208e-26 ... 5.08e-27</div><input id='attrs-cb2e21e5-eea2-45a2-8b7c-28bf4bb4cbcd' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-cb2e21e5-eea2-45a2-8b7c-28bf4bb4cbcd' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-90244d2b-5bdb-487c-8057-b2fc416f038a' class='xr-var-data-in' type='checkbox'><label for='data-90244d2b-5bdb-487c-8057-b2fc416f038a' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[1.27251039e-26, 1.20772513e-26, 1.40385484e-26, ...,\n",
" 1.53860843e-26, 1.22975510e-26, 1.57864481e-26],\n",
" [1.13042264e-26, 1.06022375e-26, 1.24913928e-26, ...,\n",
" 1.37451261e-26, 1.09847205e-26, 1.39996543e-26],\n",
" [1.02385854e-26, 9.26428474e-27, 1.12461212e-26, ...,\n",
" 1.17716556e-26, 9.78131467e-27, 1.19569859e-26],\n",
" ...,\n",
" [5.25366350e-27, 6.05239457e-27, 6.22290839e-27, ...,\n",
" 6.10741280e-27, 6.34846321e-27, 5.86540203e-27],\n",
" [4.56653845e-27, 5.04854097e-27, 5.19264792e-27, ...,\n",
" 5.52323227e-27, 5.33437632e-27, 5.48026185e-27],\n",
" [4.22066597e-27, 4.42989350e-27, 4.80140343e-27, ...,\n",
" 5.09221773e-27, 5.24130255e-27, 5.08048451e-27]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cell_gas_heating_total</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>1.744e-28 1.838e-28 ... 4.189e-28</div><input id='attrs-b7fef074-3223-4bf9-9133-27af79060c19' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-b7fef074-3223-4bf9-9133-27af79060c19' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-cba1b2cd-761b-45c4-b1b0-81242fc74dfb' class='xr-var-data-in' type='checkbox'><label for='data-cba1b2cd-761b-45c4-b1b0-81242fc74dfb' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[1.74408054e-28, 1.83762832e-28, 1.58091881e-28, ...,\n",
" 1.44246961e-28, 1.80471185e-28, 1.40588772e-28],\n",
" [1.95238076e-28, 2.08163780e-28, 1.76684464e-28, ...,\n",
" 1.60569924e-28, 2.00916323e-28, 1.57650843e-28],\n",
" [2.14469343e-28, 2.37022235e-28, 1.95256846e-28, ...,\n",
" 1.86540522e-28, 2.24494668e-28, 1.83649437e-28],\n",
" ...,\n",
" [4.07863250e-28, 3.54042920e-28, 3.44342737e-28, ...,\n",
" 3.50853860e-28, 3.37533266e-28, 3.65328892e-28],\n",
" [4.67231087e-28, 4.22627307e-28, 4.10899725e-28, ...,\n",
" 3.86308482e-28, 3.99983714e-28, 3.89337185e-28],\n",
" [5.04236995e-28, 4.80424083e-28, 4.43254784e-28, ...,\n",
" 4.17943211e-28, 4.06056336e-28, 4.18908339e-28]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cell_gas_sound_speed</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>3.73e+04 3.731e+04 ... 3.727e+04</div><input id='attrs-a63f303d-2554-4bcc-aa71-28156519ad1a' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-a63f303d-2554-4bcc-aa71-28156519ad1a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-4ab6a540-4940-4cba-a5ee-f6195cf63194' class='xr-var-data-in' type='checkbox'><label for='data-4ab6a540-4940-4cba-a5ee-f6195cf63194' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[37304.03811378, 37305.6683638 , 37300.87750524, ...,\n",
" 37494.83046488, 37305.10857877, 37976.60174142],\n",
" [37305.04918441, 37306.85082631, 37302.13086789, ...,\n",
" 37299.21610663, 37305.86202615, 37298.64449253],\n",
" [37304.94097731, 37307.45227235, 37302.45900533, ...,\n",
" 37301.20905582, 37306.10568865, 37300.77537336],\n",
" ...,\n",
" [37277.67368596, 37276.67478587, 37276.46622537, ...,\n",
" 37276.60731366, 37276.31369182, 37276.90537979],\n",
" [37276.4816115 , 37275.90045627, 37275.72917835, ...,\n",
" 37275.34050159, 37275.56182492, 37275.39069161],\n",
" [37275.61528247, 37275.36969581, 37274.93937143, ...,\n",
" 37274.6075827 , 37274.43919618, 37274.6208839 ]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cell_gas_temperature</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>10.12 10.12 10.12 ... 10.11 10.11</div><input id='attrs-609deb87-02d8-4c23-b99c-0a2a634fae7e' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-609deb87-02d8-4c23-b99c-0a2a634fae7e' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-549f7f5b-c7f5-4cd4-98ad-171271eb6f29' class='xr-var-data-in' type='checkbox'><label for='data-549f7f5b-c7f5-4cd4-98ad-171271eb6f29' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[10.1220032 , 10.12288792, 10.12028809, ..., 10.2258064 ,\n",
" 10.12258412, 10.49027754],\n",
" [10.12255189, 10.12352965, 10.12096821, ..., 10.11938658,\n",
" 10.12299302, 10.11907642],\n",
" [10.12249317, 10.12385607, 10.12114627, ..., 10.120468 ,\n",
" 10.12312525, 10.12023267],\n",
" ...,\n",
" [10.10770091, 10.10715922, 10.10704613, ..., 10.10712264,\n",
" 10.10696341, 10.10728427],\n",
" [10.10705447, 10.10673933, 10.10664645, ..., 10.10643568,\n",
" 10.1065557 , 10.1064629 ],\n",
" [10.10658469, 10.10645151, 10.10621817, ..., 10.10603826,\n",
" 10.10594695, 10.10604547]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cell_gas_velocity_dispersion</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>1.842e+05 1.187e+05 ... 1.205e+05</div><input id='attrs-4e55a303-ae2c-4a10-a0a9-8ee4b2fab52c' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-4e55a303-ae2c-4a10-a0a9-8ee4b2fab52c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-87e06964-4cd0-4bda-a1ab-693a0adbfab6' class='xr-var-data-in' type='checkbox'><label for='data-87e06964-4cd0-4bda-a1ab-693a0adbfab6' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[184203.22247725, 118681.15831611, 147352.15592327, ...,\n",
" 113943.76632026, 115454.74772661, 97522.56045432],\n",
" [189474.89656567, 119594.71654316, 136741.31662243, ...,\n",
" 108085.45218304, 115197.45406384, 100651.02565467],\n",
" [190260.01062302, 134039.41146995, 143625.00761062, ...,\n",
" 111759.65886695, 109224.39725265, 89429.87059525],\n",
" ...,\n",
" [203652.52162842, 138671.21679613, 167948.7128193 , ...,\n",
" 141880.31892909, 125896.44489442, 87400.18607109],\n",
" [209041.96292278, 150592.45985844, 144726.84708077, ...,\n",
" 136218.32819566, 117434.49319948, 117603.65793433],\n",
" [210497.03436989, 148310.98585495, 154517.57036048, ...,\n",
" 132677.52998978, 134181.28766236, 120450.09161948]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cell_gas_velocity_x</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-2.768e+06 ... -7.807e+06</div><input id='attrs-c38d5e0b-4aa3-4817-832a-d121928da0c7' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-c38d5e0b-4aa3-4817-832a-d121928da0c7' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c3a32288-ac31-4c64-9f25-37fc24b9da27' class='xr-var-data-in' type='checkbox'><label for='data-c3a32288-ac31-4c64-9f25-37fc24b9da27' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[-2767980.11994659, -3422699.47362137, -4074170.54174568, ...,\n",
" -6413252.13787952, -6286530.04364498, -6609821.25988408],\n",
" [-2727058.69490314, -3477876.31355507, -4073939.94570892, ...,\n",
" -6518079.74993255, -6380645.30692768, -6678951.60688116],\n",
" [-2799124.39884656, -3572701.34839845, -4195617.09189241, ...,\n",
" -6588772.64663734, -6576518.2339428 , -6787507.56689895],\n",
" ...,\n",
" [-3006105.89503911, -3870490.07633452, -4684481.43277776, ...,\n",
" -7281817.97758119, -7418255.92078538, -7506260.08895847],\n",
" [-3003604.04670458, -3977244.51030469, -4628584.25050335, ...,\n",
" -7395505.24860544, -7555562.50735574, -7644639.07737734],\n",
" [-3078523.03824834, -4034039.0991063 , -4705218.14421932, ...,\n",
" -7487357.55029272, -7620296.36846772, -7807134.00491676]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cell_gas_velocity_y</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>6.014e+05 1.312e+05 ... 2.833e+06</div><input id='attrs-048ef8ae-209e-4008-8c2f-96d356bbc478' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-048ef8ae-209e-4008-8c2f-96d356bbc478' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c15de653-cbd2-4a7d-a14c-ddebd9f698f7' class='xr-var-data-in' type='checkbox'><label for='data-c15de653-cbd2-4a7d-a14c-ddebd9f698f7' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[ 601421.13275396, 131185.90144558, 505024.3333996 , ...,\n",
" 2370856.6821475 , 2497284.94375355, 2343776.36099867],\n",
" [ 677528.52558865, 110716.91326172, 569730.71447816, ...,\n",
" 2421671.13664753, 2554902.78644251, 2383919.61185674],\n",
" [ 660847.93387518, 160326.79507229, 598335.43922518, ...,\n",
" 2470628.45929275, 2562478.54294152, 2441413.01830278],\n",
" ...,\n",
" [ 794562.89878276, 339717.27560244, 573080.72868271, ...,\n",
" 2772953.83495574, 2733324.84537704, 2738711.19324894],\n",
" [ 868929.15065768, 376082.71158987, 712922.66616834, ...,\n",
" 2807637.18067687, 2813461.53133208, 2796999.52515819],\n",
" [ 846551.3816166 , 347010.86959979, 689174.25279976, ...,\n",
" 2873049.39034597, 2840951.6507358 , 2832687.3457166 ]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cell_gas_velocity_z</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>4.355e+06 5.307e+06 ... 3.895e+06</div><input id='attrs-f12b8529-0e34-416c-812b-5ea9ff7f3c4e' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-f12b8529-0e34-416c-812b-5ea9ff7f3c4e' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-984d63e1-cb48-4b27-89d6-4de82b53ae42' class='xr-var-data-in' type='checkbox'><label for='data-984d63e1-cb48-4b27-89d6-4de82b53ae42' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[4355377.6521239 , 5306729.20109047, 5626439.05030863, ...,\n",
" 3271198.82999343, 3348413.69430891, 3328690.02346971],\n",
" [4523249.07494707, 5394156.39532666, 5720187.63084342, ...,\n",
" 3352885.47025176, 3417914.35854085, 3385029.71562866],\n",
" [4592440.9758475 , 5455073.8253943 , 5764808.06729212, ...,\n",
" 3418713.96277471, 3467857.3382713 , 3449555.09556463],\n",
" ...,\n",
" [5119633.17906309, 6168776.23466947, 6433216.44109065, ...,\n",
" 3728112.56207556, 3747359.07798303, 3813694.76979992],\n",
" [5329617.77143521, 6270232.12189205, 6573365.88072154, ...,\n",
" 3745513.83553994, 3867423.96392191, 3849964.67338704],\n",
" [5393848.42841403, 6353227.74040049, 6685600.18907174, ...,\n",
" 3830949.79763969, 3840496.88672653, 3894683.39032215]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>particle_family</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0</div><input id='attrs-9168bafa-488c-4a97-8a72-b74c2745977a' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-9168bafa-488c-4a97-8a72-b74c2745977a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-8dd61983-7ef7-4ff7-903e-f39517e08cfe' class='xr-var-data-in' type='checkbox'><label for='data-8dd61983-7ef7-4ff7-903e-f39517e08cfe' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[0., 0., 0., ..., 0., 0., 0.],\n",
" [0., 0., 0., ..., 0., 0., 0.],\n",
" [0., 0., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [0., 0., 0., ..., 0., 0., 0.],\n",
" [0., 0., 0., ..., 0., 0., 0.],\n",
" [0., 0., 0., ..., 0., 0., 0.]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>particle_mass</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>3e-12 3e-12 3e-12 ... 3e-12 3e-12</div><input id='attrs-9d558fca-ad2d-485e-8e60-a5214b6b141b' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-9d558fca-ad2d-485e-8e60-a5214b6b141b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-616ead79-7b52-48da-a430-673a6202758f' class='xr-var-data-in' type='checkbox'><label for='data-616ead79-7b52-48da-a430-673a6202758f' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[3.e-12, 3.e-12, 3.e-12, ..., 3.e-12, 3.e-12, 3.e-12],\n",
" [3.e-12, 3.e-12, 3.e-12, ..., 3.e-12, 3.e-12, 3.e-12],\n",
" [3.e-12, 3.e-12, 3.e-12, ..., 3.e-12, 3.e-12, 3.e-12],\n",
" ...,\n",
" [3.e-12, 3.e-12, 3.e-12, ..., 3.e-12, 3.e-12, 3.e-12],\n",
" [3.e-12, 3.e-12, 3.e-12, ..., 3.e-12, 3.e-12, 3.e-12],\n",
" [3.e-12, 3.e-12, 3.e-12, ..., 3.e-12, 3.e-12, 3.e-12]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>particle_position</span></div><div class='xr-var-dims'>(aexp, particle_identity, xyz)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.4901 0.4926 ... 0.5006 0.5009</div><input id='attrs-97a08f9c-1cd3-4331-8405-9c77b088d41e' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-97a08f9c-1cd3-4331-8405-9c77b088d41e' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-94a5e3e5-0216-455e-abb1-bbad1a55ef4d' class='xr-var-data-in' type='checkbox'><label for='data-94a5e3e5-0216-455e-abb1-bbad1a55ef4d' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[[0.4901123 , 0.49255371, 0.48815918],\n",
" [0.49035645, 0.49621582, 0.48718262],\n",
" [0.48986816, 0.49841309, 0.48742676],\n",
" ...,\n",
" [0.51086426, 0.49987793, 0.50061035],\n",
" [0.5111084 , 0.50036621, 0.50012207],\n",
" [0.51013184, 0.50012207, 0.50036621]],\n",
"\n",
" [[0.4901123 , 0.49255371, 0.48840332],\n",
" [0.49035645, 0.49621582, 0.48718262],\n",
" [0.48986816, 0.49841309, 0.4876709 ],\n",
" ...,\n",
" [0.51086426, 0.49987793, 0.50061035],\n",
" [0.5111084 , 0.50036621, 0.50012207],\n",
" [0.51013184, 0.50036621, 0.50036621]],\n",
"\n",
" [[0.4901123 , 0.49255371, 0.48840332],\n",
" [0.4901123 , 0.49621582, 0.48718262],\n",
" [0.48962402, 0.49841309, 0.4876709 ],\n",
" ...,\n",
"...\n",
" ...,\n",
" [0.51037598, 0.50061035, 0.50085449],\n",
" [0.51013184, 0.50036621, 0.50085449],\n",
" [0.5098877 , 0.50036621, 0.50061035]],\n",
"\n",
" [[0.48986816, 0.49255371, 0.48913574],\n",
" [0.48962402, 0.49621582, 0.48815918],\n",
" [0.48937988, 0.49841309, 0.48840332],\n",
" ...,\n",
" [0.51037598, 0.50061035, 0.50109863],\n",
" [0.51013184, 0.50036621, 0.50085449],\n",
" [0.5098877 , 0.50036621, 0.50085449]],\n",
"\n",
" [[0.48986816, 0.49255371, 0.48913574],\n",
" [0.48962402, 0.49621582, 0.48815918],\n",
" [0.48937988, 0.49841309, 0.48840332],\n",
" ...,\n",
" [0.51037598, 0.50061035, 0.50109863],\n",
" [0.51013184, 0.50036621, 0.50109863],\n",
" [0.50964355, 0.50061035, 0.50085449]]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>particle_position_x</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.4901 0.4904 ... 0.5101 0.5096</div><input id='attrs-a99d7c5c-7bcd-4f95-b16f-c0ac331ecaa2' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-a99d7c5c-7bcd-4f95-b16f-c0ac331ecaa2' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ea0f36b2-3dfc-4efa-8529-b2e55fa384bc' class='xr-var-data-in' type='checkbox'><label for='data-ea0f36b2-3dfc-4efa-8529-b2e55fa384bc' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[0.4901123 , 0.49035645, 0.48986816, ..., 0.51086426, 0.5111084 ,\n",
" 0.51013184],\n",
" [0.4901123 , 0.49035645, 0.48986816, ..., 0.51086426, 0.5111084 ,\n",
" 0.51013184],\n",
" [0.4901123 , 0.4901123 , 0.48962402, ..., 0.51086426, 0.51086426,\n",
" 0.51013184],\n",
" ...,\n",
" [0.48986816, 0.48986816, 0.48937988, ..., 0.51037598, 0.51013184,\n",
" 0.5098877 ],\n",
" [0.48986816, 0.48962402, 0.48937988, ..., 0.51037598, 0.51013184,\n",
" 0.5098877 ],\n",
" [0.48986816, 0.48962402, 0.48937988, ..., 0.51037598, 0.51013184,\n",
" 0.50964355]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>particle_position_y</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.4926 0.4962 ... 0.5004 0.5006</div><input id='attrs-9ba3866b-6450-4052-8fbf-3391939182fe' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-9ba3866b-6450-4052-8fbf-3391939182fe' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-0599db64-702b-4bab-ba60-96f0a4a1f86f' class='xr-var-data-in' type='checkbox'><label for='data-0599db64-702b-4bab-ba60-96f0a4a1f86f' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[0.49255371, 0.49621582, 0.49841309, ..., 0.49987793, 0.50036621,\n",
" 0.50012207],\n",
" [0.49255371, 0.49621582, 0.49841309, ..., 0.49987793, 0.50036621,\n",
" 0.50036621],\n",
" [0.49255371, 0.49621582, 0.49841309, ..., 0.50012207, 0.50036621,\n",
" 0.50036621],\n",
" ...,\n",
" [0.49255371, 0.49621582, 0.49841309, ..., 0.50061035, 0.50036621,\n",
" 0.50036621],\n",
" [0.49255371, 0.49621582, 0.49841309, ..., 0.50061035, 0.50036621,\n",
" 0.50036621],\n",
" [0.49255371, 0.49621582, 0.49841309, ..., 0.50061035, 0.50036621,\n",
" 0.50061035]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>particle_position_z</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.4882 0.4872 ... 0.5011 0.5009</div><input id='attrs-b6a81c9a-fac7-4c16-926d-0a53cfc31fab' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-b6a81c9a-fac7-4c16-926d-0a53cfc31fab' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-193e9108-7d7d-4f41-9617-b0c6447d28a3' class='xr-var-data-in' type='checkbox'><label for='data-193e9108-7d7d-4f41-9617-b0c6447d28a3' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[0.48815918, 0.48718262, 0.48742676, ..., 0.50061035, 0.50012207,\n",
" 0.50036621],\n",
" [0.48840332, 0.48718262, 0.4876709 , ..., 0.50061035, 0.50012207,\n",
" 0.50036621],\n",
" [0.48840332, 0.48718262, 0.4876709 , ..., 0.50061035, 0.50012207,\n",
" 0.50036621],\n",
" ...,\n",
" [0.4888916 , 0.48815918, 0.48791504, ..., 0.50085449, 0.50085449,\n",
" 0.50061035],\n",
" [0.48913574, 0.48815918, 0.48840332, ..., 0.50109863, 0.50085449,\n",
" 0.50085449],\n",
" [0.48913574, 0.48815918, 0.48840332, ..., 0.50109863, 0.50109863,\n",
" 0.50085449]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>particle_velocity_x</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.0 0.0 0.0 ... 0.0 0.0 -0.001928</div><input id='attrs-a9df95a8-f741-403b-bf57-0368805d4f92' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-a9df95a8-f741-403b-bf57-0368805d4f92' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-260f530b-5e13-44a6-84f7-eb20aebd22c7' class='xr-var-data-in' type='checkbox'><label for='data-260f530b-5e13-44a6-84f7-eb20aebd22c7' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[ 0. , 0. , 0. , ..., 0. ,\n",
" 0. , 0. ],\n",
" [ 0. , 0. , 0. , ..., 0. ,\n",
" 0. , 0. ],\n",
" [ 0. , -0.0007122 , -0.0007122 , ..., 0. ,\n",
" -0.0007122 , 0. ],\n",
" ...,\n",
" [ 0. , 0. , 0. , ..., 0. ,\n",
" 0. , 0. ],\n",
" [ 0. , -0.00183811, 0. , ..., 0. ,\n",
" 0. , 0. ],\n",
" [ 0. , 0. , 0. , ..., 0. ,\n",
" 0. , -0.00192835]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>particle_velocity_y</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.0006488 0.0 0.0 ... 0.0 0.0 0.0</div><input id='attrs-6520f5fe-42f2-4ea7-84bc-8510f945ed76' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-6520f5fe-42f2-4ea7-84bc-8510f945ed76' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-bc3d1d90-31f1-4e56-a8d5-2dfc15d2353b' class='xr-var-data-in' type='checkbox'><label for='data-bc3d1d90-31f1-4e56-a8d5-2dfc15d2353b' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[0.00064882, 0. , 0. , ..., 0.00064882, 0. ,\n",
" 0. ],\n",
" [0. , 0. , 0. , ..., 0. , 0. ,\n",
" 0.00067843],\n",
" [0. , 0. , 0. , ..., 0.0007122 , 0. ,\n",
" 0. ],\n",
" ...,\n",
" [0. , 0. , 0. , ..., 0. , 0. ,\n",
" 0. ],\n",
" [0. , 0. , 0. , ..., 0. , 0. ,\n",
" 0. ],\n",
" [0. , 0. , 0. , ..., 0. , 0. ,\n",
" 0. ]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>particle_velocity_z</span></div><div class='xr-var-dims'>(aexp, particle_identity)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.0 0.0 0.0 ... 0.0 0.0 0.0</div><input id='attrs-c1ed196e-f16b-4b7b-83e2-83bd6ec3f6c7' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-c1ed196e-f16b-4b7b-83e2-83bd6ec3f6c7' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-01e45a3f-b344-4301-8f2e-f8da00464f6e' class='xr-var-data-in' type='checkbox'><label for='data-01e45a3f-b344-4301-8f2e-f8da00464f6e' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[0. , 0. , 0. , ..., 0. , 0. ,\n",
" 0.00064882],\n",
" [0.00067843, 0. , 0.00067843, ..., 0. , 0. ,\n",
" 0. ],\n",
" [0. , 0. , 0. , ..., 0. , 0. ,\n",
" 0. ],\n",
" ...,\n",
" [0. , 0.00170756, 0. , ..., 0. , 0. ,\n",
" 0.00170756],\n",
" [0.00183811, 0. , 0.00183811, ..., 0.00183811, 0. ,\n",
" 0. ],\n",
" [0. , 0. , 0. , ..., 0. , 0. ,\n",
" 0. ]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>time</span></div><div class='xr-var-dims'>(aexp)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>6.725 6.604 6.487 ... 5.711 5.632</div><input id='attrs-bcdea78b-942e-494d-a3f1-80e1bffcbd8e' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-bcdea78b-942e-494d-a3f1-80e1bffcbd8e' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5608ac7b-7815-4249-b7d5-445899025240' class='xr-var-data-in' type='checkbox'><label for='data-5608ac7b-7815-4249-b7d5-445899025240' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([6.72473435, 6.60436596, 6.48738814, 6.28240541, 6.21240272,\n",
" 6.05732934, 5.95033383, 5.86182523, 5.71066427, 5.63231932])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>redshift</span></div><div class='xr-var-dims'>(aexp)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>31.51 30.36 29.29 ... 22.45 21.76</div><input id='attrs-8654a90d-aab0-46fa-8c64-a37df46c039a' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-8654a90d-aab0-46fa-8c64-a37df46c039a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ad818ab9-51fb-4664-975d-878b1962afaa' class='xr-var-data-in' type='checkbox'><label for='data-ad818ab9-51fb-4664-975d-878b1962afaa' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([31.50581921, 30.36307494, 29.29349553, 27.35347239, 26.70252012,\n",
" 25.26020544, 24.38854714, 23.57490195, 22.44921149, 21.75666854])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-dfcd4f01-4939-4087-87c3-e3350f4bd746' class='xr-section-summary-in' type='checkbox' ><label for='section-dfcd4f01-4939-4087-87c3-e3350f4bd746' class='xr-section-summary' >Attributes: <span>(57)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>H0 :</span></dt><dd>67.3199996948242</dd><dt><span>HydroMethod :</span></dt><dd>ramses</dd><dt><span>Time :</span></dt><dd>1.0</dd><dt><span>aexp :</span></dt><dd>0.0307637224402167</dd><dt><span>boxlen :</span></dt><dd>1.0</dd><dt><span>center :</span></dt><dd>[0.5 0.5 0.5]</dd><dt><span>center_units :</span></dt><dd>code_length</dd><dt><span>con_args :</span></dt><dd>(&#x27;center&#x27;, &#x27;left_edge&#x27;, &#x27;right_edge&#x27;)</dd><dt><span>container_type :</span></dt><dd>region</dd><dt><span>cosmological_simulation :</span></dt><dd>1</dd><dt><span>current_redshift :</span></dt><dd>31.505819214280884</dd><dt><span>current_time :</span></dt><dd>6.724734345062973</dd><dt><span>current_time_units :</span></dt><dd>code_time</dd><dt><span>data_type :</span></dt><dd>yt_data_container</dd><dt><span>dimensionality :</span></dt><dd>3</dd><dt><span>domain_dimensions :</span></dt><dd>[512 512 512]</dd><dt><span>domain_left_edge :</span></dt><dd>[0. 0. 0.]</dd><dt><span>domain_left_edge_units :</span></dt><dd>code_length</dd><dt><span>domain_right_edge :</span></dt><dd>[1. 1. 1.]</dd><dt><span>domain_right_edge_units :</span></dt><dd>code_length</dd><dt><span>geometry :</span></dt><dd>cartesian</dd><dt><span>hubble_constant :</span></dt><dd>0.6731999969482421</dd><dt><span>left_edge :</span></dt><dd>[0. 0. 0.]</dd><dt><span>left_edge_units :</span></dt><dd>code_length</dd><dt><span>length_unit :</span></dt><dd>1.40749056495083e+25</dd><dt><span>length_unit_units :</span></dt><dd>cm</dd><dt><span>levelmax :</span></dt><dd>22</dd><dt><span>levelmin :</span></dt><dd>9</dd><dt><span>magnetic_unit :</span></dt><dd>0.03502973229164916</dd><dt><span>magnetic_unit_units :</span></dt><dd>G</dd><dt><span>mass_unit :</span></dt><dd>2.5767840562749915e+50</dd><dt><span>mass_unit_units :</span></dt><dd>g</dd><dt><span>namelist :</span></dt><dd>Namelist([(&#x27;run_params&#x27;, Namelist([(&#x27;cosmo&#x27;, True), (&#x27;pic&#x27;, True), (&#x27;poisson&#x27;, True), (&#x27;hydro&#x27;, True), (&#x27;rt&#x27;, False), (&#x27;nrestart&#x27;, 9999), (&#x27;nremap&#x27;, 5), (&#x27;nsubcycle&#x27;, [1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]), (&#x27;ncontrol&#x27;, 1), (&#x27;sink&#x27;, True), (&#x27;sinkprops&#x27;, True), (&#x27;nstepmax&#x27;, 99999), (&#x27;verbose&#x27;, False)])), (&#x27;init_params&#x27;, Namelist([(&#x27;filetype&#x27;, &#x27;grafic&#x27;), (&#x27;initfile&#x27;, [&#x27;./ICs/IC.grafic_512&#x27;, &#x27;./ICs/IC.grafic_1024&#x27;, &#x27;./ICs/IC.grafic_2048&#x27;, &#x27;./ICs/IC.grafic_4096&#x27;]), (&#x27;omega_b&#x27;, 0.049)])), (&#x27;poisson_params&#x27;, Namelist([(&#x27;epsilon&#x27;, 0.0001), (&#x27;cg_levelmin&#x27;, 13), (&#x27;cic_levelmax&#x27;, 15)])), (&#x27;amr_params&#x27;, Namelist([(&#x27;levelmin&#x27;, 9), (&#x27;levelmax&#x27;, 22), (&#x27;nexpand&#x27;, [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]), (&#x27;ngridmax&#x27;, 500000), (&#x27;npartmax&#x27;, 30000000), (&#x27;nsinkmax&#x27;, 300)])), (&#x27;refine_params&#x27;, Namelist([(&#x27;m_refine&#x27;, [8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0, 8.0]), (&#x27;ivar_refine&#x27;, 8), (&#x27;var_cut_refine&#x27;, 0.1), (&#x27;mass_cut_refine&#x27;, 3e-11), (&#x27;interpol_var&#x27;, 0), (&#x27;interpol_type&#x27;, 0), (&#x27;sink_refine&#x27;, True)])), (&#x27;hydro_params&#x27;, Namelist([(&#x27;gamma&#x27;, 1.6666667), (&#x27;courant_factor&#x27;, 0.8), (&#x27;slope_type&#x27;, 1), (&#x27;scheme&#x27;, &#x27;muscl&#x27;), (&#x27;riemann&#x27;, &#x27;hllc&#x27;), (&#x27;pressure_fix&#x27;, True), (&#x27;beta_fix&#x27;, 0.5)])), (&#x27;cooling_params&#x27;, Namelist([(&#x27;cooling&#x27;, True), (&#x27;metal&#x27;, True), (&#x27;z_ave&#x27;, 0.001), (&#x27;haardt_madau&#x27;, True), (&#x27;self_shielding&#x27;, True), (&#x27;z_reion&#x27;, 8.5)])), (&#x27;sf_params&#x27;, Namelist([(&#x27;n_star&#x27;, 10.0), (&#x27;eps_star&#x27;, 0.5), (&#x27;t2_star&#x27;, 10.0), (&#x27;g_star&#x27;, 1.0), (&#x27;sf_virial&#x27;, True), (&#x27;sf_model&#x27;, 2), (&#x27;sf_mach_threshold&#x27;, 0), (&#x27;star_imf&#x27;, &#x27;kroupa&#x27;), (&#x27;sf_log_properties&#x27;, False), (&#x27;write_stellar_densities&#x27;, False), (&#x27;sf_compressive&#x27;, False)])), (&#x27;feedback_params&#x27;, Namelist([(&#x27;eta_sn&#x27;, 0.317), (&#x27;yield&#x27;, 0.05), (&#x27;f_w&#x27;, 1.0), (&#x27;t_sne&#x27;, 5.0), (&#x27;sn2_real_delay&#x27;, False), (&#x27;mechanical_feedback&#x27;, 2), (&#x27;mechanical_geen&#x27;, True), (&#x27;log_mfb&#x27;, False), (&#x27;log_mfb_mega&#x27;, False)])), (&#x27;smbh_params&#x27;, Namelist([(&#x27;sink_agn&#x27;, True), (&#x27;bondi&#x27;, True), (&#x27;drag&#x27;, True), (&#x27;drag_part&#x27;, True), (&#x27;vrel_merge&#x27;, True), (&#x27;spin_bh&#x27;, True), (&#x27;mad_jet&#x27;, True), (&#x27;force_exact_mseed&#x27;, True), (&#x27;mseed&#x27;, 100000.0), (&#x27;n_sink&#x27;, 10.0), (&#x27;sigmav_max&#x27;, 1000000000000000.0), (&#x27;boost_acc&#x27;, 2.0), (&#x27;d_boost&#x27;, 8.0), (&#x27;boost_drag&#x27;, 0.0), (&#x27;df_ncells&#x27;, 4), (&#x27;x_floor&#x27;, 0.01), (&#x27;eagn_t&#x27;, 0.15), (&#x27;eagn_k&#x27;, 1.0), (&#x27;tagn&#x27;, 0.0), (&#x27;ragn&#x27;, 0.0), (&#x27;r_gal&#x27;, 50.0), (&#x27;t2maxagn&#x27;, 10000000000.0), (&#x27;rmerge&#x27;, 4.0), (&#x27;point_mass_sink&#x27;, True)])), (&#x27;movie_params&#x27;, Namelist([(&#x27;movie&#x27;, True), (&#x27;imov&#x27;, 0), (&#x27;aendmov&#x27;, 0.34), (&#x27;astartmov&#x27;, 0.04), (&#x27;imovout&#x27;, 2000), (&#x27;nw_frame&#x27;, 1920), (&#x27;nh_frame&#x27;, 1080), (&#x27;levelmax_frame&#x27;, 20), (&#x27;center_on_particles&#x27;, True), (&#x27;center_on_particles_file&#x27;, &#x27;../reference/Halos/z=6_ids_in_halo.txt&#x27;), (&#x27;deltay_frame&#x27;, [0.004, 0.0, 0, 0.001333]), (&#x27;deltaz_frame&#x27;, [0.004, 0.0, 0, 0.001333]), (&#x27;proj_axis&#x27;, &#x27;zz&#x27;), (&#x27;zoom_only_frame&#x27;, True), (&#x27;movie_vars_txt&#x27;, [&#x27;dens&#x27;, &#x27;temp&#x27;, &#x27;star&#x27;, &#x27;dm&#x27;])])), (&#x27;tracer_params&#x27;, Namelist([(&#x27;tracer&#x27;, True), (&#x27;mc_tracer&#x27;, True), (&#x27;tracer_feed_fmt&#x27;, &#x27;inplace&#x27;), (&#x27;tracer_mass&#x27;, 3e-12), (&#x27;tracer_first_balance_levelmin&#x27;, 10), (&#x27;tracer_first_balance_part_per_cell&#x27;, 40), (&#x27;tracer_ivar_refine&#x27;, 8)])), (&#x27;output_params&#x27;, Namelist([(&#x27;foutput&#x27;, 1000), (&#x27;noutput&#x27;, 225), (&#x27;aend&#x27;, 0.34), (&#x27;delta_aout&#x27;, 0.0015), (&#x27;walltime_hrs&#x27;, 1.0), (&#x27;minutes_dump&#x27;, 5)]))])</dd><dt><span>ncpu :</span></dt><dd>352</dd><dt><span>ndim :</span></dt><dd>3</dd><dt><span>ngridmax :</span></dt><dd>500000</dd><dt><span>nstep_coarse :</span></dt><dd>27</dd><dt><span>omega_b :</span></dt><dd>0.049</dd><dt><span>omega_k :</span></dt><dd>0.0</dd><dt><span>omega_l :</span></dt><dd>0.68419998884201</dd><dt><span>omega_lambda :</span></dt><dd>0.68419998884201</dd><dt><span>omega_m :</span></dt><dd>0.31580001115799</dd><dt><span>omega_matter :</span></dt><dd>0.31580001115799</dd><dt><span>ordering type :</span></dt><dd>hilbert</dd><dt><span>periodicity :</span></dt><dd>[ True True True]</dd><dt><span>right_edge :</span></dt><dd>[1. 1. 1.]</dd><dt><span>right_edge_units :</span></dt><dd>code_length</dd><dt><span>time :</span></dt><dd>-16.2418212037745</dd><dt><span>time_unit :</span></dt><dd>432996494031547.0</dd><dt><span>time_unit_units :</span></dt><dd>s</dd><dt><span>unit_d :</span></dt><dd>9.2414804233621e-26</dd><dt><span>unit_l :</span></dt><dd>1.40749056495083e+25</dd><dt><span>unit_registry_json :</span></dt><dd>{&quot;m&quot;: [1.0, &quot;(length)&quot;, 0.0, &quot;\\\\rm{m}&quot;, true], &quot;g&quot;: [0.001, &quot;(mass)&quot;, 0.0, &quot;\\\\rm{g}&quot;, true], &quot;s&quot;: [1.0, &quot;(time)&quot;, 0.0, &quot;\\\\rm{s}&quot;, true], &quot;K&quot;: [1.0, &quot;(temperature)&quot;, 0.0, &quot;\\\\rm{K}&quot;, true], &quot;rad&quot;: [1.0, &quot;(angle)&quot;, 0.0, &quot;\\\\rm{rad}&quot;, true], &quot;A&quot;: [1.0, &quot;(current_mks)&quot;, 0.0, &quot;\\\\rm{A}&quot;, true], &quot;cd&quot;: [1.0, &quot;(luminous_intensity)&quot;, 0.0, &quot;\\\\rm{cd}&quot;, true], &quot;mol&quot;: [6.02214129011674e+23, &quot;1&quot;, 0.0, &quot;\\\\rm{mol}&quot;, true], &quot;dyn&quot;: [1e-05, &quot;(length)*(mass)/(time)**2&quot;, 0.0, &quot;\\\\rm{dyn}&quot;, true], &quot;erg&quot;: [1e-07, &quot;(length)**2*(mass)/(time)**2&quot;, 0.0, &quot;\\\\rm{erg}&quot;, true], &quot;Ba&quot;: [0.1, &quot;(mass)/((length)*(time)**2)&quot;, 0.0, &quot;\\\\rm{Ba}&quot;, true], &quot;G&quot;: [0.31622776601683794, &quot;sqrt((mass))/(sqrt((length))*(time))&quot;, 0.0, &quot;\\\\rm{G}&quot;, true], &quot;statC&quot;: [3.1622776601683795e-05, &quot;(length)**(3/2)*sqrt((mass))/(time)&quot;, 0.0, &quot;\\\\rm{statC}&quot;, true], &quot;statA&quot;: [3.1622776601683795e-05, &quot;(length)**(3/2)*sqrt((mass))/(time)**2&quot;, 0.0, &quot;\\\\rm{statA}&quot;, true], &quot;statV&quot;: [0.0031622776601683794, &quot;sqrt((length))*sqrt((mass))/(time)&quot;, 0.0, &quot;\\\\rm{statV}&quot;, true], &quot;statohm&quot;: [100.0, &quot;(time)/(length)&quot;, 0.0, &quot;\\\\rm{statohm}&quot;, true], &quot;Mx&quot;: [3.1622776601683795e-05, &quot;(length)**(3/2)*sqrt((mass))/(time)&quot;, 0.0, &quot;\\\\rm{Mx}&quot;, true], &quot;J&quot;: [1.0, &quot;(length)**2*(mass)/(time)**2&quot;, 0.0, &quot;\\\\rm{J}&quot;, true], &quot;W&quot;: [1.0, &quot;(length)**2*(mass)/(time)**3&quot;, 0.0, &quot;\\\\rm{W}&quot;, true], &quot;Hz&quot;: [1.0, &quot;1/(time)&quot;, 0.0, &quot;\\\\rm{Hz}&quot;, true], &quot;N&quot;: [1.0, &quot;(length)*(mass)/(time)**2&quot;, 0.0, &quot;\\\\rm{N}&quot;, true], &quot;C&quot;: [1.0, &quot;(current_mks)*(time)&quot;, 0.0, &quot;\\\\rm{C}&quot;, true], &quot;T&quot;: [1.0, &quot;(mass)/((current_mks)*(time)**2)&quot;, 0.0, &quot;\\\\rm{T}&quot;, true], &quot;Pa&quot;: [1.0, &quot;(mass)/((length)*(time)**2)&quot;, 0.0, &quot;\\\\rm{Pa}&quot;, true], &quot;bar&quot;: [100000.0, &quot;(mass)/((length)*(time)**2)&quot;, 0.0, &quot;\\\\rm{bar}&quot;, true], &quot;V&quot;: [1.0, &quot;(length)**2*(mass)/((current_mks)*(time)**3)&quot;, 0.0, &quot;\\\\rm{V}&quot;, true], &quot;F&quot;: [1.0, &quot;(current_mks)**2*(time)**4/((length)**2*(mass))&quot;, 0.0, &quot;\\\\rm{F}&quot;, true], &quot;H&quot;: [1.0, &quot;(length)**2*(mass)/((current_mks)**2*(time)**2)&quot;, 0.0, &quot;\\\\rm{H}&quot;, true], &quot;\\u03a9&quot;: [1.0, &quot;(length)**2*(mass)/((current_mks)**2*(time)**3)&quot;, 0.0, &quot;\\\\Omega&quot;, true], &quot;Wb&quot;: [1.0, &quot;(length)**2*(mass)/((current_mks)*(time)**2)&quot;, 0.0, &quot;\\\\rm{Wb}&quot;, true], &quot;lm&quot;: [1.0, &quot;(angle)**2*(luminous_intensity)&quot;, 0.0, &quot;\\\\rm{lm}&quot;, true], &quot;lx&quot;: [1.0, &quot;(angle)**2*(luminous_intensity)/(length)**2&quot;, 0.0, &quot;\\\\rm{lx}&quot;, true], &quot;degC&quot;: [1.0, &quot;(temperature)&quot;, -273.15, &quot;^\\\\circ\\\\rm{C}&quot;, true], &quot;delta_degC&quot;: [1.0, &quot;(temperature)&quot;, 0, &quot;\\\\Delta^\\\\circ\\\\rm{C}&quot;, true], &quot;mil&quot;: [2.54e-05, &quot;(length)&quot;, 0.0, &quot;\\\\rm{mil}&quot;, false], &quot;inch&quot;: [0.0254, &quot;(length)&quot;, 0.0, &quot;\\\\rm{in}&quot;, false], &quot;ft&quot;: [0.3048, &quot;(length)&quot;, 0.0, &quot;\\\\rm{ft}&quot;, false], &quot;yd&quot;: [0.9144, &quot;(length)&quot;, 0.0, &quot;\\\\rm{yd}&quot;, false], &quot;mile&quot;: [1609.344, &quot;(length)&quot;, 0.0, &quot;\\\\rm{mile}&quot;, false], &quot;furlong&quot;: [201.168, &quot;(length)&quot;, 0.0, &quot;\\\\rm{fur}&quot;, false], &quot;degF&quot;: [0.5555555555555556, &quot;(temperature)&quot;, -459.67, &quot;^\\\\circ\\\\rm{F}&quot;, false], &quot;delta_degF&quot;: [0.5555555555555556, &quot;(temperature)&quot;, 0.0, &quot;\\\\Delta^\\\\circ\\\\rm{F}&quot;, false], &quot;R&quot;: [0.5555555555555556, &quot;(temperature)&quot;, 0.0, &quot;^\\\\circ\\\\rm{R}&quot;, false], &quot;lbf&quot;: [4.4482216152605, &quot;(length)*(mass)/(time)**2&quot;, 0.0, &quot;\\\\rm{lbf}&quot;, false], &quot;kip&quot;: [4448.2216152605, &quot;(length)*(mass)/(time)**2&quot;, 0.0, &quot;\\\\rm{kip}&quot;, false], &quot;lb&quot;: [0.45359237, &quot;(mass)&quot;, 0.0, &quot;\\\\rm{lb}&quot;, false], &quot;atm&quot;: [101325.0, &quot;(mass)/((length)*(time)**2)&quot;, 0.0, &quot;\\\\rm{atm}&quot;, false], &quot;hp&quot;: [745.6998715822702, &quot;(length)**2*(mass)/(time)**3&quot;, 0.0, &quot;\\\\rm{hp}&quot;, false], &quot;oz&quot;: [0.028349523125, &quot;(mass)&quot;, 0.0, &quot;\\\\rm{oz}&quot;, false], &quot;ton&quot;: [907.18474, &quot;(mass)&quot;, 0.0, &quot;\\\\rm{ton}&quot;, false], &quot;slug&quot;: [14.593902937206362, &quot;(mass)&quot;, 0.0, &quot;\\\\rm{slug}&quot;, false], &quot;cal&quot;: [4.184, &quot;(length)**2*(mass)/(time)**2&quot;, 0.0, &quot;\\\\rm{cal}&quot;, true], &quot;BTU&quot;: [1055.0559, &quot;(length)**2*(mass)/(time)**2&quot;, 0.0, &quot;\\\\rm{BTU}&quot;, false], &quot;pli&quot;: [175.12683524647636, &quot;(mass)/(time)**2&quot;, 0.0, &quot;\\\\rm{pli}&quot;, false], &quot;plf&quot;: [14.593902937206362, &quot;(mass)/(time)**2&quot;, 0.0, &quot;\\\\rm{plf}&quot;, false], &quot;psi&quot;: [6894.757293168361, &quot;(mass)/((length)*(time)**2)&quot;, 0.0, &quot;\\\\rm{psi}&quot;, false], &quot;psf&quot;: [47.88025898033584, &quot;(mass)/((length)*(time)**2)&quot;, 0.0, &quot;\\\\rm{psf}&quot;, false], &quot;kli&quot;: [175126.83524647637, &quot;(mass)/(time)**2&quot;, 0.0, &quot;\\\\rm{kli}&quot;, false], &quot;klf&quot;: [14593.902937206363, &quot;(mass)/(time)**2&quot;, 0.0, &quot;\\\\rm{klf}&quot;, false], &quot;ksi&quot;: [6894757.293168361, &quot;(mass)/((length)*(time)**2)&quot;, 0.0, &quot;\\\\rm{ksi}&quot;, false], &quot;ksf&quot;: [47880.258980335835, &quot;(mass)/((length)*(time)**2)&quot;, 0.0, &quot;\\\\rm{ksf}&quot;, false], &quot;smoot&quot;: [1.7018, &quot;(length)&quot;, 0.0, &quot;\\\\rm{smoot}&quot;, false], &quot;dimensionless&quot;: [1.0, &quot;1&quot;, 0.0, &quot;&quot;, false], &quot;%&quot;: [0.01, &quot;1&quot;, 0.0, &quot;\\\\%&quot;, false], &quot;min&quot;: [60.0, &quot;(time)&quot;, 0.0, &quot;\\\\rm{min}&quot;, false], &quot;hr&quot;: [3600.0, &quot;(time)&quot;, 0.0, &quot;\\\\rm{hr}&quot;, false], &quot;day&quot;: [86400.0, &quot;(time)&quot;, 0.0, &quot;\\\\rm{d}&quot;, false], &quot;yr&quot;: [31557600.0, &quot;(time)&quot;, 0.0, &quot;\\\\rm{yr}&quot;, true], &quot;c&quot;: [299792458.0, &quot;(length)/(time)&quot;, 0.0, &quot;\\\\rm{c}&quot;, false], &quot;Msun&quot;: [1.98841586e+30, &quot;(mass)&quot;, 0.0, &quot;\\\\rm{M}_\\\\odot&quot;, false], &quot;Rsun&quot;: [695500010.6063751, &quot;(length)&quot;, 0.0, &quot;\\\\rm{R}_\\\\odot&quot;, false], &quot;Lsun&quot;: [3.827e+26, &quot;(length)**2*(mass)/(time)**3&quot;, 0.0, &quot;\\\\rm{L}_\\\\odot&quot;, false], &quot;Tsun&quot;: [5870.0, &quot;(temperature)&quot;, 0.0, &quot;\\\\rm{T}_\\\\odot&quot;, false], &quot;Zsun&quot;: [0.01295, &quot;1&quot;, 0.0, &quot;\\\\rm{Z}_\\\\odot&quot;, false], &quot;Mjup&quot;: [1.8985234333630654e+27, &quot;(mass)&quot;, 0.0, &quot;\\\\rm{M}_{\\\\rm{Jup}}&quot;, false], &quot;Mearth&quot;: [6.045644495102106e+24, &quot;(mass)&quot;, 0.0, &quot;\\\\rm{M}_\\\\oplus&quot;, false], &quot;Rjup&quot;: [69911000.00006707, &quot;(length)&quot;, 0.0, &quot;\\\\rm{R}_\\\\mathrm{Jup}&quot;, false], &quot;Rearth&quot;: [6371008.019550941, &quot;(length)&quot;, 0.0, &quot;\\\\rm{R}_\\\\oplus&quot;, false], &quot;AU&quot;: [149597870750.76672, &quot;(length)&quot;, 0.0, &quot;\\\\rm{AU}&quot;, false], &quot;ly&quot;: [9460528409678268.0, &quot;(length)&quot;, 0.0, &quot;\\\\rm{ly}&quot;, false], &quot;pc&quot;: [3.085677580962325e+16, &quot;(length)&quot;, 0.0, &quot;\\\\rm{pc}&quot;, true], &quot;degree&quot;: [0.017453292519943295, &quot;(angle)&quot;, 0.0, &quot;^\\\\circ&quot;, false], &quot;arcmin&quot;: [0.0002908882086657216, &quot;(angle)&quot;, 0.0, &quot;\\\\rm{arcmin}&quot;, false], &quot;arcsec&quot;: [4.84813681109536e-06, &quot;(angle)&quot;, 0.0, &quot;\\\\rm{arcsec}&quot;, false], &quot;mas&quot;: [4.8481368110953594e-09, &quot;(angle)&quot;, 0.0, &quot;\\\\rm{mas}&quot;, false], &quot;hourangle&quot;: [0.2617993877991494, &quot;(angle)&quot;, 0.0, &quot;\\\\rm{HA}&quot;, false], &quot;sr&quot;: [1.0, &quot;(angle)**2&quot;, 0.0, &quot;\\\\rm{sr}&quot;, false], &quot;lat&quot;: [-0.017453292519943295, &quot;(angle)&quot;, 90.0, &quot;\\\\rm{Latitude}&quot;, false], &quot;lon&quot;: [0.017453292519943295, &quot;(angle)&quot;, -180.0, &quot;\\\\rm{Longitude}&quot;, false], &quot;rpm&quot;: [0.10471975511965977, &quot;(angle)/(time)&quot;, 0.0, &quot;\\\\rm{RPM}&quot;, false], &quot;eV&quot;: [1.602176562e-19, &quot;(length)**2*(mass)/(time)**2&quot;, 0.0, &quot;\\\\rm{eV}&quot;, true], &quot;amu&quot;: [1.660538921e-27, &quot;(mass)&quot;, 0.0, &quot;\\\\rm{amu}&quot;, false], &quot;\\u00c5&quot;: [1e-10, &quot;(length)&quot;, 0.0, &quot;\\\\AA&quot;, false], &quot;Jy&quot;: [1e-26, &quot;(mass)/(time)**2&quot;, 0.0, &quot;\\\\rm{Jy}&quot;, true], &quot;counts&quot;: [1.0, &quot;1&quot;, 0.0, &quot;\\\\rm{counts}&quot;, false], &quot;photons&quot;: [1.0, &quot;1&quot;, 0.0, &quot;\\\\rm{photons}&quot;, false], &quot;me&quot;: [9.10938291e-31, &quot;(mass)&quot;, 0.0, &quot;m_e&quot;, false], &quot;mp&quot;: [1.6737352238051867e-27, &quot;(mass)&quot;, 0.0, &quot;m_p&quot;, false], &quot;Sv&quot;: [1.0, &quot;(length)**2/(time)**2&quot;, 0.0, &quot;\\\\rm{Sv}&quot;, true], &quot;Ry&quot;: [2.179872479090634e-18, &quot;(length)**2*(mass)/(time)**2&quot;, 0.0, &quot;\\\\rm{Ry}&quot;, false], &quot;rayleigh&quot;: [795774715.4594767, &quot;1/((angle)**2*(length)**2*(time))&quot;, 0.0, &quot;\\\\rm{R}&quot;, false], &quot;lambert&quot;: [3183.098861837907, &quot;(luminous_intensity)/(length)**2&quot;, 0.0, &quot;\\\\rm{L}&quot;, false], &quot;nt&quot;: [1.0, &quot;(luminous_intensity)/(length)**2&quot;, 0.0, &quot;\\\\rm{nt}&quot;, false], &quot;m_pl&quot;: [2.1764701184435688e-08, &quot;(mass)&quot;, 0.0, &quot;m_{\\\\rm{P}}&quot;, false], &quot;l_pl&quot;: [1.6162283157597786e-35, &quot;(length)&quot;, 0.0, &quot;\\\\ell_\\\\rm{P}&quot;, false], &quot;t_pl&quot;: [5.391157357800438e-44, &quot;(time)&quot;, 0.0, &quot;t_{\\\\rm{P}}&quot;, false], &quot;T_pl&quot;: [1.4168076561665009e+32, &quot;(temperature)&quot;, 0.0, &quot;T_{\\\\rm{P}}&quot;, false], &quot;q_pl&quot;: [1.8755459562040954e-18, &quot;(current_mks)*(time)&quot;, 0.0, &quot;q_{\\\\rm{P}}&quot;, false], &quot;E_pl&quot;: [1956113790.3170922, &quot;(length)**2*(mass)/(time)**2&quot;, 0.0, &quot;E_{\\\\rm{P}}&quot;, false], &quot;m_geom&quot;: [1.98841586e+30, &quot;(mass)&quot;, 0.0, &quot;\\\\rm{M}_\\\\odot&quot;, false], &quot;l_geom&quot;: [1476.5808127593446, &quot;(length)&quot;, 0.0, &quot;\\\\rm{M}_\\\\odot&quot;, false], &quot;t_geom&quot;: [4.925343427950227e-06, &quot;(time)&quot;, 0.0, &quot;\\\\rm{M}_\\\\odot&quot;, false], &quot;B&quot;: [1.1512925464970227, &quot;(logarithmic)&quot;, 0.0, &quot;\\\\rm{B}&quot;, true], &quot;Np&quot;: [1.0, &quot;(logarithmic)&quot;, 0.0, &quot;\\\\rm{Np}&quot;, true], &quot;code_length&quot;: [1.40749056495083e+23, &quot;(length)&quot;, 0.0, &quot;\\\\rm{code\\\\ length}&quot;, false], &quot;code_mass&quot;: [2.5767840562749914e+47, &quot;(mass)&quot;, 0.0, &quot;\\\\rm{code\\\\ mass}&quot;, false], &quot;code_density&quot;: [9.241480423362099e-23, &quot;(mass)/(length)**3&quot;, 0.0, &quot;\\\\rm{code\\\\ density}&quot;, false], &quot;code_specific_energy&quot;: [1.0566282668915162e+17, &quot;(length)**2/(time)**2&quot;, 0.0, &quot;\\\\rm{code\\\\ specific\\\\ energy}&quot;, false], &quot;code_time&quot;: [432996494031547.0, &quot;(time)&quot;, 0.0, &quot;\\\\rm{code\\\\ time}&quot;, false], &quot;code_temperature&quot;: [16854356223154.295, &quot;(temperature)&quot;, 0.0, &quot;\\\\rm{code\\\\ temperature}&quot;, false], &quot;code_pressure&quot;: [9.76480944324897e-06, &quot;(mass)/((length)*(time)**2)&quot;, 0.0, &quot;\\\\rm{code\\\\ pressure}&quot;, false], &quot;code_velocity&quot;: [325058189.6970935, &quot;(length)/(time)&quot;, 0.0, &quot;\\\\rm{code\\\\ velocity}&quot;, false], &quot;code_metallicity&quot;: [1.0, &quot;1&quot;, 0.0, &quot;\\\\rm{code\\\\ metallicity}&quot;, false], &quot;h&quot;: [0.6731999969482421, &quot;1&quot;, 0.0, &quot;h&quot;, false], &quot;a&quot;: [0.0307637224402167, &quot;1&quot;, 0.0, &quot;\\\\rm{a}&quot;, false], &quot;mcm&quot;: [0.0307637224402167, &quot;(length)&quot;, 0.0, &quot;\\\\rm{m}/(1+z)&quot;, true], &quot;pccm&quot;: [949269286407242.5, &quot;(length)&quot;, 0.0, &quot;\\\\rm{pc}/(1+z)&quot;, true], &quot;AUcm&quot;: [4602187373.424, &quot;(length)&quot;, 0.0, &quot;\\\\rm{AU}/(1+z)&quot;, true], &quot;aucm&quot;: [4602187373.424, &quot;(length)&quot;, 0.0, &quot;\\\\rm{au}/(1+z)&quot;, true], &quot;cm&quot;: [0.01, &quot;(length)&quot;, 0.0, &quot;\\\\rm{cm}&quot;, false], &quot;kg&quot;: [1.0, &quot;(mass)&quot;, 0.0, &quot;\\\\rm{kg}&quot;, false], &quot;code_magnetic&quot;: [0.011077373986756102, &quot;sqrt((mass))/(sqrt((length))*(time))&quot;, 0.0, &quot;\\\\rm{code\\\\ magnetic}&quot;, false], &quot;unitary&quot;: [1.40749056495083e+23, &quot;(length)&quot;, 0.0, &quot;\\\\rm{unitary}&quot;, false], &quot;keV&quot;: [1.602176562e-16, &quot;(length)**2*(mass)/(time)**2&quot;, 0.0, &quot;\\\\rm{keV}&quot;, false]}</dd><dt><span>unit_system_name :</span></dt><dd>cgs</dd><dt><span>unit_t :</span></dt><dd>432996494031547.0</dd><dt><span>velocity_unit :</span></dt><dd>32505818969.709347</dd><dt><span>velocity_unit_units :</span></dt><dd>cm/s</dd></dl></div></li></ul></div></div>"
],
"text/plain": [
"<xarray.Dataset>\n",
"Dimensions: (particle_identity: 484798, aexp: 10, xyz: 3)\n",
"Coordinates:\n",
" * particle_identity (particle_identity) float64 1.353e+08 ... 1...\n",
" * xyz (xyz) <U1 'x' 'y' 'z'\n",
" * aexp (aexp) float64 0.03076 0.03188 ... 0.04394\n",
"Data variables: (12/26)\n",
" DM_identity (aexp, particle_identity) float64 7.995e+08...\n",
" cell_gas_HII_number_density (aexp, particle_identity) float64 1.019e-06...\n",
" cell_gas_HI_number_density (aexp, particle_identity) float64 0.005777 ...\n",
" cell_gas_HeII_number_density (aexp, particle_identity) float64 1.132e-07...\n",
" cell_gas_HeI_number_density (aexp, particle_identity) float64 0.0004561...\n",
" cell_gas_cooling_net (aexp, particle_identity) float64 -1.403e-2...\n",
" ... ...\n",
" particle_position_z (aexp, particle_identity) float64 0.4882 .....\n",
" particle_velocity_x (aexp, particle_identity) float64 0.0 ... -...\n",
" particle_velocity_y (aexp, particle_identity) float64 0.0006488...\n",
" particle_velocity_z (aexp, particle_identity) float64 0.0 ... 0.0\n",
" time (aexp) float64 6.725 6.604 ... 5.711 5.632\n",
" redshift (aexp) float64 31.51 30.36 ... 22.45 21.76\n",
"Attributes: (12/57)\n",
" H0: 67.3199996948242\n",
" HydroMethod: ramses\n",
" Time: 1.0\n",
" aexp: 0.0307637224402167\n",
" boxlen: 1.0\n",
" center: [0.5 0.5 0.5]\n",
" ... ...\n",
" unit_l: 1.40749056495083e+25\n",
" unit_registry_json: {\"m\": [1.0, \"(length)\", 0.0, \"\\\\rm{m}\", true], ...\n",
" unit_system_name: cgs\n",
" unit_t: 432996494031547.0\n",
" velocity_unit: 32505818969.709347\n",
" velocity_unit_units: cm/s"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"xds"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"# Randomly select 100 particles\n",
"idx = np.random.choice(xds.particle_identity, 100)\n",
"for i in idx:\n",
" plt.plot(\n",
" xds.time,\n",
" xds.sel(particle_identity=i).particle_temperature,\n",
" c=\"gray\",\n",
" lw=1,\n",
" )"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "py39",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.10"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment