Weather with an add-on

At startup, FlightGear writes the weather only after loading, and the graphics preset overrides some start options. So a small add-on sets the values after loading and a few more times afterwards.

Create the files

mkdir -p "$FG_BASIS/Addons/Schoenwetter"
cat > "$FG_BASIS/Addons/Schoenwetter/addon-metadata.xml" <<'EOF'
<?xml version="1.0"?>
<PropertyList>
  <meta>
    <file-type type="string">FlightGear add-on metadata</file-type>
    <format-version type="int">1</format-version>
  </meta>
  <addon>
    <identifier type="string">de.beispiel.schoenwetter</identifier>
    <name type="string">Schoenwetter</name>
    <version type="string">1.0.0</version>
    <authors><author><name type="string">Me</name></author></authors>
    <short-description type="string">Cloud layers and clear visibility</short-description>
    <min-FG-version type="string">2020.3.0</min-FG-version>
  </addon>
</PropertyList>
EOF
cat > "$FG_BASIS/Addons/Schoenwetter/addon-main.nas" <<'EOF'
var SCHICHTEN = [["scattered", 4500, 2500], ["few", 9000, 1500], ["scattered", 26000, 400]];
var SICHT_M = 80000;

var anwenden = func {
    setprop("/environment/params/metar-updates-environment", 0);
    forindex (var i; SCHICHTEN) {
        var pfad = "/environment/clouds/layer[" ~ i ~ "]/";
        setprop(pfad ~ "coverage", SCHICHTEN[i][0]);
        setprop(pfad ~ "elevation-ft", SCHICHTEN[i][1]);
        setprop(pfad ~ "thickness-ft", SCHICHTEN[i][2]);
    }
    setprop("/environment/visibility-m", SICHT_M);
    setprop("/environment/ground-visibility-m", SICHT_M);
    setprop("/sim/rendering/random-vegetation", 0);
    # Otherwise low mountains get snow that does not match the aerial images.
    setprop("/environment/params/metar-updates-snow-level", 0);
    setprop("/environment/snow-level-m", 9000);
};

var main = func(addon) {
    var durchlauf = 0;
    var nachholen = maketimer(5, func {
        anwenden();
        durchlauf += 1;
        if (durchlauf >= 4) nachholen.stop();
    });
    nachholen.start();
};
EOF

Turn it on

"$FG_BASIS/werkzeuge/starten.sh" --aircraft=c172p --airport=EDDP \
  --addon="$FG_BASIS/Addons/Schoenwetter"

The log must list Schoenwetter as a loaded add-on.

Clouds in space

From above, cumulus clouds quickly look like a comic. If you want to go high, set the layers to clear in flight and show them again only below a certain altitude. Set the values only after the add-on has finished, otherwise it overwrites them.