Skip to content

Albedo layers

Chosen by "type" in layers.

Type What it is
craters Bright ejecta, interiors and rays of the craters of a crater layer, fading with crater age.
splotches Dark and bright splotches that secondary impacts of loose regolith leave over the whole surface, after Speyerer et al.
blast_zones Brighter zones of regolith around landers scoured by their descent engines, after Clegg et al.
rocks Rock brighter than the regolith: the boulders of boulder layers where resolved, and a speckle of the share of each sample covered by those too small to resolve.
slopes Steep ground kept immature and bright by regolith moving downslope, after Ikeda et al.

craters

Bright ejecta, interiors and rays of the craters of a crater layer, fading with crater age.

Key Type Default Range Unit Description
crater_layer integer, optional null Which top-level crater layer's craters to brighten, counting from 0; unset uses every top-level crater layer.
seed integer 0 Seed of which craters get bright material, their rays and their impacts; changing it gives a different pattern of the same statistics.
min_diameter number 0.0 [0, inf) m Smallest diameter, in metres, of craters given bright material.
max_diameter number, optional null [0, inf) m Largest diameter, in metres, of craters given bright material; unset has no upper limit.
min_age_gyr number 0.0 [0, inf) Gyr Youngest age, in Gyr, of craters given bright material.
max_age_gyr number, optional null [0, inf) Gyr Oldest age, in Gyr, of craters given bright material; unset has no upper limit.
manual boolean true Gives manual craters bright material too; otherwise only generated craters have it.
share number 1.0 [0, 1] Share of eligible craters, from 0 to 1, given bright material.
background_maturity number 0.202 (0, inf) Optical maturity (OMAT) of the ground around the craters, positive; the excesses are added to it and the albedo is brightened from it.
max_maturity number 0.42 Cap on the optical maturity where craters' excesses add up, at least the background; it limits how bright overlapping craters get.
interior_excess number 0.132 [0, inf) Optical maturity above the background inside a fresh crater's rim, not negative; higher values give brighter interiors.
ejecta_excess number 0.076 [0, inf) Optical maturity above the background on a fresh crater's continuous ejecta at the rim, not negative, falling with distance.
ejecta_exponent number 3.0 (0, inf) Exponent of the ejecta's fall with distance r, as (r / R)^-exponent for crater radius R; positive, higher values keep the bright ejecta nearer the rim.
ejecta_reach_radii number 3.0 (1, inf) Distance from the centre, in crater radii and over 1, at which the ejecta's excess reaches 0.
fade_exponent number 1.0 (0, inf) Exponent of the fade with age t, max(0, 1 - t / T)^exponent for retention time T; positive, 1 is a straight fade and higher values fade sooner.
origin_reflectance number 0.08 Reflectance of the optical maturity origin, the hypermature end-member, from which reflectance scales with maturity at fixed iron content.
texture: Filaments, lobed ejecta edges and walls brighter than floors; off unless streaks, lobes or a floor share below 1 are set.
Key Type Default Range Unit Description
streaks number 0.0 [0, 1] Share of the excess radial streaks take away between filaments, from 0 to 1, breaking ejecta, rays and interiors into fine streaks; 0 leaves them smooth.
streak_width_degrees number 3.0 (0, inf) deg Typical width of a filament around the crater, in degrees.
streak_length_radii number 1.5 (0, inf) Typical length of a filament outward from the crater, in crater radii.
continuous_radii number 0.0 [0, inf) How far beyond the rim the ejecta stay continuous before breaking into filaments, in crater radii; 0 streaks them from the rim.
lobes number 0.0 [0, 0.9] How far the ejecta's edge wanders in and out, as a share of its reach from 0 to 0.9; 0 keeps it circular.
lobe_count integer 8 [1, 64] Typical number of lobes around a crater, 1 to 64.
floor_share number 1.0 [0, 1] Interior excess on the floor over that at the rim, from 0 to 1; 1 keeps the interior even, lower values brighten the walls over the floor.
seed integer 0 Varies every crater's texture.
zones: Bright and dark reflectance zones around new small craters, after Robinson et al. (2015) and Speyerer et al. (2016); off by default.
Key Type Default Range Unit Description
enabled boolean false Gives new small craters the reflectance zones of LROC temporal pairs; off by default.
max_diameter number 50.0 (0, inf) m Largest crater diameter, in metres, with zones; the published fits stop near 43 m.
mature_depth number 1.0 [0, inf) m Depth in metres of mature regolith; only craters excavating deeper get the proximal high reflectance zone.
excavation_ratio number 0.1 (0, inf) Excavation depth over crater diameter; positive.
seed integer 0 Varies every crater's zones.
proximal_high: Proximal high reflectance zone: immature ejecta, +12% to a median 1.5 D.
Key Type Default Range Unit Description
share number 1.0 [0, 1] Share of craters, from 0 to 1, with the zone.
coefficient number 1.0 (0, inf) m Coefficient of the zone's reach from the crater's centre, coefficient D^exponent metres for diameter D in metres; positive.
exponent number 1.0 (0, inf) Exponent of the diameter in the zone's reach; positive.
raggedness number 0.0 [0, 1) Share of the reach, from 0 up to 1, that fingers of the edge pull in by; 0 keeps the zone round, higher values make it ray-like.
finger_width_degrees number 10.0 (0, inf) deg Typical width of the edge's fingers around the crater, in degrees.
feather number 0.3 (0, 1] Share of the reach, from 0 to 1 excluding 0, over which the zone fades out at its edge.
retention_myr number, optional null (0, inf) Myr How long the zone lasts, in Myr, fading like the bright material; unset lasts as long as the bright material.
change: Reflectance change relative to the pre-impact surface, drawn per crater; above -1, negative values darken.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
scale: Factor on the reach, drawn per crater; positive and bounded, a wider distribution gives more varied zones.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
proximal_low: Proximal low reflectance zone: -9% to a median 2.9 D, around nearly every crater.
Key Type Default Range Unit Description
share number 1.0 [0, 1] Share of craters, from 0 to 1, with the zone.
coefficient number 1.0 (0, inf) m Coefficient of the zone's reach from the crater's centre, coefficient D^exponent metres for diameter D in metres; positive.
exponent number 1.0 (0, inf) Exponent of the diameter in the zone's reach; positive.
raggedness number 0.0 [0, 1) Share of the reach, from 0 up to 1, that fingers of the edge pull in by; 0 keeps the zone round, higher values make it ray-like.
finger_width_degrees number 10.0 (0, inf) deg Typical width of the edge's fingers around the crater, in degrees.
feather number 0.3 (0, 1] Share of the reach, from 0 to 1 excluding 0, over which the zone fades out at its edge.
retention_myr number, optional null (0, inf) Myr How long the zone lasts, in Myr, fading like the bright material; unset lasts as long as the bright material.
change: Reflectance change relative to the pre-impact surface, drawn per crater; above -1, negative values darken.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
scale: Factor on the reach, drawn per crater; positive and bounded, a wider distribution gives more varied zones.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
distal_high: Distal high reflectance zone: +1% to +4% to 0.52 D^2.5 m, around 24% of craters.
Key Type Default Range Unit Description
share number 1.0 [0, 1] Share of craters, from 0 to 1, with the zone.
coefficient number 1.0 (0, inf) m Coefficient of the zone's reach from the crater's centre, coefficient D^exponent metres for diameter D in metres; positive.
exponent number 1.0 (0, inf) Exponent of the diameter in the zone's reach; positive.
raggedness number 0.0 [0, 1) Share of the reach, from 0 up to 1, that fingers of the edge pull in by; 0 keeps the zone round, higher values make it ray-like.
finger_width_degrees number 10.0 (0, inf) deg Typical width of the edge's fingers around the crater, in degrees.
feather number 0.3 (0, 1] Share of the reach, from 0 to 1 excluding 0, over which the zone fades out at its edge.
retention_myr number, optional null (0, inf) Myr How long the zone lasts, in Myr, fading like the bright material; unset lasts as long as the bright material.
change: Reflectance change relative to the pre-impact surface, drawn per crater; above -1, negative values darken.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
scale: Factor on the reach, drawn per crater; positive and bounded, a wider distribution gives more varied zones.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
distal_low: Distal low reflectance zone: -2% to -6%, ray-like, to 5.03 D^2 m, around 84% of craters.
Key Type Default Range Unit Description
share number 1.0 [0, 1] Share of craters, from 0 to 1, with the zone.
coefficient number 1.0 (0, inf) m Coefficient of the zone's reach from the crater's centre, coefficient D^exponent metres for diameter D in metres; positive.
exponent number 1.0 (0, inf) Exponent of the diameter in the zone's reach; positive.
raggedness number 0.0 [0, 1) Share of the reach, from 0 up to 1, that fingers of the edge pull in by; 0 keeps the zone round, higher values make it ray-like.
finger_width_degrees number 10.0 (0, inf) deg Typical width of the edge's fingers around the crater, in degrees.
feather number 0.3 (0, 1] Share of the reach, from 0 to 1 excluding 0, over which the zone fades out at its edge.
retention_myr number, optional null (0, inf) Myr How long the zone lasts, in Myr, fading like the bright material; unset lasts as long as the bright material.
change: Reflectance change relative to the pre-impact surface, drawn per crater; above -1, negative values darken.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
scale: Factor on the reach, drawn per crater; positive and bounded, a wider distribution gives more varied zones.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
shadows: Shadows of rises in the distal zones; off by default.
Key Type Default Range Unit Description
enabled boolean false Gives the distal zones shadows behind rises such as crater rims, read from the terrain's heights; off by default.
jet_angle_degrees number 3.0 (0, 90) deg Steepest angle in degrees, between 0 and 90 excluded, at which the jet forming the distal zones can drop behind a rise; lower values give longer shadows. Illustrative.
depth number 0.5 (0, inf) m Depth in metres of the ground below the jet at which the shadow is full; positive. Illustrative.
azimuths integer 720 [8, 8192] Rays around a crater the ground is sampled on, 8 to 8192.
radial_samples integer 400 [8, 8192] Samples along each ray out to the distal zones' reach, 8 to 8192.
rays: Rays of bright material running out from the craters.
Key Type Default Range Unit Description
enabled boolean true Gives craters rays of bright material; off leaves only their interiors and ejecta bright.
length_coefficient number 6.59 (0, inf) Coefficient of the median ray length, coefficient R^exponent km for crater radius R in km; higher values give longer rays.
length_exponent number 1.27 (0, inf) Exponent of the crater radius in the median ray length, positive; higher values make large craters' rays relatively longer.
excess number 0.048 [0, inf) Optical maturity above the background along a ray at the rim, falling linearly to 0 at its end; not negative, higher values give brighter rays.
patchiness number 0.5 [0, 1] Share of a ray's strength, from 0 to 1, that noise along it can take away, breaking it into patches; 0 gives unbroken rays.
patch_radii number 0.5 (0, inf) Wavelength of the noise along a ray, in crater radii; positive, smaller values give shorter patches.
count: Number of rays of a crater, drawn per crater and rounded; from 0 to 64.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
length_spread: Natural logarithm of a ray's length over the median, drawn per ray; a wider distribution gives more varied lengths.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
width_degrees: Angle in degrees a ray spans 2 radii from the centre, drawn per ray, within (0, 180); beyond 2 radii a ray keeps the width it has there.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
oblique: How oblique impacts lengthen rays downrange and clear them uprange.
Key Type Default Range Unit Description
enabled boolean true Draws an impact angle and direction per crater that shape its rays; off treats every impact as vertical.
heading number, optional null rad Downrange direction of every impact, in radians counter-clockwise from east; unset draws a random heading per crater.
asymmetric_degrees number 45.0 [0, 90] deg Impact angle from the horizontal, in degrees, below which ejecta leave faster downrange, lengthening rays there and shortening them uprange.
forbidden_degrees number 25.0 [0, 90] deg Impact angle in degrees below which rays within the zone half width of uprange are dropped; at most the asymmetric angle.
butterfly_degrees number 10.0 [0, 90] deg Impact angle in degrees below which rays within the zone half width of downrange are dropped too, a butterfly pattern; at most the forbidden angle.
zone_half_width_degrees number 45.0 [0, 180] deg Half width in degrees, 0 to 180, of the ray-free zones uprange and downrange; illustrative, as the sources do not measure it.
downrange_speed_ratio: Downrange over uprange ejection speed below the asymmetric angle, drawn per crater; at least 1, higher values stretch downrange rays more.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
layout: Takes the rays' number, directions and widths from this layout in place of count and width_degrees, so they lie over a secondaries layer with the same layout; unset draws them per crater.
Key Type Default Range Unit Description
seed integer 0 Seed of the rays' directions; layers with the same layout share the same rays.
count: Number of rays of a crater, drawn per crater and rounded; 0 to 64.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
width_degrees: Angle in degrees a ray spans 2 radii from the centre, drawn per ray, within (0, 180).
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
retention: How long craters of each diameter keep their bright material.
Key Type Default Range Unit Description
small_diameter number 1000.0 (0, inf) m Diameter in metres at or below which craters keep their bright material for the small time.
small_myr number 5.0 (0, inf) Myr Time in Myr craters up to the small diameter keep their bright material.
mid_diameter number 5000.0 (0, inf) m Diameter in metres from which craters keep their bright material for the mid time; between the small and mid diameters the time follows a power law of diameter.
mid_myr number 750.0 (0, inf) Myr Time in Myr craters from the mid to the large diameter keep their bright material.
large_diameter number 50000.0 (0, inf) m Diameter in metres above which craters keep their bright material for the large time.
large_myr number 750.0 (0, inf) Myr Time in Myr craters above the large diameter keep their bright material.
scale number 1.0 (0, inf) Factor every retention time is multiplied by, positive; higher values keep craters bright for longer.
fade: How bright material of craters too small to resolve at the sample spacing fades out.
Key Type Default Range Unit Description
start_samples number 2.0 [0, inf) Samples across a feature's diameter up to which it is left out entirely.
end_samples number 4.0 (0, inf) Samples across a feature's diameter from which it is applied in full; it fades in between the two counts.
shape one of linear, smoothstep, smootherstep, gaussian "smoothstep" Curve of the fade between the start and end sample counts.
Every key with its default
{
    "type": "craters",
    "crater_layer": null,
    "seed": 0,
    "min_diameter": 0.0,
    "max_diameter": null,
    "min_age_gyr": 0.0,
    "max_age_gyr": null,
    "manual": true,
    "share": 1.0,
    "background_maturity": 0.202,
    "max_maturity": 0.42,
    "interior_excess": 0.132,
    "texture": {
        "streaks": 0.0,
        "streak_width_degrees": 3.0,
        "streak_length_radii": 1.5,
        "continuous_radii": 0.0,
        "lobes": 0.0,
        "lobe_count": 8,
        "floor_share": 1.0,
        "seed": 0
    },
    "zones": {
        "enabled": false,
        "max_diameter": 50.0,
        "mature_depth": 1.0,
        "excavation_ratio": 0.1,
        "proximal_high": {
            "share": 1.0,
            "change": {
                "kind": "normal",
                "a": 0.12,
                "b": 0.09,
                "min": 0.01,
                "max": 0.5
            },
            "coefficient": 1.5,
            "exponent": 1.0,
            "scale": {
                "kind": "log_normal",
                "a": 1.0,
                "b": 0.82,
                "min": 0.4,
                "max": 5.0
            },
            "raggedness": 0.3,
            "finger_width_degrees": 25.0,
            "feather": 0.3,
            "retention_myr": null
        },
        "proximal_low": {
            "share": 1.0,
            "change": {
                "kind": "normal",
                "a": -0.09,
                "b": 0.04,
                "min": -0.2,
                "max": -0.01
            },
            "coefficient": 2.9,
            "exponent": 1.0,
            "scale": {
                "kind": "log_normal",
                "a": 1.0,
                "b": 0.44,
                "min": 0.5,
                "max": 3.0
            },
            "raggedness": 0.3,
            "finger_width_degrees": 20.0,
            "feather": 0.3,
            "retention_myr": 0.081
        },
        "distal_high": {
            "share": 0.24,
            "change": {
                "kind": "uniform",
                "a": 0.01,
                "b": 0.04,
                "min": null,
                "max": null
            },
            "coefficient": 0.52,
            "exponent": 2.5,
            "scale": {
                "kind": "constant",
                "a": 1.0,
                "b": 0.0,
                "min": null,
                "max": null
            },
            "raggedness": 0.5,
            "finger_width_degrees": 8.0,
            "feather": 0.4,
            "retention_myr": 0.081
        },
        "distal_low": {
            "share": 0.84,
            "change": {
                "kind": "uniform",
                "a": -0.06,
                "b": -0.02,
                "min": null,
                "max": null
            },
            "coefficient": 5.03,
            "exponent": 2.0,
            "scale": {
                "kind": "constant",
                "a": 1.0,
                "b": 0.0,
                "min": null,
                "max": null
            },
            "raggedness": 0.6,
            "finger_width_degrees": 8.0,
            "feather": 0.6,
            "retention_myr": 0.081
        },
        "shadows": {
            "enabled": false,
            "jet_angle_degrees": 3.0,
            "depth": 0.5,
            "azimuths": 720,
            "radial_samples": 400
        },
        "seed": 0
    },
    "ejecta_excess": 0.076,
    "ejecta_exponent": 3.0,
    "ejecta_reach_radii": 3.0,
    "rays": {
        "enabled": true,
        "count": {
            "kind": "normal",
            "a": 10.7,
            "b": 3.1,
            "min": 6.0,
            "max": 20.0
        },
        "length_coefficient": 6.59,
        "length_exponent": 1.27,
        "length_spread": {
            "kind": "uniform",
            "a": -0.356,
            "b": 0.468,
            "min": null,
            "max": null
        },
        "width_degrees": {
            "kind": "normal",
            "a": 22.0,
            "b": 8.3,
            "min": 5.4,
            "max": 38.6
        },
        "excess": 0.048,
        "patchiness": 0.5,
        "patch_radii": 0.5,
        "oblique": {
            "enabled": true,
            "heading": null,
            "asymmetric_degrees": 45.0,
            "forbidden_degrees": 25.0,
            "butterfly_degrees": 10.0,
            "downrange_speed_ratio": {
                "kind": "uniform",
                "a": 1.2,
                "b": 1.4,
                "min": null,
                "max": null
            },
            "zone_half_width_degrees": 45.0
        },
        "layout": null
    },
    "retention": {
        "small_diameter": 1000.0,
        "small_myr": 5.0,
        "mid_diameter": 5000.0,
        "mid_myr": 750.0,
        "large_diameter": 50000.0,
        "large_myr": 750.0,
        "scale": 1.0
    },
    "fade_exponent": 1.0,
    "origin_reflectance": 0.08,
    "fade": {
        "start_samples": 2.0,
        "end_samples": 4.0,
        "shape": "smoothstep"
    }
}

Used in: example_ages_fresh, example_ages_steady_state, example_ages_uniform, example_albedo_blast_zone, example_albedo_crater_rays, example_albedo_fresh_crater, example_albedo_moon_site, example_albedo_new_crater and 37 more

splotches

Dark and bright splotches that secondary impacts of loose regolith leave over the whole surface, after Speyerer et al. (2016).

Key Type Default Range Unit Description
seed integer 0 Seed of where splotches fall and what they are.
rate_coefficient number 1.483e-11 (0, inf) Coefficient a of the cumulative formation rate a d^-b per km^2 per year, d the diameter in km; positive, higher values give more splotches.
rate_exponent number 4.144 (0, inf) Slope b of the cumulative formation rate; positive, higher values give relatively more small splotches.
lifetime_myr number 0.081 (0, inf) Myr How long a splotch lasts in Myr, fading linearly; positive, the default is the time splotches take to churn the top centimetres.
min_diameter number 1.0 (0, inf) m Smallest splotch diameter in metres; the published fit is extrapolated below 10 m.
max_diameter number 40.0 (0, inf) m Largest splotch diameter in metres, above the smallest.
dark_share number 0.907 [0, 1] Share of splotches, from 0 to 1, darker than the ground.
bright_share number 0.074 [0, 1] Share of splotches, from 0 to 1, brighter than the ground; the rest are mixed, dark on one side and bright on the other.
steep_bright_share number, optional null [0, 1] Share of splotches on slopes steeper than the steep slope that are bright, from 0 to 1, read from the terrain's heights; unset keeps the bright share. Bright splotches are found mostly on such slopes, but the source gives no share.
steep_slope_degrees number 15.0 (0, 90) deg Slope in degrees, between 0 and 90 excluded, from which ground is steep.
softness number 0.3 (0, 1] Share of a splotch's radius, from 0 to 1 excluding 0, over which its edge fades.
raggedness number 0.15 [0, 1) Share of a splotch's radius, from 0 up to 1, that lobes of its edge pull in by; 0 keeps it round.
dark_change: Reflectance change of a dark splotch relative to the ground before it, drawn per splotch; above -1.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
bright_change: Reflectance change of a bright splotch, drawn per splotch; above -1.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
fade: How splotches too small to resolve at the sample spacing fade out.
Key Type Default Range Unit Description
start_samples number 2.0 [0, inf) Samples across a feature's diameter up to which it is left out entirely.
end_samples number 4.0 (0, inf) Samples across a feature's diameter from which it is applied in full; it fades in between the two counts.
shape one of linear, smoothstep, smootherstep, gaussian "smoothstep" Curve of the fade between the start and end sample counts.
swarms: Swarms of splotches around new craters; off by default.
Key Type Default Range Unit Description
enabled boolean false Gives new craters swarms of splotches, their ejecta's secondaries (Robinson et al. 2015); off by default.
crater_rate number 4.84e-06 (0, inf) New craters at least 10 m across per km^2 per year; 4.84e-6 from Speyerer et al. (2016).
crater_slope number 3.06 (0, inf) Cumulative size slope of the new craters; the Neukum production function has 2.97 to 3.15.
min_crater_diameter number 10.0 (0, inf) m Smallest crater with a swarm, in metres; smaller craters throw few splotches.
max_crater_diameter number 50.0 (0, inf) m Largest crater with a swarm, in metres.
reference_diameter number 18.8 (0, inf) m Diameter in metres of the crater whose swarm was counted: 18.8 m, Robinson et al.
reference_count number 248.0 (0, inf) Splotches of the reference crater: 248 within 30 km, Robinson et al.
mu number 0.41 (0, 1) Velocity exponent of the target, between 0 and 1; 0.41 for sand (Housen and Holsapple 2011). Counts grow as D^(3 + 1.5 mu) and landing distances fall as r^(-1.5 mu).
min_range number 4300.0 (0, inf) m Nearest landing distance in metres, setting Robinson et al.'s median of 8.7 km.
max_range number 30000.0 (0, inf) m Farthest landing distance in metres.
dark_share number 0.9637096774193549 [0, 1] Share of swarm splotches darker than the ground.
bright_share number 0.012096774193548387 [0, 1] Share brighter than the ground; the rest are mixed.
wedge_share number 0.2 [0, 1] Share of swarm splotches shaped as wedges pointing back to their crater. Illustrative.
wedge_elongation number 2.0 [1, inf) Long over short axis of a wedge, at least 1. Illustrative.
splotch_diameter: Diameter of a swarm splotch in metres, drawn per splotch: 2 to 22 m, median 6 m.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
dark_change: Reflectance change of a dark swarm splotch.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
bright_change: Reflectance change of a bright swarm splotch.
Key Type Default Range Unit Description
kind one of constant, uniform, normal, log_normal "constant" Kind of distribution the value is drawn from.
a number 0.0 The constant value, the uniform's lower bound, the normal's mean or the log-normal's median.
b number 0.0 The uniform's upper bound, or the standard deviation (of the natural logarithm for a log-normal); unused for a constant.
min number, optional null Lower bound drawn values are clamped to; unset leaves them unbounded below.
max number, optional null Upper bound drawn values are clamped to; unset leaves them unbounded above, which normal and log-normal kinds do not allow.
craters[]: New craters given by hand, such as an observed impact, each throwing a swarm.
Key Type Default Range Unit Description
x number 0.0 Centre along x in the surface's coordinates; the longitude in degrees on a sphere.
y number 0.0 Centre along y in the surface's coordinates; the latitude in degrees on a sphere.
diameter number 0.0 (0, inf) m Rim-to-rim diameter, in metres.
age_gyr number 0.0 [0, inf) Gyr Age in Gyr; older craters are more degraded under a degradation model and are applied earlier in oldest-first order.
id integer 0 Stable ID that seeds the crater's outline; 0 derives one from its position and diameter.
Every key with its default
{
    "type": "splotches",
    "seed": 0,
    "rate_coefficient": 1.483e-11,
    "rate_exponent": 4.144,
    "lifetime_myr": 0.081,
    "min_diameter": 1.0,
    "max_diameter": 40.0,
    "dark_share": 0.907,
    "bright_share": 0.074,
    "dark_change": {
        "kind": "constant",
        "a": -0.04,
        "b": 0.0,
        "min": null,
        "max": null
    },
    "bright_change": {
        "kind": "constant",
        "a": 0.1,
        "b": 0.0,
        "min": null,
        "max": null
    },
    "steep_bright_share": null,
    "steep_slope_degrees": 15.0,
    "softness": 0.3,
    "raggedness": 0.15,
    "fade": {
        "start_samples": 2.0,
        "end_samples": 4.0,
        "shape": "smoothstep"
    },
    "swarms": {
        "enabled": false,
        "crater_rate": 4.84e-06,
        "crater_slope": 3.06,
        "min_crater_diameter": 10.0,
        "max_crater_diameter": 50.0,
        "reference_diameter": 18.8,
        "reference_count": 248.0,
        "mu": 0.41,
        "min_range": 4300.0,
        "max_range": 30000.0,
        "splotch_diameter": {
            "kind": "log_normal",
            "a": 6.0,
            "b": 0.6,
            "min": 2.0,
            "max": 22.0
        },
        "dark_share": 0.9637096774193549,
        "bright_share": 0.012096774193548387,
        "dark_change": {
            "kind": "constant",
            "a": -0.04,
            "b": 0.0,
            "min": null,
            "max": null
        },
        "bright_change": {
            "kind": "uniform",
            "a": 0.04,
            "b": 0.12,
            "min": null,
            "max": null
        },
        "wedge_share": 0.2,
        "wedge_elongation": 2.0,
        "craters": []
    }
}

Used in: example_albedo_new_crater

blast_zones

Brighter zones of regolith around landers scoured by their descent engines, after Clegg et al. (2014) and Clegg-Watkins et al. (2016).

zones[]: One blast zone per lander.
Key Type Default Range Unit Description
x number 0.0 Surface x of the lander.
y number 0.0 Surface y of the lander.
area number 28785.0 (0, inf) m^2 Area of the blast zone in m^2; measured: Apollo 18,725 to 53,872 (mean 28,785), Luna 987 to 3355 (mean 2100), Surveyor 131 to 279 (mean 215), Chang'e-3 2530.
elongation number 1.14 [1, inf) Long over short axis of the zone, at least 1; Apollo about 1.14, Chang'e-3 about 1.74.
heading_degrees number 90.0 deg Direction of the long axis, degrees counter-clockwise from east, such as along the final approach.
change number 0.109 (-1, inf) Mean reflectance change over the zone relative to undisturbed ground at 30 degrees phase, above -1; measured +3.4% to +13.2%, Apollo mean +10.9%.
halo_change number 0.04 (-1, inf) Reflectance change of the fainter halo beyond the zone, above -1; +4% at Chang'e-3.
halo_reach number 1.9 [1, inf) How far the halo reaches over the zone's own reach, at least 1; 1 for no halo.
core_radius number 0.0 [0, inf) m Radius in metres of the darker core beneath the engine and around the crew's tracks; 0 for none, a few metres at the Apollo sites.
core_change number -0.2 (-1, inf) Reflectance change of the dark core, above -1; -15% to -30% at the Apollo sites.
raggedness number 0.15 [0, 1) Share of the zone's radius, from 0 up to 1, that lobes of its edge pull in by.
seed integer 0 Varies the edge's lobes.
Every key with its default
{
    "type": "blast_zones",
    "zones": []
}

Used in: example_albedo_blast_zone

rocks

Rock brighter than the regolith: the boulders of boulder layers where resolved, and a speckle of the share of each sample covered by those too small to resolve.

Key Type Default Range Unit Description
boulder_layer integer, optional null Which top-level boulder layer's rock to brighten, counting from 0; unset uses every top-level boulder layer.
seed integer 0 Seed of the per-sample draws of rock too small to resolve.
reflectance_ratio number 2.5 (0, inf) Rock reflectance over the regolith's; 2.5 after Marshal et al. (2023), within Holt's (1981) Apollo 16 rocks at 18 to 51% against soils of 14 to 15%; earlier models used 1.5.
unresolved boolean true Brightens each sample by the share of it covered by boulders too small to resolve, drawn about the expected share with the scatter of randomly placed rocks: bright speckle.
Every key with its default
{
    "type": "rocks",
    "boulder_layer": null,
    "seed": 0,
    "reflectance_ratio": 2.5,
    "unresolved": true
}

Used in: example_albedo_rocks_and_slopes

slopes

Steep ground kept immature and bright by regolith moving downslope, after Ikeda et al. (2022) and Lucey et al. (2014).

Key Type Default Range Unit Description
onset_degrees number 20.0 [0, 90) deg Slope in degrees from which ground freshens; 20, where Lucey et al. (2014) and Ikeda et al. (2022) find brightening begin.
maturity_per_degree number 0.0065 [0, inf) Optical maturity (OMAT) gained per degree beyond the onset; about 0.0065 on the crater walls of Ikeda et al. (2022).
background_maturity number 0.1 (0, inf) OMAT of gentler ground; about 0.10 at 20 degrees in Laue (Ikeda et al. 2022).
max_maturity number 0.42 (0, inf) Cap on OMAT, at least the background's.
baseline number 10.0 (0, inf) m Metres slopes are measured over, the spacing of the lattice they are read on; 10, the DTM Ikeda et al. (2022) measured slopes on.
origin_reflectance number 0.08 Reflectance of the optical maturity origin, from which reflectance scales with maturity at fixed iron content.
Every key with its default
{
    "type": "slopes",
    "onset_degrees": 20.0,
    "maturity_per_degree": 0.0065,
    "background_maturity": 0.1,
    "max_maturity": 0.42,
    "baseline": 10.0,
    "origin_reflectance": 0.08
}

Used in: example_albedo_rocks_and_slopes