GithubHelp home page GithubHelp logo

astrochun / evolution-of-galaxies Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 4.38 MB

Research with Dr. Chun Ly. I am working with a sample of ~4000 galaxies from the MACT and DEEP2 surveys. The goal is to determine a robust M-Z-SFR relation for galaxies at z<1 and examine its evolution over the past 8 billion years of cosmic time.

Python 47.90% Jupyter Notebook 52.10%

evolution-of-galaxies's Introduction

👋. I'm Chun!

ORCID

Background

🔭 I'm a research astrophysicist by trade for twenty years.

Currently I work at the Princeton University Plasma Physics Laboratory as a Research Data Developer.

These days, I build Python software for:

  1. Data analysis and visualization
  2. Supporting open-access initiatives such as data and article publishing

Open source development

I enjoy coming up with new coding projects in my free time. Most recently I made or am working on:

  1. A streamlit app to interact with U.Arizona public salary data: https://sapp4ua.herokuapp.com
  2. A GitHub Docker container action to gather GitHub traffic statistics and publish them static pages on GitHub Pages or on a web server: https://astrochun.github.io/github-stats
  3. A webscraping tool to extract voting records from VoxCharta.
  4. A Python tool to properly handle BibTeX records for my Hugo Academic site

U.Arizona and the ReDATA project

Previously I was the lead developer for the following software while working at U.Arizona on the ReDATA project:

  1. redata-docs - Sphinx documentation on the ReDATA software and systems.
  2. LD-Cool-P - Pure Python tool for data curation of figshare for Institutions submissions.
  3. ldcoolp-figshare - A generalized pure Python tool for data curators/administrators to interact with their figshare for Institutions instance through the figshare API.
  4. ReQUIAM - Pure Python tool for Grouper identity and access management.
  5. figstats - Pure Python tool to retrieve statistics of published datasets from the figshare stats API.
  6. redata-commons - Pure python libraries for all ReDATA software.
  7. ReM - A FastAPI web app for the construction of README.txt for ReDATA submissions.

Astrophysics software development

As a research scientist, I built a number of software for astronomical data reduction. This includes:

  1. MMTtools - Pure Python tool to automate MMT/MMIRS data reduction. You can read more here.
  2. GNIRSLongSlit - Python tool to reduce Gemini/GNIRS data. You can read more here.

More information can be found on my GitHub page.

astrochun's GitHub stats

Most Used Languages

evolution-of-galaxies's People

Contributors

astrochun avatar cmccormick1 avatar rafia37 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

evolution-of-galaxies's Issues

Common Validation Table

Implement common validation table code from Metallicity Stack Commons to be consistent with Zcalbase_gal.

Scripts for easier automation of data analysis workflow

Commands are provided manually into an interactive ipython terminal.

Need to move toward having a folder with scripts to execute any data analysis operation.

Action items

  • [ ]Create a script folder
  • Create script for stacking(?)
  • Create script for adaptive biinning

Adding logging tool for all print statements from analysis

Using similar codes that I have, create a LogClass object that enable easy logging.

Action items:

  • Create LogClass
  • Update all print statements
  • Ensure all functions allow for LogClass object input

This should work with the MSC feature/48_logging enhancement

Integrate Metallicity_Stack_Commons in general

Changes to implement:

Refactoring:

  1. Import get_user to replace getuser()
  2. Import dir_date to replace get_time
  3. Import fitting_lines_dict to replace lambda0, line_type, and line_name
  4. Import k_dict to replace k_4363 and k_5007
  5. Import attenuation to replace dust_attenuation

Common Table Names

Update column names in tables to common names provided in Metallicity_Stack_Commons to be consistent with MZEvolve and Zcalbase_gal.

