From c0f100998ced2a3771fe19b79edb84bd9941268e Mon Sep 17 00:00:00 2001 From: Paul Ray Date: Fri, 26 Apr 2024 14:03:48 -0400 Subject: [PATCH] Update CHANGELOG for v1.0 --- CHANGELOG-unreleased.md | 46 ------------------------------------ CHANGELOG.md | 52 +++++++++++++++++++++++++++++++++++++++++ CODE_OF_CONDUCT.md | 2 +- README.rst | 6 ++--- src/pint/polycos.py | 3 ++- 5 files changed, 58 insertions(+), 51 deletions(-) diff --git a/CHANGELOG-unreleased.md b/CHANGELOG-unreleased.md index cbb483399..2899b99f8 100644 --- a/CHANGELOG-unreleased.md +++ b/CHANGELOG-unreleased.md @@ -9,52 +9,6 @@ the released changes. ## Unreleased ### Changed -- Moved `get_derived_params` to `timing_model` -- `check_ephemeris_connection` CI test no longer requires access to static NANOGrav site -- `TimingModel.compare()` now calls `change_binary_epoch()`. -- When clock files contain out-of-order entries, the exception now records the first MJDs that are out of order -- `np.compat.long` -> `int` (former is deprecated) -- Turned ErfaWarning into an exception during testing; cleaned up test suite. -- macos-latest runner changed to macos-12 runner for CI tests to avoid M1 architecture issues ### Added -- Added numdifftools to setup.cfg to match requirements.txt -- Documentation: Added `convert_parfile` to list of command-line tools in RTD -- DDH binary model -- function `pint.utils.xxxselections` to do DMX-style selections for any parameter name -- Plot model DM in pintk -- More tests for pintk -- Maximum likelihood fitting for ECORR - - `is_time_correlated` class attribute in correlated `NoiseComponent`s - - `has_time_correlated_errors` property in `TimingModel` - - `Residuals._calc_ecorr_chi2()` method for fast chi2 computation using Sherman-Morrison identity - - `pint.utils.sherman_morrison_dot` and `pint.utils.woodbury_dot` - - Refactored repeated code out of `Residuals.calc_phase_mean` and `Residuals.calc_time_mean` - - Simplified `Residuals._calc_gls_chi2()` so that it uses Woodbury identity directly - - Refactored WLS chi2 code out of `Residuals.calc_chi2()` into a new function `Residuals._calc_wls_chi2()` - - `Residuals.d_lnlikelihood_d_whitenoise_param` will throw a `NotImplementedError` when correlated noise is present. - - `DownhillFitter._fit_noise()` doesn't use derivatives when correlated noise is present. - - Documentation: Noise fitting example notebook. -- `freeze_params` option in `wavex_setup` and `dmwavex_setup` -- `plrednoise_from_wavex`, `pldmnoise_from_dmwavex`, and `find_optimal_nharms` functions -- fake TOAs can be created with `subtract_mean=False`, to maintain phase coherence between different data sets -- Binary models can be guessed by the `ModelBuilder`. Options and script are added to allow reading/conversion of the T2 binary model -- Better explanation of ELL1H behavior when H3/H4/STIGMA supplied and when NHARMS is used -- FDJumpDM component for System-dependent DM offsets -- Documentation: Explanation for FDJUMP and FDJUMPDM ### Fixed -- `MCMC_walkthrough` notebook now runs -- Fixed runtime data README -- Fixed `derived_params` when OMDOT has 0 uncertainty -- `model.find_empty_masks` will now also look at DMX and SWX parameters -- Fixed `make_fake_toas_fromtim` -- Use `Hessian` instead of `Hessdiag` in `DownhillFitter._fit_noise`; compute noise parameter uncertainties only once in `DownhillFitter.fit_toas`. -- Consistent naming in `TimingModel.get_params_mapping()` -- Better exceptions for unsupported/unimplemented binary models (BTX, MSS, etc.) -- Emit warnings when `WaveX`/`DMWaveX` is used together with other representations of red/DM noise -- `get_observatory()` no longer overwrites `include_gps` and `include_bipm` of `Observatory` objects unless explicitly stated (BIPM and GPS clock corrections no longer incorrectly applied to BAT TOAs). -- Added back `spacecraft` as an alias for `stl_geo` -- Fix bug 1729 (missing f-string) -- Fixed common failure of test_observatory -- pintk now shows scaled error bars -- Docstring of `DispersionJump` ### Removed diff --git a/CHANGELOG.md b/CHANGELOG.md index 6093dd0b7..08144efd8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,58 @@ and this project, at least loosely, adheres to [Semantic Versioning](https://sem This file contains the released changes to the codebase. See CHANGELOG-unreleased.md for the unreleased changes. This file should only be changed while tagging a new version. +## [1.0] 2024-04-26 +### Changed +- Moved `get_derived_params` to `timing_model` +- `check_ephemeris_connection` CI test no longer requires access to static NANOGrav site +- `TimingModel.compare()` now calls `change_binary_epoch()`. +- When clock files contain out-of-order entries, the exception now records the first MJDs that are out of order +- `np.compat.long` -> `int` (former is deprecated) +- Turned ErfaWarning into an exception during testing; cleaned up test suite. +- macos-latest runner changed to macos-12 runner for CI tests to avoid M1 architecture issues +### Added +- Added numdifftools to setup.cfg to match requirements.txt +- Documentation: Added `convert_parfile` to list of command-line tools in RTD +- DDH binary model +- function `pint.utils.xxxselections` to do DMX-style selections for any parameter name +- Plot model DM in pintk +- More tests for pintk +- Maximum likelihood fitting for ECORR + - `is_time_correlated` class attribute in correlated `NoiseComponent`s + - `has_time_correlated_errors` property in `TimingModel` + - `Residuals._calc_ecorr_chi2()` method for fast chi2 computation using Sherman-Morrison identity + - `pint.utils.sherman_morrison_dot` and `pint.utils.woodbury_dot` + - Refactored repeated code out of `Residuals.calc_phase_mean` and `Residuals.calc_time_mean` + - Simplified `Residuals._calc_gls_chi2()` so that it uses Woodbury identity directly + - Refactored WLS chi2 code out of `Residuals.calc_chi2()` into a new function `Residuals._calc_wls_chi2()` + - `Residuals.d_lnlikelihood_d_whitenoise_param` will throw a `NotImplementedError` when correlated noise is present. + - `DownhillFitter._fit_noise()` doesn't use derivatives when correlated noise is present. + - Documentation: Noise fitting example notebook. +- `freeze_params` option in `wavex_setup` and `dmwavex_setup` +- `plrednoise_from_wavex`, `pldmnoise_from_dmwavex`, and `find_optimal_nharms` functions +- fake TOAs can be created with `subtract_mean=False`, to maintain phase coherence between different data sets +- Binary models can be guessed by the `ModelBuilder`. Options and script are added to allow reading/conversion of the T2 binary model +- Better explanation of ELL1H behavior when H3/H4/STIGMA supplied and when NHARMS is used +- FDJumpDM component for System-dependent DM offsets +- Documentation: Explanation for FDJUMP and FDJUMPDM +### Fixed +- `MCMC_walkthrough` notebook now runs +- Fixed runtime data README +- Fixed `derived_params` when OMDOT has 0 uncertainty +- `model.find_empty_masks` will now also look at DMX and SWX parameters +- Fixed `make_fake_toas_fromtim` +- Use `Hessian` instead of `Hessdiag` in `DownhillFitter._fit_noise`; compute noise parameter uncertainties only once in `DownhillFitter.fit_toas`. +- Consistent naming in `TimingModel.get_params_mapping()` +- Better exceptions for unsupported/unimplemented binary models (BTX, MSS, etc.) +- Emit warnings when `WaveX`/`DMWaveX` is used together with other representations of red/DM noise +- `get_observatory()` no longer overwrites `include_gps` and `include_bipm` of `Observatory` objects unless explicitly stated (BIPM and GPS clock corrections no longer incorrectly applied to BAT TOAs). +- Added back `spacecraft` as an alias for `stl_geo` +- Fix bug 1729 (missing f-string) +- Fixed common failure of test_observatory +- pintk now shows scaled error bars +- Docstring of `DispersionJump` + + ## [0.9.8] 2023-12-04 ### Changed - `WAVE` parameters can be added to a `Wave` model with `add_wave_component()` in `wave.py` diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 0866515e0..876286ee1 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -37,7 +37,7 @@ This Code of Conduct applies within all community spaces, and also applies when ## Actions -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the any of the project maintainers: Scott Ransom , Jing Luo , Paul Demorest , Anne Archibald , or Paul Ray . +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the any of the project maintainers: Scott Ransom , Paul Demorest , Anne Archibald , or Paul Ray . The project maintainers are obligated to respect the privacy and security of the reporter of any incident. diff --git a/README.rst b/README.rst index c65b18a24..ffc16bcf6 100644 --- a/README.rst +++ b/README.rst @@ -58,8 +58,8 @@ IMPORTANT Notes! PINT has a naming conflict with the `pint `_ units package available from PyPI (i.e. using pip) and conda. Do **NOT** ``pip install pint`` or ``conda install pint``! See below! -PINT requires ``longdouble`` (80- or 128-bit floating point) arithmetic within ``numpy``, which is currently not supported natively on M1/M2 Macs. -However, you can use an x86 version of ``conda`` even on an M1/M2 Mac (which will run under Rosetta emulation): +PINT requires ``longdouble`` (80- or 128-bit floating point) arithmetic within ``numpy``, which is currently not supported natively on M1/M2/M3 Macs. +However, you can use an x86 version of ``conda`` even on an M1/M2/M3 Mac (which will run under Rosetta emulation): see `instructions for using Apple Intel packages on Apple silicon `_. It's possible to have `parallel versions of conda for x86 and @@ -121,7 +121,7 @@ If you have tasks that aren't covered in the material above, you can email pint@nanograv.org or one of the people below: * Scott Ransom (sransom@nrao.edu) -* Paul Ray (Paul.Ray@nrl.navy.mil) +* Paul Ray (paul.s.ray3.civ@us.navy.mil) * David Kaplan (kaplan@uwm.edu) Want to do something new? Submit a github `issue `_. diff --git a/src/pint/polycos.py b/src/pint/polycos.py index 686576b9b..11ca400b7 100644 --- a/src/pint/polycos.py +++ b/src/pint/polycos.py @@ -32,6 +32,7 @@ ---------- http://tempo.sourceforge.net/ref_man_sections/tz-polyco.txt """ + import astropy.table as table import astropy.units as u import numpy as np @@ -84,7 +85,7 @@ class PolycoEntry: """One Polyco entry. Referenced from polyco.py authored by - - Paul S. Ray + - Paul S. Ray - Matthew Kerr Parameters