IAP GITLAB

Skip to content

Add support for different Earth radii approximations into LayeredSphericalAtmosphereBuilder

Remy Prechelt requested to merge rprechelt-earth-radius into master

LayerSphericalAtmosphereBuilder currently uses a fixed earth radius (the mean Earth radius of 6371 km) implemented as a static constexpr - it also supports a seaLevel member variable that is used as an Earth radius everywhere in the code (and defaults to the fixed Earth radius). There are several experiments that are sensitive to the Earth radius used to approximate the Earth's spheroid (like ANITA and PUEO) and there are other applications where we could reuse the layered atmosphere builder at other radii.

This MR removes the static constexpr earth radius and makes it an argument to the constructor (replacing the equivalent seaLevel that was used as an Earth radius). It also creates a nested namespace containing constexpr values for the various Earth radius models that are useful (polar radius, mean radius, etc.). Access to the constexpr value of earthRadius is replaced with a method getEarthRadius().

This is ready for review. (Sorry if you were spammed with notifications - I had to rebase onto the enormous MR that happened recently).

  • The MR is without WIP (work in progress) status
  • Make sure the most recent CI jobs (config, quality, build, tests) all run fine with no failures
    • if "check clang-format" failed: the code contributor has to run ./do-clang-format.py --apply eventually with the --all option
    • if "check copyright" failed the code contributor has to run./do-copyright.py --add=20xy
  • Also run all the extra optional jobs "coverage", "release-clang-8", "release-u-18.04" and make sure no problems occur
  • Check in the "coverage" job output that the coverage did not decreases (!). It should always stay, or increase. If it decreased --> ask contributor to add further unit tests, and check coverage report.
  • On the MR page, open the "Open in Web IDE" tool
    • Check if the provided solution solves the Issue, discuss on gitlab
    • Check that all changes are actually related to the issue
    • There are no debug statements left, not even commented out
    • Check all changes for coding rules and guidelines
  • When all above is done
    • Add label "Code Review Finished"
Edited by Ralf Ulrich

Merge request reports