time_residuals
,scaled_toa_uncertainties
, andmodel_dm
,from_pint
methods inSPNTA
- NE_SW derivatives in
SolarWind
Pulsar
classpyvela
scriptget_free_param_units
function- "Known issues" page in documentation
- DMX: Piecewise-constant model for DM (
DispersionPiecewise
) - CMX: Piecewise-constant model for CM (
ChromaticPiecewise
) BinaryELL1k
model
- Reduced the number of
pyvela
tests
- DMX and CMX cannot be used alongside other stochastic DM variation models
test_alloc
andtest_likelihood
fromtest_data_files.py
- Unnecessary test & example data files
pyvela.SPNTA
classget_unit_conversion_factor
functionprior_scaling
methods andscale_prior_args
function
- Reorganized
pyvela
code - Rerun failures in
pyvela
CI tests. - Example scripts now use
pyvela.SPNTA
- Updated documentation to use
pyvela.SPNTA
and installation instructions - Made the repository public and deployed the documentation website.
- Migrated Python package settings from
setup.py
topyproject.toml
- Migrated from
Codecov
toCoveralls
for code coverage - Prior JSON files now accept parameters in "normal" units.
SPNTA
constructor now accepts "raw" prior dictionaries similar to the prior files rather than those containing actualDistribution
objects.- Renamed
parse_custom_prior_file
toprocess_custom_priors
- Renamed
read_model_and_toas
toconvert_model_and_toas
- Updated lowest versions for Python dependencies
- Memory allocation in GP components
- Some unnecessary test datasets
- Installation instructions from README file
- Check for
ECORR
exclusivity - Vectorize option in
get_lnpost_func
- GP noise models -
PowerlawRedNoiseGP
,PowerlawDispersionNoiseGP
,PowerlawChromaticNoiseGP
- Examples -
sim3.gp
,sim4.gp
,sim6.gp
- Detailed documentation
- Abstract base classes
RedNoiseBase
,DispersionNoiseBase
,ChromaticNoiseBase
,FrequencyDependentBase
- Renamed
pint2vela
->pyvela
- Infer
is_tzr(toa)
fromtoa.index
- Infer
is_barycentered(toa)
fromtoa.ephem.ssb_obs_pos
- Renamed
CorrectedTOA
,CorrectedWidebandTOA
, andCorrectedDMInfo
respectively toTOACorrection
,WidebandTOACorrection
, andDMInfoCorrection
- Removed the
TOA
fromTOACorrection
(it's passed separately to functions). This reduces copy overhead. - Avoid unnecessary repeated computations in
Spindown
- Specialized methods of
taylor_horner
andtaylor_horner_integral
for faster execution - Split
correct_toa
into more specialized methodscorrect_toa_delay
,correct_toa_phase
, andcorrect_toa_error
- Multiplication instead of power in dispersion delay
- Subtract
PEPOCH
from all TOA andMJDParameter
values; addepoch
attribute toTimingModel
- Moved
basis_dot
tojump.jl
- Better priors for
KOM
,SINI
,KIN
,STIGMA
,SHAPMAX
,EFAC
, etc.
- Unnecessary repetition of
sin
andcos
in ecliptic coordinate conversion - Bug in
_ecorr_lnlike_group
level
attribute fromTOACorrection
obs_earth_pos
fromSolarSystemEphemeris
- Doppler factor in
BinaryELL1
BinaryDD
,BinaryDDH
,BinaryDDS
,BinaryELL1H
, andBinaryDDK
models- Doppler factor in
BinaryDD
get_free_param_labels()
function- Examples -
J0613-0200.sim
,J1856-3754.sim
,J1802-2124.sim
,J0955-6150.sim
,J1208-5936.sim
,J2302+4442.sim
,J1227-6208.sim
,sim6
,sim_dd
,sim_ddk
,sim_sw.wb
,sim_dmjump
,sim_dmwn
,sim2
,sim_glitch
- Test Python formatting using
black
- Use
BinaryDD
for par files with the BT model. - Basic wideband timing implementation
TOABase
as the base type forTOA
andWidebandTOA
WidebandTOA
as the composition ofTOA
andDMInfo
. The latter contains DM measurement and error.CorrectedTOABase
as the base type forCorrectedTOA
andCorrectedWidebandTOA
CorrectedWidebandTOA
as the composition ofCorrectedTOA
andCorrectedDMInfo
. The latter contains model DM and DM error.- Methods of
correct_toa()
,form_residual()
,calc_chi2()
,calc_lnlike()
, andcalc_lnpost()
that act onWidebandTOA
s and relatives. load_pulsar_data()
andsave_pulsar_data()
now work with wideband TOAspint2vela
can now read wideband TOAs.
degrees_of_freedom()
andreduced_chi2()
functions- Wideband DM offsets (
DMJUMP
s) DispersionMeasurementNoise
component (DMEFAC
s andDMEQUAD
s) for wideband dataECORR
implementationKernel
as the abstract base class for all likelihood kernels; added thekernel
member inTimingModel
.WhiteNoiseKernel
marks white noise-only likelihood computation.EcorrKernel
marks likelihood computation with only white noise and ECORR.- Methods of
calc_chi2
andcalc_lnlike
specialized forWhiteNoiseKernel
andEcorrKernel
ecorr_sort
function inpint2vela
get_kernel
function inpint2vela
that constructsKernel
s based on thePINT
TimingModel
object
Glitch
componentFrequencyDependentJump
component (FDJUMP
s)- Documentation - Getting Started and Explanation pages
- Exposed
cheat_prior_scale
andcustom_prior_dists
options inread_model_and_toas()
- Made changes according to the
GeometricUnits
API changes (GQ
now represents dimensions as a type parameter) - Use the github version of
PINT
for testing - Split
test_components.jl
into multiple files. - Simplify the type hierarchy of
Component
s. Now allComponent
s areTOA
-uncorrelated by definition.
- Tests now handle par files without
PHOFF
properly. - Proper motion computation
- Default of
CorrectedTOA.spin_frequency
- Shapiro delay expression for
BinaryDDBase
- True anomaly computation in
DDState
- Scale factor computation in
get_default_prior()
- Bug in
correct_toa()
(ssb_psr_pos
was being set incorrectly) black
failure now shows up as a CI failure.- Handling of
prefixParameters
withTime
quantities - Don't apply
MeasurementNoise
to TZR TOAs
load_pulsar_data()
andsave_pulsar_data()
functionspar_tim_to_jlso()
function andpar_tim-to-jlso
script inpint2vela
Prior
as the abstract base class for prior distributionsSimplePriorBase
,SimplePrior
andSimplePriorMulti
to represent priors that can be factorized parameter-wise.distr()
,lnprior()
andprior_transform()
functions.get_lnprior_func()
andget_prior_transform_func()
functions.get_default_priors()
function inpint2vela
- More methods for
get_free_param_names()
,read_param_values_to_vector()
, andget_scale_factors()
for convenience - Added CI tests for
pint2vela
- An alternative implementation of
PhaseJump
for mutually exclusive JUMPs basis_dot
function- Simple solar wind model (Edwards+ 2006) (
SolarWind
) - Variable-index chromatic delay as a Taylor expansion (
ChromaticTaylor
) - Auto-generation of HTML documentation using
Documenter
docs-CI
tests- Examples -
sim1
,sim_jump
,sim_jump_ex
,sim_fdjumpdm
,sim_sw
,sim_cm
,sim_fd
,J0613-0200.InPTA.NB
,J1857+0943.InPTA.NB
- Tests corresponding to the example datasets
- System-dependent DM offsets (
DispersionOffset
) compare_residuals.py
script inexamples
.- Codecov upload for
pint2vela
- Fourier series representation of achromatic red noise (
WaveX
), DM noise (DMWaveX
), and chromatic noise (ChromaticCM
) get_lnpost_func
function- Frequency-dependent profile variability corrections (
FrequencyDependent
) - Memory allocation tests for all components in
test_components.jl
mean_anomaly
andmean_motion
functionsBinaryELL1
model- Memory allocation tests in the
pint2vela
test suite.
- Reorganized source files into subdirectories
- Replaced
par
andtim
files for testing withJLSO
files - Moved
pint2vela.py
to separate repo, added it as a submodule. - Rearranged
pint2vela
code into multiple files. - Merged
pint2vela
into the main repo. - Replaced
pint2vela
test datasets with symlinks. - Updated
README.md
- Moved
setup.py
fromVela.jl/pint2vela
toVela.jl
show
method forMeasurementNoise
- Copy the
toas
insideget_lnlike_parallel_func
,get_lnlike_serial_func
,get_chi2_serial_func
, andget_chi2_parallel_func
to avoid repeated allocations.
read_model_and_toas()
function. Data is now read fromJLSO
files created usingpint2vela
plot_summary()
function. (This is better done in Python.)- Tests using
PyArray
(This speeds up the test suite) - Support for Julia 1.9
CHANGELOG
file- Environment variables for safe Python interoperability in the
README
file index
field inTOA
MeasurementNoise
component (EFAC
s andEQUAD
s)get_scale_factors()
function.- Assertion in
read_params
to make sure that the input has the correct number of values. PhaseJump
component (JUMP
s)
- Split
F0
into twoFloat64
variables (F_
&F0
) to preserve precision - Use
DoubleFloats
instead ofQuadmath
to represent TOA values (it's faster) - Rearrange code and tests into multiple files
- Rearrange test data files
- Use
@spawn
andfetch
instead of atomic operations for parallel chi2 and likelihood. - Move chi2 functions into a separate file
chi2.jl
- Move the higher order functions in
pyinter.jl
tochi2.jl
andlikelihood.jl
- Updated
README
to usepint2vela
TimingModel
to represent the timing & noise model- Hierarchy of
Component
types SolarSystem
component (solar system delays)DispersionTaylor
component (interstellar dispersion as a Taylor series)Spindown
component (pulsar spindown as a Taylor series)PhaseOffset
component (overall phase offset between physical TOAs and the TZR TOA)TimingModel
to represent the timing & noise modelTOA
type to represent narrowband TOAsCorrectedTOA
type to represent accumulated corrections to aTOA
.SolarSystemEphemeris
type to store solar system ephemeridesParamHandler
class and its friends to convert parameter vectors to named tuplescorrect_toa()
function- Parallel and serial versions of the
chi2
andlnlike
functions read_model_and_toas()
to read data fromHDF5
files (created usingpint2vela.py
)pure_rotator
andNGC6440E
examples- GitHub Actions for CI Tests and CodeCov upload
- Basic
README
file - MIT Licence