diff --git a/plugins/SolarSystemEditor/src/SolarSystemEditor.cpp b/plugins/SolarSystemEditor/src/SolarSystemEditor.cpp index 40ac1282ca250..9e8d23b466cb5 100644 --- a/plugins/SolarSystemEditor/src/SolarSystemEditor.cpp +++ b/plugins/SolarSystemEditor/src/SolarSystemEditor.cpp @@ -1195,7 +1195,7 @@ SsoElements SolarSystemEditor::readMpcOneLineMinorPlanetElements(const QString & if (q > 30 && semiMajorAxis > 250) objectType = "sednoid"; - // don't save estimated albedo and radius + // Loader will estimate albedo and radius DiscoveryCircumstances dc = numberedMinorPlanets.value(minorPlanetNumber, DiscoveryCircumstances("","")); if (!dc.first.isEmpty()) diff --git a/src/core/modules/MinorPlanet.cpp b/src/core/modules/MinorPlanet.cpp index 0c73edcf02c75..55aae66615dbd 100644 --- a/src/core/modules/MinorPlanet.cpp +++ b/src/core/modules/MinorPlanet.cpp @@ -138,7 +138,11 @@ void MinorPlanet::updateEquatorialRadius(void) if (equatorialRadius <= 0.) { if (albedo <= 0.0f) - albedo = 0.15f; // assumed + { + // ESA NEOCC and NASA CNEOS assume albedo between 0.05 and 0.25 + // https://neo.ssa.esa.int/definitions-assumptions + albedo = 0.15f; + } // Estimate as described at http://www.physics.sfasu.edu/astro/asteroids/sizemagnitude.html float diameterKm = 1329.f / std::sqrt(albedo) * std::pow(10.f, -0.2f * absoluteMagnitude); equatorialRadius = 0.5 * diameterKm / AU; diff --git a/src/core/modules/MinorPlanet.hpp b/src/core/modules/MinorPlanet.hpp index aca8a5cfd241e..81f966fdcd43e 100644 --- a/src/core/modules/MinorPlanet.hpp +++ b/src/core/modules/MinorPlanet.hpp @@ -93,7 +93,7 @@ class MinorPlanet : public Planet //! @param slope Slope parameter G. This is usually [0..1], sometimes slightly outside. Allowed here [-1..2]. void setAbsoluteMagnitudeAndSlope(const float magnitude, const float slope); - //! sets radius based on absolute magnitude. + //! sets radius based on absolute magnitude and albedo. void updateEquatorialRadius(void); //! renders the subscript in a minor planet IAU provisional designation with HTML. diff --git a/src/core/modules/SolarSystem.cpp b/src/core/modules/SolarSystem.cpp index 6235a8c107db7..c70fbfc032b52 100644 --- a/src/core/modules/SolarSystem.cpp +++ b/src/core/modules/SolarSystem.cpp @@ -1269,7 +1269,7 @@ bool SolarSystem::loadPlanets(const QString& filePath) pd.value(secname+"/radius", 0.0).toDouble()/AU, pd.value(secname+"/oblateness", 0.0).toDouble(), color, // halo color - pd.value(secname+"/albedo", 0.15f).toFloat(), + pd.value(secname+"/albedo", 0.0f).toFloat(), pd.value(secname+"/roughness",0.9f).toFloat(), pd.value(secname+"/tex_map", "nomap.png").toString(), pd.value(secname+"/normals_map", normalMapName).toString(),