Week 5: This time with galaxies

What I completed this last week:

  • Nearly finished the empirical spectrum -> synthetic photometry tutorial for a high H-alpha emission galaxy. This example can be seen here.
    • As you can see from the 1-1 plot at the end of the tutorial, the predicted photometry does not perform as well compared to the 1-1 plot for the first use-case. As Erik (one of my mentors, for anyone reading this who is not already one of my mentors) mentioned, even having a percentage error within 30% is not terrible if you just want a ballpark estimate of the required exposure time.
    • This systematic offset still bugs me though, because it seems like it could be easily solved:
I suppose the mystery continues, for now…
  • Took part in an astropy hack day at the Center for Computational Astrophysics in NYC! Erik and I got to work together in person, I met some astronomers I knew of but never actually met, and I got to witness a bit more of the inner workings of open source development. Also, free food. Lots of free food.

This week’s goals:

  • Try to solve the offset problem for example 2
    • Do the same analysis for multiple objects. Is the systematic error still there?
    • Plot bandpasses on top of spectrum
  • Begin working on synthetic *spectroscopy* (synspec)?
    • Is there an easy way to use synphot for synthetic spectroscopy?
    • See how long each run takes – ideally it should be fast, for people who want to run this on thousands of spectra
  • Begin working on a signal-to-noise predictor (maybe as an eventual method on Observation?)
Me when there’s free food

Longer term goals:

  • Make 4-5 notebooks which explore different use cases in order to get an idea of how we want to implement any changes or enhancements to synphot:
    1. Model spectrum -> Synthetic photometry
      • Ground-based example: existing APO notebook
      • Space-based example: existing APO notebook + Kepler
    2. Empirical spectrum -> Synthetic photometry
      • Example: Galaxy with high H-alpha emission observed by SDSS
    3. Model spectrum -> synthetic spectroscopy
      • Example: Observations of a G dwarf with CHEOPS at R~1k vs 100k – what count rates do you get?
    4. Empirical spectrum -> synthetic spectroscopy
      • Possible example: Some HII region spectrum -> how many hours to a S/N of X
  • Implement a signal-to-noise predictor
  • Create a pull request to Astroquery to enable queries to the filter VO service for filter transmittance curves

Week 4: SkyCalc and SVO and tynt oh my

What I completed this last week:

  • Successfully queried from the SVO filter database for our tutorial’s throughput models. This inspired Brett to write a package called tynt, a “super lightweight package containing approximate transmittance curves for more than five hundred astronomical filters”, which I’ve implemented into the synphot examples.
  • Added a Kepler (i.e. space-based) example to our tutorial. The errors between the synphot counts and the empirical counts are less than 15%.
  • Wrote atmospheric_transmittance.py to model the atmospheric transmittance with the SkyCalc Sky Model Calculator. Parameters can be set when calling get() for a more precise model of the sky, otherwise get() will use the default parameters provided by SkyCalc.

This week’s goals:

  • Begin working on Example 2: Empirical spectrum (like from SDSS/Hubble website) -> Synthetic photometry
  • Begin working on the Astroquery pull request? (mentioned below)

Longer term goals:

  • Make 4-5 notebooks which explore different use cases in order to get an idea of how we want to implement any changes or enhancements to synphot:
    1. Model spectrum -> Synthetic photometry
      • Ground-based example: existing APO notebook
      • Space-based example: existing APO notebook + Kepler
    2. Empirical spectrum (like from SDSS/Hubble website) -> Synthetic photometry
      • Example: Erik’s palomar spectrum + MDM Halpha observations
    3. Model spectrum -> synthetic spectroscopy
      • Example: Observations of a G dwarf with [the space-based mission Brett mentioned called CHEOPS, but don’t worry about that] at R~1k vs 100k – what count rates do you get?
    4. Empirical spectrum -> synthetic spectroscopy
      • Possible example: Some HII region spectrum -> how many hours to a S/N of X
  • Implement a signal-to-noise predictor
  • Create a pull request to Astroquery to enable queries to the filter VO service for filter transmittance curves

Week 3: Querying progress

What I completed last week:

  • Made a separate git repo for my GSoC related work. This will make it easier to track changes, make suggestions, etc
  • Edited the first tutorial such that:
    • The only data files left in notebook are the CCD quantum efficiency table. The other bits of data are queried/modeled with astropy.utils.download_file(), astroquery.gaia, and pwv_kpno.
    • There is now a preamble including authors, objectives, keywords, and links to different sections throughout the tutorial
  • Contacted the Spanish Virtual Observatory and asked them to add the primed SDSS filters (which are used at APO) to their filter profile service, which they have now done!
  • Explored using pwv_kpno as an atmospheric model. I was struggling with it at first, but I didn’t wait too long to raise an issue on its github page. Daniel was very helpful and responsive, and things are running smoothly now. Because pwv_kpno‘s main functionality is modeling the effects of precipitable water vapor on the atmospheric transmission, it isn’t a complete atmospheric model (it doesn’t claim to be) since it doesn’t include the opacity due to Rayleigh scattering. While this would be okay for observations in the infrared, it significantly affects our visual-band count estimates.
  • Addressing the above, I’m going to try Brett’s suggestion to use skycalc_cli and see if that makes a more complete atmospheric model. To do this, I am going to borrow the bit about querying from Cerro Paranal from skycalc, and perhaps eventully turn this into an astroquery pull request.

