| 1 | This is the source code repository for ERFA (Essential Routines for
|
|---|
| 2 | Fundamental Astronomy). ERFA is a C library containing key algorithms for
|
|---|
| 3 | astronomy, and is based on the `SOFA library <http://www.iausofa.org/>`_ published by the International
|
|---|
| 4 | Astronomical Union (IAU).
|
|---|
| 5 |
|
|---|
| 6 | ERFA is intended to replicate the functionality of SOFA (aside from possible
|
|---|
| 7 | bugfixes in ERFA that have not yet been included in SOFA), but is licensed
|
|---|
| 8 | under a three-clause BSD license to enable its compatibility with a wide
|
|---|
| 9 | range of open source licenses. Permission for this release has been
|
|---|
| 10 | obtained from the SOFA board, and is avilable in the ``LICENSE`` file included
|
|---|
| 11 | in this source distribution.
|
|---|
| 12 |
|
|---|
| 13 | Differences from SOFA
|
|---|
| 14 | ---------------------
|
|---|
| 15 |
|
|---|
| 16 | This version of ERFA (v1.3.0) is based on SOFA version "20160503_a", with the
|
|---|
| 17 | differences outlined below.
|
|---|
| 18 |
|
|---|
| 19 | ERFA branding
|
|---|
| 20 | ^^^^^^^^^^^^^
|
|---|
| 21 |
|
|---|
| 22 | All references to "SOFA" in the source code have been changed to ERFA, and
|
|---|
| 23 | functions have the prefix ``era`` instead of ``iau``.
|
|---|
| 24 |
|
|---|
| 25 | C macro prefixes
|
|---|
| 26 | ^^^^^^^^^^^^^^^^
|
|---|
| 27 |
|
|---|
| 28 | All C macros used in ERFA are the same as their SOFA equivalents, but with an
|
|---|
| 29 | ``ERFA_`` prefix to prevent namespace collisions.
|
|---|
| 30 |
|
|---|
| 31 | Bugfixes
|
|---|
| 32 | ^^^^^^^^
|
|---|
| 33 |
|
|---|
| 34 | ERFA includes smaller changes that may or may not eventually make it into SOFA,
|
|---|
| 35 | addressing localized bugs or similar smaller issues:
|
|---|
| 36 |
|
|---|
| 37 | * ERFA 1.3.0 and SOFA "20160503_a"
|
|---|
| 38 |
|
|---|
| 39 | + There are no differences between ERFA 1.3.0 and SOFA "20160503_a".
|
|---|
| 40 |
|
|---|
| 41 | * ERFA 1.2.0 and SOFA "20150209_a"
|
|---|
| 42 |
|
|---|
| 43 | + Typos have been corrected in the documentation of atco13 and atio13 (see https://github.com/liberfa/erfa/issues/29).
|
|---|
| 44 |
|
|---|
| 45 | Note that issues identified in ERFA should generally also be reported upstream to SOFA at sofa@ukho.gov.uk.
|
|---|
| 46 |
|
|---|
| 47 | Building and installing ERFA
|
|---|
| 48 | ----------------------------
|
|---|
| 49 |
|
|---|
| 50 | To build and install a released version of ERFA in your OS's standard
|
|---|
| 51 | location, simply do::
|
|---|
| 52 |
|
|---|
| 53 | ./configure
|
|---|
| 54 | make
|
|---|
| 55 | make install
|
|---|
| 56 |
|
|---|
| 57 | If you want to run the tests to make sure ERFA built correctly, before
|
|---|
| 58 | installing do::
|
|---|
| 59 |
|
|---|
| 60 | make check
|
|---|
| 61 |
|
|---|
| 62 |
|
|---|
| 63 | For developers
|
|---|
| 64 | ^^^^^^^^^^^^^^
|
|---|
| 65 |
|
|---|
| 66 | If you are using a developer version from github, you will need to first do
|
|---|
| 67 | ``./bootstrap.sh`` before the above commands. This requires ``autoconf`` and
|
|---|
| 68 | ``libtool``.
|
|---|
| 69 |
|
|---|
| 70 | If you wish to build against the ERFA static library without installing, you
|
|---|
| 71 | will find it in ``$ERFAROOT/src/.libs/liberfa.a`` after running ``make``.
|
|---|
| 72 |
|
|---|
| 73 | Creating a single-file version of the source code
|
|---|
| 74 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|---|
| 75 |
|
|---|
| 76 | Alternatively, if you wish to bundle the ERFA source code with a separate
|
|---|
| 77 | package, you can use the ``source_flattener.py`` script from the
|
|---|
| 78 | `erfa-fetch repository`_ to combine
|
|---|
| 79 | the ERFA source code into just two files: a ``erfa.c`` source file, and an
|
|---|
| 80 | ``erfa.h`` include file. You should run this script like this::
|
|---|
| 81 |
|
|---|
| 82 | cd /path/to/erfa-source-code
|
|---|
| 83 | python /path/to/erfa-fetch/source_flattener.py src -n erfa
|
|---|
| 84 |
|
|---|
| 85 | If possible, however, it is recommended that you provide an option to use any
|
|---|
| 86 | copy of the ERFA library that is already installed on the system.
|
|---|
| 87 |
|
|---|
| 88 | Travis build status
|
|---|
| 89 | -------------------
|
|---|
| 90 | .. image:: https://travis-ci.org/liberfa/erfa.png
|
|---|
| 91 | :target: https://travis-ci.org/liberfa/erfa
|
|---|
| 92 |
|
|---|
| 93 | .. _erfa-fetch repository: https://github.com/liberfa/erfa-fetch
|
|---|