{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%load_ext autoreload\n",
"%autoreload 2"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"don't have phil's colormaps\n"
]
}
],
"source": [
"import numpy as np\n",
"import os\n",
"\n",
"import sys\n",
"## ignore these lines, you do not need to add this if Firefly is pip installed into your PYTHONPATH\n",
"sys.path.insert(0, '/Users/ageller/VISUALIZATIONS/Firefly')\n",
"sys.path.insert(0,'/Users/agurvich/research/repos/firefly/src')\n",
"from firefly.data_reader import FIREreader,SimpleFIREreader,TweenParams\n",
"from abg_python.galaxy.gal_utils import Galaxy"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Convert FIRE data\n",
"In this example notebook we demonstrate how to use the `firefly.data_reader.FIREreader` sub-class which creates specialized data files for FIRE formatted data. The details of how the `FIREreader` class is \"specialized\" see the API documentation and to see the example of this output visit the live demo version."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Couldn't find a metadata file... for\n",
" Metadata object at /Users/agurvich/scratch/data/metal_diffusion/m12b_res57000/metadata/meta_Galaxy_600.hdf5\n",
"No rstar 1/2 in halo or metadata files, we will need to calculate it ourselves.\n",
"Loading star particles of m12b_res57000 at 600 at /Users/agurvich/snaps/metal_diffusion/m12b_res57000/output\n",
"Failed to open saved sub-snapshots AssertionError('Told not to use saved sub-snapshots')\n",
"Loading gas particles of m12b_res57000 at 600 at /Users/agurvich/snaps/metal_diffusion/m12b_res57000/output\n",
"Loading dark matter particles of m12b_res57000 at 600 at /Users/agurvich/snaps/metal_diffusion/m12b_res57000/output\n",
"Reorienting...\n",
"Done.\n",
"extract_halo_inner(m12b_res57000 at 600,){'orient_stars': True, 'use_saved_subsnapshots': False} 19.53 s elapsed\n",
"Snapshot memory free\n"
]
},
{
"data": {
"text/plain": [
"(12.27201256901771,\n",
" True,\n",
" 13.610546783496492,\n",
" -23.753615253930974,\n",
" 331.60968,\n",
" 2.454402513803542,\n",
" 140.56429531755958)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"galaxy = Galaxy('m12b_res57000',600)\n",
"galaxy.extractMainHalo(use_saved_subsnapshots=False)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"thetas = np.linspace(0,360,1000)/180*np.pi\n",
"coords = np.zeros((thetas.size,3))\n",
"coords[:,0] = 0\n",
"coords[:,1] = np.cos(thetas)\n",
"coords[:,2] = np.sin(thetas)\n",
"coords*=150\n",
"my_tweenParams = TweenParams(coords,30) ## dt = 3000 ms between frames"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Loading ptype 2\n",
"Loading ptype 1\n",
"Loading ptype 4\n",
"Loading ptype 0\n"
]
},
{
"data": {
"text/plain": [
"array([Gas - 622573/6225729 particles - 4 tracked fields,\n",
" Stars - 326473/3264723 particles - 3 tracked fields,\n",
" HRDM - 186461/9323040 particles - 2 tracked fields,\n",
" LRDM - 60846/3042265 particles - 2 tracked fields], dtype=object)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## create a FIRE reader object\n",
"reader = FIREreader(\n",
" ## path to directory containing (optionally multiple) .hdf5 files\n",
" snapdir = \"/Users/agurvich/research/snaps/metal_diffusion/m12b_res57000/output/\",\n",
" ## the snapshot number, best to provide separately in order to disambiguate\n",
" snapnum = 600,\n",
" ## particle types one would like to extract from .hdf5 files\n",
" ptypes=[0,4,1,2],\n",
" ## what to call them in the UI\n",
" UInames=['Gas','Stars','HRDM','LRDM'],\n",
" ## by what factor would we like to reduce the data for performance stability and disk space concerns\n",
" decimation_factors=[10,10,50,50],\n",
" ## what fields would we like to extract\n",
" fields=['Density','Temperature','AgeGyr','GCRadius'],\n",
" ## do we want to take the magnitude of any of these fields?\n",
" ## do we want to take the log? \n",
" logFlags=[True,True,False,False],\n",
" ## which fields do we want to be able to filter on?\n",
" filterFlags=[True,True,True,True],\n",
" ## which fields do we want to be able to colormap by?\n",
" colormapFlags=[True,True,True,True],\n",
" radiusFlags=[False,True,True,False],\n",
" ## where should the output .json files be saved to? \n",
" ## if a relative path is given, like here, saves to $HOME/\n",
" ## and creates a soft-link to firefly/static/data\n",
" datadir=os.path.abspath(os.path.join(os.getcwd(),'..','static','data','FIRESampleData')),\n",
" ## overwrite the existing startup.json file\n",
" write_startup=True,\n",
" clean_datadir=True,\n",
" tweenParams=my_tweenParams)\n",
"\n",
"## fetch data from .hdf5 files\n",
"reader.loadData(com=galaxy.scom,vcom=galaxy.sub_snap['vscom'])"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"## initialize the camera view\n",
"camera = np.array([251,-117,82])\n",
"camera = camera/np.linalg.norm(camera)*250\n",
"reader.settings['camera'] = camera\n",
"\n",
"## set the initial colors of each of the particle groups\n",
"reader.settings['color']['Gas']=[1,0,0,1]\n",
"reader.settings['color']['Stars'] = [1,1,1,0.025]\n",
"reader.settings['color']['HRDM'] = [0.5,0,0.5,1]\n",
"reader.settings['color']['LRDM'] = [0.5,0,0.5,1]\n",
"\n",
"## set the sizes of each of the particle groups\n",
"reader.settings['sizeMult']['Gas']=0.25\n",
"reader.settings['sizeMult']['Stars']=0.03\n",
"reader.settings['sizeMult']['HRDM']=1\n",
"reader.settings['sizeMult']['LRDM']=1"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"## initialize the gas with a colormap\n",
"reader.settings['showColormap']['Gas'] = True\n",
"reader.settings['blendingMode']['Gas'] = 'normal'\n",
"reader.settings['depthTest']['Gas'] = True\n",
"reader.settings['colormapVariable']['Gas'] = 3\n",
"reader.settings['colormapLims']['Gas']['Velocity'] = [50,500]\n",
"reader.settings['colormapVals']['Gas']['Velocity'] = [50,500]\n",
"\n",
"## initialize the gas with radius scaling (index 1 corresponds to Temperature, specified above)\n",
"reader.settings['radiusVariable']['Gas'] = 1\n",
"\n",
"## initialize gas with velocity vectors\n",
"reader.settings['showVel']['Gas'] = True\n",
"reader.settings['velType']['Gas'] = 'arrow'\n",
"\n",
"## initialize HRDM with a filter excluding the center so as not to crowd the view\n",
"reader.settings['filterVals']['HRDM']['GCRadius'] = [300,5000]\n",
"reader.settings['filterLims']['HRDM']['GCRadius'] = [0,5000]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Gas - 622573/6225729 particles - 4 tracked fields\n",
"Stars - 326473/3264723 particles - 3 tracked fields\n",
"HRDM - 186461/9323040 particles - 2 tracked fields\n",
"LRDM - 60846/3042265 particles - 2 tracked fields\n"
]
},
{
"data": {
"text/plain": [
"''"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## dump output to .ffly files\n",
"reader.writeToDisk()"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Gas - 3112865/6225729 particles - 4 tracked fields\n",
"Stars - 1632362/3264723 particles - 3 tracked fields\n",
"HRDM - 932304/9323040 particles - 2 tracked fields\n",
"LRDM - 304227/3042265 particles - 2 tracked fields\n",
"Initializing a new GitHub repository at /Users/agurvich/FIRE_lowres with\n",
"\tGHREPONAME: FIRE_lowres\n",
"\tGHUSER: agurvich\n",
"\tGHOAUTHTOKENPATH: /Users/agurvich/.github.token\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" % Total % Received % Xferd Average Speed Time Time Time Current\n",
" Dload Upload Total Spent Left Speed\n",
"100 5766 100 5744 100 22 4401 16 0:00:01 0:00:01 --:--:-- 4473\n",
"To github.com:agurvich/FIRE_lowres.git\n",
" * [new branch] main -> main\n",
" % Total % Received % Xferd Average Speed Time Time Time Current\n",
" Dload Upload Total Spent Left Speed\n",
"100 626 100 587 100 39 930 61 --:--:-- --:--:-- --:--:-- 1012\n"
]
},
{
"data": {
"text/plain": [
"['{',\n",
" ' \"id\": 516071472,',\n",
" ' \"node_id\": \"R_kgDOHsKgMA\",',\n",
" ' \"name\": \"FIRE_lowres\",',\n",
" ' \"full_name\": \"agurvich/FIRE_lowres\",',\n",
" ' \"private\": false,',\n",
" ' \"owner\": {',\n",
" ' \"login\": \"agurvich\",',\n",
" ' \"id\": 7799423,',\n",
" ' \"node_id\": \"MDQ6VXNlcjc3OTk0MjM=\",',\n",
" ' \"avatar_url\": \"https://avatars.githubusercontent.com/u/7799423?v=4\",',\n",
" ' \"gravatar_id\": \"\",',\n",
" ' \"url\": \"https://api.github.com/users/agurvich\",',\n",
" ' \"html_url\": \"https://github.com/agurvich\",',\n",
" ' \"followers_url\": \"https://api.github.com/users/agurvich/followers\",',\n",
" ' \"following_url\": \"https://api.github.com/users/agurvich/following{/other_user}\",',\n",
" ' \"gists_url\": \"https://api.github.com/users/agurvich/gists{/gist_id}\",',\n",
" ' \"starred_url\": \"https://api.github.com/users/agurvich/starred{/owner}{/repo}\",',\n",
" ' \"subscriptions_url\": \"https://api.github.com/users/agurvich/subscriptions\",',\n",
" ' \"organizations_url\": \"https://api.github.com/users/agurvich/orgs\",',\n",
" ' \"repos_url\": \"https://api.github.com/users/agurvich/repos\",',\n",
" ' \"events_url\": \"https://api.github.com/users/agurvich/events{/privacy}\",',\n",
" ' \"received_events_url\": \"https://api.github.com/users/agurvich/received_events\",',\n",
" ' \"type\": \"User\",',\n",
" ' \"site_admin\": false',\n",
" ' },',\n",
" ' \"html_url\": \"https://github.com/agurvich/FIRE_lowres\",',\n",
" ' \"description\": null,',\n",
" ' \"fork\": false,',\n",
" ' \"url\": \"https://api.github.com/repos/agurvich/FIRE_lowres\",',\n",
" ' \"forks_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/forks\",',\n",
" ' \"keys_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/keys{/key_id}\",',\n",
" ' \"collaborators_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/collaborators{/collaborator}\",',\n",
" ' \"teams_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/teams\",',\n",
" ' \"hooks_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/hooks\",',\n",
" ' \"issue_events_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/issues/events{/number}\",',\n",
" ' \"events_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/events\",',\n",
" ' \"assignees_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/assignees{/user}\",',\n",
" ' \"branches_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/branches{/branch}\",',\n",
" ' \"tags_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/tags\",',\n",
" ' \"blobs_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/git/blobs{/sha}\",',\n",
" ' \"git_tags_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/git/tags{/sha}\",',\n",
" ' \"git_refs_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/git/refs{/sha}\",',\n",
" ' \"trees_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/git/trees{/sha}\",',\n",
" ' \"statuses_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/statuses/{sha}\",',\n",
" ' \"languages_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/languages\",',\n",
" ' \"stargazers_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/stargazers\",',\n",
" ' \"contributors_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/contributors\",',\n",
" ' \"subscribers_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/subscribers\",',\n",
" ' \"subscription_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/subscription\",',\n",
" ' \"commits_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/commits{/sha}\",',\n",
" ' \"git_commits_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/git/commits{/sha}\",',\n",
" ' \"comments_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/comments{/number}\",',\n",
" ' \"issue_comment_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/issues/comments{/number}\",',\n",
" ' \"contents_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/contents/{+path}\",',\n",
" ' \"compare_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/compare/{base}...{head}\",',\n",
" ' \"merges_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/merges\",',\n",
" ' \"archive_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/{archive_format}{/ref}\",',\n",
" ' \"downloads_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/downloads\",',\n",
" ' \"issues_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/issues{/number}\",',\n",
" ' \"pulls_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/pulls{/number}\",',\n",
" ' \"milestones_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/milestones{/number}\",',\n",
" ' \"notifications_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/notifications{?since,all,participating}\",',\n",
" ' \"labels_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/labels{/name}\",',\n",
" ' \"releases_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/releases{/id}\",',\n",
" ' \"deployments_url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/deployments\",',\n",
" ' \"created_at\": \"2022-07-20T17:17:09Z\",',\n",
" ' \"updated_at\": \"2022-07-20T17:17:09Z\",',\n",
" ' \"pushed_at\": \"2022-07-20T17:17:09Z\",',\n",
" ' \"git_url\": \"git://github.com/agurvich/FIRE_lowres.git\",',\n",
" ' \"ssh_url\": \"git@github.com:agurvich/FIRE_lowres.git\",',\n",
" ' \"clone_url\": \"https://github.com/agurvich/FIRE_lowres.git\",',\n",
" ' \"svn_url\": \"https://github.com/agurvich/FIRE_lowres\",',\n",
" ' \"homepage\": null,',\n",
" ' \"size\": 0,',\n",
" ' \"stargazers_count\": 0,',\n",
" ' \"watchers_count\": 0,',\n",
" ' \"language\": null,',\n",
" ' \"has_issues\": true,',\n",
" ' \"has_projects\": true,',\n",
" ' \"has_downloads\": true,',\n",
" ' \"has_wiki\": true,',\n",
" ' \"has_pages\": false,',\n",
" ' \"forks_count\": 0,',\n",
" ' \"mirror_url\": null,',\n",
" ' \"archived\": false,',\n",
" ' \"disabled\": false,',\n",
" ' \"open_issues_count\": 0,',\n",
" ' \"license\": null,',\n",
" ' \"allow_forking\": true,',\n",
" ' \"is_template\": false,',\n",
" ' \"web_commit_signoff_required\": false,',\n",
" ' \"topics\": [',\n",
" '',\n",
" ' ],',\n",
" ' \"visibility\": \"public\",',\n",
" ' \"forks\": 0,',\n",
" ' \"open_issues\": 0,',\n",
" ' \"watchers\": 0,',\n",
" ' \"default_branch\": \"main\",',\n",
" ' \"permissions\": {',\n",
" ' \"admin\": true,',\n",
" ' \"maintain\": true,',\n",
" ' \"push\": true,',\n",
" ' \"triage\": true,',\n",
" ' \"pull\": true',\n",
" ' },',\n",
" ' \"allow_squash_merge\": true,',\n",
" ' \"allow_merge_commit\": true,',\n",
" ' \"allow_rebase_merge\": true,',\n",
" ' \"allow_auto_merge\": false,',\n",
" ' \"delete_branch_on_merge\": false,',\n",
" ' \"allow_update_branch\": false,',\n",
" ' \"use_squash_pr_title_as_default\": false,',\n",
" ' \"network_count\": 0,',\n",
" ' \"subscribers_count\": 1',\n",
" '}',\n",
" 'Initialized empty Git repository in /Users/agurvich/FIRE_lowres/.git/',\n",
" '[main (root-commit) ba2a742] initial commit',\n",
" ' 139 files changed, 20846 insertions(+)',\n",
" ' create mode 100644 README.md',\n",
" ' create mode 100644 index.html',\n",
" ' create mode 100644 static/css/UIStyles.css',\n",
" ' create mode 100644 static/css/UIStyles2.css',\n",
" ' create mode 100644 static/css/mainStyles.css',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas000.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas001.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas002.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas003.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas004.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas005.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas006.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas007.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas008.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas009.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas010.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas011.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas012.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas013.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas014.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas015.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas016.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas017.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas018.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas019.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas020.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas021.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas022.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas023.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas024.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas025.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas026.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas027.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas028.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas029.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas030.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataGas031.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataHRDM000.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataHRDM001.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataHRDM002.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataHRDM003.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataHRDM004.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataHRDM005.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataHRDM006.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataHRDM007.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataHRDM008.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataHRDM009.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataLRDM000.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataLRDM001.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataLRDM002.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataLRDM003.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataSettings.json',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars000.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars001.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars002.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars003.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars004.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars005.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars006.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars007.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars008.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars009.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars010.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars011.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars012.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars013.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars014.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars015.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/DataStars016.ffly',\n",
" ' create mode 100644 static/data/FIRESampleData/TweenParams.json',\n",
" ' create mode 100644 static/data/FIRESampleData/filenames.json',\n",
" ' create mode 100644 static/data/startup.json',\n",
" ' create mode 100644 static/docs/FIREFLY-02_trimmed.png',\n",
" ' create mode 100644 static/docs/GUIicon.png',\n",
" ' create mode 100644 static/docs/README.md',\n",
" ' create mode 100644 static/docs/READMEcleanPack.md',\n",
" ' create mode 100644 static/docs/UI.png',\n",
" ' create mode 100644 static/docs/icon.png',\n",
" ' create mode 100644 static/docs/jupyter_embed.png',\n",
" ' create mode 100644 static/docs/screenGrab.png',\n",
" ' create mode 100644 static/js/.DS_Store',\n",
" ' create mode 100644 static/js/gui/GUIParams.js',\n",
" ' create mode 100644 static/js/gui/GUIconstructors.js',\n",
" ' create mode 100644 static/js/gui/GUIsocket.js',\n",
" ' create mode 100644 static/js/gui/UI.js',\n",
" ' create mode 100644 static/js/gui/colormap.js',\n",
" ' create mode 100644 static/js/gui/initGUI.js',\n",
" ' create mode 100644 static/js/gui/particles.js',\n",
" ' create mode 100644 static/js/gui/sliders.js',\n",
" ' create mode 100644 static/js/misc/FireflyFormat1.js',\n",
" ' create mode 100644 static/js/misc/FireflyOctnodeSubstring.js',\n",
" ' create mode 100644 static/js/misc/MyArrayBuffer.js',\n",
" ' create mode 100644 static/js/misc/kaitai-struct/KaitaiStream.js',\n",
" ' create mode 100644 static/js/misc/socketParams.js',\n",
" ' create mode 100644 static/js/misc/utils.js',\n",
" ' create mode 100644 static/js/misc/windowEvents.js',\n",
" ' create mode 100644 static/js/octree/octreeCreatePartsMesh.js',\n",
" ' create mode 100644 static/js/octree/octreeInit.js',\n",
" ' create mode 100644 static/js/octree/octreeRenderLoop.js',\n",
" ' create mode 100644 static/js/streamer/initStreamer.js',\n",
" ' create mode 100644 static/js/viewer/applyUISelections.js',\n",
" ' create mode 100644 static/js/viewer/createPartsMesh.js',\n",
" ' create mode 100644 static/js/viewer/initViewer.js',\n",
" ' create mode 100644 static/js/viewer/renderLoop.js',\n",
" ' create mode 100644 static/js/viewer/runTweens.js',\n",
" ' create mode 100644 static/js/viewer/viewerParams.js',\n",
" ' create mode 100644 static/lib/Detector.js',\n",
" ' create mode 100644 static/lib/DeviceOrientationControls.js',\n",
" ' create mode 100644 static/lib/KeyboardState.js',\n",
" ' create mode 100644 static/lib/StereoEffect.js',\n",
" ' create mode 100644 static/lib/THREEx.FullScreen.js',\n",
" ' create mode 100644 static/lib/THREEx.WindowResize.js',\n",
" ' create mode 100644 static/lib/TrackballControls.js',\n",
" ' create mode 100644 static/lib/Tween.js',\n",
" ' create mode 100644 static/lib/VRButton.js',\n",
" ' create mode 100644 static/lib/d3.v4.10.2.min.js',\n",
" ' create mode 100644 static/lib/jquery-3.2.1.min.js',\n",
" ' create mode 100644 static/lib/nouislider.min.css',\n",
" ' create mode 100644 static/lib/nouislider.min.js',\n",
" ' create mode 100644 static/lib/socket.io.min.js',\n",
" ' create mode 100644 static/lib/socket.io.min.js.map',\n",
" ' create mode 100644 static/lib/socket.io.min.js.org',\n",
" ' create mode 100644 static/lib/spectrum.css',\n",
" ' create mode 100644 static/lib/spectrum.js',\n",
" ' create mode 100644 static/lib/three-fly-controls.js',\n",
" ' create mode 100644 static/lib/three.min.js.old',\n",
" ' create mode 100644 static/lib/three.min.r102.js',\n",
" ' create mode 100644 static/lib/three.min.r137.js',\n",
" ' create mode 100644 static/lib/threeoctree.min.js',\n",
" ' create mode 100644 static/lib/wNumb.js',\n",
" ' create mode 100644 static/shaders/fragment.glsl.js',\n",
" ' create mode 100644 static/shaders/fragment_pass2.glsl.js',\n",
" ' create mode 100644 static/shaders/vertex.glsl.js',\n",
" ' create mode 100644 static/textures/.ipynb_checkpoints/createColormap-checkpoint.ipynb',\n",
" ' create mode 100644 static/textures/bb.png',\n",
" ' create mode 100644 static/textures/cmap.png',\n",
" ' create mode 100644 static/textures/colormap.png',\n",
" ' create mode 100644 static/textures/colormap_names.json',\n",
" ' create mode 100644 static/textures/createColormap.ipynb',\n",
" \"branch 'main' set up to track 'origin/main'.\",\n",
" '{',\n",
" ' \"url\": \"https://api.github.com/repos/agurvich/FIRE_lowres/pages\",',\n",
" ' \"status\": null,',\n",
" ' \"cname\": null,',\n",
" ' \"custom_404\": false,',\n",
" ' \"html_url\": \"http://www.alexbgurvi.ch/FIRE_lowres/\",',\n",
" ' \"build_type\": \"legacy\",',\n",
" ' \"source\": {',\n",
" ' \"branch\": \"main\",',\n",
" ' \"path\": \"/\"',\n",
" ' },',\n",
" ' \"public\": true,',\n",
" ' \"protected_domain_state\": null,',\n",
" ' \"pending_domain_unverified_at\": null,',\n",
" ' \"https_certificate\": {',\n",
" ' \"state\": \"approved\",',\n",
" ' \"description\": \"The certificate has been approved.\",',\n",
" ' \"domains\": [',\n",
" ' null,',\n",
" ' \"alexbgurvi.ch\"',\n",
" ' ],',\n",
" ' \"expires_at\": \"2022-08-27\"',\n",
" ' },',\n",
" ' \"https_enforced\": false',\n",
" '}',\n",
" 'Check the status of your new github pages site at: https://github.com/agurvich/FIRE_lowres/settings/pages or visit it at https://agurvich.github.io/FIRE_lowres',\n",
" '']"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"reader.copyFireflySourceToTarget(\"FIRE_lowres\",init_gh_pages=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Using `firefly.data_reader.SimpleFIREreader`\n",
"To simplify this process we have provided `firefly.data_reader.SimpleFIREreader` which takes a path to a FIRE snapshot and creates a basic iteration of Firefly showing the gas and stars given only a path to the data."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Loading ptype 4\n",
"Loading ptype 0\n",
"Outputting: Gas - 622573/6225729 particles - 3 tracked fields\n",
"Outputting: Stars - 326473/3264723 particles - 3 tracked fields\n"
]
}
],
"source": [
"reader = SimpleFIREreader(\n",
" ## path to directory containing (optionally multiple) .hdf5 files\n",
" path_to_snapshot = \"/Users/agurvich/research/snaps/metal_diffusion/m12b_res57000/output/snapdir_600\",\n",
" ## overwrite the existing startup.json file\n",
" write_startup=True, \n",
" ## pass absolute path to avoid symlink\n",
" JSONdir=os.path.abspath(os.path.join(os.getcwd(),'..','static','data','FIREData_50')))"
]
}
],
"metadata": {
"anaconda-cloud": {},
"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.9.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}