Skip to content

C++ implementation of NRLMSISE-00 empirical atmosphere model

License

Notifications You must be signed in to change notification settings

alesmorse/nrlmsise-00

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NRLMSISE-00 ATMOSPHERE MODEL License: LGPL-3.0 Actions Status Language grade: C/C++

Unofficial C++ port of the NRLMSISE-00 Model 2001 empirical atmosphere model.

Version

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.

Changes

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.

Building and installation

  1. Download or clone the repository:
git clone "https://github.com/alesmorse/nrlmsise-00.git"
  1. Navigate to the repository folder:
cd nrlmsise-00
  1. Run cmake and create a folder where to build the repository, e.g.:
cmake -S . -B ./_build
  1. Go to the build directory and run
cd _build
make
  1. Run the unit tests to see that everything is fine!
make test
  1. 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).

Resources

About

C++ implementation of NRLMSISE-00 empirical atmosphere model

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published