Tables to be changed:

  • binning.tbl --> implement:
    - bin_names0 (excluding "Detection")
    - bin_mzevolve_names0
    - filename_dict
  • emission_line.tbl --> implement:
    - bin ID
    - gauss_lines_names0
    - RMS column
    - filename_dict
  • emission_linerevised.tbl --> implement:
    - bin ID
    - gauss_lines_names0
    - RMS column
    - filename_dict
  • derived_properties_metallicity.tbl --> implement:
    - bin ID
    - bin_ratios0
    - temp_metal_names0
    - filename_dict
  • derived_properties_metallicityrevised.tbl --> implement:
    - bin ID
    - bin_ratios0
    - temp_metal_names0
    - filename_dict
  • validation.tbl --> implement:
    - bin ID
    - detections
    - OIII4363 values
    - filename_dict
  • individual_Te_emLines.tbl --> implement:
    - indv_names0
    - gauss_names0
    - filename_dict
  • individual_derived_properties_metallicity.tbl --> implement:
    - composite_indv_detect.py
    - filename_dict

Tables to be created:

  • individual_bin_info.tbl

Update R_temp_calcul.py

Need to:

  • Implement MSC's ratios.py for line ratio calculations
  • Clean up code (e.g. get rid of commented out code)
  • Update documentation

Reorganize Function Call Sequence (general.py)

On feature/call_sequence:

This branch will handle updating Evolution-of-Galaxies with newly developed file naming conventions in Metallicity-Stack-Commons, input data file reorganization in Google Drive, and general improvements to codes that may cause breaks with the current version of Evolution-of-Galaxies.

To Do:

  • Update naming conventions for file names (e.g. v1 added to denote original validation table)
  • Update file paths to input data files on Google Drive
  • In general.run_bin_analysis():
    • Add option to run result plots for each bin_derived_prop case (MC, dust, revised validation, etc)
    • Change parameter name from dust_atten to apply_dust
    • Move HbHgHd_fits() call to right after fitting call (only run once with raw data)

Archive Old/Unused Files

Create a separate folder to store the unused files to better organize the repository.

Unused Files:

  • Composite Spectra Grid.ipynb
  • binning_mag_mass.py
  • composite_spectra.pdf
  • galaxy_distribution.pdf
  • hgamma_to_hbeta.py
  • mass_distribution.PNG
  • stack_check.py

library: relative indexing

Versions after 4/1/19 through 10/23/19 have incorrect relative indexing (starting in 8668ef7). The indices in those versions are the indices of the elements in the valid index array, not the actual valid index elements themselves. Versions before 4/1/19 and after 10/23/19 (fixed in 10/24/19 version: 979c84f) have indices of sources relative to passed in data table. The change that fixed it is in lines 101-103 in 979c84f.

Update indiv_gals.py

Need to:
- Get rid of unnecessary parameters to functions
- Redo documentation
- Handle reading in revised/MC/dust files
- Utilize dictionaries to reduce the number of variables needed

Implement Dust Attenuation

On feature/dust_attenuation:

  • Implement E(B-V) calculation [9e80b9c]

  • Fix naming convention for error columns in relation_fitting.extract_error_bars (lowhigh_error --> error) [5ecd19c, 31a2f83]

  • Get rid of the call to MSC's attenuation.EBV_table_update. Now handled in error_prop.fluxes_derived_prop [3a7cd22]

  • Implement dust attenuation and error propagation using MSC's error_prop.fluxes_derived_prop. Test:

    • Raw data
      • Mass bins
      • Mass-LHbeta bins
    • Raw data, dust corrected
      • Mass bins
      • Mass-LHbeta bins
    • MC, original validation table
      • Mass bins
      • Mass-LHbeta bins
    • MC, revised validation table
      • Mass bins
      • Mass-LHbeta bins
    • MC, dust corrected, revised validation table
      • Mass bins
      • Mass-LHbeta bins

Reorganize Plotting Functions

Currently all plotting functions are in the plots.py file. Need to clean up and organize the plotting functions into their own files based on different types of plots:

  • Make a file just for individual plots
  • Make a file just for composite plots
  • Create a file for unused plotting functions and move to Archives folder

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.