Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JOSS paper on v3 #1461

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open
24 changes: 24 additions & 0 deletions .github/workflows/draft-pdf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Draft PDF
on: [push]

jobs:
paper:
runs-on: ubuntu-latest
name: Paper Draft
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build draft PDF
uses: openjournals/openjournals-draft-action@master
with:
journal: joss
# This should be the path to the paper within your repo.
paper-path: paper.md
- name: Upload
uses: actions/upload-artifact@v3
with:
name: paper
# This is the output path where Pandoc will write the compiled
# PDF. Note, this should be the same directory as the input
# paper.md
path: paper.pdf
90 changes: 87 additions & 3 deletions paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,15 @@ @INPROCEEDINGS{miriad
for taking raw data through to the image analysis stage. The
Miriad project, begun in 1988, is now middle-aged. With the wisdom
of hindsight, we review design decisions and some of Miriad's
characteristics.}
characteristics.},
year = 1995,
series = {Astronomical Society of the Pacific Conference Series},
volume = 77,
eprint = {astro-ph/0612759},
editor = {{Shaw}, R.~A. and {Payne}, H.~E. and {Hayes}, J.~J.~E.},
pages = {433},
adsurl = {http://adsabs.harvard.edu/abs/1995ASPC...77..433S},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
adsnote = {Provided by the SAO/NASA Astrophysics Data System},
url = {http://www.atnf.csiro.au/computing/software/miriad/}
}

Expand Down Expand Up @@ -75,6 +75,90 @@ @ARTICLE{fhd
pages = {17},
doi = {10.1088/0004-637X/759/1/17},
adsurl = {http://adsabs.harvard.edu/abs/2012ApJ...759...17S},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
adsnote = {Provided by the SAO/NASA Astrophysics Data System},
url = {https://github.com/EoRImaging/FHD}
}

@TECHREPORT{ms,
author = {{Kemball}, A.~J. and {Wieringa}, M.~H.},
title = "{MeasurementSet definition version 2.0}",
year = 2000,
month = jan,
file = {https://casa.nrao.edu/Memos/229.ps.gz},
url = {https://casper.berkeley.edu/astrobaki/index.php/AIPY}}
}

@TECHREPORT{mir,
author = {{Qi}, C.},
title = "{The MIR Cookbook}",
year = 2022,
month = mar,
file = {https://lweb.cfa.harvard.edu/~cqi/mircook.pdf},
url = {https://lweb.cfa.harvard.edu/~cqi/mircook.html}}
}

@TECHREPORT{calfits,
author = {{Ali}, Z. and {Hazelton}, B. and {Beardsley}, A. and {La Plante}, P. and {Kunicki}, T. and {the pyuvdata team}},
title = "{Memo: UVCal FITS Format}",
year = 2017,
month = jul,
file = {https://github.com/RadioAstronomySoftwareGroup/pyuvdata/blob/main/docs/references/calfits_memo.pdf},
}

@TECHREPORT{beamfits,
author = {{Hazelton}, B. and {the pyuvdata team}},
title = "{Memo: UVBeam FITS Format}",
year = 2018,
month = jan,
file = {https://github.com/RadioAstronomySoftwareGroup/pyuvdata/blob/main/docs/references/beamfits_memo.pdf},
}

@TECHREPORT{uvh5,
author = {{La Plante}, P. and {the pyuvdata team}},
title = "{Memo: UVH5 file format}",
year = 2024,
month = apr,
file = {https://github.com/RadioAstronomySoftwareGroup/pyuvdata/blob/main/docs/references/uvh5_memo.pdf},
}

@TECHREPORT{calh5,
author = {{Hazelton}, B. and {the pyuvdata team}},
title = "{Memo: CalH5 file format}",
year = 2024,
month = aug,
file = {https://github.com/RadioAstronomySoftwareGroup/pyuvdata/blob/main/docs/references/calh5_memo.pdf},
}

@ARTICLE{casa,
author = {{CASA Team} and {Bean}, Ben and {Bhatnagar}, Sanjay and {Castro}, Sandra and {Donovan Meyer}, Jennifer and {Emonts}, Bjorn and {Garcia}, Enrique and {Garwood}, Robert and {Golap}, Kumar and {Gonzalez Villalba}, Justo and {Harris}, Pamela and {Hayashi}, Yohei and {Hoskins}, Josh and {Hsieh}, Mingyu and {Jagannathan}, Preshanth and {Kawasaki}, Wataru and {Keimpema}, Aard and {Kettenis}, Mark and {Lopez}, Jorge and {Marvil}, Joshua and {Masters}, Joseph and {McNichols}, Andrew and {Mehringer}, David and {Miel}, Renaud and {Moellenbrock}, George and {Montesino}, Federico and {Nakazato}, Takeshi and {Ott}, Juergen and {Petry}, Dirk and {Pokorny}, Martin and {Raba}, Ryan and {Rau}, Urvashi and {Schiebel}, Darrell and {Schweighart}, Neal and {Sekhar}, Srikrishna and {Shimada}, Kazuhiko and {Small}, Des and {Steeb}, Jan-Willem and {Sugimoto}, Kanako and {Suoranta}, Ville and {Tsutsumi}, Takahiro and {van Bemmel}, Ilse M. and {Verkouter}, Marjolein and {Wells}, Akeem and {Xiong}, Wei and {Szomoru}, Arpad and {Griffith}, Morgan and {Glendenning}, Brian and {Kern}, Jeff},
title = "{CASA, the Common Astronomy Software Applications for Radio Astronomy}",
journal = {\pasp},
keywords = {Single-dish antennas, Aperture synthesis, Radio astronomy, Radio interferometry, Long baseline interferometry, Astronomy software, Open source software, Software documentation, Astronomy data reduction, Astronomy data analysis, 1460, 53, 1338, 1346, 932, 1855, 1866, 1869, 1861, 1858, Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - Astrophysics of Galaxies, Astrophysics - High Energy Astrophysical Phenomena, Astrophysics - Solar and Stellar Astrophysics},
year = 2022,
month = nov,
volume = {134},
number = {1041},
eid = {114501},
pages = {114501},
doi = {10.1088/1538-3873/ac9642},
archivePrefix = {arXiv},
eprint = {2210.02276},
primaryClass = {astro-ph.IM},
adsurl = {https://ui.adsabs.harvard.edu/abs/2022PASP..134k4501C},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

@ARTICLE{pyuvdata_v1,
author = {{Hazelton}, Bryna J. and {Jacobs}, Daniel C. and {Pober}, Jonathan C. and {Beardsley}, Adam P.},
title = "{pyuvdata: an interface for astronomical interferometeric datasets in python}",
journal = {The Journal of Open Source Software},
year = 2017,
month = feb,
volume = {2},
number = {10},
eid = {140},
pages = {140},
doi = {10.21105/joss.00140},
adsurl = {https://ui.adsabs.harvard.edu/abs/2017JOSS....2..140H},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
115 changes: 90 additions & 25 deletions paper.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,118 @@
---
title: 'pyuvdata: an interface for astronomical interferometeric datasets in python'
title: 'pyuvdata v3: an interface for astronomical interferometeric datasets in python'
tags:
- radio astronomy
- uvfits
- miriad
authors:
- name: Garrett K. Keating
orcid: 0000-0002-3490-146X
affiliation: 1
- name: Bryna J. Hazelton
orcid: 0000-0001-7532-645X
affiliation: 1, 2
affiliation: 2, 3
- name: Matthew Kolopanis
orcid: 0000-0002-2950-2974
affiliation: 4
- name: Steven Murray
orcid: 0000-0003-3059-3823
affiliation: 4
kartographer marked this conversation as resolved.
Show resolved Hide resolved
- name: Adam P. Beardsley
orcid: 0000-0001-9428-8233
affiliation: 5
- name: Daniel C. Jacobs
orcid: 0000-0002-0917-2269
affiliation: 3
- name: Nicholas Kern
affiliation: 6
orcid: 0000-0002-8211-1892
- name: Adam Lanman
affiliation: 7
orcid: 0000-0003-2116-3573
- name: Paul La Plante
affiliation: 8
orcid: 0000-0002-4693-0102
- name: Jonathan C. Pober
orcid: 0000-0002-3492-0433
affiliation: 4
- name: Adam P. Beardsley
orcid: 0000-0001-9428-8233
affiliation: 9
- name: Pyxie Star
affiliation: 3
affiliations:
- name: University of Washington, eScience Institute
- name: Center for Astrophysics | Harvard & Smithsonian
index: 1
- name: University of Washington, Physics Department
- name: University of Washington, eScience Institute
index: 2
- name: Arizona State University, School of Earth and Space Exploration
- name: University of Washington, Physics Department
index: 3
- name: Brown University, Physics Department
- name: Scuola Normale Superiore, Italy
index: 4
date: 22 November 2016
- name: Winona State University, Physics Department
index: 5
- name: Massachusetts Institute of Technology, Physics Department
index: 6
- name: Kavli Institute of Astrophysics and Space Research
index: 7
- name: University of Nevada, Las Vegas, Department of Computer Science
index: 8
- name: Brown University, Physics Department
index: 9
date: 2 July 2024
bibliography: paper.bib
---

# Summary
pyuvdata is an open-source software package that seeks to provide a well-documented,
feature-rich interface for many of the different data formats that exist within radio
interferometry, including support for reading and writing UVH5 [@uvh5], UVFITS
[@uvfits], MIRIAD [@miriad], and measurement set [@ms] visibility files; and reading of
FHD [@fhd] and MIR [@mir] visibility save files. Additionally, pyuvdata supports reading
and writing measurement set, CalFITS [@calfits], and CalH5 [@calh5] calibration
solutions; and reading of FHD calibration solutions. pyuvdata also provides interfaces
for and handling of models of antenna primary beams, including reading and writing of
BeamFITS [@beamfits], and reading CST and MWA beam formats, as well as for flags.

# Statement of Need
There are several standard formats for astronomical interferometric data, but
converting between them in a stable and repeatable way has historically been
very challenging. This is partly because of subtle assumptions in the
implementations of the formats and the complexity of the mathematical
relationships between the different formats (e.g. drift mode vs phased data)
and partly because data analysis for individual telescopes
typically used just one of the standards along with the associated analysis
code. New low frequency instruments (e.g. MWA (http://www.mwatelescope.org/),
PAPER (http://eor.berkeley.edu/), HERA (http://reionization.org/)),
have required custom analysis and simulation software that rely on a range of
different file formats. pyuvdata was designed to facilitate interoperability
between these instruments and codes by providing high quality, well documented
conversion routines as well as an interface to interact with interferometric
data and simulations directly in python.
converting between them in a stable, repeatable way has historically been
challenging. This is partially due to conflicting assumptions and standards, giving
rise to significant (though sometimes subtle) differences between formats.
Interfacing with different data formats -- like one does when they convert from one
format to another -- thus requires careful accounting for the complex mathematical
relationships between both data and metadata to ensure proper data fidelity. This is
required both for leveraging existing community-favored tools that typically built
to interface with a specific data format, as well as analyses requiring bespoke tools
for specialized types of analyses and simulations leveraging data in a variety of
formats.

pyuvdata has been designed to facilitate interoperability between different instruments
and codes by providing high quality, well documented conversion routines as well as an
interface to interact with interferometric data and simulations directly in Python.
Originally motivated to support new low frequency instruments (e.g. MWA
(http://www.mwatelescope.org/), PAPER (http://eor.berkeley.edu/), HERA
(http://reionization.org/)), the capabilities of pyuvdata have been steadily expanded
to support handling of data from several telescopes, ranging from meter to submillimeter
wavelengths, including SMA, ALMA, SMA, VLA, ATCA, CARMA, LWA, among others.

# Major updates in this version
In the time since it was initially published [@pyuvdata_v1], pyuvdata has undergone a
significant expansion in capabilities. In addition to general performance improvements
and restructuring, the newest version of pyuvdata includes several new major features,
including:

pyuvdata currently supports reading and writing uvfits [@uvfits] and
miriad [@miriad] files and reading FHD [@fhd] visibility save files.
- The addition of the `UVCal` class, which provides a container for handling calibration
solutions (bandpass, delays, and gains) for interferometric data. Supported data formats
include MS, FHD, CalFITS, and CalH5.
- The addition of the `UVBeam` class, which provides a container for handling models
of the primary beam for antennas within an interferometric array. Supported data formats
include BeamFITS, MWA, and CST.
- The addition of the `UVFlag` class, which provides a container for handling flags/masking
of bad data for visibility data.
- Drastically improved handling of astrometry and increased speed and accuracy of algorithms
used to ``phase-up'' data (i.e., change the sky position where the interferometer is centered
up on).
- Support for several new visibility data formats, including MIR, MS, and MWA/MWAX.
- Support for data sets containing multiple spectral windows.
- Support for data sets containing observations of multiple sources/phase centers.
kartographer marked this conversation as resolved.
Show resolved Hide resolved
-Many new convenience methods for working with interferometric data, including splitting and combining data sets, averaging in time and frequency and applying calibration solutions and flags.

# References
Loading