This week’s goals:

  • In the first tutorial, edit the bandpass retrieval to query from SVO instead of APO. Alert the github universe when it’s ready to be looked over!
  • Create a short example of Kepler (i.e. space-based) counts for HAT-P-11 and TRAPPIST-1
  • Keep investigating skycalc_cli for atmospheric transmission models
  • Begin working on Example 2: Empirical spectrum (like from SDSS/Hubble website) -> Synthetic photometryExample: Erik’s palomar spectrum + MDM Halpha observations
  • Begin working on the Astroquery pull request? (mentioned below)

Longer term goals:

  • Make 4-5 notebooks which explore different use cases in order to get an idea of how we want to implement any changes or enhancements to synphot:
    1. Model spectrum -> Synthetic photometry
      • Ground-based example: existing APO notebook
      • Space-based example: existing APO notebook + Kepler
    2. Empirical spectrum (like from SDSS/Hubble website) -> Synthetic photometry
      • Example: Erik’s palomar spectrum + MDM Halpha observations
    3. Model spectrum -> synthetic spectroscopy
      • Example: Observations of a G dwarf with [the space-based mission Brett mentioned called CHEOPS, but don’t worry about that] at R~1k vs 100k – what count rates do you get?
    4. Empirical spectrum -> synthetic spectroscopy
      • Possible example: Some HII region spectrum -> how many hours to a S/N of X
  • Implement a signal-to-noise predictor
  • Create a pull request to Astroquery to enable queries to the filter VO service for filter transmittance curves
That’s a lot of water vapor…

Week 2: Updates and a second to-do list

We’ve made some headway with the synphot tutorial, which has helped us determine what to do next. This is what we’ve done so far:

  • To get more accurate count rates, we:
    • Add effects by atmospheric attentuation by using the Cerro Paranal model transmittance curves for an airmass of 1.5
    • Consider the effects of the quantum efficiency on the spectra by using the values in the table found in section 3.5 on this page of APO’s website
    • Model the source spectra using model spectra from PHOENIX instead of blackbody models. For HAT-P-11 we use Teff = 4800 K, and for TRAPPIST-1 we use Teff = 2500 K , both with logg = 4.5 cm / s^2
    • Realized that we have to divide the output of synphot’s countrate() function by the gain of the modeled telescope
  • There was some debugging we had to tackle to obtain the correct units/order of magnitude for the PHOENIX source spectra – the blackbody model is in units of 𝑒𝑟𝑔 𝑠−1 𝑐𝑚−2 𝐴˚−1 𝑠𝑟−1, while PHOENIX gives flux in 𝑒𝑟𝑔 𝑠−1 𝑐𝑚−3. I don’t think I fully understand yet, but the problem seems to be that while synphot handled the cm to angstrom conversion fine, the steradian was sort of lost in translation… The SourceSpectrum object was correct as long as we divided the normalized flux by pi.

With these factors implemented, our current precision looks like:

synphot TRAPPIST-1: 257K
actual TRAPPIST-1: 203K
synphot HAT-P-11: 30M
actual HAT-P-11: 34M

This week’s goals:

  • Make a separate repo for notebook tutorials (maybe make a github “project” out of it?)
  • Have no data files left in notebook (except CCD QE), get the needed data by querying instead
    • In the meantime we will use this new functionality to query the SDSS filters for our count rate example
  • Investigate using pwv_kpno to compute transmittance rather than using the Cerro Paranal model to further improve count rates.

Longer term goals:

  • Make 4-5 notebooks which explore different use cases in order to get an idea of how we want to implement any changes or enhancements to synphot:
    1. Model spectrum -> Synthetic photometry
      • Example: existing APO notebook
      • (And maybe also Kepler?)
    2. Empirical spectrum (like from SDSS/Hubble website) -> Synthetic photometry
      • Example: Erik’s palomar spectrum + MDM Halpha observations
    3. Model spectrum -> synthetic spectroscopy
      • Example: Observations of a G dwarf with [the space-based mission Brett mentioned called CHEOPS, but don’t worry about that] at R~1k vs 100k – what count rates do you get?
    4. Empirical spectrum -> synthetic spectroscopy
      • Possible example: Some HII region spectrum -> how many hours to a S/N of X
  • Implement a signal-to-noise predictor