相关文章推荐
淡定的乒乓球  ·  南阳市交通运输局·  4 月前    · 
风流的葡萄  ·  霍邱县人民政府·  6 月前    · 
要出家的小熊猫  ·  看全球 | ...·  1 年前    · 

Repository files navigation

NRLMSISE-00 ATMOSPHERE MODEL

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

  • 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
    
  • 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).

    Resources

  • Original C source code
  • Official Fortran source code
  • CCMC Modelweb description
  •