Introduction • Tools • BCG List • Website • Appendix
This documentation is split up into three sections: Tools, Website, and BCG List. "Tools" details the coding tools I have created and provided and how to use them. "Website" details the structure of the ACCEPT2 website and how to make necessary changes or additions. "BCG List" details the final process of cleaning up the BCG list. For information about jupyter notebooks, the versions of python/modules used, or how to download this repository, see the appendix.
As of now, there are three main tools:
"figureset_maker.ipynb", a jupyter notebook that is used to create an AAS figureset for each cluster;
"cluster_pointers.ipynb", a jupyter notebook that creates an html table with the name of each cluster, its coordinates and redshift, and whether or not it has global properties, profiles, morphology, and in ACCEPT1, this is used as a sort of index page for the ACCEPT2 website;
"table_generate.ipynb", a jupyter notebook that takes a csv and returns an HTML table, MRT table, and VOTable conesearch. usage documentation is contained within the notebook.
The file structure within the tools folder and explanation of the tools is as follows:
tools
┣ data
┃ ┣ ACCEPT1.txt: the ACCEPT1 table in ascii format
┃ ┣ deprojected_profiles_arcsec_Alessandro_reformated.csv: (unused), alessandro's version of the deprojected profiles
┃ ┣ global_properties.csv: a csv of the ACCEPT2 global properties table, used for input
┃ ┣ ACCEPT2_K0_and_z.csv: a csv of profile data for the clusters
┃ ┗ deprojected_profiles_kpc_H070_Om0.3.csv: a csv of deprojected profile data for the clusters
┣ figureset_maker
┃ ┣ figureset.txt: the outputed figureset AASTeX
┃ ┗ figureset_maker.ipynb: a jupyter notebook that is used to create an AAS figureset for each cluster. note: to work, the figuresets folder would also need to be within this
┣ cluster_pointers
┃ ┣ cluster_pointers.ipynb: a jupyter notebook that creates an html table with the name of each cluster, its coordinates and redshift, and whether or not it has global properties, profiles, morphology, and in ACCEPT1
┃ ┗ cluster_pointers.html: the outputed html table created from cluster_pointers.ipynb
┣ table_generate
┃ ┣ table_generate_output
┃ ┃ ┗ 2023-08-24_batch1: a folder automatically generated by table_generate.ipynb, named based date and number of batches made today
┃ ┃ ┃ ┣ global_properties: a folder whose contents are automatically generated by table_generate.ipynb
┃ ┃ ┃ ┃ ┣ tab1.txt: machine readable table
┃ ┃ ┃ ┃ ┣ global_properties.html: html table
┃ ┃ ┃ ┃ ┣ search.php: VOtable conesearch script
┃ ┃ ┃ ┃ ┗ global_properties.csv: the original csv
┃ ┃ ┃ ┗ deprojected_profiles: same as above folder but for a different table
┃ ┃ ┃ ┃ ┣ tab2.txt
┃ ┃ ┃ ┃ ┣ deprojected_profiles.html
┃ ┃ ┃ ┃ ┣ search.php
┃ ┃ ┃ ┃ ┗ deprojected_profiles_kpc_H070_Om0.3.csv
┃ ┣ table_generate.ipynb: a jupyter notebook that takes a csv and returns both an HTML and MRT table. usage documentation contained within notebook
┃ ┣ search.php: a template script to generate a VOTable based on a conesearch. used by table_generate.ipynb to generate unique conesearch scripts
┃ ┗ config.ini: used to configure table_generate.ipynb
┗ profile_coords
┃ ┣ profile_coords.ipynb: used to add RA and DEC to 'deprojected_profiles_kpc_H070_Om0.3.csv'
┃ ┗ profile_coords.csv: the RA and DEC for every row of 'deprojected_profiles_kpc_H070_Om0.3.csv'
The work on cleaning up the BCG list primarily consisted of classifying each BCG based on the outline below, fixing the citations for some of the clusters, updating entries for some of the clusters, and fixing some miscellaneous issues such as incorrectely listed coordinates. Within the final BCG list ('full_BCG_list.xlsx'), entries that were updated have red text.
Classification System:
1 = reasonably certain BCG/s with spec z
2 = good candidate BCG/s with phot z, needs follow-up spec z
3 = BCG strong candidate based on appearance and color (e.g. HST imaging), but needs follow up spec z
4 = ambiguous BCG, multiple candidates, 1-2 listed here, may need better imaging before spec z
5 = no candidates for BCG very ambiguous, no coordinates to list
For clusters with more than one BCG, an asterisk was added after the number, i.e. 1*
Some clusters have an 'x' instead of a number, as these are currently awaiting review from Professor Donahue
In addition to fixing this list, I have performed some rudimentary. The file 'bcg_coords_compare.csv' includes the angular separation of each BCG from the cluster center, the difference in redshift, and the kpc distance from BCG to cluster center. The kpc distance was calculated using astropy's 'FlatLambdaCDM' class, with constants H0=71km/sec/Mpc and Ωm0=0.27. With this I produced a graph of kpc distance versus entropy for clusters with entropy profiles, as well as histograms of the kpc distance distribution:
The file structure is detailed below:
BCGs
┣ bcg_separation_vs_k0
┃ ┣ bcg_separation_vs_k0.ipynb: a jupyter notebook that generates a plot of angular separation vs k0
┃ ┗ bcg_separation_vs_k0.png: the generated graph saved as a png
┣ bcg_coords_compare
┃ ┣ bcg_coords_compare.ipynb: a jupyter notebook that calculates the angular separation, redshift difference, and kpc distance/scale for each BCG and creates a table
┃ ┗ bcg_coords_compare.csv: the saved table produced from the script above, including cluster name, angular separation, kpc distance/scale, z difference, and k0
┣ full_BCG_list.xlsx: the full list of BCGs, saved as an excel file
┗ BCG_bibtex.txt: all bibtex citations from the full_BCG_list.xlsx
As of now, the website consists of a MC2 homepage with a list of projects which right now lists ACCEPT1 (which is just a link to the old accept website) and ACCEPT2. ACCEPT2 is then stored entirely within a folder, which can allow you to add additonal projects to the MC2 site without having them interfere. ACCEPT2 then has it's own homepage. There is then a page called "Cluster Index" which includes a list of each cluster, its coordinates, and whether or not it has global properties, a profile, morphology, and in ACCEPT1. Clusters with profiles have a link to a page called "Cluster Figures" which will automatically pull the T, Z, and K graphs for that cluster as well as a link to the projected profile .dat file for the cluster. These graphs are stored within the folder called "figuresets", which has the same file structure as the ACCEPT2 folder that was given to me. For the global properties table and deprojected profiles table, there is a folder that includes a cascade page for the table (which has links to all formats for the table), a non-cascade fullscreen HTML table, a raw MRT table, the raw csv, and the VOtable conesearch. Using the tools detailed in the earlier section, additional tables can be easily created and added to cascade.
A note about the full screen html table: the tools output a raw html table, however the website html table actually has a bit of code added so that it can have a basic search function. In order to add this to the full screen version, open the table with a text editor, delete the first line, and paste the following in its place:
<head>
<meta charset="utf-8"/>
<meta content="text/html;charset=UTF-8" http-equiv="Content-type"/>
<style>
body {font-family: sans-serif;}
table.dataTable {width: auto !important; margin: 0 !important;}
.dataTables_filter, .dataTables_paginate {float: left !important; margin-left:1em}
</style>
<link href="https://cdn.datatables.net/1.10.9/css/jquery.dataTables.css" rel="stylesheet" type="text/css"/>
<script src="https://code.jquery.com/jquery-1.11.3.min.js">
</script>
<script src="https://cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js">
</script>
</head>
<body>
<script>
$(document).ready(function() {
$('#table').dataTable({
"iDisplayLength": '500'
});
} ); </script>
<table class="display compact" id="table">
In order to make the table display properly within the cascade page, paste the raw html table into a content section, and add this line to the top so that the table has a scroll bar:
<div style="overflow-x: auto;">
The image header for the website is from the Chandra website: https://chandra.harvard.edu/photo/2017/a3411/. I added a colorful "ACCEPT2.0" to the homepage version of the image. Image credit is provided on the homepage, but not elsewhere (Cascade doesn't have a good way to add an image credit, I might manually add it to the image to make sure credit is properly given no matter what page the user is on)
If you are unfamiliar with using git or github and just want to download the latest version of this repository, click the green "Code" button near the top of the page, and click "Download ZIP".
This project uses jupyter notebooks for all python code. If you are unfamiliar with using jupyter notebooks, here is a basic tutorial on getting started with using them: https://youtu.be/WUeBzT43JyY?si=Bh36mK7ki5MjaVpt
The following versions of python/modules were used for this project:
python==3.9.13
astropy==5.1
pandas==1.4.4
numpy==1.21.5
matplotlib==3.5.2
Later versions may work, but in the event of unsual errors, try it again on these versions.