Skip to content

Commit 798b816

Browse files
authored
Merge pull request #385 from hamogu/cycle4_moritz
Cycle 4: Moritz to work on `astropy.io.ascii` and X-ray spectral modelling
2 parents c14e4c7 + b021e14 commit 798b816

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
### Title
2+
3+
Addressing issues in `astropy.io.ascii`
4+
5+
### Project Team
6+
7+
- Moritz Guenther (@hamogu)
8+
9+
### Project Description
10+
11+
Address (by fixing or closing) open issues in `astropy.io.ascii`, astropy affiliate editor, organization of dev-telecons, development and review of other astropy and specutils code.
12+
13+
14+
### Project / Work
15+
Part 1: `astropy.io.ascii`
16+
At the time of writing there are [66 open issues in astropy tagged `io.ascii`](https://github.com/astropy/astropy/issues?q=is%3Aopen+is%3Aissue+label%3Aio.ascii), 57 of which are older than 18 months.
17+
18+
While astropy clearly thrives with those bugs and issues, each of them represents at least one user
19+
who was stopped in their work and found this annoying enough to open an issue. We know anecdotally, that
20+
many users who do not think of themselves as "developers" don't open issues on github (e.g. they might not
21+
even have an account) so each bug probably represents several or more users who have run
22+
into a problem. For a smooth user experience, we should close out bugs and fill in feature requests
23+
where we can.
24+
25+
Not all of these issues are actionable (e.g. some
26+
require upstream fixes or
27+
[would require fairly invasive changes that would break backwards compatibility in a way that does not seem warrented](https://github.com/astropy/astropy/issues/5440#issuecomment-880703756));
28+
however most can be addressed given some developer time.
29+
30+
Part 2:
31+
Organizational work for Astropy:
32+
- Astropy affiliate package editor with pyOpenSci
33+
- organization of dev-telecons
34+
- strategic planning and proposal writing
35+
36+
Part 3:
37+
38+
Bring X-ray spectroscopy to `specutils` and `astropy.modelling`. Moritz is one of the core developers of [sherpa](https://github.com/sherpa/sherpa/). Sherpa is a complete package for X-ray spectral modelling with an infrastructure very similar to `astropy.modelling`, providing (a) some models and fitters that astropy misses and (b) ways to handle [spectra and responses in the OGIP format](https://heasarc.gsfc.nasa.gov/docs/heasarc/ofwg/docs/spectra/ogip_92_007/node5.html). Indeed, we have made a [bridge between sherpa and astropy a few years ago](https://saba.readthedocs.io/en/latest/), but maintaining compatibility between three separate packages (astropy, saba, sherpa) through versions turned out to be cumbersome. Also, Sherpa has a lot of infrastructure to read OGIP compliant X-ray data (PHA, ARF, RMF) that would fit well into a `specutils.OGIP` package to make those formats available to other parts of the astropy ecosystem. With Sherpa's continued developent in question given NASA's budget proposal to wind down Chandra support, I suggest to move or re-implement (depending on package license) those routines. Several (non affiliated) Python packages have done bits and parts of this, but it seems the time has come to bring the OGIP formats to a well-used astropy ecosystem package like `spectuils`.
39+
Moritz proposes to pay a sub-grant to MIT to pay for some of his time to
40+
work on those issues. Based on previous PRs, I estimate that I can address
41+
on average one issue in one to two work days, so paying for 10% of my work time for one year should allow me to address the majority of the currently open issues.
42+
43+
44+
45+
### Approximate Budget
46+
47+
Budget breakdown (nominal):
48+
49+
- $25,000 for 10% of my time per year
50+
51+
(Since this will be a sub-award to MIT, my salary is fixed by MIT and the overhead rate is fixed by agreement between MIT and the US government. We can change the length of the contract, but not the hourly rate.)
52+
53+
The minimum useful time is determined by how much effort it is to set up that sub-award. I can work on one issue in 8 hours of work, but neither MIT nor NumFOCUS would want to write and process a subaward contract for that little money. Realistically, it's probably not worth the effort if less than $5-10k are allocated to this project.
54+
55+
### Period of Performance
56+
3 years

0 commit comments

Comments
 (0)