sxs 2023.1.6__tar.gz → 2023.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. {sxs-2023.1.6 → sxs-2023.3.0}/CITATION.cff +2 -2
  2. {sxs-2023.1.6 → sxs-2023.3.0}/PKG-INFO +1 -1
  3. sxs-2023.3.0/sxs/__version__.py +1 -0
  4. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/julia/GWFrames.py +15 -6
  5. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/julia/__init__.py +25 -8
  6. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/juliapkg.json +1 -1
  7. sxs-2023.3.0/tests/test_julia.py +61 -0
  8. sxs-2023.1.6/sxs/__version__.py +0 -1
  9. {sxs-2023.1.6 → sxs-2023.3.0}/.codecov.yml +0 -0
  10. {sxs-2023.1.6 → sxs-2023.3.0}/.github/dependabot.yml +0 -0
  11. {sxs-2023.1.6 → sxs-2023.3.0}/.github/scripts/parse_bump_rule.py +0 -0
  12. {sxs-2023.1.6 → sxs-2023.3.0}/.github/workflows/build.yml +0 -0
  13. {sxs-2023.1.6 → sxs-2023.3.0}/.github/workflows/pr_rtd_link.yml +0 -0
  14. {sxs-2023.1.6 → sxs-2023.3.0}/.gitignore +0 -0
  15. {sxs-2023.1.6 → sxs-2023.3.0}/.readthedocs.yaml +0 -0
  16. {sxs-2023.1.6 → sxs-2023.3.0}/LICENSE +0 -0
  17. {sxs-2023.1.6 → sxs-2023.3.0}/README.md +0 -0
  18. {sxs-2023.1.6 → sxs-2023.3.0}/docs/api/catalog.md +0 -0
  19. {sxs-2023.1.6 → sxs-2023.3.0}/docs/api/horizons.md +0 -0
  20. {sxs-2023.1.6 → sxs-2023.3.0}/docs/api/load.md +0 -0
  21. {sxs-2023.1.6 → sxs-2023.3.0}/docs/api/metadata.md +0 -0
  22. {sxs-2023.1.6 → sxs-2023.3.0}/docs/api/time_series.md +0 -0
  23. {sxs-2023.1.6 → sxs-2023.3.0}/docs/api/waveforms.md +0 -0
  24. {sxs-2023.1.6 → sxs-2023.3.0}/docs/html/main.html +0 -0
  25. {sxs-2023.1.6 → sxs-2023.3.0}/docs/images/favicon.ico +0 -0
  26. {sxs-2023.1.6 → sxs-2023.3.0}/docs/index.md +0 -0
  27. {sxs-2023.1.6 → sxs-2023.3.0}/docs/javascript/mathjax.js +0 -0
  28. {sxs-2023.1.6 → sxs-2023.3.0}/docs/julia.md +0 -0
  29. {sxs-2023.1.6 → sxs-2023.3.0}/docs/mathematica.md +0 -0
  30. {sxs-2023.1.6 → sxs-2023.3.0}/docs/stylesheets/extra.css +0 -0
  31. {sxs-2023.1.6 → sxs-2023.3.0}/docs/tutorials/00-Introduction.ipynb +0 -0
  32. {sxs-2023.1.6 → sxs-2023.3.0}/docs/tutorials/01-Metadata.ipynb +0 -0
  33. {sxs-2023.1.6 → sxs-2023.3.0}/docs/tutorials/02-Catalog.ipynb +0 -0
  34. {sxs-2023.1.6 → sxs-2023.3.0}/docs/tutorials/03-Horizons.ipynb +0 -0
  35. {sxs-2023.1.6 → sxs-2023.3.0}/docs/tutorials/04-Waveforms.ipynb +0 -0
  36. {sxs-2023.1.6 → sxs-2023.3.0}/docs/tutorials/05-PreprocessingForFFTs.ipynb +0 -0
  37. {sxs-2023.1.6 → sxs-2023.3.0}/mkdocs.yml +0 -0
  38. {sxs-2023.1.6 → sxs-2023.3.0}/pyproject.toml +0 -0
  39. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/__init__.py +0 -0
  40. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/caltechdata/__init__.py +0 -0
  41. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/caltechdata/catalog.py +0 -0
  42. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/caltechdata/login.py +0 -0
  43. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/catalog/__init__.py +0 -0
  44. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/catalog/catalog.py +0 -0
  45. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/catalog/create.py +0 -0
  46. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/catalog/description.py +0 -0
  47. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/handlers.py +0 -0
  48. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/horizons/__init__.py +0 -0
  49. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/horizons/spec_horizons_h5.py +0 -0
  50. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/horizons/xor_multishuffle_bzip2.py +0 -0
  51. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/metadata/__init__.py +0 -0
  52. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/metadata/metadata.py +0 -0
  53. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/time_series.py +0 -0
  54. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/__init__.py +0 -0
  55. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/bitwise.py +0 -0
  56. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/decimation/__init__.py +0 -0
  57. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/decimation/greedy_spline.py +0 -0
  58. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/decimation/linear_bisection.py +0 -0
  59. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/decimation/peak_greed.py +0 -0
  60. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/decimation/suppression.py +0 -0
  61. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/dicts.py +0 -0
  62. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/downloads.py +0 -0
  63. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/files.py +0 -0
  64. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/formats.py +0 -0
  65. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/inspire.py +0 -0
  66. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/lvcnr/__init__.py +0 -0
  67. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/lvcnr/comparisons.py +0 -0
  68. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/lvcnr/conversion.py +0 -0
  69. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/lvcnr/dataset.py +0 -0
  70. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/lvcnr/horizons.py +0 -0
  71. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/lvcnr/metadata.py +0 -0
  72. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/lvcnr/waveform_amp_phase.py +0 -0
  73. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/lvcnr/waveforms.py +0 -0
  74. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/monotonicity.py +0 -0
  75. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/pretty_print.py +0 -0
  76. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/references/__init__.py +0 -0
  77. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/references/ads.py +0 -0
  78. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/references/arxiv.py +0 -0
  79. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/references/fairchild_report.py +0 -0
  80. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/references/inspire.py +0 -0
  81. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/references/journal_abbreviations.py +0 -0
  82. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/references/references.py +0 -0
  83. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/select.py +0 -0
  84. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/smooth_functions.py +0 -0
  85. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/sxs_directories.py +0 -0
  86. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/sxs_identifiers.py +0 -0
  87. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/utilities/url.py +0 -0
  88. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/waveforms/__init__.py +0 -0
  89. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/waveforms/alignment.py +0 -0
  90. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/waveforms/format_handlers/__init__.py +0 -0
  91. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/waveforms/format_handlers/lvc.py +0 -0
  92. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/waveforms/format_handlers/nrar.py +0 -0
  93. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/waveforms/format_handlers/rotating_paired_diff_multishuffle_bzip2.py +0 -0
  94. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/waveforms/format_handlers/rotating_paired_xor_multishuffle_bzip2.py +0 -0
  95. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/waveforms/format_handlers/spectre_cce_v1.py +0 -0
  96. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/waveforms/memory.py +0 -0
  97. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/waveforms/mode_utilities.py +0 -0
  98. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/waveforms/transformations.py +0 -0
  99. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/waveforms/waveform_grid.py +0 -0
  100. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/waveforms/waveform_mixin.py +0 -0
  101. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/waveforms/waveform_modes.py +0 -0
  102. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/waveforms/waveform_signal.py +0 -0
  103. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/zenodo/__init__.py +0 -0
  104. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/zenodo/api/__init__.py +0 -0
  105. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/zenodo/api/deposit.py +0 -0
  106. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/zenodo/api/login.py +0 -0
  107. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/zenodo/api/records.py +0 -0
  108. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/zenodo/catalog.py +0 -0
  109. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/zenodo/creators.py +0 -0
  110. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/zenodo/simannex.py +0 -0
  111. {sxs-2023.1.6 → sxs-2023.3.0}/sxs/zenodo/surrogatemodeling.py +0 -0
  112. {sxs-2023.1.6 → sxs-2023.3.0}/tests/__init__.py +0 -0
  113. {sxs-2023.1.6 → sxs-2023.3.0}/tests/conftest.py +0 -0
  114. {sxs-2023.1.6 → sxs-2023.3.0}/tests/test_catalog.py +0 -0
  115. {sxs-2023.1.6 → sxs-2023.3.0}/tests/test_horizons.py +0 -0
  116. {sxs-2023.1.6 → sxs-2023.3.0}/tests/test_loader.py +0 -0
  117. {sxs-2023.1.6 → sxs-2023.3.0}/tests/test_metadata.py +0 -0
  118. {sxs-2023.1.6 → sxs-2023.3.0}/tests/test_time_series.py +0 -0
  119. {sxs-2023.1.6 → sxs-2023.3.0}/tests/test_transformations.py +0 -0
  120. {sxs-2023.1.6 → sxs-2023.3.0}/tests/test_utilities.py +0 -0
  121. {sxs-2023.1.6 → sxs-2023.3.0}/tests/test_waveform_rotations.py +0 -0
  122. {sxs-2023.1.6 → sxs-2023.3.0}/tests/test_waveforms.py +0 -0
