Giter Site home page Giter Site logo

toddcarnes / novas Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 1.0 2.58 MB

This is my copy of the US Naval Observatory's NOVAS-C software (https://aa.usno.navy.mil/software/novasc_intro) with a couple bug fixes applied. I've also enhanced it with the ability to open many more versions of the JPL ephemerides. Please give the USNO proper credit if you use this software.

C 95.85% Fortran 1.25% C++ 2.90%

novas's People

Contributors

toddcarnes avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

jnulux

novas's Issues

ephem_close does not reset the EPHFILE pointer

The check to see if an ephemeris file is already open will always be true if an ephemeris file was open at any point in the program, even if ephem_close was called. ephem_close does not reset the EPHFILE pointer to NULL. This bug will be addressed during the next overhaul of the ephemeris-access software.

Memory errors occur when a call to ephem_close occurs between two calls to ephem_open. The second time ephem_open is called, if (EPHFILE) is TRUE because EPHFILE is still the address that was assigned the first time.

Two calls to ephem_open without an intervening call to ephem_close will work because the EPHFILE still is open when if (EPHFILE) checks during the second ephem_open call.

Users who open multiple ephemeris files within a particular program may wish to edit the ephem_close function as follows:

if (EPHFILE) 
{ 
  error = (short int) fclose (EPHFILE); 
  EPHFILE = NULL; // new line, reset pointer 
  free (BUFFER); 
} 
return error;

Add Access to Newer JPL Ephemerides

Original Naval observatory code only allows you to access ephemerides DE200, DE403, DE404, DE405, DE406 & DE 421. Access to newer versions of the JPL ephemerides needs to be added.

sidereal_time units bug

When NOVAS C 3.1 computes Greenwich Mean Sidereal Time (GMST; gst_type = 0) using the method based on the Celestial Intermediate Origin (CIO; method = 0), the units for the equation of the equinox are calculated incorrectly.

In sidereal_time, the line

ha_eq -= (eqeq / 240.0);

should read

ha_eq -= (eqeq / 3600.0);

since the eqeq variable has been previously converted to arcseconds instead of seconds in time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.