Unofficial C++ port of the NRLMSISE-00 Model 2001 empirical atmosphere model.
This version of the code has been derived from the C source code of NRLMSISE-00 (version 2019-07-09), which in turn has been derived from the official NRLMSISE-00 version 2.0 Fortran release.
The following changes have been made:
- A NRLMSISE-00 class is used to interface the model calls. Flags are passed when calling the constructor, which then sets the internal switches.
- Pointer-to-implementation is used: all implementation details are moved to a dedicated class.
- Moved data arrays and math routines (splin*) to nested namespaces.
- Input and output structure have been removed. Calls to routines are more similar to the original Fortran version.
- Added a function that returns directly the total atmospheric density (including anomalous oxygen contribution). This function shall be used for satellite orbit propagations.
- Added unit-testing suite (CppUnit).
- The library is making use of C++11 standard.
- Download or clone the repository:
git clone "https://github.com/alesmorse/nrlmsise-00.git"
- Navigate to the repository folder:
cd nrlmsise-00
- Run cmake and create a folder where to build the repository, e.g.:
cmake -S . -B ./_build
- Go to the build directory and run
cd _build
make
- Run the unit tests to see that everything is fine!
make test
- If everything is fine, you can install the library
sudo make install
The sudo
is there to give you the required permissions to install into your system directories (usually /usr/local
).