@@ -10,5 +10,5 @@ authors:
10
10
  title: "The sxs package"
11
11
  license: MIT
12
12
  doi: 10.5281/zenodo.4034006
13
- version: 2023.1.6
14
- date-released: 2024-06-27
13
+ version: 2023.3.0
14
+ date-released: 2024-07-25
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: sxs
3
- Version: 2023.1.6
3
+ Version: 2023.3.0
4
4
  Summary: Interface to data produced by the Simulating eXtreme Spacetimes collaboration
5
5
  Project-URL: Homepage, https://github.com/sxs-collaboration/sxs
6
6
  Project-URL: Documentation, https://sxs.readthedocs.io/
@@ -0,0 +1 @@
1
+ __version__ = "2023.3.0"
@@ -1,3 +1,4 @@
1
+ import numpy as np
1
2
  import quaternionic
2
3
  from .. import WaveformModes
3
4
  from . import PostNewtonian
@@ -46,17 +47,25 @@ def PNWaveform(
46
47
  **kwargs
47
48
  )
48
49
 
50
+ coorbital_frame = quaternionic.array(w1.frame.to_numpy())
51
+ frame = np.array([quaternionic.one]) if inertial else coorbital_frame
52
+ frame_type = "inertial" if inertial else "coorbital"
53
+
49
54
  w = WaveformModes(
50
- w1.data,
51
- time=w1.t,
55
+ w1.data.to_numpy(),
56
+ time=w1.t.to_numpy(),
52
57
  modes_axis=1,
53
- ell_min=2,
54
- ell_max=8,
58
+ ell_min=ell_min,
59
+ ell_max=ell_max,
60
+ spin_weight=-2,
61
+ frame=frame,
62
+ frame_type=frame_type,
63
+ data_type="h",
55
64
  M1=w1.M1.to_numpy(),
56
65
  M2=w1.M2.to_numpy(),
57
66
  chi1=w1.chi1.to_numpy(),
58
67
  chi2=w1.chi2.to_numpy(),
59
- frame=quaternionic.array(w1.frame.to_numpy()),
68
+ coorbital_frame=coorbital_frame,
60
69
  v=w1.v.to_numpy(),
61
70
  orbital_phase=w1.Phi.to_numpy(),
62
71
  )
