Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
8b50468
Add orbit-provider-agnostic constellation frame/time transforms
WuShichao Jul 28, 2026
964003c
Add Taiji/TianQin analytic orbit test fixtures
WuShichao Jul 28, 2026
c90a4f4
Generalize ssb_to_lisa/lisa_to_ssb/t_lisa_from_ssb/t_ssb_from_t_lisa
WuShichao Jul 28, 2026
3e596a5
Pass orbit/sc through lisa_to_geo/geo_to_lisa
WuShichao Jul 29, 2026
fb10a7f
Document that 'lisa' in generalized function/param names is generic
WuShichao Jul 29, 2026
eb79f77
transforms: fix SSBToLISA/GEOToLISA/SSBToGEO clobbering custom
WuShichao Jul 29, 2026
c468252
space_orbit: add NumericOrbits.from_file for loading orbit files
WuShichao Jul 29, 2026
e094129
space_orbit: add link_vector for single-link response inputs
WuShichao Jul 31, 2026
fe86b2a
Add TestLisaOrbit for symmetry with TestTaijiOrbit/TestTianQinOrbit
WuShichao Jul 31, 2026
0e70f33
Fix TestLisaOrbit's Earth-lag check: compare against real Earth, not
WuShichao Jul 31, 2026
e74fd5c
Anchor Taiji/TianQin fixture phase to real Earth's epoch, validate
WuShichao Jul 31, 2026
da0b07c
Add production TaijiAnalyticOrbit/TianQinAnalyticOrbit orbit providers
WuShichao Jul 31, 2026
b75811c
Add production LisaAnalyticOrbit, matching TaijiAnalyticOrbit/
WuShichao Jul 31, 2026
4ddc6ba
Add optional test validating space_orbit against real ESA OEM orbit f…
WuShichao Jul 31, 2026
716c851
Add ICRSOrbitAdapter to make ICRS-frame orbit sources drop-in providers
WuShichao Jul 31, 2026
cda0e90
Test space.ssb_to_lisa/lisa_to_ssb round trip against real ESA orbit …
WuShichao Jul 31, 2026
8bbb2c9
CI: install lisaorbits on Python >= 3.12 legs for optional orbit tests
WuShichao Jul 31, 2026
55957cc
Add compute_velocity/compute_acceleration everywhere in space_orbit
WuShichao Jul 31, 2026
178a90c
Performance: benchmark against lisaorbits and fix three real bottlenecks
WuShichao Jul 31, 2026
3da7a33
Add native OEM/Triangle-Simulator orbit readers and 2nd-order Kepler …
WuShichao Jul 31, 2026
482ddfa
Add real-Earth-ephemeris guiding center option to TianQinAnalyticOrbit
WuShichao Jul 31, 2026
526265e
Add coordinate-system unification for lunar detectors (LGWA)
WuShichao Aug 1, 2026
20848d3
Add NumericOrbits.to_file/from_lisaorbits_file
WuShichao Aug 5, 2026
25ff99d
Fix qlty lint findings: import order, star-import noqa, mutable defaults
WuShichao Aug 6, 2026
b14ad56
Empty commit to re-trigger CI (previous push's workflow runs never fi…
WuShichao Aug 6, 2026
1cfa193
Unify TianQin's default armlength with pycbc.psd.analytical_space
WuShichao Aug 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/workflows/basic-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,25 @@ jobs:
examples/inference/relmarg/*.gwf
examples/inference/single/*.gwf

- name: Install lisaorbits (optional ESA lisa-orbit-files cross-check)
# lisaorbits requires Python >= 3.12 (see its pyproject.toml), so this
# is skipped on the 3.11 leg; the tests it enables
# (test_coordinates_space_orbit.py's TestOptionalLisaorbitsDuckTyping,
# TestOptionalESAOemOrbitFiles) already skip gracefully if it's absent,
# so this step is purely additive coverage, not a hard requirement.
if: matrix.test-type == 'unittest' && matrix.python-version != '3.11'
run: |
pixi run -e unittest pip install lisaorbits

- name: Install lunarsky (optional lunar-site position tests)
# lunarsky has no Python version restriction (unlike lisaorbits), so
# this runs on all three legs; test_coordinates_moon.py's
# TestOptionalLunarskySite skips gracefully if it's absent, so this
# step is purely additive coverage, not a hard requirement.
if: matrix.test-type == 'unittest'
run: |
pixi run -e unittest pip install lunarsky

- name: run pycbc test suite
run: |
export LAL_DATA_PATH=$HOME/lal_aux_data
Expand Down
18 changes: 17 additions & 1 deletion pycbc/coordinates/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,17 @@
more advanced transformations between ground-based detectors and space-borne
detectors.
"""
# ruff: noqa: F403, F405 -- this module deliberately re-exports every name
# from its submodules via `import *`, with the combined public API listed
# explicitly in `__all__` below; ruff cannot resolve star-imported names
# statically, so F403 ("unable to detect undefined names") and F405 ("may
# be undefined, or defined from star imports") are expected here, not a
# sign of a real undefined-name bug.

from pycbc.coordinates.base import *
from pycbc.coordinates.moon import *
from pycbc.coordinates.space import *

from pycbc.coordinates.space_orbit import *

__all__ = ['cartesian_to_spherical_rho', 'cartesian_to_spherical_azimuthal',
'cartesian_to_spherical_polar', 'cartesian_to_spherical',
Expand All @@ -34,4 +41,13 @@
'lisa_position_ssb', 'earth_position_ssb',
't_geo_from_ssb', 't_ssb_from_t_geo', 'ssb_to_geo', 'geo_to_ssb',
'lisa_to_geo', 'geo_to_lisa',
'NumericOrbits', 'LisaAnalyticOrbit', 'LisaKeplerianOrbit',
'TaijiAnalyticOrbit', 'TaijiKeplerianOrbit',
'TianQinAnalyticOrbit', 'ICRSOrbitAdapter',
'constellation_frame', 'link_vector',
't_detector_from_ssb', 't_ssb_from_t_detector',
'rotation_matrix_ssb_to_moon', 'moon_site_position_ssb',
't_moon_from_ssb', 't_ssb_from_t_moon',
'ssb_to_moon', 'moon_to_ssb',
'moon_to_geo', 'geo_to_moon', 'moon_to_lisa', 'lisa_to_moon',
]
Loading
Loading