diff --git a/iris_grib/_save_rules.py b/iris_grib/_save_rules.py index 1a1e6aba..0aeb31d4 100644 --- a/iris_grib/_save_rules.py +++ b/iris_grib/_save_rules.py @@ -211,6 +211,16 @@ def shape_of_the_earth(cube, grib): eccodes.codes_set_long(grib, "scaledValueOfEarthMajorAxis", 0) eccodes.codes_set_long(grib, "scaleFactorOfEarthMinorAxis", 0) eccodes.codes_set_long(grib, "scaledValueOfEarthMinorAxis", 0) + # Spherical earth. + elif (ellipsoid.semi_major_axis == 6371229.0) and (ellipsoid.semi_minor_axis == 6371229.0): + eccodes.codes_set_long(grib, "shapeOfTheEarth", 6) + eccodes.codes_set_long(grib, "scaleFactorOfRadiusOfSphericalEarth", 0) + eccodes.codes_set_long(grib, "scaledValueOfRadiusOfSphericalEarth", + ellipsoid.semi_major_axis) + eccodes.codes_set_long(grib, "scaleFactorOfEarthMajorAxis", 0) + eccodes.codes_set_long(grib, "scaledValueOfEarthMajorAxis", 0) + eccodes.codes_set_long(grib, "scaleFactorOfEarthMinorAxis", 0) + eccodes.codes_set_long(grib, "scaledValueOfEarthMinorAxis", 0) # Oblate spheroid earth. else: eccodes.codes_set_long(grib, "shapeOfTheEarth", 7)