@@ -66,7 +75,7 @@ def PNWaveform(
66
75
  w.M2 = w._metadata["M2"]
67
76
  w.chi1 = w._metadata["chi1"]
68
77
  w.chi2 = w._metadata["chi2"]
69
- #w.frame = w._metadata["frame"] ## Already done
78
+ w.coorbital_frame = w._metadata["coorbital_frame"]
70
79
  w.v = w._metadata["v"]
71
80
  w.orbital_phase = w._metadata["orbital_phase"]
72
81
 
@@ -1,3 +1,4 @@
1
+ import numpy as np
1
2
  import quaternionic
2
3
  from .. import WaveformModes
3
4
 
@@ -6,7 +7,8 @@ import juliacall
6
7
 
7
8
  PostNewtonian = juliacall.newmodule("PN")
8
9
  PostNewtonian.seval("using PostNewtonian")
9
- GWFrames = PostNewtonian.GWFrames
10
+
11
+ from . import GWFrames
10
12
 
11
13
  def pkg_update():
12
14
  """Update all installed Julia packages (but not julia itself)."""
@@ -16,6 +18,7 @@ def pkg_update():
16
18
 
17
19
  def PNWaveform(
18
20
  M1, M2, chi1, chi2, Omega_i, *,
21
+ inertial=True,
19
22
  ell_min=2, ell_max=8, waveform_pn_order=None,
20
23
  **orbital_evolution_kwargs
21
24
  ):
@@ -33,7 +36,7 @@ def PNWaveform(
33
36
  - `v` (array): The orbital velocity as a function of time.
34
37
  - `orbital_phase` (array): The orbital phase as a function of
35
38
  time.
36
-
39
+
37
40
  This is a wrapper around the Julia functions
38
41
  `PostNewtonian.orbital_evolution` and
39
42
  `PostNewtonian.inertial_waveform`. See [the Julia
@@ -45,7 +48,7 @@ def PNWaveform(
45
48
  docs](https://moble.github.io/PostNewtonian.jl/dev/interface/python/)
46
49
  for details. Also, the GWFrames submodule of this module provides
47
50
  another interface.
48
-
51
+
49
52
  """
50
53
  # Integrate the orbital dynamics
51
54
  inspiral = PostNewtonian.orbital_evolution(
@@ -55,9 +58,19 @@ def PNWaveform(
55
58
 
56
59
  # Compute the waveform in the inertial frame
57
60
  waveform_pn_order = waveform_pn_order or PostNewtonian.typemax(PostNewtonian.Int)
58
- h = PostNewtonian.inertial_waveform(
59
- inspiral, ell_min=ell_min, ell_max=ell_max, PNOrder=waveform_pn_order
60
- ).to_numpy().T
61
+ coorbital_frame = quaternionic.array(values[8:12, :].to_numpy().T)
62
+ if inertial:
63
+ frame = np.array([quaternionic.one])
64
+ frame_type = "inertial"
65
+ h = PostNewtonian.inertial_waveform(
66
+ inspiral, ell_min=ell_min, ell_max=ell_max, PNOrder=waveform_pn_order
67
+ ).to_numpy().T
68
+ else:
69
+ frame = coorbital_frame
70
+ frame_type = "coorbital"
71
+ h = PostNewtonian.coorbital_waveform(
72
+ inspiral, ell_min=ell_min, ell_max=ell_max, PNOrder=waveform_pn_order
73
+ ).to_numpy().T
61
74
 
62
75
  w = WaveformModes(
63
76
  h,
@@ -65,11 +78,15 @@ def PNWaveform(
65
78
  modes_axis=1,
66
79
  ell_min=ell_min,
67
80
  ell_max=ell_max,
81
+ spin_weight=-2,
82
+ frame=frame,
83
+ frame_type=frame_type,
84
+ data_type="h",
68
85
  M1=values[0, :].to_numpy(),
69
86
  M2=values[1, :].to_numpy(),
70
87
  chi1=values[2:5, :].to_numpy().T,
71
88
  chi2=values[5:8, :].to_numpy().T,
72
- frame=quaternionic.array(values[8:12, :].to_numpy().T),
89
+ coorbital_frame=coorbital_frame,
73
90
  v=values[12, :].to_numpy(),
74
91
  orbital_phase=values[13, :].to_numpy(),
75
92
  )
@@ -79,7 +96,7 @@ def PNWaveform(
79
96
  w.M2 = w._metadata["M2"]
80
97
  w.chi1 = w._metadata["chi1"]
81
98
  w.chi2 = w._metadata["chi2"]
82
- #w.frame = w._metadata["frame"] ## Already done
99
+ w.coorbital_frame = w._metadata["coorbital_frame"]
83
100
  w.v = w._metadata["v"]
84
101
  w.orbital_phase = w._metadata["orbital_phase"]
85
102
 
@@ -3,7 +3,7 @@
3
3
  "packages": {
4
4
  "PostNewtonian": {
5
5
  "uuid": "377afc40-5642-4616-8613-b7ebca523866",
6
- "version": "0.7.1"
6
+ "version": "0.9"
7
7
  }
8
8
  }
9
9
  }
@@ -0,0 +1,61 @@
1
+ import numpy as np
2
+ import sxs
3
+ from sxs import julia
4
+
5
+ def test_PNWaveform():
6
+ M1 = 0.3
7
+ M2 = 0.7
8
+ chi1 = [0.1, 0.2, 0.3]
9
+ chi2 = [-0.2, 0.1, -0.3]
10
+ Omega_i = 0.01
11
+ PNOrder = 4.0
12
+ waveform_pn_order = 4.0
13
+ saves_per_orbit = 32
14
+ w1 = sxs.julia.PNWaveform(
15
+ M1, M2, chi1, chi2, Omega_i,
16
+ PNOrder=PNOrder, waveform_pn_order=waveform_pn_order,
17
+ saves_per_orbit=saves_per_orbit
18
+ )
19
+
20
+ Approximant = "TaylorT1"
21
+ delta = sxs.julia.PostNewtonian.mass_difference_ratio(M1, M2)
22
+ chi1_i = chi1
23
+ chi2_i = chi2
24
+ Omega_orb_i = Omega_i
25
+ inertial = True
26
+ w2 = sxs.julia.GWFrames.PNWaveform(Approximant, delta, chi1_i, chi2_i, Omega_orb_i, inertial=inertial)
27
+
28
+ for w in [w1, w2]:
29
+ n_times = w.n_times
30
+ assert w.t[0] == 0.0
31
+ assert w.data.shape == (n_times, 77)
32
+ assert w.data_type == "h"
33
+ assert w.ell_min == 2
34
+ assert w.ell_max == 8
35
+ assert w.spin_weight == -2
36
+ assert w.frame.shape == (1, 4)
37
+ assert w.frame_type == "inertial"
38
+ assert w.M1.shape == (n_times,)
39
+ assert w.M2.shape == (n_times,)
40
+ assert w.chi1.shape == (n_times, 3)
41
+ assert w.chi2.shape == (n_times, 3)
42
+ assert w.coorbital_frame.shape == (n_times, 4)
43
+ assert w.v.shape == (n_times,)
44
+ assert w.orbital_phase.shape == (n_times,)
45
+
46
+ assert np.allclose(w1.t[:-10], w2.t[:-10])
47
+ assert np.allclose(w1.data[:-10, :], w2.data[:-10, :], rtol=1e-3, atol=1e-5)
48
+ assert np.allclose(w1.frame, w2.frame)
49
+ assert np.allclose(w1.M1[:-10], w2.M1[:-10])
50
+ assert np.allclose(w1.M2[:-10], w2.M2[:-10])
51
+ assert np.allclose(w1.chi1[:-10, :], w2.chi1[:-10, :], rtol=1e-3)
52
+ assert np.allclose(w1.chi2[:-10, :], w2.chi2[:-10, :], rtol=1e-3)
53
+ assert np.allclose(w1.coorbital_frame[:-10, :], w2.coorbital_frame[:-10, :])
54
+
55
+ w1_corot = w1.copy().to_corotating_frame()
56
+ w2_corot = w2.copy().to_corotating_frame()
57
+ for (w, w_corot) in [(w1, w1_corot), (w2, w2_corot)]:
58
+ assert np.array_equal(w.t, w_corot.t)
59
+ assert w.data.shape == w_corot.data.shape
60
+ assert w.coorbital_frame.shape == w_corot.frame.shape
61
+ assert w_corot.frame_type == "corotating"
@@ -1 +0,0 @@
1
- __version__ = "2023.1.6"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes