cussen-geo
Framework Cussen — Geospatial indices for marine, volcanic, fire, agricultural, forestry, geology and space mining domains.
A reproducible, citable Python implementation of the Framework Cussen (FC), a collection of remote-sensing-based indices designed to quantify environmental processes across seven domains:
| Code | Domain | Indices |
|---|---|---|
| MAR | Marine / Coastal | CO₂ solubility (K₀), Kelp Habitat Affinity (KHAI), … |
| VOL | Volcanology | thermal anomalies, ash plumes, … |
| FIR | Fire | burn severity, smoke detection, … |
| AGR | Agriculture | crop water stress, yield estimation, … |
| FOR | Forestry | canopy structure, biomass, blue carbon, … |
| GEO | Geology / Geomorphology | hazard mapping, kriging, … |
| SP | Space Mining | CLPI, CMPI, CAPI, CASI |
Status
🚧 Alpha — under active development. v0.2 ships two domain modules:
MAR — Marine / Coastal:
MAR.01k0_weiss— CO₂ solubility (Weiss 1974)MAR.02khai— Kelp Habitat Affinity Index (proposed)
SP — Space Mining / Planetary Prospection:
- CLPI (M3 / Moon):
mri,hpi,opi - CMPI (CRISM / Mars):
hmi,cbi,ahi - CAPI (Sentinel-2 / ASTER analog sites):
mas,evi,haz - CASI (NEO VNIR spectroscopy):
vmi,mmi,mvi
Installation
pip install cussen-geo
For raster / vector / lidar workflows:
pip install "cussen-geo[all]"
Quick start
Marine (MAR)
import numpy as np
from cussen_geo.mar import k0_weiss, khai
# CO2 solubility at 12 °C, salinity 33 psu
k0 = k0_weiss(12.0, 33.0)
print(f"K0 = {k0:.2f} mmol/(L·atm)")
# K0 = 42.63 mmol/(L·atm)
# Kelp Habitat Affinity Index (triangular, T_opt = 12 °C, ΔT = 4 °C)
sst_grid = np.array([10.0, 12.0, 14.0, 17.0])
habitat = khai(sst_grid)
print(habitat)
# [0.5, 1.0, 0.5, 0.0]
Space mining (SP)
import numpy as np
from cussen_geo.sp import vmi, mvi
# Asteroid VNIR features
hydration = np.array([0.08, 0.01]) # C-type vs S-type
slope = np.array([-0.1, 0.5])
bd1_depth = np.array([0.0, 0.30])
vmi_scores = vmi(hydration, slope, bd1_depth)
print(vmi_scores.round(2))
# [0.95 0.20]
# Mission viability with delta-v penalty
mvi_scores = mvi(vmi_scores, np.zeros(2), delta_v=np.array([4.5, 4.5]))
print(mvi_scores.round(2))
# [0.95 0.2 ]
Citation
If you use cussen-geo in academic work, please cite:
@software{cussen_geo,
author = {Cussen Eltit, Pablo},
title = {cussen-geo: Framework Cussen geospatial indices},
year = {2026},
url = {https://github.com/pablocussen/cussen-geo},
note = {ORCID: 0009-0008-4853-4200}
}
License
MIT © 2026 Pablo Cussen Eltit
Metadata
Release files for cussen-geo 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cussen_geo-0.2.0.tar.gz | 17.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cussen_geo-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.6 kB
Release files / cussen_geo-0.2.0.tar.gz
| Download URL | cussen_geo-0.2.0.tar.gz |
|---|---|
| Size | 17.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f37e3f64c3f1ae9f7cb50b69b74d03bcdbbf86f4f48d50a3d99a20d31c236cff
|
|
BLAKE2b-256 checksum How to use checksums |
45fcf19020f016f7195090c611040504ddaaaf3c7047592dbb95e514d71e8101
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Release files / cussen_geo-0.2.0-py3-none-any.whl
| Download URL | cussen_geo-0.2.0-py3-none-any.whl |
|---|---|
| Size | 19.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7377e019fe094883a369e4db7f621212dff296e76a9aaea9072da5e60e0fd681
|
|
BLAKE2b-256 checksum How to use checksums |
b6a3189bbf3d565894cb179710487195fc92638f63b18dcda499944e5bdc3f53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|