Last active
November 7, 2023 18:16
-
-
Save cphyc/ab1cd4639dda92c07c6d871f3b3489c7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Recap about RAMSES datasets\n", | |
"\n", | |
"RAMSES outputs are written with one file per type per domain. Let's inspect one of the example in the doc" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import yt\n", | |
"from pathlib import Path\n", | |
"import numpy as np" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"On branch main\n", | |
"Your branch is up to date with 'origin/main'.\n", | |
"\n", | |
"Changes not staged for commit:\n", | |
" (use \"git add <file>...\" to update what will be committed)\n", | |
" (use \"git restore <file>...\" to discard changes in working directory)\n", | |
"\tmodified: yt/frontends/ramses/data_structures.py\n", | |
"\n", | |
"Untracked files:\n", | |
" (use \"git add <file>...\" to include in what will be committed)\n", | |
"\t.ipynb_checkpoints/\n", | |
"\tcompare_times.py\n", | |
"\tcookbook.xml\n", | |
"\tcreate_slice.py\n", | |
"\tcube-tetrahedron.ipynb\n", | |
"\tdebug/\n", | |
"\terrors.txt\n", | |
"\tlog\n", | |
"\tnohup.out\n", | |
"\toutput_00100/\n", | |
"\ttest.py\n", | |
"\ttest2.py\n", | |
"\ttest3.py\n", | |
"\tvalgrind-out.txt\n", | |
"\tyt/frontends/artio/_artio_caller.cpp\n", | |
"\tyt/frontends/ramses/io_utils.html\n", | |
"\tyt/geometry/fake_octree.cpp\n", | |
"\tyt/geometry/grid_container.cpp\n", | |
"\tyt/geometry/oct_container.cpp\n", | |
"\tyt/geometry/oct_container.html\n", | |
"\tyt/geometry/oct_visitors.cpp\n", | |
"\tyt/geometry/particle_deposit.cpp\n", | |
"\tyt/geometry/particle_smooth.cpp\n", | |
"\tyt/geometry/selection_routines.cpp\n", | |
"\tyt/utilities/lib/contour_finding.cpp\n", | |
"\tyt/utilities/lib/cosmology_time.cpp\n", | |
"\tyt/utilities/lib/cosmology_time.html\n", | |
"\tyt/utilities/lib/cyoctree.cpp\n", | |
"\n", | |
"no changes added to commit (use \"git add\" and/or \"git commit -a\")\n", | |
"diff --git a/yt/frontends/ramses/data_structures.py b/yt/frontends/ramses/data_structures.py\n", | |
"index 3c44ecfa6..84fec7ce9 100644\n", | |
"--- a/yt/frontends/ramses/data_structures.py\n", | |
"+++ b/yt/frontends/ramses/data_structures.py\n", | |
"@@ -326,6 +326,7 @@ class RAMSESDomainFile:\n", | |
" f.close()\n", | |
" \n", | |
" def included(self, selector):\n", | |
"+ print(f\"RAMSESDomainFile.included called with {self=} and {selector=}\")\n", | |
" if getattr(selector, \"domain_id\", None) is not None:\n", | |
" return selector.domain_id == self.domain_id\n", | |
" domain_ids = self.oct_handler.domain_identify(selector)\n", | |
"@@ -551,6 +552,7 @@ class RAMSESIndex(OctreeIndex):\n", | |
" cpu_list = range(self.dataset[\"ncpu\"])\n", | |
" \n", | |
" self.domains = [RAMSESDomainFile(self.dataset, i + 1) for i in cpu_list]\n", | |
"+ print(f\"RAMSESIndex._initialize_oct_handler called, found {cpu_list=}\")\n", | |
" total_octs = sum(\n", | |
" dom.local_oct_count for dom in self.domains # + dom.ngridbound.sum()\n", | |
" )\n" | |
] | |
} | |
], | |
"source": [ | |
"%%bash\n", | |
"cd /home/cphyc/Documents/prog/yt\n", | |
"git status\n", | |
"git diff" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:58:51,091 Sample dataset found in '/home/cphyc/Documents/prog/yt-data/output_00080/info_00080.txt'\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:58:51,267 Parameters: current_time = 1.121279694787743\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:58:51,268 Parameters: domain_dimensions = [64 64 64]\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:58:51,268 Parameters: domain_left_edge = [0. 0. 0.]\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:58:51,269 Parameters: domain_right_edge = [1. 1. 1.]\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:58:51,269 Parameters: cosmological_simulation = 1\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:58:51,269 Parameters: current_redshift = 0.14255728632206321\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:58:51,270 Parameters: omega_lambda = 0.723999977111816\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:58:51,270 Parameters: omega_matter = 0.276000022888184\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:58:51,270 Parameters: omega_radiation = 0.0\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:58:51,270 Parameters: hubble_constant = 0.703000030517578\n" | |
] | |
} | |
], | |
"source": [ | |
"ds = yt.load_sample(\"output_00080\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"ds=RAMSESDataset: /home/cphyc/Documents/prog/yt-data/output_00080/info_00080.txt has 16 domains.\n" | |
] | |
} | |
], | |
"source": [ | |
"print(f\"{ds=} has {ds.parameters['ncpu']} domains.\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"['amr_00080.out00001',\n", | |
" 'amr_00080.out00002',\n", | |
" 'amr_00080.out00003',\n", | |
" 'amr_00080.out00004',\n", | |
" 'amr_00080.out00005',\n", | |
" 'amr_00080.out00006',\n", | |
" 'amr_00080.out00007',\n", | |
" 'amr_00080.out00008',\n", | |
" 'amr_00080.out00009',\n", | |
" 'amr_00080.out00010',\n", | |
" 'amr_00080.out00011',\n", | |
" 'amr_00080.out00012',\n", | |
" 'amr_00080.out00013',\n", | |
" 'amr_00080.out00014',\n", | |
" 'amr_00080.out00015',\n", | |
" 'amr_00080.out00016',\n", | |
" 'cooling_00080.out',\n", | |
" 'grav_00080.out00001',\n", | |
" 'grav_00080.out00002',\n", | |
" 'grav_00080.out00003',\n", | |
" 'grav_00080.out00004',\n", | |
" 'grav_00080.out00005',\n", | |
" 'grav_00080.out00006',\n", | |
" 'grav_00080.out00007',\n", | |
" 'grav_00080.out00008',\n", | |
" 'grav_00080.out00009',\n", | |
" 'grav_00080.out00010',\n", | |
" 'grav_00080.out00011',\n", | |
" 'grav_00080.out00012',\n", | |
" 'grav_00080.out00013',\n", | |
" 'grav_00080.out00014',\n", | |
" 'grav_00080.out00015',\n", | |
" 'grav_00080.out00016',\n", | |
" 'hydro_00080.out00001',\n", | |
" 'hydro_00080.out00002',\n", | |
" 'hydro_00080.out00003',\n", | |
" 'hydro_00080.out00004',\n", | |
" 'hydro_00080.out00005',\n", | |
" 'hydro_00080.out00006',\n", | |
" 'hydro_00080.out00007',\n", | |
" 'hydro_00080.out00008',\n", | |
" 'hydro_00080.out00009',\n", | |
" 'hydro_00080.out00010',\n", | |
" 'hydro_00080.out00011',\n", | |
" 'hydro_00080.out00012',\n", | |
" 'hydro_00080.out00013',\n", | |
" 'hydro_00080.out00014',\n", | |
" 'hydro_00080.out00015',\n", | |
" 'hydro_00080.out00016',\n", | |
" 'info_00080.txt',\n", | |
" 'part_00080.out00001',\n", | |
" 'part_00080.out00002',\n", | |
" 'part_00080.out00003',\n", | |
" 'part_00080.out00004',\n", | |
" 'part_00080.out00005',\n", | |
" 'part_00080.out00006',\n", | |
" 'part_00080.out00007',\n", | |
" 'part_00080.out00008',\n", | |
" 'part_00080.out00009',\n", | |
" 'part_00080.out00010',\n", | |
" 'part_00080.out00011',\n", | |
" 'part_00080.out00012',\n", | |
" 'part_00080.out00013',\n", | |
" 'part_00080.out00014',\n", | |
" 'part_00080.out00015',\n", | |
" 'part_00080.out00016']" | |
] | |
}, | |
"execution_count": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"output_folder = Path(ds.filename).parent\n", | |
"[_.name for _ in sorted(output_folder.glob(\"*\"))]" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We see that we have `amr_00080.outXXXXX`, `grav_00080.outXXXXX`, `hydro_00080.outXXXXX` and `part_00080.outXXXXX` files. Each MPI task used in the run is in charge of writting is own version of `amr_`, `grav_`, `hydro_` and `part_` files. The root writes all other sidecare files (related to some metadata of the simulation).\n", | |
"\n", | |
"The `amr` files describe the octree structure. They essentially contain a list of the positions of the octs and the parent/children relations.\n", | |
"The `grav` and `hydro` files contain the field data (resp. the gravitational potential and accelerations and the hydro variables) in the same order as in the `amr` files.\n", | |
"The `part` files contain the particle data residing in the domain. Even though they're not related to the AMR, particles in one domain are found in the same volume as the one defined by the `amr` file.\n", | |
"\n", | |
"A file of importance is `info_00080.txt`. It contains the Hilbert keys that describe the bounds of each domain along the space-filling Hilbert curve. Let's show its content:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"ncpu = 16\n", | |
"ndim = 3\n", | |
"levelmin = 6\n", | |
"levelmax = 16\n", | |
"ngridmax = 800000\n", | |
"nstep_coarse= 1825\n", | |
" \n", | |
"boxlen = 0.100000000000000E+01\n", | |
"time = -0.147968923287812E+00\n", | |
"aexp = 0.875229637910795E+00\n", | |
"H0 = 0.703000030517578E+02\n", | |
"omega_m = 0.276000022888184E+00\n", | |
"omega_l = 0.723999977111816E+00\n", | |
"omega_k = 0.000000000000000E+00\n", | |
"omega_b = 0.450000017881393E-01\n", | |
"unit_l = 0.191728807704164E+27\n", | |
"unit_d = 0.382482533876347E-29\n", | |
"unit_t = 0.335613486249996E+18\n", | |
" \n", | |
"ordering type=hilbert \n", | |
" DOMAIN ind_min ind_max\n", | |
" 1 0.000000000000000E+00 0.143128214791782E+16\n", | |
" 2 0.143128214791782E+16 0.147324251039334E+16\n", | |
" 3 0.147324251039334E+16 0.148326922439885E+16\n", | |
" 4 0.148326922439885E+16 0.148530448144794E+16\n", | |
" 5 0.148530448144794E+16 0.153400413906534E+16\n", | |
" 6 0.153400413906534E+16 0.153402901633434E+16\n", | |
" 7 0.153402901633434E+16 0.153402931346381E+16\n", | |
" 8 0.153402931346381E+16 0.153403008040487E+16\n", | |
" 9 0.153403008040487E+16 0.153403456664557E+16\n", | |
" 10 0.153403456664557E+16 0.153408840518451E+16\n", | |
" 11 0.153408840518451E+16 0.153415703266509E+16\n", | |
" 12 0.153415703266509E+16 0.154464418581709E+16\n", | |
" 13 0.154464418581709E+16 0.156718632167014E+16\n", | |
" 14 0.156718632167014E+16 0.161233397117747E+16\n", | |
" 15 0.161233397117747E+16 0.161372875155046E+16\n", | |
" 16 0.161372875155046E+16 0.225179981368525E+16\n", | |
"\n" | |
] | |
} | |
], | |
"source": [ | |
"print((output_folder / \"info_00080.txt\").read_text())" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The last 16 lines describe the lower and upper bound on the Hilbert curve that span the extent of each domain." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Finding a region of interest\n", | |
"\n", | |
"For the sake of this notebook, let's find the high-resolution part of the simulation." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"yt : [\u001b[33mWARNING\u001b[0m ] 2023-11-07 17:58:57,844 Detected 2 extra particle fields assuming kind `double`. Consider using the `extra_particle_fields` keyword argument if you have unexpected behavior.\n", | |
"yt : [\u001b[33mWARNING\u001b[0m ] 2023-11-07 17:58:57,965 This cooling file format is no longer supported. Cooling field loading skipped.\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"RAMSESIndex._initialize_oct_handler called, found cpu_list=range(0, 16)\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 1 and selector=<yt.geometry.selection_routines.RegionSelector object at 0x7fa8c448d6f0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 2 and selector=<yt.geometry.selection_routines.RegionSelector object at 0x7fa8c448d6f0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 3 and selector=<yt.geometry.selection_routines.RegionSelector object at 0x7fa8c448d6f0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 4 and selector=<yt.geometry.selection_routines.RegionSelector object at 0x7fa8c448d6f0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 5 and selector=<yt.geometry.selection_routines.RegionSelector object at 0x7fa8c448d6f0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 6 and selector=<yt.geometry.selection_routines.RegionSelector object at 0x7fa8c448d6f0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 7 and selector=<yt.geometry.selection_routines.RegionSelector object at 0x7fa8c448d6f0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 8 and selector=<yt.geometry.selection_routines.RegionSelector object at 0x7fa8c448d6f0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 9 and selector=<yt.geometry.selection_routines.RegionSelector object at 0x7fa8c448d6f0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 10 and selector=<yt.geometry.selection_routines.RegionSelector object at 0x7fa8c448d6f0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 11 and selector=<yt.geometry.selection_routines.RegionSelector object at 0x7fa8c448d6f0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 12 and selector=<yt.geometry.selection_routines.RegionSelector object at 0x7fa8c448d6f0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 13 and selector=<yt.geometry.selection_routines.RegionSelector object at 0x7fa8c448d6f0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 14 and selector=<yt.geometry.selection_routines.RegionSelector object at 0x7fa8c448d6f0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 15 and selector=<yt.geometry.selection_routines.RegionSelector object at 0x7fa8c448d6f0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 16 and selector=<yt.geometry.selection_routines.RegionSelector object at 0x7fa8c448d6f0>\n", | |
"Found a center at center=unyt_array([0.75202179, 0.76840973, 0.79717255], 'code_length')\n" | |
] | |
} | |
], | |
"source": [ | |
"ad = ds.all_data()\n", | |
"center = ds.arr(ad.argmax(\"density\"))\n", | |
"print(f\"Found a center at {center=}\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:59:00,174 Projection completed\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:59:00,180 xlim = 0.747194 0.756850\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:59:00,180 ylim = 0.763582 0.773238\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:59:00,182 xlim = 0.747194 0.756850\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:59:00,183 ylim = 0.763582 0.773238\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:59:00,187 Making a fixed resolution buffer of (('gas', 'density')) 800 by 800\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 1 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8c41f18b0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 2 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8c41f18b0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 3 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8c41f18b0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 4 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8c41f18b0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 5 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8c41f18b0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 6 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8c41f18b0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 7 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8c41f18b0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 8 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8c41f18b0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 9 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8c41f18b0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 10 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8c41f18b0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 11 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8c41f18b0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 12 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8c41f18b0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 13 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8c41f18b0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 14 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8c41f18b0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 15 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8c41f18b0>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 16 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8c41f18b0>\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/html": [ | |
"<img style=\"max-width:100%;max-height:100%;\" src=\"data:image/png;base64,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egAAAAAAgLxE0gMAAAAAAOQllrcAAAAAAEJjMry8JaNLadDpkPQAAOQ9z5LiAf7iORFPcdsL0J8nJ9J6O0lybDfcdpFg7VwTLD7P8uQFaFtfEJcTcVptF4vG5UTjgcY2busTTi3HUvfqogB9GdlOuBNYLTfYi2iLF9sAAOQskh4AgLznWonER2s8K5EECG/c8PrqKEESHlJDciTA/XFtV27ABE6QFIWrYAkcywqe6LEDtQIAAPmApAcAAAAAIDQsb0EuIenRBcxZO0+WsTR876N13N7HZDscAAAAAHlkycfPaN7g76u+vj7boQBp2L2lC5h+yKW68tDLSXgAAAAACN3x+07QmjVr9Pe//z3boXQaVVVVuvLKKzVgwAD17t1bp512mt56662UNscdd5yMMWnHsccem6WoOydmegAAAAAAwuOZxJHJ8TqZadOmadCgQbrjjjtUXl6u22+/XSeffLJWr16t3r176z//+Y/22msvPfnkkyosLExed9ddd+mEE07IYuSdD0kPAAAAAAAyZPXq1Ro2bJhmzpwpSTrrrLO01157qaysTIsXL9a5556r9957T0899VRKwsPzPF1++eW6/fbbsxV6p8TyFgAAAABAl/Liiy/q2WefzcrYFRUVmj59esq50tJSSdL27dslSePHj09JeEjS8uXLVVRUpMMPPzwzgeYJZnoAAAAAAEJjvMSRyfGCWrlypa655hotXrxY1113ncaPH99s23Xr1umGG27Q66+/rm7duqm2tlaXX365pkyZ0q54jzvuuLRztbW1kqQRI0Y0e91TTz2liRMntmtsP5s3b1Z5ebnWrVun999/Xx9//LGqq6tVXV2tSCSiHj16qLi4WAceeKAGDBigL3/5y/rKV76iSKRzpBM6R5QAAAAAALTRtm3bNHfuXG3evFnLli1rtf2qVas0evRojR8/XsuXL1c0GtXSpUtVWlqq8vJyPfDAA6HG9+KLL2rcuHEaMmRIs22eeuopPfroo+0eq7a2VosXL9azzz6rv/71r9q4cWPyNs9rPoNkzM7aKYWFhTr66KP1ta99TV/72td06KGHtjuujkLSAwCyxdjyrGho3XnGkmeFt2rRsyy5kXBXQXqW5FrhFRtzIok+WxMr8OTYrX8MFCtwFYu6AccO2M4Ot51nBfs4ywv4sVc86sgN0PbzPp8rXhBrtZ0bceXaTqvtLMdWtKag9XaupcLa1tu5nlGBgv0+mU5Y8K69rGBPr+D9dcHHEEDn1qtXL5WVlUmSNm7cqIULFzbbdvv27Ro/frwikYjuueceRaOJvy8jR45UWVmZrr/+eo0YMUKTJ08OJbaqqio99thjWrRoUbNtVq1apZqaGg0fPrzN47z33nu6++67tWDBAm3btk2e58kYo0GDBunQQw9Vv379tN9++6lXr14qKipSUVGR6uvrVVNTo5qaGm3ZskUbNmzQBx98oLfffltLlizRkiVLdPXVV2vkyJGaMWOGvvGNb6QkR3IBSQ8AyBdWuEmPjuBaJlCSIqhEEiVYOyfS+ht7zwqWVHAtL3BSIWiSIqig47oBx3WNJzdAwsWJOHKirSczXNsJ1J9nPNl2sJchgR7DkN/UI7MMPz8gv3jK8O4trTfZ9Y14UVFRi23vu+8+bdiwQVOnTlXPnj1Tbrv44ot1/fXX69prr9X555+fTIgMHDhQ77//fov9DhgwQO+9917a+bKyMt15550aOHBgs9c+9dRTmjBhQpsSChUVFbrxxht19913q76+Xsccc4zGjRunk046SUcffbS6deu2231K0n//+18tW7ZMf/3rX/XMM8/ovPPO0+zZs3XnnXdq9OjRbeqzI5D0AAAAAACgwbx58yRJY8aMSbutf//+GjRokNavX6/nn39e48aNkyQtWbJE8Xi8xX79amDcdtttKi0tbTVJ8NRTT+nOO+8Mdgd2sXz5cp1zzjnatm2brrjiCl1yySU65JBDdrsfP1/60pf0pS99SRdddJFqamr0+9//XnfeeafGjh2r733ve/rlL38p27ZDGas9cvsjQQAAAAAAMmTLli165513JEmDBw/2bdO4e8rixYuT5w444AANHDiwxeOAAw5I6eehhx5S3759NWHChOS5ysrKtNkgb775pjZt2qQTTzxxt+7Lww8/rLFjx2rSpEl6//33dcstt4SW8GiqW7duOu+88/TKK6/oySef1PPPP6/Ro0eroqKiQ8bbHSQ9AAAAAAChMZ7J+BGWN954I/n1/vvv79umX79+kqTVq1e3eZxFixbp6aefVrdu3fTkk0/qySef1K9//WtdcMEF6tu3b0rbp556SmeccUZyKU0QDz/8sG655Ra9/PLLuvXWW7Xnnnu2OdbdNXHiRL366qsaNmyYTjnllKwnPljeAgAAAADoNNxYvdxYffL7eE1VaH1/9tlnya+b1vNoVFxcLEn65JNP2jTGkiVLdN5556murk7PPfdcym2XX355Wo2Np556Sv/7v/+7W2O88MIL+te//pWMNdOi0ah+9atf6bHHHtOf/vQnffOb38xKHBJJDwAAAABAJ7Lx6QXa8MS8Dum7uro6+XVBgf/uYYWFhZISu660xfHHH6/a2trA7V999dXdHmPBggW7fU1HOO+887IdAkkPAAAAAEB4wl5y0lT/id/R/meen/w+XlOlFdPODKXvXWdZxGIx38RHLJbYwr179+6hjImORdIDAAAAANBpWNECWVH/WRjtte+++ya/rqysVElJSVqbyspKSUqrvZFvbNuW47S+XX2uo5ApAAAAAACSDjvsMBmTmKWyadMm3zaN54cMGZKxuLLB87xshxAKZnoAADo1N0D6Pm57ihW4rbZzbFexaLBPNDwr2AsB1wRsZ7cenyS5Acf1Ao5bsWeFnEjr97m2uEqxglir7QJPaTa2FCRG48m4HTdFusWhszQuACB7SkpKNHToUL322mtas2aNb2KjcYeX3d1CtrNpTP50diQ9AACdVpCEh5RIUARJPriWJydg8iHouEGFncwIOna8IC4nEm8yhk+7aFxO04SQTyzGtWQ5AX4wnvG9L00TJkHvr/GMrIDrxy2SGQDQsbyGo4N99P8e16a/PCnPDe9vtyRNmjRJr732ml5++WV94xvfSLlt8+bNWrt2rUpKSnTqqaeGOm6u++CDD+Q4jr7whS9IShRYfeihh/SVr3xFl156aZajax7LWwAAAAAAnU6/087VUXc8rmGzF+zWdTU1NZIkt5lkydSpU7XPPvto4cKFKbu5SNL8+fPluq5mzpyZtrVsPrv//vt1xBFH6IgjjtCZZ56pN998U5deeqm2bt2q+fPn60c/+lG2Q2wWSQ8AAAAAQJewdetWLVmyRJK0dOlSxePxtDYlJSV65JFHVFFRoRkzZiR3aykvL9fs2bN1+umna9asWRmNO9s2bdqkTz/9VNu2bdOsWbP005/+VMuWLdNvf/tbLV26VJFI7i4iyd3IAAAAAACdTkdvWes3Xmscx9FXv/pVvfXWW6qqqpIkvfDCC+rXr59GjhypRYsWpbQvLS3VsmXLdPPNN2v48OHq3r27qqqqdOONN2rGjBmybbtD7kuu+uIXv6j6+noV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jlRZWZnmzp2rBQsWZDdIAEBO8YzXfAKllVL6dkP5+16mSkUmkRyp86IUMgUA7Bbj7Vzikpkj2/cYuSxnXsF897vfleOkf0Rzxx136IgjjtB//vOfLESVXffdd582bNigc845Rz179ky5rXH73muvvVaxWMzvcgAAArONq0Irru5WvfZQnQqVqO9R60VV50bkyJLbcAAAgPwxc+bMbIfQoXLilYsxRlu2bNHUqVOT59atW6dRo0bpqquu0v777697771Xe++9dxajzLx58+ZJksaMGZN2W//+/TVo0CB9+OGHev755zMcGQAgn7ieJdu46mFq1cPUai9TqR7aOdOj3osml7QAAID8ct999+njjz/OdhgdJidewcyfP19vvvmmDjnkEF199dW666679JWvfEX//Oc/9f3vf1//+c9/dNlll2nFihXZDjVjtmzZonfeeUeSmt3Z5vDDD5ckLV68OGNxAQDy336q0T6eFJFLEVMAwG7L7NKWzO4Uk49qamo0evRoPfnkk76rLzq7nChkeuGFF0qSZs2apR/+8If6n//5Hx100EGaP3++jj/++GS7Tz/9VP37989WmBn1xhtvJL/ef//9fdv069dPklqshwIA+a6VMhVJVoAXRJZnZDutfx7g2G7gF1iuHSzA3SlkGkSsqD6tT1NQp0ikPhFXw8wNy7iyjJtY3mJiKjQx7afeipjuWqfPVe0Wqs6LqN6NqN6JNlzbUCzVteXGG5IijWM5EUXqUhMl0fqoIvVNipvG7cD3xWnyGFqu/2PftF1zmru+KTfgR0N2wP4AAMhFhYWFuvrqq/Xee+/pxBNP1KhRozRlyhQNHDgw26GFIieSHru69dZb9emnn+qoo45KSXhI0mWXXably5dnKbLM+uyzz5JfN63n0ahxm99PPvmkxb7qnLqU7yPGVsTKuR89ACCopgmSXRMwu9zWUl7G8skW2cZVD6tOEXWXJFV6iYRHoCKmjYP5feLmmZaD2U2u5QVOXGSCZ3kyIcbjWh6JFACdQtyNKe4llkPu2LFDFRUVWY4IbTF//nxNmjRJknTVVVfphRde0DXXXKOqqip95zvf0fjx42XbwT+syDUZe+dbU1OjJ554IlDb448/Xtddd50sy9KAAQMkSZ9//rlef/31jgwxp1RXVye/Ligo8G1TWFgoSaqqqmqxr1ve/L+U78f2PUEn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8OG68847deihhybbuK6r22+/XTt27FAkEtGqVas0adIknXvuuVmJedq0aVqxYkVWxm4Pkh4AAHRBfsVMmyY63FYKmZK4AACgbaZNm6ZBgwbpjjvuUHl5uW6//XadfPLJWr16tXr37i1Juummm/TZZ5/p//7v/yRJn3/+uQ4++GANGDBAX/3qV3d7zH/96196/PHHNW3aNH3pS1+SJG3btk133XVXq9dWVFSkbXXbWZD0AACgi4la8WTx0lovKluOHNna4SaWt1S7Bap3o6kXdcDSEQAAuqLVq1dr2LBhmjlzpiTprLPO0l577aWysjItXrw4OZNj0aJFuvjii5PX7bnnnjr44IO1ZMmSNiU9Jk6cqC1btmjlypV66aWXJEmO4+j666+XMUae1/LfemM654cdJD0AAAAAAKHpDLu3vPjii6qoqND48eM7IKKWVVRUaPr06SnnSktLVVZWpu3btyfP7b333vr1r3+tyy67TIWFhaqqqtLatWuTW87urlGjRumpp57SqFGjkuf23HNPGWNUVlamU089VbbtX7Ns27ZtOv/889s0braR9AAAoAP51gjxWTXiW/DUpz/Xp50TjacVMvUsN212hucZuZ5JWbbieJbqFFVctuJKvNCpdyNyPSt5SJLn2jsLmTbG51PI1IpHZDUpButXr0Tyf2yaawsAQBhWrlypa665RosXL9Z1113XYtJj3bp1uuGGG/T666+rW7duqq2t1eWXX64pU6a0K4bjjjsu7Vxtba0kacSIEclz1113nU466SSdcsop+r//+z/Nnj1bP//5zzVmzJg2jfvEE0/os88+U0lJSfKcZVnq3bu3rr32Wu2xxx4tXj9kyJA2jZttJD0AAMgwvzf7QZMjUnqCxI24gYqbSv51OuJKFC5trOnhqDHhYeQlkx6WLCf10x8rbsuONSlkGrfTEhd+n/j5Jnl2I+FBPREAwO7Ytm2b5s6dq82bN2vZsmWttl+1apVGjx6t8ePHa/ny5YpGo1q6dKlKS0tVXl6uBx54INT4XnzxRY0bNy4lsTBq1CgtWrRI5557ro488kj96Ec/0mWXXdaucXZNeDRat25dqwkPSfrtb3/brrGzhaQHAABdiGVcWcb1LWS6K78ZJQAABGEF3Co+zPFa06tXL5WVlUmSNm7cqIULFzbbdvv27Ro/frwikYjuueceRaOJOlcjR45UWVmZrr/+eo0YMUKTJ08OJf6qqio99thjWrRoUdpt77zzji688EItWbJEP/vZz7R+/Xo9+uijzS5DaYs//elPisfjkqRDDz1Uxx57rDZv3qypU6fqb3/7m/bee2/NnDlT3/ve90IbM5M6394+AACgVb4zKSxHEctRkV2vHqZWPUxtSvKj2i1UtVuo2C7LWwAAyAe7FuEsKipqse19992nDRs26JxzzlHPnj1TbmssLHrttdcqFoslzw8cOFDGmBaPgQMH+o5XVlamO++8M+32//u//9Mzzzyje++9VytWrNB3vvMd/e53v9Ptt9++G/e8da+++qq++93v6vXXX1csFpPrujr99NOTS4Buu+02/eY3v/FNynQGzPToAuasnSfLWBq+99E6bu9jsh0OAAAAgDyydPNzenDwLNXX12c7lFDMmzdPknxrZ/Tv31+DBg3S+vXr9fzzz2vcuHGSpCVLliRnSzQnEkl/+33bbbeptLRUo0ePTrvt1ltv1dVXXy1JKiws1IMPPqg33nhDjz/+eHLWShgikYj+8pe/aOTIkZISu8a8+uqr+ulPf5ocZ9SoUTr//PM1ceLE0MbNFJIeXcD0Qy5VkV2Y7TCQb4wtJovlFs+y5Fm5vyShlVUVuy3IlNaIIwV5vtoRT9FY69NFnYireMBpu1bAXxPP9Wno81g5VvpJz3LlNj3vGRnXknap7RFpmOkhKVm0tNotlG3cREFTL/GyoNYpkOs2eRxcW1Y89WWDHbdlx5vU9IilnzOeSatZYvmc8xO0doflhr9TQNCp2ZYb7L6EPW5QYcbWUYwr+Ty1c4Yd92THczhASZbb8putrPOcxJHTcjs+L4cfv5F9z9DTr9ynjRs3qn///p1i95bmbNmyRe+8844kafDgwb5tDj/8cK1fv16LFy9OJj0OOOCA3R7roYceUt++fTVhwoTkucrKSn366acaOHCg6urqUmaTGGM0evRo/eMf/9jtsVqyfPlyzZ49O/n9X/7yFxljdOGFFybP9e3bN9QxMyknkh4zZ87UL3/5y2yHkccsSeGt+UKm2OLnFoKg7zizxMvx+MJmuZLfe/t29RegnXGliFp/QeTVW3JNsN87OxLsjjiBIpTsgElEv2KfruXKs1KLliYTHlJyF5eIFVfExGXvElOdF5W8RBKkximQJMW9yM5dWxrHc620nVrsuC27PppyLhLz373Ft3hrgBepu5MACPrmPnC7gC+iOyKpEH7iI9TuQme5uR2jFfdk13eCpEIu83L4Byzl/uOX1Fni7LzeeOON5Nf777+/b5t+/fpJklavXt3mcRYtWqSnn35akydP1pNPPikpUdvj97//fbJg6Le+9S099dRTuuKKK5I1PF555RWdd955bR7Xj+um/n6uWrVKffr0SUvkVFVVhTpupuRE0uO+++5TWVmZ9t1332yHAgAAAADIYU68Tm5851KaWF1laH1/9tlnya+b1vNoVFxcLEn65JNP2jTGkiVLdN5556murk7PPfdcym2XX365unXrJimx9OXmm2/WpEmTdNhhh+mTTz7R2Wefre9///ttGrc5sVhMjuPItm19+umnWrlypc4999yUNm+//Xanfb+eE0mPmpoajR49WjfffLMmTpwYaiVaAAC6pMbtao0nNSxpsYyXWMoiSzucxAuqei+a3Kq21m2Y6dGwtMVjBxcAQBuYkJf9NfXmi3dr9Ysds1Kguro6+XVBQYFvm8LCROmAts58OP7441VbW9tqu4KCAt1www1tGmN3lJaW6qqrrtLFF1+s6667To7jpCxtWb16tb797W+zZW17FBYW6uqrr9Z7772nE088UaNGjdKUKVOarW4LAAAAAOiaBo/+vg4dOS35fayuQs/84shQ+m6cZSElZkD4JT4a62x07949lDGzbdasWfrWt76lr3zlK4pGo/rJT36iU089VWvXrtXkyZP1yiuvyPM8/fCHP9Qf//jHbIe723Ii6TF//nxNmjRJknTVVVfphRde0DXXXKOqqip95zvf0fjx45n9AQDIG761InyWuzet05FsaprU7/CM1KSpazvybCelQmTExBW1EjU9nIYaIrsWME1e61lyndRzxonsrOnRML4Vt9NqTxjXSqs7sjv1PNpayyKTBfMAANllRwplRzpmo4Zdl3BUVlaqpKQkrU1lZWI5TWcu7rmrgoICPfnkk6qoqJBlWerRo4ckadCgQXrsscdS2nVGOZH0aEx4NBo7dqzGjh2rTz75RPPnz9fQoUN19tln69JLL9WBBx6YpSgBAGi/9r45d3fZjWXXPj0v9ZxnO4llLcZLJils48puqBbpeIkPE+q8iOrdiBxZyWUurmfkNSY9Gtpbjq1o06KldVFZTSrTWo4VOMkRdrFOAEBusDzjW3i7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X3xRN910U5NlHMeJYkSt06NHD5177rl66KGHYh0KAABIECQ9AABIErNnz9aQIUMaHeWRKCZMmKA//OEPcbXQKgAAiF8kPQAASBLPPfdc3E5fCdeQIUMUDAb10ksvxToUAACQAEh6AAAQZffdd59OP/10OY4jx3Hk9/tDW7J+8MEHyszMDN3XrVs3KzupvP/++/rkk0/Uu3fvVtd9/PHH5fP5QjGdeuqpeu+997Ro0SL169dP3/zmN5Wdna0nnnhC//M//6PLLrtMgwcP1umnn67LLrtMb775ZpNtr127Vt/73vfUp08fDR48WBdddJF+8pOfaMuWLY2WT09PV9++ffW///u/rX4cAAAg+ZD0AAAgyu644w7985//1NNPPy3HcdS7d29NmTJFklRQUKBbb71VX//61/Xqq6/qo48+srKjyltvvSVJOu2001pd99prr9Upp5yi/v37a82aNfrXv/6lM888U3379tXvfvc7de7cWXv37tXvfvc7bd26Vc8995yWLFmi1atXKzMzU+edd57+9Kc/NWj3ySefVN++fXXmmWdq1apVWrJkiV544QW9++67uuCCCxQIBBqNp1evXs0mUgAAAOqQ9AAAIEZGjx6tSZMmadWqVZo9e7Yk6dChQ1q8eLEWL16sgQMHWuvrgw8+kCRlZ2e3uu7999+vc889V6+++qrOOuus0O1f+cpX1L9/fxUVFUmSRo4cqZtvvlmpqamSpMzMTM2bN08nnniibrzxRq1ZsyZU95133tGPfvQjXXjhhbrjjjtCC6hu2LBBr7/+urZs2aL9+/c3Gs/Xv/51bd68mXU9AABAi0h6AAAQQyUlJTrnnHN08803a8OGDZo4caJuv/125efnW+1n165dOu6445SSktKqer/4xS+0Z88ezZ07N5TMOFpdwqKgoKDBfRkZGZowYYJqa2v161//OnT7XXfdpZqaGl1//fX1yvfs2VOzZ8/Ws88+22SC5mtf+5pc19XHH3/cqscCAACSD0kPAABiKC0tTU8//bRSUlI0ePBgderUSZdeeqn1fg4dOqSOHTuGXT4YDOr666/XAw88oK5dux5T3xdccIEkhRYfdV1XL774oiTp7LPPblB+3LhxuuKKK5psr127dpKkioqKY4oLAAB4H0kPAABi7Bvf+IamT5+uTz/9VFVVVW3SR1pamlzXDbv8r371K/Xq1Usnn3yy7rjjDv373/+OuO/OnTtLOpKkqK6u1q5du1RTUyNJ6tSpU6vbqxtxcvjw4YhjAgAAyYGkBwAAMVZZWakFCxbo0ksv1cyZM7Vw4ULrfXTs2FGVlZVhl58yZYp+8pOfaO7cuaqqqtJ1113XqqTJl23dulXSkeRHenq6OnfuLL/fL0nat29fq9urW8ujffv2EcUDAACSB0kPAABi7Mc//rGmTJmip556Sl//+tf1wx/+0Pp6Ffn5+dq/f3/Yi3/WrSly/vnn66c//alWrFihhx56KKK+V6xYIenIQqeSlJKSogsvvFCSmtyFZfv27dq0aVOj99VNazn++OMjigcAACQPkh4AAMTQH//4R331q1/VJZdcoqysLP35z3/Wvn37NHbsWBljrPXTvXt3SdKHH37Y6rolJSX6xje+oalTp+r9999vstyGDRsa3FZRUaGZM2eqQ4cOuuOOO0K3T58+XX6/XzNnzmz0cU6fPr3JkSVbt25VRkbGMa81AgAAvI+kBwAAMVBTU6M//OEPuvHGG3X11VeHbu/Xr59+9KMf6R//+IemTp1qLfHRp08fpaWl6Z133mm2XN02sXv37g3dlpmZqVtuuUVVVVUaPXp0vfu+bOHChZo5c2YoWbFnzx6NGjVKVVVVevbZZ/WNb3wjVLZ///569NFHtWrVKhUXF4fW53BdVw899JBycnJ0yimnNNrPhg0b1Lt379CuMQAAAE0h6QEAQJTddNNNys3N1c9+9jMFAgHdfPPNofv+7//+T48//rgk6b777lN+fr7GjBlzzH1mZGRo6NCheu211xq9/7XXXlPv3r01efJkSdKPfvQj9e7dW2+//ba2bNmiX/3qV5Kkd999V/n5+Ro7dmyDNm677TYFg0ENGTJEF1xwgQYOHKhTTz1Va9asUVFRUYPy48aN04oVK7Rr1y6dc845Gjx4sC699FJ16tRJJSUlTT6W8vJyDR48OJKnAQAAJBnH2Bw7CwAA4tbTTz+tSZMmadu2baGFRG248847NWPGDM2dO1fXXXedtXYb89FHHyk/P1/vvvuuzjzzzDbtCwAAJD5GegAAkCRGjRqljIyMNtkdJlqefvpp9e/fn4QHAAAIC0kPAACSREpKikpKSnTvvfdaXSQ1Wmpra/Xoo4/ql7/8ZaxDAQAACYKkBwAASWTMmDHq2rWrZs+eba3Nffv2SZI+++wza202ZubMmTrrrLM0fPjwNu0HAAB4B2t6AACQZPbv369hw4bpscce01lnnRVxOy+//LJuu+02vffeezLGyO/364wzztDvfvc7DRkyxGLE0qZNm3TZZZdp8eLFys3Ntdo2AADwLpIeAAAkod27d2vcuHH64x//qE6dOsU6nGbt3btXV155pR566CHW8gAAAK1C0gMAAMS1JUuW6KSTTtLJJ58c61AAAECCIekBAAAAAAA8iYVMAQAAAACAJ5H0AAAAAAAAnkTSAwAAAAAAeBJJDwAAAAAA4EkkPQAAAAAAgCeR9AAAAAAAAJ5E0gMAAAAAAHgSSQ8AAAAAAOBJJD0AAAAAAIAnkfQAAAAAAACeRNIDAAAAAAB4EkkPAAAAAADgSSQ9AAAAAACAJ5H0AAAAAAAAnkTSAwAAAAAAeBJJDwAAAAAA4EkkPQAAAAAAgCeR9AAAAAAAAJ5E0gMAAAAAAHgSSQ8AAAAAAOBJJD0AAAAAAIAnkfQAAAAAAACeRNIDAAAAAAB4EkkPAAAAAADgSSQ9AAAAAACAJ5H0AAAAAAAAnkTSAwAAAAAAeNL/B0tW6rvBWX4gAAAAAElFTkSuQmCC\"><br>" | |
], | |
"text/plain": [ | |
"<yt.visualization.plot_window.AxisAlignedProjectionPlot at 0x7fa8c41cbed0>" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"sp = ds.sphere(center, radius=ds.quan(300, \"kpc\"))\n", | |
"p = yt.ProjectionPlot(ds, \"z\", (\"gas\", \"density\"), center=sp.center, width=2*sp.radius, data_source=sp, weight_field=(\"gas\", \"density\"))\n", | |
"p.set_axes_unit(\"kpc\")" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# API 0: current implementation\n", | |
"\n", | |
"The current implementation relies on `_chunk_io` for any parallel-aware parallelization." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:59:37,608 Parameters: current_time = 1.121279694787743\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:59:37,609 Parameters: domain_dimensions = [64 64 64]\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:59:37,609 Parameters: domain_left_edge = [0. 0. 0.]\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:59:37,610 Parameters: domain_right_edge = [1. 1. 1.]\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:59:37,610 Parameters: cosmological_simulation = 1\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:59:37,610 Parameters: current_redshift = 0.14255728632206321\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:59:37,611 Parameters: omega_lambda = 0.723999977111816\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:59:37,611 Parameters: omega_matter = 0.276000022888184\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:59:37,611 Parameters: omega_radiation = 0.0\n", | |
"yt : [\u001b[32mINFO\u001b[0m ] 2023-11-07 17:59:37,611 Parameters: hubble_constant = 0.703000030517578\n" | |
] | |
} | |
], | |
"source": [ | |
"ds = yt.load(\"output_00080\")" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Let's just increase verbosity to see what's happening.\n", | |
"\n", | |
"We first trigger the build of the index and we see that *all* `amr` files are actually getting accessed." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": { | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,923 Initializing data storage.\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,924 Setting up domain geometry.\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,925 Initializing Octree Geometry Handler.\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,925 Detected fluid type ramses in domain_id=1\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,926 No fields specified by user; automatically setting fields array to ['Density', 'x-velocity', 'y-velocity', 'z-velocity', 'Pressure', 'Metallicity']\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,926 Detected fluid type gravity in domain_id=1\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,927 Detected particle type io in domain_id=1\n", | |
"yt : [\u001b[33mWARNING\u001b[0m ] 2023-11-07 17:59:38,927 Detected 2 extra particle fields assuming kind `double`. Consider using the `extra_particle_fields` keyword argument if you have unexpected behavior.\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,928 Reading domain AMR 1 (2.918e+04, 0.000e+00)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,942 Detected fluid type ramses in domain_id=2\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,943 Detected fluid type gravity in domain_id=2\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,943 Detected particle type io in domain_id=2\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,943 Reading domain AMR 2 (2.988e+04, 0.000e+00)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,954 Detected fluid type ramses in domain_id=3\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,955 Detected fluid type gravity in domain_id=3\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,956 Detected particle type io in domain_id=3\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,956 Reading domain AMR 3 (2.016e+04, 0.000e+00)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,963 Detected fluid type ramses in domain_id=4\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,964 Detected fluid type gravity in domain_id=4\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,964 Detected particle type io in domain_id=4\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,965 Reading domain AMR 4 (3.336e+04, 0.000e+00)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,976 Detected fluid type ramses in domain_id=5\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,976 Detected fluid type gravity in domain_id=5\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,976 Detected particle type io in domain_id=5\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,977 Reading domain AMR 5 (3.306e+04, 0.000e+00)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,988 Detected fluid type ramses in domain_id=6\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,988 Detected fluid type gravity in domain_id=6\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,989 Detected particle type io in domain_id=6\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,989 Reading domain AMR 6 (1.098e+04, 0.000e+00)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,994 Detected fluid type ramses in domain_id=7\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,995 Detected fluid type gravity in domain_id=7\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,995 Detected particle type io in domain_id=7\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,996 Reading domain AMR 7 (4.443e+03, 0.000e+00)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,999 Detected fluid type ramses in domain_id=8\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,999 Detected fluid type gravity in domain_id=8\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:38,999 Detected particle type io in domain_id=8\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,000 Reading domain AMR 8 (5.090e+03, 0.000e+00)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,003 Detected fluid type ramses in domain_id=9\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,003 Detected fluid type gravity in domain_id=9\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,004 Detected particle type io in domain_id=9\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,004 Reading domain AMR 9 (5.292e+03, 0.000e+00)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,007 Detected fluid type ramses in domain_id=10\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,008 Detected fluid type gravity in domain_id=10\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,008 Detected particle type io in domain_id=10\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,008 Reading domain AMR 10 (8.980e+03, 0.000e+00)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,012 Detected fluid type ramses in domain_id=11\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,013 Detected fluid type gravity in domain_id=11\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,013 Detected particle type io in domain_id=11\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,014 Reading domain AMR 11 (1.016e+04, 0.000e+00)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,019 Detected fluid type ramses in domain_id=12\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,019 Detected fluid type gravity in domain_id=12\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,019 Detected particle type io in domain_id=12\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,020 Reading domain AMR 12 (1.693e+04, 0.000e+00)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,026 Detected fluid type ramses in domain_id=13\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,026 Detected fluid type gravity in domain_id=13\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,027 Detected particle type io in domain_id=13\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,027 Reading domain AMR 13 (3.025e+04, 0.000e+00)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,037 Detected fluid type ramses in domain_id=14\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,038 Detected fluid type gravity in domain_id=14\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,039 Detected particle type io in domain_id=14\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,040 Reading domain AMR 14 (2.509e+04, 0.000e+00)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,048 Detected fluid type ramses in domain_id=15\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,048 Detected fluid type gravity in domain_id=15\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,048 Detected particle type io in domain_id=15\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,049 Reading domain AMR 15 (2.508e+04, 0.000e+00)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,057 Detected fluid type ramses in domain_id=16\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,057 Detected fluid type gravity in domain_id=16\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,058 Detected particle type io in domain_id=16\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,059 Reading domain AMR 16 (3.532e+04, 0.000e+00)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,072 Initializing data grid data IO\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,073 Detecting fields.\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,075 Succeeded with ('index', 'dx') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,076 Succeeded with ('index', 'dy') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,076 Succeeded with ('index', 'dz') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,076 Succeeded with ('index', 'x') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,077 Succeeded with ('index', 'y') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,077 Succeeded with ('index', 'z') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,078 Succeeded with ('index', 'cell_volume') (needs set())\n", | |
"yt : [\u001b[33mWARNING\u001b[0m ] 2023-11-07 17:59:39,078 This cooling file format is no longer supported. Cooling field loading skipped.\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,081 Creating Particle Union 'all'\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,086 Succeeded with ('deposit', 'all_cic_velocity_x') (needs {('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_mass'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,087 Succeeded with ('all', 'particle_velocity_spherical_theta') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,088 Succeeded with ('all', 'relative_particle_position_x') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,088 Succeeded with ('deposit', 'all_count') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,089 Succeeded with ('all', 'relative_particle_velocity_z') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,090 Succeeded with ('all', 'particle_velocity_cylindrical_radius') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,090 Succeeded with ('all', 'particle_velocity_magnitude') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,091 Succeeded with ('deposit', 'all_nn_velocity_y') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_mass'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,091 Succeeded with ('all', 'particle_position_relative_z') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,092 Succeeded with ('all', 'particle_radius') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,092 Succeeded with ('all', 'particle_position_spherical_theta') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,093 Succeeded with ('all', 'particle_specific_angular_momentum') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,094 Succeeded with ('deposit', 'all_cic') (needs {('all', 'particle_mass'), ('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,095 Succeeded with ('all', 'particle_specific_angular_momentum_y') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,096 Succeeded with ('all', 'particle_radial_velocity') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,097 Succeeded with ('all', 'particle_identity') (needs {('all', 'particle_identity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,097 Succeeded with ('all', 'particle_specific_angular_momentum_x') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,099 Succeeded with ('all', 'particle_angular_momentum_x') (needs {('all', 'particle_velocity_y'), ('all', 'particle_mass'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,099 Succeeded with ('all', 'particle_angular_momentum_z') (needs {('all', 'particle_velocity_y'), ('all', 'particle_mass'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,100 Succeeded with ('all', 'particle_ones') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,101 Succeeded with ('all', 'particle_velocity_cylindrical_theta') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,102 Succeeded with ('all', 'mesh_id') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,102 Succeeded with ('all', 'particle_velocity_x') (needs {('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,103 Succeeded with ('all', 'particle_velocity') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,103 Succeeded with ('deposit', 'all_cic_velocity_y') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_mass'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,104 Succeeded with ('all', 'particle_velocity_z') (needs {('all', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,104 Succeeded with ('all', 'particle_velocity_cylindrical_z') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,104 Succeeded with ('all', 'particle_extra_field_1') (needs {('all', 'particle_extra_field_1')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,106 Succeeded with ('all', 'particle_angular_momentum') (needs {('all', 'particle_velocity_y'), ('all', 'particle_mass'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,106 Succeeded with ('all', 'particle_velocity_y') (needs {('all', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,106 Succeeded with ('all', 'relative_particle_position_z') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,107 Succeeded with ('all', 'particle_angular_momentum_magnitude') (needs {('all', 'particle_velocity_y'), ('all', 'particle_mass'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,107 Succeeded with ('all', 'particle_position_y') (needs {('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,108 Succeeded with ('all', 'relative_particle_position') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,108 Succeeded with ('all', 'particle_position_z') (needs {('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,108 Succeeded with ('all', 'particle_specific_angular_momentum_z') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,109 Succeeded with ('all', 'particle_mass') (needs {('all', 'particle_mass')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,110 Succeeded with ('all', 'particle_position_x') (needs {('all', 'particle_position_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,110 Succeeded with ('all', 'particle_refinement_level') (needs {('all', 'particle_refinement_level')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,112 Succeeded with ('all', 'particle_velocity_spherical_radius') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,112 Succeeded with ('deposit', 'all_cic_velocity_z') (needs {('all', 'particle_position_x'), ('all', 'particle_mass'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,113 Succeeded with ('all', 'relative_particle_velocity') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,114 Succeeded with ('all', 'particle_angular_momentum_y') (needs {('all', 'particle_velocity_y'), ('all', 'particle_mass'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,114 Succeeded with ('all', 'relative_particle_velocity_x') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,114 Succeeded with ('all', 'particle_position_spherical_radius') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,115 Succeeded with ('all', 'particle_velocity_relative_y') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,116 Succeeded with ('all', 'particle_position_cylindrical_theta') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,117 Succeeded with ('all', 'particle_velocity_relative_x') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,117 Succeeded with ('deposit', 'all_nn_velocity_x') (needs {('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_mass'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,117 Succeeded with ('all', 'particle_extra_field_2') (needs {('all', 'particle_extra_field_2')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,118 Succeeded with ('deposit', 'all_nn_velocity_z') (needs {('all', 'particle_position_x'), ('all', 'particle_mass'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,119 Succeeded with ('all', 'particle_position_relative_y') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,120 Succeeded with ('all', 'particle_position_spherical_phi') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,121 Succeeded with ('all', 'particle_position_cylindrical_radius') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,121 Succeeded with ('all', 'particle_position_relative_x') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,122 Succeeded with ('all', 'relative_particle_velocity_y') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,122 Succeeded with ('all', 'particle_position') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,123 Succeeded with ('all', 'relative_particle_position_y') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,123 Succeeded with ('all', 'particle_index') (needs {('all', 'particle_identity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,124 Succeeded with ('all', 'particle_position_cylindrical_z') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,125 Succeeded with ('all', 'particle_velocity_spherical_phi') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,126 Succeeded with ('deposit', 'all_density') (needs {('all', 'particle_mass'), ('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,126 Succeeded with ('all', 'particle_velocity_relative_z') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,127 Succeeded with ('deposit', 'all_mass') (needs {('all', 'particle_mass'), ('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,127 Creating Particle Union 'nbody'\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,131 Succeeded with ('nbody', 'particle_angular_momentum_y') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_position_z'), ('nbody', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,132 Succeeded with ('deposit', 'nbody_cic_velocity_z') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,133 Succeeded with ('nbody', 'particle_position_cylindrical_z') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,133 Succeeded with ('nbody', 'particle_mass') (needs {('nbody', 'particle_mass')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,134 Succeeded with ('nbody', 'particle_velocity_spherical_phi') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,134 Succeeded with ('nbody', 'particle_position_x') (needs {('nbody', 'particle_position_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,135 Succeeded with ('nbody', 'particle_angular_momentum_magnitude') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_position_z'), ('nbody', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,136 Succeeded with ('nbody', 'particle_velocity_spherical_theta') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,137 Succeeded with ('deposit', 'nbody_cic') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y'), ('nbody', 'particle_mass')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,137 Succeeded with ('nbody', 'relative_particle_velocity_z') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,138 Succeeded with ('nbody', 'particle_specific_angular_momentum_y') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,139 Succeeded with ('deposit', 'nbody_count') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,139 Succeeded with ('nbody', 'particle_velocity_relative_z') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,140 Succeeded with ('nbody', 'particle_radial_velocity') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,141 Succeeded with ('nbody', 'particle_velocity_z') (needs {('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,141 Succeeded with ('nbody', 'particle_velocity_cylindrical_radius') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,142 Succeeded with ('deposit', 'nbody_nn_velocity_x') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,142 Succeeded with ('nbody', 'particle_position_relative_y') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,143 Succeeded with ('nbody', 'particle_position_spherical_radius') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,143 Succeeded with ('nbody', 'particle_angular_momentum') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_position_z'), ('nbody', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,144 Succeeded with ('nbody', 'relative_particle_velocity_y') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,144 Succeeded with ('nbody', 'particle_angular_momentum_x') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_position_z'), ('nbody', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,145 Succeeded with ('nbody', 'particle_position_y') (needs {('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,145 Succeeded with ('deposit', 'nbody_cic_velocity_x') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,146 Succeeded with ('nbody', 'relative_particle_velocity') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,146 Succeeded with ('nbody', 'particle_position_cylindrical_theta') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,147 Succeeded with ('nbody', 'particle_ones') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,147 Succeeded with ('nbody', 'particle_position_spherical_phi') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,148 Succeeded with ('nbody', 'particle_angular_momentum_z') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_position_z'), ('nbody', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,149 Succeeded with ('deposit', 'nbody_density') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y'), ('nbody', 'particle_mass')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,150 Succeeded with ('deposit', 'nbody_cic_velocity_y') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_position_z'), ('nbody', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,150 Succeeded with ('deposit', 'nbody_nn_velocity_y') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_position_z'), ('nbody', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,151 Succeeded with ('nbody', 'particle_radius') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,151 Succeeded with ('nbody', 'particle_extra_field_2') (needs {('nbody', 'particle_extra_field_2')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,151 Succeeded with ('nbody', 'relative_particle_position_z') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,152 Succeeded with ('deposit', 'nbody_nn_velocity_z') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,152 Succeeded with ('nbody', 'particle_index') (needs {('nbody', 'particle_identity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,152 Succeeded with ('nbody', 'particle_position_relative_z') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,153 Succeeded with ('nbody', 'particle_velocity') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,153 Succeeded with ('deposit', 'nbody_mass') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y'), ('nbody', 'particle_mass')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,154 Succeeded with ('nbody', 'relative_particle_position') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,154 Succeeded with ('nbody', 'particle_velocity_relative_x') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,154 Succeeded with ('nbody', 'relative_particle_position_x') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,156 Succeeded with ('nbody', 'particle_velocity_spherical_radius') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,156 Succeeded with ('nbody', 'particle_velocity_cylindrical_theta') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,156 Succeeded with ('nbody', 'particle_identity') (needs {('nbody', 'particle_identity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,157 Succeeded with ('nbody', 'particle_velocity_magnitude') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,157 Succeeded with ('nbody', 'mesh_id') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,158 Succeeded with ('nbody', 'particle_specific_angular_momentum') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,158 Succeeded with ('nbody', 'particle_extra_field_1') (needs {('nbody', 'particle_extra_field_1')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,159 Succeeded with ('nbody', 'particle_position_spherical_theta') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,159 Succeeded with ('nbody', 'particle_velocity_x') (needs {('nbody', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,160 Succeeded with ('nbody', 'particle_specific_angular_momentum_z') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,160 Succeeded with ('nbody', 'relative_particle_velocity_x') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,161 Succeeded with ('nbody', 'particle_specific_angular_momentum_x') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,161 Succeeded with ('nbody', 'particle_velocity_relative_y') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,162 Succeeded with ('nbody', 'particle_position') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,162 Succeeded with ('nbody', 'particle_velocity_y') (needs {('nbody', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,162 Succeeded with ('nbody', 'particle_refinement_level') (needs {('nbody', 'particle_refinement_level')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,163 Succeeded with ('nbody', 'particle_position_relative_x') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,163 Succeeded with ('nbody', 'relative_particle_position_y') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,163 Succeeded with ('nbody', 'particle_position_z') (needs {('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,164 Succeeded with ('nbody', 'particle_position_cylindrical_radius') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,164 Succeeded with ('nbody', 'particle_velocity_cylindrical_z') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,165 Loading field plugins for field type: gas.\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,166 Loaded angular_momentum (8 new fields)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,167 Loaded astro (22 new fields)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,167 Loaded cosmology (29 new fields)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,170 Loaded fluid (95 new fields)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,173 Loaded fluid_vector (127 new fields)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,174 Loaded geometric (140 new fields)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,174 Loaded local (140 new fields)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,175 Loaded magnetic_field (140 new fields)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,175 Loaded my_plugins (140 new fields)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,175 Loaded species (140 new fields)\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,177 Succeeded with ('gas', 'specific_angular_momentum_y') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,179 Succeeded with ('gas', 'angular_momentum_magnitude') (needs {('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity'), ('ramses', 'y-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,180 Succeeded with ('gas', 'specific_angular_momentum_x') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,181 Succeeded with ('gas', 'angular_momentum_z') (needs {('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity'), ('ramses', 'y-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,183 Succeeded with ('gas', 'angular_momentum_y') (needs {('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity'), ('ramses', 'y-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,184 Succeeded with ('gas', 'angular_momentum_x') (needs {('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity'), ('ramses', 'y-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,185 Succeeded with ('gas', 'specific_angular_momentum_z') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,187 Succeeded with ('gas', 'specific_angular_momentum_magnitude') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,187 Succeeded with ('gas', 'lorentz_factor') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,189 Succeeded with ('gas', 'dynamical_time') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,190 Succeeded with ('gas', 'four_velocity_magnitude') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,191 Succeeded with ('gas', 'four_velocity_y') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,193 Succeeded with ('gas', 'jeans_mass') (needs {('ramses', 'Pressure'), ('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,194 Succeeded with ('gas', 'four_velocity_z') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,195 Succeeded with ('gas', 'four_velocity_x') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,197 Succeeded with ('gas', 'four_velocity_t') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,201 Succeeded with ('gas', 'baryon_overdensity') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,201 Succeeded with ('index', 'virial_radius_fraction') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,202 Succeeded with ('gas', 'velocity_cylindrical_z') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,204 Succeeded with ('gas', 'velocity_cylindrical_theta') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,205 Succeeded with ('gas', 'density_gradient_z') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,208 Succeeded with ('gas', 'velocity_spherical_theta') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,209 Succeeded with ('gas', 'cutting_plane_velocity_y') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,209 Succeeded with ('gas', 'velocity_magnitude') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,210 Succeeded with ('gas', 'pressure_gradient_y') (needs {('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,211 Succeeded with ('gas', 'cutting_plane_velocity_z') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,212 Succeeded with ('gas', 'pressure_gradient_x') (needs {('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,212 Succeeded with ('gas', 'sound_speed') (needs {('ramses', 'Pressure'), ('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,216 Succeeded with ('gas', 'tangential_velocity') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,216 Succeeded with ('gas', 'relative_velocity_y') (needs {('ramses', 'y-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,217 Succeeded with ('gas', 'cell_mass') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,218 Succeeded with ('gas', 'velocity_los') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,218 Succeeded with ('gas', 'momentum_y') (needs {('ramses', 'Density'), ('ramses', 'y-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,219 Succeeded with ('gas', 'metal_mass') (needs {('ramses', 'Density'), ('ramses', 'Metallicity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,220 Succeeded with ('gas', 'relative_velocity_x') (needs {('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,223 Succeeded with ('gas', 'radial_mach_number') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,224 Succeeded with ('gas', 'density_gradient_magnitude') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,224 Succeeded with ('gas', 'momentum_density_x') (needs {('ramses', 'Density'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,225 Succeeded with ('gas', 'momentum_z') (needs {('ramses', 'Density'), ('ramses', 'z-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,229 Succeeded with ('gas', 'velocity_spherical_radius') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,232 Succeeded with ('gas', 'radial_velocity_absolute') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,233 Succeeded with ('gas', 'mach_number') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,234 Succeeded with ('gas', 'mass') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,234 Succeeded with ('gas', 'density_gradient_y') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,236 Succeeded with ('gas', 'velocity_divergence_absolute') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,236 Succeeded with ('gas', 'mean_molecular_weight') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,237 Succeeded with ('gas', 'relative_velocity_z') (needs {('ramses', 'z-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,237 Succeeded with ('gas', 'momentum_density_z') (needs {('ramses', 'Density'), ('ramses', 'z-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,240 Succeeded with ('gas', 'averaged_density') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,241 Succeeded with ('gas', 'courant_time_step') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,243 Succeeded with ('gas', 'velocity_cylindrical_radius') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,244 Succeeded with ('gas', 'velocity_divergence') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,248 Succeeded with ('gas', 'radial_velocity') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,248 Succeeded with ('gas', 'number_density') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,249 Succeeded with ('gas', 'pressure_gradient_magnitude') (needs {('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,250 Succeeded with ('gas', 'kT') (needs {('ramses', 'Pressure'), ('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,251 Succeeded with ('gas', 'density_gradient_x') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,251 Succeeded with ('gas', 'momentum_x') (needs {('ramses', 'Density'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,252 Succeeded with ('gas', 'kinetic_energy_density') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity'), ('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,253 Succeeded with ('gas', 'pressure_gradient_z') (needs {('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,253 Succeeded with ('gas', 'momentum_density_y') (needs {('ramses', 'Density'), ('ramses', 'y-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,257 Succeeded with ('gas', 'tangential_over_velocity_magnitude') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,258 Succeeded with ('gas', 'cutting_plane_velocity_x') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,260 Succeeded with ('gas', 'velocity_spherical_phi') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,261 Succeeded with ('gas', 'vorticity_y') (needs {('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,262 Succeeded with ('gas', 'baroclinic_vorticity_x') (needs {('ramses', 'Density'), ('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,267 Succeeded with ('gas', 'vorticity_growth_z') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,269 Succeeded with ('gas', 'shear_criterion') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,271 Succeeded with ('gas', 'vorticity_squared') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"RAMSESIndex._initialize_oct_handler called, found cpu_list=range(0, 16)\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,274 Succeeded with ('gas', 'vorticity_growth_magnitude_absolute') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,276 Succeeded with ('gas', 'vorticity_growth_y') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,277 Succeeded with ('gas', 'vorticity_stretching_x') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,281 Succeeded with ('gas', 'vorticity_growth_magnitude') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,283 Succeeded with ('gas', 'vorticity_stretching_magnitude') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,284 Succeeded with ('gas', 'shear') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,285 Succeeded with ('gas', 'vorticity_stretching_z') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,286 Succeeded with ('gas', 'vorticity_z') (needs {('ramses', 'y-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,287 Succeeded with ('gas', 'vorticity_x') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,297 Succeeded with ('gas', 'vorticity_growth_x') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,300 Succeeded with ('gas', 'shear_mach') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,301 Succeeded with ('gas', 'baroclinic_vorticity_y') (needs {('ramses', 'Density'), ('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,303 Succeeded with ('gas', 'baroclinic_vorticity_magnitude') (needs {('ramses', 'Density'), ('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,304 Succeeded with ('gas', 'baroclinic_vorticity_z') (needs {('ramses', 'Density'), ('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,306 Succeeded with ('gas', 'vorticity_stretching_y') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,308 Succeeded with ('gas', 'vorticity_growth_timescale') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,310 Succeeded with ('gas', 'vorticity_magnitude') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,311 Succeeded with ('index', 'spherical_phi') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,312 Succeeded with ('index', 'radius') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,313 Succeeded with ('index', 'cylindrical_z') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,314 Succeeded with ('index', 'zeros') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,315 Succeeded with ('index', 'cylindrical_radius') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,315 Succeeded with ('index', 'ones_over_dx') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,316 Succeeded with ('index', 'grid_indices') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,316 Succeeded with ('index', 'ones') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,317 Succeeded with ('index', 'morton_index') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,318 Succeeded with ('index', 'spherical_radius') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,319 Succeeded with ('index', 'spherical_theta') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,320 Succeeded with ('index', 'cylindrical_theta') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,321 Succeeded with ('index', 'grid_level') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,321 Succeeded with ('gravity', 'x-acceleration') (needs {('gravity', 'x-acceleration')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,322 Succeeded with ('gas', 'acceleration_x') (needs {('gravity', 'x-acceleration')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,322 Succeeded with ('gravity', 'y-acceleration') (needs {('gravity', 'y-acceleration')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,322 Succeeded with ('gas', 'acceleration_y') (needs {('gravity', 'y-acceleration')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,323 Succeeded with ('gravity', 'z-acceleration') (needs {('gravity', 'z-acceleration')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,323 Succeeded with ('gas', 'acceleration_z') (needs {('gravity', 'z-acceleration')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,323 Succeeded with ('ramses', 'Density') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,324 Succeeded with ('gas', 'density') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,324 Succeeded with ('ramses', 'Metallicity') (needs {('ramses', 'Metallicity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,324 Succeeded with ('gas', 'metallicity') (needs {('ramses', 'Metallicity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,324 Succeeded with ('ramses', 'Pressure') (needs {('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,325 Succeeded with ('gas', 'pressure') (needs {('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,325 Succeeded with ('ramses', 'x-velocity') (needs {('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,325 Succeeded with ('gas', 'velocity_x') (needs {('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,326 Succeeded with ('ramses', 'y-velocity') (needs {('ramses', 'y-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,326 Succeeded with ('gas', 'velocity_y') (needs {('ramses', 'y-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,326 Succeeded with ('ramses', 'z-velocity') (needs {('ramses', 'z-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,327 Succeeded with ('gas', 'velocity_z') (needs {('ramses', 'z-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,327 Succeeded with ('index', 'dx') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,327 Succeeded with ('index', 'path_element_x') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,328 Succeeded with ('index', 'x') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,328 Succeeded with ('index', 'vertex_x') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,329 Succeeded with ('index', 'dy') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,329 Succeeded with ('index', 'path_element_y') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,330 Succeeded with ('index', 'y') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,331 Succeeded with ('index', 'vertex_y') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,331 Succeeded with ('index', 'dz') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,332 Succeeded with ('index', 'path_element_z') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,333 Succeeded with ('index', 'z') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,334 Succeeded with ('index', 'vertex_z') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,334 Succeeded with ('index', 'cell_volume') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,335 Succeeded with ('index', 'volume') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,335 Succeeded with ('gas', 'temperature') (needs {('ramses', 'Pressure'), ('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,335 Succeeded with ('io', 'particle_identity') (needs {('io', 'particle_identity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,336 Succeeded with ('io', 'particle_index') (needs {('io', 'particle_identity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,336 Succeeded with ('io', 'particle_mass') (needs {('io', 'particle_mass')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,336 Succeeded with ('io', 'particle_position_x') (needs {('io', 'particle_position_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,336 Succeeded with ('io', 'particle_position_y') (needs {('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,336 Succeeded with ('io', 'particle_position_z') (needs {('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,337 Succeeded with ('io', 'particle_refinement_level') (needs {('io', 'particle_refinement_level')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,337 Succeeded with ('io', 'particle_velocity_x') (needs {('io', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,337 Succeeded with ('io', 'particle_velocity_y') (needs {('io', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,337 Succeeded with ('io', 'particle_velocity_z') (needs {('io', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,338 Succeeded with ('io', 'particle_position') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,338 Succeeded with ('io', 'particle_velocity') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,339 Succeeded with ('deposit', 'io_count') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,339 Succeeded with ('deposit', 'io_mass') (needs {('io', 'particle_mass'), ('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,340 Succeeded with ('deposit', 'io_density') (needs {('io', 'particle_mass'), ('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,341 Succeeded with ('deposit', 'io_cic') (needs {('io', 'particle_mass'), ('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,341 Succeeded with ('deposit', 'io_cic_velocity_x') (needs {('io', 'particle_position_x'), ('io', 'particle_position_y'), ('io', 'particle_velocity_x'), ('io', 'particle_mass'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,342 Succeeded with ('deposit', 'io_nn_velocity_x') (needs {('io', 'particle_position_x'), ('io', 'particle_position_y'), ('io', 'particle_velocity_x'), ('io', 'particle_mass'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,342 Succeeded with ('deposit', 'io_cic_velocity_y') (needs {('io', 'particle_velocity_y'), ('io', 'particle_position_x'), ('io', 'particle_position_y'), ('io', 'particle_mass'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,343 Succeeded with ('deposit', 'io_nn_velocity_y') (needs {('io', 'particle_velocity_y'), ('io', 'particle_position_x'), ('io', 'particle_position_y'), ('io', 'particle_mass'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,343 Succeeded with ('deposit', 'io_cic_velocity_z') (needs {('io', 'particle_velocity_z'), ('io', 'particle_position_x'), ('io', 'particle_position_y'), ('io', 'particle_mass'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,344 Succeeded with ('deposit', 'io_nn_velocity_z') (needs {('io', 'particle_velocity_z'), ('io', 'particle_position_x'), ('io', 'particle_position_y'), ('io', 'particle_mass'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,344 Succeeded with ('io', 'particle_ones') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,345 Succeeded with ('io', 'mesh_id') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,345 Succeeded with ('io', 'particle_velocity_magnitude') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,346 Succeeded with ('io', 'particle_specific_angular_momentum') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_position_x'), ('io', 'particle_velocity_x'), ('io', 'particle_position_y'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,347 Succeeded with ('io', 'particle_specific_angular_momentum_x') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_position_x'), ('io', 'particle_velocity_x'), ('io', 'particle_position_y'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,348 Succeeded with ('io', 'particle_angular_momentum_x') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_mass'), ('io', 'particle_position_x'), ('io', 'particle_velocity_x'), ('io', 'particle_position_y'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,348 Succeeded with ('io', 'particle_specific_angular_momentum_y') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_position_x'), ('io', 'particle_velocity_x'), ('io', 'particle_position_y'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,349 Succeeded with ('io', 'particle_angular_momentum_y') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_mass'), ('io', 'particle_position_x'), ('io', 'particle_velocity_x'), ('io', 'particle_position_y'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,350 Succeeded with ('io', 'particle_specific_angular_momentum_z') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_position_x'), ('io', 'particle_velocity_x'), ('io', 'particle_position_y'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,350 Succeeded with ('io', 'particle_angular_momentum_z') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_mass'), ('io', 'particle_position_x'), ('io', 'particle_velocity_x'), ('io', 'particle_position_y'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,351 Succeeded with ('io', 'particle_angular_momentum') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_mass'), ('io', 'particle_position_x'), ('io', 'particle_velocity_x'), ('io', 'particle_position_y'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,352 Succeeded with ('io', 'particle_angular_momentum_magnitude') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_mass'), ('io', 'particle_position_x'), ('io', 'particle_velocity_x'), ('io', 'particle_position_y'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,352 Succeeded with ('io', 'particle_radius') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,353 Succeeded with ('io', 'relative_particle_position') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,353 Succeeded with ('io', 'relative_particle_velocity') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,353 Succeeded with ('io', 'particle_velocity_relative_x') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,354 Succeeded with ('io', 'particle_position_relative_x') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,354 Succeeded with ('io', 'relative_particle_velocity_x') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,355 Succeeded with ('io', 'relative_particle_position_x') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,355 Succeeded with ('io', 'particle_velocity_relative_y') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,356 Succeeded with ('io', 'particle_position_relative_y') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,356 Succeeded with ('io', 'relative_particle_velocity_y') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,356 Succeeded with ('io', 'relative_particle_position_y') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,357 Succeeded with ('io', 'particle_velocity_relative_z') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,357 Succeeded with ('io', 'particle_position_relative_z') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,357 Succeeded with ('io', 'relative_particle_velocity_z') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,358 Succeeded with ('io', 'relative_particle_position_z') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,358 Succeeded with ('io', 'particle_position_spherical_radius') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,359 Succeeded with ('io', 'particle_position_spherical_theta') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,360 Succeeded with ('io', 'particle_position_spherical_phi') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,361 Succeeded with ('io', 'particle_velocity_spherical_radius') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_position_x'), ('io', 'particle_velocity_x'), ('io', 'particle_position_y'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,362 Succeeded with ('io', 'particle_radial_velocity') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_position_x'), ('io', 'particle_velocity_x'), ('io', 'particle_position_y'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,363 Succeeded with ('io', 'particle_velocity_spherical_theta') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_position_x'), ('io', 'particle_velocity_x'), ('io', 'particle_position_y'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,364 Succeeded with ('io', 'particle_velocity_spherical_phi') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_position_x'), ('io', 'particle_velocity_x'), ('io', 'particle_position_y'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,364 Succeeded with ('io', 'particle_position_cylindrical_radius') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,365 Succeeded with ('io', 'particle_position_cylindrical_theta') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,365 Succeeded with ('io', 'particle_position_cylindrical_z') (needs {('io', 'particle_position_x'), ('io', 'particle_position_z'), ('io', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,366 Succeeded with ('io', 'particle_velocity_cylindrical_radius') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_position_x'), ('io', 'particle_velocity_x'), ('io', 'particle_position_y'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,367 Succeeded with ('io', 'particle_velocity_cylindrical_theta') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_position_x'), ('io', 'particle_velocity_x'), ('io', 'particle_position_y'), ('io', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,368 Succeeded with ('io', 'particle_velocity_cylindrical_z') (needs {('io', 'particle_velocity_z'), ('io', 'particle_velocity_y'), ('io', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,368 Succeeded with ('io', 'particle_extra_field_1') (needs {('io', 'particle_extra_field_1')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,368 Succeeded with ('io', 'particle_extra_field_2') (needs {('io', 'particle_extra_field_2')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,369 Succeeded with ('gas', 'x') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,369 Succeeded with ('gas', 'y') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,370 Succeeded with ('gas', 'vertex_z') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,370 Succeeded with ('gas', 'dx') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,371 Succeeded with ('gas', 'cell_volume') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,371 Succeeded with ('gas', 'path_element_x') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,372 Succeeded with ('gas', 'vertex_y') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,373 Succeeded with ('gas', 'dz') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,373 Succeeded with ('gas', 'path_element_z') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,373 Succeeded with ('gas', 'volume') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,374 Succeeded with ('gas', 'vertex_x') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,375 Succeeded with ('gas', 'path_element_y') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,375 Succeeded with ('gas', 'z') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,375 Succeeded with ('gas', 'dy') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,376 Succeeded with ('ramses', 'x') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,376 Succeeded with ('ramses', 'y') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,377 Succeeded with ('ramses', 'vertex_z') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,377 Succeeded with ('ramses', 'dx') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,378 Succeeded with ('ramses', 'cell_volume') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,378 Succeeded with ('ramses', 'path_element_x') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,379 Succeeded with ('ramses', 'vertex_y') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,380 Succeeded with ('ramses', 'dz') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,380 Succeeded with ('ramses', 'path_element_z') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,381 Succeeded with ('ramses', 'volume') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,382 Succeeded with ('ramses', 'vertex_x') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,382 Succeeded with ('ramses', 'path_element_y') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,383 Succeeded with ('ramses', 'z') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,383 Succeeded with ('ramses', 'dy') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,384 Succeeded with ('gravity', 'x') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,384 Succeeded with ('gravity', 'y') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,385 Succeeded with ('gravity', 'vertex_z') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,385 Succeeded with ('gravity', 'dx') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,386 Succeeded with ('gravity', 'cell_volume') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,386 Succeeded with ('gravity', 'path_element_x') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,387 Succeeded with ('gravity', 'vertex_y') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,387 Succeeded with ('gravity', 'dz') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,388 Succeeded with ('gravity', 'path_element_z') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,388 Succeeded with ('gravity', 'volume') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,389 Succeeded with ('gravity', 'vertex_x') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,389 Succeeded with ('gravity', 'path_element_y') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,390 Succeeded with ('gravity', 'z') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,390 Succeeded with ('gravity', 'dy') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,391 Succeeded with ('all', 'particle_identity') (needs {('all', 'particle_identity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,391 Succeeded with ('all', 'particle_index') (needs {('all', 'particle_identity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,391 Succeeded with ('all', 'particle_mass') (needs {('all', 'particle_mass')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,392 Succeeded with ('all', 'particle_position_x') (needs {('all', 'particle_position_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,392 Succeeded with ('all', 'particle_position_y') (needs {('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,392 Succeeded with ('all', 'particle_position_z') (needs {('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,392 Succeeded with ('all', 'particle_refinement_level') (needs {('all', 'particle_refinement_level')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,393 Succeeded with ('all', 'particle_velocity_x') (needs {('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,393 Succeeded with ('all', 'particle_velocity_y') (needs {('all', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,393 Succeeded with ('all', 'particle_velocity_z') (needs {('all', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,393 Succeeded with ('all', 'particle_position') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,394 Succeeded with ('all', 'particle_velocity') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,395 Succeeded with ('deposit', 'all_count') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,396 Succeeded with ('deposit', 'all_mass') (needs {('all', 'particle_mass'), ('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,397 Succeeded with ('deposit', 'all_density') (needs {('all', 'particle_mass'), ('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,398 Succeeded with ('deposit', 'all_cic') (needs {('all', 'particle_mass'), ('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,398 Succeeded with ('deposit', 'all_cic_velocity_x') (needs {('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_mass'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,399 Succeeded with ('deposit', 'all_nn_velocity_x') (needs {('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_mass'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,399 Succeeded with ('deposit', 'all_cic_velocity_y') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_mass'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,400 Succeeded with ('deposit', 'all_nn_velocity_y') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_mass'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,400 Succeeded with ('deposit', 'all_cic_velocity_z') (needs {('all', 'particle_position_x'), ('all', 'particle_mass'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,401 Succeeded with ('deposit', 'all_nn_velocity_z') (needs {('all', 'particle_position_x'), ('all', 'particle_mass'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,401 Succeeded with ('all', 'particle_ones') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,402 Succeeded with ('all', 'mesh_id') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,402 Succeeded with ('all', 'particle_velocity_magnitude') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,403 Succeeded with ('all', 'particle_specific_angular_momentum') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,515 Succeeded with ('all', 'particle_specific_angular_momentum_x') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,517 Succeeded with ('all', 'particle_angular_momentum_x') (needs {('all', 'particle_velocity_y'), ('all', 'particle_mass'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,518 Succeeded with ('all', 'particle_specific_angular_momentum_y') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,519 Succeeded with ('all', 'particle_angular_momentum_y') (needs {('all', 'particle_velocity_y'), ('all', 'particle_mass'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,519 Succeeded with ('all', 'particle_specific_angular_momentum_z') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,520 Succeeded with ('all', 'particle_angular_momentum_z') (needs {('all', 'particle_velocity_y'), ('all', 'particle_mass'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,521 Succeeded with ('all', 'particle_angular_momentum') (needs {('all', 'particle_velocity_y'), ('all', 'particle_mass'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,522 Succeeded with ('all', 'particle_angular_momentum_magnitude') (needs {('all', 'particle_velocity_y'), ('all', 'particle_mass'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,522 Succeeded with ('all', 'particle_radius') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,523 Succeeded with ('all', 'relative_particle_position') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,523 Succeeded with ('all', 'relative_particle_velocity') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,523 Succeeded with ('all', 'particle_velocity_relative_x') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,524 Succeeded with ('all', 'particle_position_relative_x') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,524 Succeeded with ('all', 'relative_particle_velocity_x') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,524 Succeeded with ('all', 'relative_particle_position_x') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,525 Succeeded with ('all', 'particle_velocity_relative_y') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,525 Succeeded with ('all', 'particle_position_relative_y') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,526 Succeeded with ('all', 'relative_particle_velocity_y') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,526 Succeeded with ('all', 'relative_particle_position_y') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,526 Succeeded with ('all', 'particle_velocity_relative_z') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,527 Succeeded with ('all', 'particle_position_relative_z') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,527 Succeeded with ('all', 'relative_particle_velocity_z') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,527 Succeeded with ('all', 'relative_particle_position_z') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,528 Succeeded with ('all', 'particle_position_spherical_radius') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,528 Succeeded with ('all', 'particle_position_spherical_theta') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,529 Succeeded with ('all', 'particle_position_spherical_phi') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,530 Succeeded with ('all', 'particle_velocity_spherical_radius') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,532 Succeeded with ('all', 'particle_radial_velocity') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,533 Succeeded with ('all', 'particle_velocity_spherical_theta') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,534 Succeeded with ('all', 'particle_velocity_spherical_phi') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,535 Succeeded with ('all', 'particle_position_cylindrical_radius') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,535 Succeeded with ('all', 'particle_position_cylindrical_theta') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,535 Succeeded with ('all', 'particle_position_cylindrical_z') (needs {('all', 'particle_position_x'), ('all', 'particle_position_z'), ('all', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,536 Succeeded with ('all', 'particle_velocity_cylindrical_radius') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,537 Succeeded with ('all', 'particle_velocity_cylindrical_theta') (needs {('all', 'particle_velocity_y'), ('all', 'particle_position_x'), ('all', 'particle_velocity_x'), ('all', 'particle_position_y'), ('all', 'particle_velocity_z'), ('all', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,537 Succeeded with ('all', 'particle_velocity_cylindrical_z') (needs {('all', 'particle_velocity_z'), ('all', 'particle_velocity_y'), ('all', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,538 Succeeded with ('all', 'particle_extra_field_1') (needs {('all', 'particle_extra_field_1')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,538 Succeeded with ('all', 'particle_extra_field_2') (needs {('all', 'particle_extra_field_2')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,539 Succeeded with ('nbody', 'particle_identity') (needs {('nbody', 'particle_identity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,539 Succeeded with ('nbody', 'particle_index') (needs {('nbody', 'particle_identity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,539 Succeeded with ('nbody', 'particle_mass') (needs {('nbody', 'particle_mass')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,539 Succeeded with ('nbody', 'particle_position_x') (needs {('nbody', 'particle_position_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,539 Succeeded with ('nbody', 'particle_position_y') (needs {('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,540 Succeeded with ('nbody', 'particle_position_z') (needs {('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,540 Succeeded with ('nbody', 'particle_refinement_level') (needs {('nbody', 'particle_refinement_level')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,540 Succeeded with ('nbody', 'particle_velocity_x') (needs {('nbody', 'particle_velocity_x')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,540 Succeeded with ('nbody', 'particle_velocity_y') (needs {('nbody', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,540 Succeeded with ('nbody', 'particle_velocity_z') (needs {('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,541 Succeeded with ('nbody', 'particle_position') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,541 Succeeded with ('nbody', 'particle_velocity') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,542 Succeeded with ('deposit', 'nbody_count') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,543 Succeeded with ('deposit', 'nbody_mass') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y'), ('nbody', 'particle_mass')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,543 Succeeded with ('deposit', 'nbody_density') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y'), ('nbody', 'particle_mass')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,544 Succeeded with ('deposit', 'nbody_cic') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y'), ('nbody', 'particle_mass')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,544 Succeeded with ('deposit', 'nbody_cic_velocity_x') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,545 Succeeded with ('deposit', 'nbody_nn_velocity_x') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,546 Succeeded with ('deposit', 'nbody_cic_velocity_y') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_position_z'), ('nbody', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,546 Succeeded with ('deposit', 'nbody_nn_velocity_y') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_position_z'), ('nbody', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,547 Succeeded with ('deposit', 'nbody_cic_velocity_z') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,547 Succeeded with ('deposit', 'nbody_nn_velocity_z') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,548 Succeeded with ('nbody', 'particle_ones') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,549 Succeeded with ('nbody', 'mesh_id') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,549 Succeeded with ('nbody', 'particle_velocity_magnitude') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,550 Succeeded with ('nbody', 'particle_specific_angular_momentum') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,551 Succeeded with ('nbody', 'particle_specific_angular_momentum_x') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,551 Succeeded with ('nbody', 'particle_angular_momentum_x') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_position_z'), ('nbody', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,552 Succeeded with ('nbody', 'particle_specific_angular_momentum_y') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,552 Succeeded with ('nbody', 'particle_angular_momentum_y') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_position_z'), ('nbody', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,553 Succeeded with ('nbody', 'particle_specific_angular_momentum_z') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,554 Succeeded with ('nbody', 'particle_angular_momentum_z') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_position_z'), ('nbody', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,554 Succeeded with ('nbody', 'particle_angular_momentum') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_position_z'), ('nbody', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,555 Succeeded with ('nbody', 'particle_angular_momentum_magnitude') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_mass'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_position_z'), ('nbody', 'particle_velocity_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,555 Succeeded with ('nbody', 'particle_radius') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,556 Succeeded with ('nbody', 'relative_particle_position') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,556 Succeeded with ('nbody', 'relative_particle_velocity') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,557 Succeeded with ('nbody', 'particle_velocity_relative_x') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,557 Succeeded with ('nbody', 'particle_position_relative_x') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,557 Succeeded with ('nbody', 'relative_particle_velocity_x') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,558 Succeeded with ('nbody', 'relative_particle_position_x') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,558 Succeeded with ('nbody', 'particle_velocity_relative_y') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,559 Succeeded with ('nbody', 'particle_position_relative_y') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,559 Succeeded with ('nbody', 'relative_particle_velocity_y') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,559 Succeeded with ('nbody', 'relative_particle_position_y') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,560 Succeeded with ('nbody', 'particle_velocity_relative_z') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,560 Succeeded with ('nbody', 'particle_position_relative_z') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,560 Succeeded with ('nbody', 'relative_particle_velocity_z') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,561 Succeeded with ('nbody', 'relative_particle_position_z') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,561 Succeeded with ('nbody', 'particle_position_spherical_radius') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,561 Succeeded with ('nbody', 'particle_position_spherical_theta') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,562 Succeeded with ('nbody', 'particle_position_spherical_phi') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,563 Succeeded with ('nbody', 'particle_velocity_spherical_radius') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,564 Succeeded with ('nbody', 'particle_radial_velocity') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,565 Succeeded with ('nbody', 'particle_velocity_spherical_theta') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,566 Succeeded with ('nbody', 'particle_velocity_spherical_phi') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,566 Succeeded with ('nbody', 'particle_position_cylindrical_radius') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,566 Succeeded with ('nbody', 'particle_position_cylindrical_theta') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,567 Succeeded with ('nbody', 'particle_position_cylindrical_z') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_position_z'), ('nbody', 'particle_position_y')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,568 Succeeded with ('nbody', 'particle_velocity_cylindrical_radius') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,569 Succeeded with ('nbody', 'particle_velocity_cylindrical_theta') (needs {('nbody', 'particle_position_x'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_position_y'), ('nbody', 'particle_velocity_z'), ('nbody', 'particle_velocity_y'), ('nbody', 'particle_position_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,571 Succeeded with ('nbody', 'particle_velocity_cylindrical_z') (needs {('nbody', 'particle_velocity_y'), ('nbody', 'particle_velocity_x'), ('nbody', 'particle_velocity_z')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,571 Succeeded with ('nbody', 'particle_extra_field_1') (needs {('nbody', 'particle_extra_field_1')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,571 Succeeded with ('nbody', 'particle_extra_field_2') (needs {('nbody', 'particle_extra_field_2')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,572 Succeeded with ('gas', 'specific_angular_momentum_x') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,573 Succeeded with ('gas', 'specific_angular_momentum_y') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,574 Succeeded with ('gas', 'specific_angular_momentum_z') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,576 Succeeded with ('gas', 'specific_angular_momentum_magnitude') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,577 Succeeded with ('gas', 'angular_momentum_x') (needs {('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity'), ('ramses', 'y-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,578 Succeeded with ('gas', 'angular_momentum_y') (needs {('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity'), ('ramses', 'y-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,579 Succeeded with ('gas', 'angular_momentum_z') (needs {('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity'), ('ramses', 'y-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,581 Succeeded with ('gas', 'angular_momentum_magnitude') (needs {('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity'), ('ramses', 'y-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,582 Succeeded with ('gas', 'dynamical_time') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,583 Succeeded with ('gas', 'jeans_mass') (needs {('ramses', 'Pressure'), ('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,584 Succeeded with ('gas', 'lorentz_factor') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,585 Succeeded with ('gas', 'four_velocity_x') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,586 Succeeded with ('gas', 'four_velocity_y') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,587 Succeeded with ('gas', 'four_velocity_z') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,587 Succeeded with ('gas', 'four_velocity_t') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,588 Succeeded with ('gas', 'four_velocity_magnitude') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,589 Succeeded with ('gas', 'baryon_overdensity') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,590 Succeeded with ('index', 'virial_radius_fraction') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,590 Succeeded with ('gas', 'relative_velocity_x') (needs {('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,591 Succeeded with ('gas', 'relative_velocity_y') (needs {('ramses', 'y-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,591 Succeeded with ('gas', 'relative_velocity_z') (needs {('ramses', 'z-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,592 Succeeded with ('gas', 'velocity_magnitude') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,594 Succeeded with ('gas', 'velocity_spherical_radius') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,595 Succeeded with ('gas', 'velocity_los') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,598 Succeeded with ('gas', 'radial_velocity') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,600 Succeeded with ('gas', 'radial_velocity_absolute') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,603 Succeeded with ('gas', 'tangential_velocity') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,606 Succeeded with ('gas', 'velocity_spherical_theta') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,608 Succeeded with ('gas', 'velocity_spherical_phi') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,609 Succeeded with ('gas', 'cutting_plane_velocity_x') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,610 Succeeded with ('gas', 'cutting_plane_velocity_y') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,610 Succeeded with ('gas', 'cutting_plane_velocity_z') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,612 Succeeded with ('gas', 'velocity_divergence') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,613 Succeeded with ('gas', 'velocity_divergence_absolute') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,617 Succeeded with ('gas', 'tangential_over_velocity_magnitude') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,618 Succeeded with ('gas', 'velocity_cylindrical_radius') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,620 Succeeded with ('gas', 'velocity_cylindrical_theta') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,621 Succeeded with ('gas', 'velocity_cylindrical_z') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,621 Succeeded with ('gas', 'cell_mass') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,622 Succeeded with ('gas', 'mass') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,622 Succeeded with ('gas', 'momentum_x') (needs {('ramses', 'Density'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,623 Succeeded with ('gas', 'momentum_density_x') (needs {('ramses', 'Density'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,623 Succeeded with ('gas', 'momentum_y') (needs {('ramses', 'Density'), ('ramses', 'y-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,624 Succeeded with ('gas', 'momentum_density_y') (needs {('ramses', 'Density'), ('ramses', 'y-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,624 Succeeded with ('gas', 'momentum_z') (needs {('ramses', 'Density'), ('ramses', 'z-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,625 Succeeded with ('gas', 'momentum_density_z') (needs {('ramses', 'Density'), ('ramses', 'z-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,626 Succeeded with ('gas', 'sound_speed') (needs {('ramses', 'Pressure'), ('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,630 Succeeded with ('gas', 'radial_mach_number') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,631 Succeeded with ('gas', 'kinetic_energy_density') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity'), ('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,632 Succeeded with ('gas', 'mach_number') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,633 Succeeded with ('gas', 'courant_time_step') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,634 Succeeded with ('gas', 'kT') (needs {('ramses', 'Pressure'), ('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,635 Succeeded with ('gas', 'metal_mass') (needs {('ramses', 'Density'), ('ramses', 'Metallicity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,636 Succeeded with ('gas', 'number_density') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,636 Succeeded with ('gas', 'mean_molecular_weight') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,637 Succeeded with ('gas', 'pressure_gradient_x') (needs {('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,638 Succeeded with ('gas', 'pressure_gradient_y') (needs {('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,639 Succeeded with ('gas', 'pressure_gradient_z') (needs {('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,640 Succeeded with ('gas', 'pressure_gradient_magnitude') (needs {('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,640 Succeeded with ('gas', 'density_gradient_x') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,641 Succeeded with ('gas', 'density_gradient_y') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,642 Succeeded with ('gas', 'density_gradient_z') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,643 Succeeded with ('gas', 'density_gradient_magnitude') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,644 Succeeded with ('gas', 'averaged_density') (needs {('ramses', 'Density')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,645 Succeeded with ('gas', 'baroclinic_vorticity_x') (needs {('ramses', 'Density'), ('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,646 Succeeded with ('gas', 'baroclinic_vorticity_y') (needs {('ramses', 'Density'), ('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,647 Succeeded with ('gas', 'baroclinic_vorticity_z') (needs {('ramses', 'Density'), ('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,649 Succeeded with ('gas', 'baroclinic_vorticity_magnitude') (needs {('ramses', 'Density'), ('ramses', 'Pressure')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,650 Succeeded with ('gas', 'vorticity_x') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,651 Succeeded with ('gas', 'vorticity_y') (needs {('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,651 Succeeded with ('gas', 'vorticity_z') (needs {('ramses', 'y-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,653 Succeeded with ('gas', 'vorticity_magnitude') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,654 Succeeded with ('gas', 'vorticity_squared') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,656 Succeeded with ('gas', 'vorticity_stretching_x') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,657 Succeeded with ('gas', 'vorticity_stretching_y') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,658 Succeeded with ('gas', 'vorticity_stretching_z') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,660 Succeeded with ('gas', 'vorticity_stretching_magnitude') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,662 Succeeded with ('gas', 'vorticity_growth_x') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,664 Succeeded with ('gas', 'vorticity_growth_y') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,667 Succeeded with ('gas', 'vorticity_growth_z') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,670 Succeeded with ('gas', 'vorticity_growth_magnitude') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,673 Succeeded with ('gas', 'vorticity_growth_magnitude_absolute') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,676 Succeeded with ('gas', 'vorticity_growth_timescale') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,677 Succeeded with ('gas', 'shear') (needs {('ramses', 'y-velocity'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,679 Succeeded with ('gas', 'shear_criterion') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,680 Succeeded with ('gas', 'shear_mach') (needs {('ramses', 'Pressure'), ('ramses', 'y-velocity'), ('ramses', 'Density'), ('ramses', 'z-velocity'), ('ramses', 'x-velocity')})\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,681 Succeeded with ('index', 'radius') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,682 Succeeded with ('index', 'grid_level') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,682 Succeeded with ('index', 'grid_indices') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,682 Succeeded with ('index', 'ones_over_dx') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,683 Succeeded with ('index', 'zeros') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,683 Succeeded with ('index', 'ones') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,684 Succeeded with ('index', 'morton_index') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,685 Succeeded with ('index', 'spherical_radius') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,686 Succeeded with ('index', 'spherical_theta') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,687 Succeeded with ('index', 'spherical_phi') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,688 Succeeded with ('index', 'cylindrical_radius') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,690 Succeeded with ('index', 'cylindrical_z') (needs set())\n", | |
"yt : [\u001b[35mDEBUG\u001b[0m ] 2023-11-07 17:59:39,691 Succeeded with ('index', 'cylindrical_theta') (needs set())\n" | |
] | |
} | |
], | |
"source": [ | |
"yt.mylog.setLevel(10)\n", | |
"ds.index\n", | |
"yt.mylog.setLevel(20)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The effect of building the index to allocated `domain` on the index:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[RAMSESDomainFile: 1,\n", | |
" RAMSESDomainFile: 2,\n", | |
" RAMSESDomainFile: 3,\n", | |
" RAMSESDomainFile: 4,\n", | |
" RAMSESDomainFile: 5,\n", | |
" RAMSESDomainFile: 6,\n", | |
" RAMSESDomainFile: 7,\n", | |
" RAMSESDomainFile: 8,\n", | |
" RAMSESDomainFile: 9,\n", | |
" RAMSESDomainFile: 10,\n", | |
" RAMSESDomainFile: 11,\n", | |
" RAMSESDomainFile: 12,\n", | |
" RAMSESDomainFile: 13,\n", | |
" RAMSESDomainFile: 14,\n", | |
" RAMSESDomainFile: 15,\n", | |
" RAMSESDomainFile: 16]" | |
] | |
}, | |
"execution_count": 19, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"ds.index.domains" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Each domain has its `oct_handler` object that provides a mapping from cell to on-file-index and allow selections. Note that since the information is essentially local, all that's required to read data from domain 1 is available in the `oct_handler`. " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(<yt.geometry.oct_container.RAMSESOctreeContainer at 0x7fa8bee05e40>,\n", | |
" <yt.geometry.oct_container.RAMSESOctreeContainer at 0x7fa8bee04e80>)" | |
] | |
}, | |
"execution_count": 21, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"ds.index.domains[0].oct_handler, ds.index.domains[1].oct_handler" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Finally, when we do a spatial selection, each `oct_handler` will be used to compute whether any cell it contains intersects with the region of interest." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 1 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8beedab10>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 2 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8beedab10>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 3 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8beedab10>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 4 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8beedab10>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 5 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8beedab10>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 6 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8beedab10>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 7 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8beedab10>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 8 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8beedab10>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 9 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8beedab10>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 10 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8beedab10>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 11 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8beedab10>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 12 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8beedab10>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 13 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8beedab10>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 14 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8beedab10>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 15 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8beedab10>\n", | |
"RAMSESDomainFile.included called with self=RAMSESDomainFile: 16 and selector=<yt.geometry.selection_routines.SphereSelector object at 0x7fa8beedab10>\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"unyt_array([6.12840258e-31, 6.82709750e-31, 7.51136517e-31, ...,\n", | |
" 2.44654416e-30, 3.28463246e-30, 3.32767942e-30], 'g/cm**3')" | |
] | |
}, | |
"execution_count": 17, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"sp = ds.sphere(center, radius=ds.quan(300, \"kpc\"))\n", | |
"sp[\"gas\", \"density\"]" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Recap of what happened under the hood on the main branch:\n", | |
"1. We load the dataset. Only metadata get read.\n", | |
"2. We create the index. All AMR files are read entirely.\n", | |
"3. We select some region. For each domain, we check whether any cell intersects using the oct.\n", | |
"4. For each selected domain:\n", | |
" - use the octree to select cells of interest by computing an array of the on-file location of each cell to retain,\n", | |
" - read the entirety of the data in the file (e.g. `hydro_00080.XXXXX`) into a big array,\n", | |
" - use the array of on-file location to copy the selected data, discard the rest." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# API 1: improving the existing\n", | |
"\n", | |
"This is a recap of what's been implemented in https://github.com/yt-project/yt/pull/4734.\n", | |
"\n", | |
"From the list above:\n", | |
"1. Already fast, nothing to do.\n", | |
"2. Build the `RAMSESDomainFile` objects, but do build the `oct_handler` yet, which allows skipping the reading of the `amr` files altogether.\n", | |
"3. Do a first intersection with the Hilbert curve to know which domains intersect with the bounding box of the region*. Here we have a choice, either read immediately the AMR structure and do the proper intersection (already a good speedup!) or go ahead, retaining all those that intersect the bounding box\n", | |
"4. For each selected domain\n", | |
" - use the octree to select cells. **This will trigger reading the AMR file if it hasn't been read yet**. Note that some domains will have 0 cells selected, so we do an early exit here\n", | |
" - read the entirety of the data in the file. Note that we may get speedup if we only read those levels that actually have a cell and those domains that do. **To be done.**\n", | |
" - use the array of on-file location to copy the selected data, discard the rest.\n", | |
"\n", | |
"*: here it would be really great to have refined ways of computing space-filling region intersections. At the moment, I'm relying on checking for the bounding box only, but this is overly conservative.\n", | |
"\n", | |
"\n", | |
"This approach already provides a massive speedup if we're only looking a small subregion of the simulation. If we're reading the entirety of the simulation, that's essentially the same as before." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# API 2: bring parallelization\n", | |
"\n", | |
"From the list above, we can envision a parallelization strategy as follows:\n", | |
"\n", | |
"1. Same.\n", | |
"2. Use `yt.parallel_objects` to scatter the domains to the MPI tasks available. Each MPI task will have a subset of the domains, and **each MPI task will thus have a different index**.\n", | |
"3. Same as in API0 or API1\n", | |
"4. Same as in API0 or API1 but at the end, we need to return the data to the user. I propose two options below that would implement this." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## API 2.1 Only the root has the entirety of the data\n", | |
"\n", | |
"The first option is, after we have read data, the selection container does a `MPI_Gatherv` operation to bring all the data back to the root (or the first element of our communicator). This could look like the following:" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Option 1" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"yt.enable_parallelism(strategy=\"root_only\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"ds = yt.load(\"output_00080\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"sp = ds.sphere(center, radius)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"This is the easy case, since `get_data` returns None already. We can get the data on each MPI task and do a MPI_Gatherv to bring everything back to the root.\n", | |
"Interestingly, we can even do an MPI_IGatherv to do this asynchronously and postpone concatenating everything to when we actually the data or when have\n", | |
"free CPU time?" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"sp.get_data([(\"gas\", \"density\"), (\"gas\", \"temperature\")])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Here this is getting a bit more tricky. I'd be tempted to write the following... but what should e.g. `density` contain when not on the root?\n", | |
"A stub that crashes whenever trying to actually do anything with it? An array full of nan?" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"density = sp[\"gas\", \"density\"]\n", | |
"temperature = sp[\"gas\", \"temperature\"]\n", | |
"x, y = sp[\"index\", \"x\"], sp[\"index\", \"y\"]\n", | |
"vz = sp[\"velocity_z\"]\n", | |
"\n", | |
"if yt.is_root():\n", | |
" # I know we could reuse PhasePlot, this is just for the example!\n", | |
" plt.hist2d(\n", | |
" density.to(\"mp/cm**3\").values,\n", | |
" temperature.values,\n", | |
" bins=(np.geomspace(1e-3, 1e3, 100), np.geomspace(10, 1e9, 100))\n", | |
" )\n", | |
"\n", | |
" # Assuming we have a third-party function that expect things to be locally available\n", | |
" # in-memory\n", | |
" ifu_mock = create_mock_ifu(\n", | |
" weights=density, # should be luminisity, but let's keep things simple\n", | |
" temperature=temperature, # for temperature broadening,\n", | |
" x=x, # should be relative to center, but whatever\n", | |
" y=y,\n", | |
" v=vz,\n", | |
" )\n", | |
"\n", | |
" # Who know, maybe the user simply wants to dump everything into an HDF5 file?\n", | |
" with h5py.File(\"my_data.h5\", \"w\") as hf:\n", | |
" for field in some_list_of_fields:\n", | |
" hf[\"__\".join(field)] = sp[field]\n", | |
" hf[\"__\".join(field)].attrs[\"units\"] = sp[field].units" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Alternatively, we may want to raise a `NotOnRootException` when accessing the container not on the root, something like:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"if yt.is_root():\n", | |
" density = sp[\"gas\", \"density\"]\n", | |
"else:\n", | |
" # This would raise an Exception\n", | |
" # density = sp[\"gas\", \"density\"]\n", | |
" pass" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Of course, that's not possible easily because non-root tasks need to know they have to read `(\"gas\", \"density\")`.\n", | |
"The easy solution is to force the user to use `sp.get_data` before accessing things, but that's a bit annoying and also prone to users doing the following:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# I am lazy and I don't want to think about what quantities I need so let's load'em'all\n", | |
"sp.get_data(ds.derived_field_list)\n", | |
"\n", | |
"# I am less lazy but I'm still annoyed I have to type twice the same thing\n", | |
"sp.get_data([(\"gas\", \"density\")])\n", | |
"\n", | |
"if yt.is_root():\n", | |
" sp[\"gas\", \"density\"] # in both cases, that would work" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Option 2\n", | |
"Maybe the complication above actually mean we should take a different approach. What if all the code was supposed to be executed on all processes, except for specific regions that are explicitely marked by the user? Something like" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"with yt.parallel_io(root_only=True):\n", | |
" sp[\"gas\", \"density\"]" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"On the root, we could do:\n", | |
"1. Whenever a field (or a list of fields) is requested, communicate the list to all other tasks (such that they trigger `get_data` on their side)\n", | |
"2. Read data on the root and then wait to gather data from other processes. Concatenate and return the value to the user.*\n", | |
"4. Repeat 1 until we leave the context.\n", | |
"5. Upon leaving the context, communicate to all other tasks that we're done by sending a special signal.\n", | |
"\n", | |
"On tasks that aren't the root, we could do:\n", | |
"1. Wait for getting a list of fields to read or for the end of the parallel section.\n", | |
"2. If we have a list of fields, read them, then send them back in a gather operation.\n", | |
"3. If we have received the end of the parallel section signal, free memory and leave the loop (without every executing it!)\n", | |
"\n", | |
"*: An important note: we need to ensure that the concatenation happens in the same order regardless of number of MPI tasks, otherwise that might be super confusing (I ran in the issue, yes). This can be done if task 0 get domains 0...N, then task 1 gets N+1,...M, etc. instead of the default of `parallel_objects` to give to task 0 objects 0, N, 2N, 3N to 0, then 1, N+1, 2N+1, ... to task 1, etc." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The nice thing with this approach is that we could implement consistently the operation where all nodes would have all data" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"with yt.parallel_io(root_only=False):\n", | |
" # this will be populated on all MPI tasks! Huge on memory, but it might be useful\n", | |
" sp[\"gas\", \"density\"] \n", | |
"\n", | |
" # A possible usecase? Run an embarassingly parallel function on the whole volume\n", | |
" # (e.g. raytracing with a third-party tool?)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Here, the behaviour of `sp` is the same as in the single-process case, except we do an `MPI_Allgatherv` operation at the end.\n", | |
"\n", | |
"One possible pitfall is if the user somehow decides to do access different fields on the root (or a given domain) than from the others. Than the gathering won't make sense anymore. Maybe one way to prevent this is to wrap the `sp.__getitem__` and `sp.get_data` such that they first do an MPI communication of the fields they're trying to get and we stop if one process is doing something else, raising an exception to the user.\n", | |
"\n", | |
"At the end of the with context, we can obtain the remaining fields that might have been sent by one MPI task doing things on its own to prevent deadlocks." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# This should raise an exception, because non-root and root accessed\n", | |
"# different fields, so we can't parallelize IO!\n", | |
"with yt.parallel_io(root_only=False):\n", | |
" if yt.is_root():\n", | |
" sp[\"gas\", \"density\"]\n", | |
" else:\n", | |
" sp[\"gas\", \"temperature\"]\n", | |
"\n", | |
"# This should work.\n", | |
"with yt.parallel_io(root_only=False):\n", | |
" sp.get_data([(\"gas\", \"density\"), (\"gas\", \"temperature\")])\n", | |
" \n", | |
" if yt.is_root():\n", | |
" sp[\"gas\", \"density\"]\n", | |
" else:\n", | |
" sp[\"gas\", \"temperature\"]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3 (ipykernel)", | |
"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.11.5" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment