Catalog & layer registry¶
MOON is the discovery catalog — enumerate probes, instruments, and products,
and reach the dataset classes. LAYERS maps each layer id to its provenance
and backing source (LayerSpec.source is "stac", "ode", or "mosaic").
A probe may also carry granules: experimental, non-map-projected dataset
classes (see Raw granules) that sit outside the layer/product
contract entirely and are not part of LAYERS.
astrofetch.moon.layers.MOON
module-attribute
¶
MOON = Body(
name="Moon",
crs=CRS,
probes={
"kaguya": Probe(
name=KaguyaTC.probe,
instruments={
"tc_dtm": _instrument(KaguyaTC),
"tc_imagery": _instrument(KaguyaTCImagery),
},
),
"lro": Probe(
name=LROCNACDTM.probe,
instruments={
"nac_dtm": _instrument(LROCNACDTM),
"wac_mosaic": _instrument(LROCWACMosaic),
"lola": _instrument(LOLA),
"sldem2015": _instrument(SLDEM2015),
"minirf": _instrument(MiniRF),
"diviner": _instrument(DivinerGDR),
"wac_gld100": _instrument(WACGLD100),
"wac_tio2": _instrument(WACTiO2),
"wac_global_tiled": _instrument(
LROCWACGlobal
),
"wac_color": _instrument(LROCWACColor),
"nac_roi": _instrument(LROCNACROI),
},
granules={
"nac_raw": LROCNACRaw,
"wac_raw": LROCWACRaw,
},
),
"chandrayaan1": Probe(
name=M3.probe,
instruments={},
granules={"m3": M3},
),
"kplo": Probe(
name=ShadowCam.probe,
instruments={
"shadowcam": _instrument(ShadowCam)
},
),
"clementine": Probe(
name=ClementineUVVIS.probe,
instruments={
"uvvis": _instrument(ClementineUVVIS),
"nir": _instrument(ClementineNIR),
},
),
},
)
Discovery catalog for the Moon: enumerate probes, instruments, products, and (where a probe has any) experimental raw-granule datasets.
astrofetch.moon.layers.LAYERS
module-attribute
¶
LAYERS: dict[str, LayerSpec] = {
(spec.name): spec
for spec in (
_spec(KaguyaTC, "dtm"),
_spec(KaguyaTC, "ortho"),
_spec(KaguyaTCImagery, "image"),
_spec(LROCNACDTM, "dtm"),
_spec(LROCNACDTM, "ortho"),
_spec(LROCNACDTM, "confidence"),
_spec(LROCWACMosaic, "morphology"),
_spec(LOLA, "dem"),
_spec(SLDEM2015, "dem"),
_spec(MiniRF, "cpr"),
_spec(MiniRF, "sc"),
_spec(MiniRF, "oc"),
_spec(DivinerGDR, "rock_abundance"),
_spec(DivinerGDR, "regolith_temp"),
_spec(WACGLD100, "dtm"),
_spec(WACTiO2, "tio2"),
_spec(LROCWACGlobal, "morphology"),
_spec(LROCWACColor, "refl_321nm"),
_spec(LROCWACColor, "refl_360nm"),
_spec(LROCWACColor, "refl_415nm"),
_spec(LROCWACColor, "refl_566nm"),
_spec(LROCWACColor, "refl_604nm"),
_spec(LROCWACColor, "refl_643nm"),
_spec(LROCWACColor, "refl_689nm"),
_spec(LROCNACROI, "mosaic_5m"),
_spec(LROCNACROI, "mosaic_20m"),
_spec(ShadowCam, "mosaic"),
_spec(ShadowCam, "dtm"),
_spec(ShadowCam, "confidence"),
_spec(ClementineUVVIS, "band_415nm"),
_spec(ClementineUVVIS, "band_750nm"),
_spec(ClementineUVVIS, "band_900nm"),
_spec(ClementineUVVIS, "band_950nm"),
_spec(ClementineUVVIS, "band_1000nm"),
_spec(ClementineNIR, "band_1100nm"),
_spec(ClementineNIR, "band_1250nm"),
_spec(ClementineNIR, "band_1500nm"),
_spec(ClementineNIR, "band_2000nm"),
_spec(ClementineNIR, "band_2600nm"),
_spec(ClementineNIR, "band_2780nm"),
)
}
astrofetch.moon.layers.LayerSpec
dataclass
¶
Provenance and read config for one user-facing layer.
collection
class-attribute
instance-attribute
¶
collection: str = ''
USGS ARD STAC collection id (source == "stac").
asset
class-attribute
instance-attribute
¶
asset: str = ''
STAC asset key read from each item (source == "stac").
ihid
class-attribute
instance-attribute
¶
ihid: str = ''
PDS ODE instrument host id, e.g. "LRO" (source == "ode").
iid
class-attribute
instance-attribute
¶
iid: str = ''
PDS ODE instrument id, e.g. "LROC" (source == "ode").
pt
class-attribute
instance-attribute
¶
pt: str = ''
PDS ODE product type, e.g. "SDNDTM" (source == "ode").
pattern
class-attribute
instance-attribute
¶
pattern: str = ''
Filename pattern selecting the file within an ODE product
(source == "ode").
file_type
class-attribute
instance-attribute
¶
file_type: str = ''
Required ODE file role for pattern to match against
(source == "ode"); almost always "Product".
product_id
class-attribute
instance-attribute
¶
product_id: str = ''
ODE productid wildcard filter narrowing the search server-side
(source == "ode"); empty when the product type needs no narrowing.
astrofetch.moon.layers.Body
dataclass
¶
Catalog root: one planetary body and the probes that observed it.
astrofetch.moon.layers.Probe
dataclass
¶
Catalog node: one probe, the instrument datasets it carries, and any
experimental raw-granule datasets (see :mod:astrofetch.moon.granules).