8000 New functions for v1.3 by attipaci · Pull Request #113 · Smithsonian/SuperNOVAS · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

New functions for v1.3 #113

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 15 commits into from
Jan 24, 2025
Merged

New functions for v1.3 #113

merged 15 commits into from
Jan 24, 2025

Conversation

attipaci
Copy link
Collaborator
@attipaci attipaci commented Jan 20, 2025

Changes for the upcoming v1.3 feature release, expected around 1 May 2025.

Fixed

Added

  • LSR vs SSB-based radial velocities for cat_entry #114: New novas_lsr_to_ssb_vel() can be used to convert velocity vectors referenced to the LSR to Solar-System Barycentric velocities. And, novas_ssb_to_lsr_vel() to provide the inverse conversion.

  • New novas_hms_hours(const char *str) and novas_dms_degrees(const char *str) convenience functions to make it easier to parse HMS or DMS based time/angle values, returning the result in units of hours or degrees, appropriately for use in SuperNOVAS.

  • New novas_frame_lst() convenience function to readily return the Local (apparent) Sidereal Time for a given Earth-based observing frame.

  • New novas_rises_above() and novas_sets_below() functions to return the date/time a source rises above or sets below a specific elevation on a given date. (Useful for Earth-based observers only).

  • New novas_helio_dist() function to calculate the heliocentric distance of a Solar-system body on a given date. The novas_solar_power() function can be used to estimate the incident Solar power on a Solar-system body, while novas_solar_illum() can be used to calculate the fraction of a spherical body that is illuminated by the Sun seen from the observer location.

  • New novas_hpa() and novas_epa() functions to calculate the parallactic angle (a.k.a. vertical position angle) for a given location on sky, using the local horizontal coordinates, or else the equatorial position, respectively. The parallactic angle (PA) can be useful to convert local Cartesian offsets (e.g. from a flat image or detector array) between the local horizontal and equatorial orientations, e.g. via the newly added novas_h2e_offset() or novas_e2h_offset() functions. The conversion between offsets and absolute coordinates usually requires a WCS projections, such as described in Calabretta & Greisen 2002.

  • New novas_sep(), novas_equ_sep(), and novas_object_sep() functions can be used to calculate the precise apparent distance between two spherical or equatorial locations, or between two sources, respectively. novas_sun_angle() and novas_moon_angle() can be used to calculate the apparent angular distance of sources from the Sun and Moon, respectively.

  • New novas_observable and novas_track data structures to provide second order Taylor series expansion of the apparent horizontal or equatorial positions, distances and redshifts for sources. They can be calculated with the newly added novas_track_hor() or novas_track_equ() functions. Such tracking values, including rates and accelerations can be directly useful for controlling telescope drives in horizontal or equatorial mounts to track sources (hence the name). You can also obtain instantaneous projected (extrapolated) positions from the tracking parameters via novas_track_project() at low computational cost.

  • New novas_los_to_xyz() and novas_xyz_to_los() functions to convert between polar-oriented (δφ, δθ, δr) vectors along a line of sight, and rectangular equatorial (δx, δy, δz) vectors.

  • New novas_xyz_to_uvw() function to convert ITRS Earth locations (absolute or differential) to equatorial projections along a line of sight in the direction of a source. Such projections are oft used in interferometry.

@attipaci attipaci added the enhancement New feature or request label Jan 20, 2025
@attipaci attipaci self-assigned this Jan 20, 2025
@attipaci attipaci added this to the 1.3.0 milestone Jan 20, 2025
Copy link
codecov bot commented Jan 20, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.73%. Comparing base (dbd3042) to head (8d95338).
Report is 3 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #113      +/-   ##
==========================================
+ Coverage   99.70%   99.73%   +0.02%     
==========================================
  Files           8        8              
  Lines        3054     3387     +333     
  Branches      576      649      +73     
==========================================
+ Hits         3045     3378     +333     
  Partials        9        9              
Flag Coverage Δ
unittests 99.73% <100.00%> (+0.02%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/frames.c 99.68% <100.00%> (+0.15%) ⬆️
src/novas.c 99.62% <100.00%> (+<0.01%) ⬆️
src/super.c 100.00% <100.00%> (ø)
src/timescale.c 100.00% <ø> (ø)

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4d8e8ea...8d95338. Read the comment docs.

@attipaci attipaci force-pushed the compose-v1.3 branch 15 times, most recently from 9fe963f to 190d825 Compare January 21, 2025 14:34
@attipaci attipaci linked an issue Jan 21, 2025 that may be closed by this pull request
@attipaci attipaci force-pushed the compose-v1.3 branch 9 times, most recently from c24fffa to 0681369 Compare January 21, 2025 17:20
@attipaci attipaci force-pushed the compose-v1.3 branch 5 times, most recently from 07492ad to b340e39 Compare January 24, 2025 10:49
@attipaci attipaci merged commit 9932278 into main Jan 24, 2025
15 checks passed
@attipaci attipaci deleted the compose-v1.3 branch January 24, 2025 12:34
attipaci added a commit that referenced this pull request Jan 24, 2025
attipaci added a commit that referenced this pull request Jan 24, 2025
attipaci added a commit that referenced this pull request Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
1 participant
0