tabsim 0.0.6__tar.gz → 0.0.8__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 (53) hide show
  1. {tabsim-0.0.6 → tabsim-0.0.8}/PKG-INFO +1 -1
  2. {tabsim-0.0.6 → tabsim-0.0.8}/pyproject.toml +1 -1
  3. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/dask/coordinates.py +16 -0
  4. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/dask/observation.py +13 -1
  5. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim.egg-info/PKG-INFO +1 -1
  6. {tabsim-0.0.6 → tabsim-0.0.8}/LICENSE +0 -0
  7. {tabsim-0.0.6 → tabsim-0.0.8}/README.md +0 -0
  8. {tabsim-0.0.6 → tabsim-0.0.8}/docs/conf.py +0 -0
  9. {tabsim-0.0.6 → tabsim-0.0.8}/setup.cfg +0 -0
  10. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/__init__.py +0 -0
  11. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/config.py +0 -0
  12. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/dask/__init__.py +0 -0
  13. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/dask/extras.py +0 -0
  14. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/dask/interferometry.py +0 -0
  15. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/data/__init__.py +0 -0
  16. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/data/config/sim_config_base.yaml +0 -0
  17. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/data/config/tab_config_base.yaml +0 -0
  18. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/data/rfi/norad_satellite.rfimodel +0 -0
  19. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/data/rfi/satellite.ole +0 -0
  20. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/data/rfi/satellite.rfimodel +0 -0
  21. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/data/rfi/stationary.loc +0 -0
  22. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/data/rfi/stationary.rfimodel +0 -0
  23. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/data/rfi/tles/2023-02-21-J8HE0T.json +0 -0
  24. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/data/rfi/tles/2023-02-21-navstar.json +0 -0
  25. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/data/sky/calibrator.skymodel +0 -0
  26. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/data/telescopes/EDA2.itrf.txt +0 -0
  27. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/data/telescopes/MWA.itrf.txt +0 -0
  28. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/data/telescopes/MeerKAT.itrf.txt +0 -0
  29. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/data/telescopes/_telescopes.yaml +0 -0
  30. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/jax/__init__.py +0 -0
  31. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/jax/coordinates.py +0 -0
  32. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/jax/interferometry.py +0 -0
  33. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/jax/utils.py +0 -0
  34. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/plot.py +0 -0
  35. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/read_ms.py +0 -0
  36. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/scripts/__init__.py +0 -0
  37. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/scripts/ast_region.py +0 -0
  38. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/scripts/flag_data.py +0 -0
  39. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/scripts/sim_vis.py +0 -0
  40. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/scripts/tle_sat_region.py +0 -0
  41. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/scripts/write_config_from_ms.py +0 -0
  42. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/sky.py +0 -0
  43. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/tle.py +0 -0
  44. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/tools.py +0 -0
  45. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim/write.py +0 -0
  46. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim.egg-info/SOURCES.txt +0 -0
  47. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim.egg-info/dependency_links.txt +0 -0
  48. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim.egg-info/entry_points.txt +0 -0
  49. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim.egg-info/requires.txt +0 -0
  50. {tabsim-0.0.6 → tabsim-0.0.8}/tabsim.egg-info/top_level.txt +0 -0
  51. {tabsim-0.0.6 → tabsim-0.0.8}/tests/test_basic.py +0 -0
  52. {tabsim-0.0.6 → tabsim-0.0.8}/tests/test_sim-vis.py +0 -0
  53. {tabsim-0.0.6 → tabsim-0.0.8}/tests/test_version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tabsim
3
- Version: 0.0.6
3
+ Version: 0.0.8
4
4
  Summary: Trajectory-based Radio Frequency Interference (RFI) simulations for radio interferometeric data.
5
5
  Author-email: Chris Finlay <christopher.finlay@epfl.ch>
6
6
  Maintainer-email: Chris Finlay <christopher.finlay@epfl.ch>
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "tabsim"
8
- version = "0.0.6"
8
+ version = "0.0.8"
9
9
  license = {file = "LICENSE"}
10
10
  readme = "README.md"
11
11
  # dynamic = ["version", "readme"]
@@ -243,6 +243,22 @@ def GEO_to_XYZ_vmap1(geo: Array, times: Array) -> Array:
243
243
 
244
244
  GEO_to_XYZ_vmap1.__doc__ = coord.GEO_to_XYZ_vmap1.__doc__
245
245
 
246
+ from skyfield.api import Distance, load
247
+ from skyfield.toposlib import ITRSPosition
248
+ import numpy as np
249
+ from numpy.typing import NDArray
250
+
251
+ def itrs_to_gcrs_sf(pos_itrs: NDArray, times_jd: NDArray) -> NDArray:
252
+
253
+ ts = load.timescale()
254
+ t_sf = ts.ut1_jd(np.array(times_jd))
255
+
256
+ pos_gcrs = np.stack(
257
+ [ITRSPosition(Distance(m=pos)).at(t_sf).position.m.T for pos in pos_itrs], axis=1
258
+ )
259
+
260
+ return pos_gcrs
261
+
246
262
 
247
263
  def ITRF_to_XYZ(itrf: Array, gsa: Array) -> Array:
248
264
  n_time = gsa.shape[0]
@@ -11,6 +11,7 @@ from tabsim.dask.coordinates import (
11
11
  ENU_to_GEO,
12
12
  GEO_to_XYZ_vmap0,
13
13
  ITRF_to_XYZ,
14
+ itrs_to_gcrs_sf,
14
15
  orbit_vmap,
15
16
  radec_to_lmn,
16
17
  angular_separation,
@@ -329,7 +330,18 @@ class Observation(Telescope):
329
330
  self.mag_uvw = da.linalg.norm(self.bl_uvw[0], axis=-1)
330
331
  self.syn_bw = beam_size(self.mag_uvw.max().compute(), freqs.max())
331
332
 
332
- self.ants_xyz = ITRF_to_XYZ(self.ITRF, self.gsa)
333
+ # The following calculation of antenna positions in the GCRS frame does not take nutation
334
+ # into consideration. This leads to a small offset in the antenna positions compared to reality.
335
+ # self.ants_xyz = ITRF_to_XYZ(self.ITRF, self.gsa)
336
+ # The following calculation using skyfield takes nutation into consideration and leads to more
337
+ # accurate antenna positions.
338
+ self.ants_xyz = da.asarray(
339
+ itrs_to_gcrs_sf(
340
+ np.asarray(self.ITRF),
341
+ np.asarray(mjd_to_jd(self.times_mjd_fine.compute())),
342
+ )
343
+ ).rechunk((self.time_fine_chunk, self.n_ant, 3))
344
+
333
345
  self.vis_rfi = da.zeros(
334
346
  shape=(self.n_time, self.n_bl, self.n_freq),
335
347
  chunks=(self.time_chunk, self.bl_chunk, self.freq_chunk),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tabsim
3
- Version: 0.0.6
3
+ Version: 0.0.8
4
4
  Summary: Trajectory-based Radio Frequency Interference (RFI) simulations for radio interferometeric data.
5
5
  Author-email: Chris Finlay <christopher.finlay@epfl.ch>
6
6
  Maintainer-email: Chris Finlay <christopher.finlay@epfl.ch>
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