24 lines
1.4 KiB
Python
24 lines
1.4 KiB
Python
"""Scientific map contracts for ExoPlaSim surface inputs."""
|
|
|
|
FIELDS = {
|
|
"height": {"label": "Surface height", "unit": "m", "native_unit": "m2 s-2", "native_parameter": "topomap", "native_code": 129, "min": -12000.0, "max": 12000.0, "default": 0.0, "brush_step": 100.0, "categorical": False},
|
|
"landmask": {"label": "Land-sea mask", "unit": "1", "native_parameter": "landmap", "native_code": 172, "min": 0.0, "max": 1.0, "default": 0.0, "brush_step": 1.0, "categorical": True},
|
|
"roughness": {"label": "Land surface roughness", "unit": "m", "native_unit": "m", "native_parameter": "resources", "native_code": 173, "min": 0.0, "max": 100.0, "default": 2.0, "brush_step": 0.1, "categorical": False},
|
|
"albedo": {"label": "Broadband land albedo", "unit": "1", "native_unit": "1", "native_parameter": "resources", "native_code": 174, "min": 0.0, "max": 1.0, "default": 0.22, "brush_step": 0.01, "categorical": False, "months": 14},
|
|
}
|
|
|
|
def map_schema():
|
|
try:
|
|
from .terrain import _gaussian_grid
|
|
except ImportError:
|
|
from terrain import _gaussian_grid
|
|
try:
|
|
from .terrain import _RESOLUTIONS
|
|
except ImportError:
|
|
from terrain import _RESOLUTIONS
|
|
grids = {}
|
|
for key, nlat in _RESOLUTIONS.items():
|
|
lat, lon, _ = _gaussian_grid(key)
|
|
grids[key] = {"lat": lat.tolist(), "lon": lon.tolist(), "nlat": nlat, "nlon": nlat * 2}
|
|
return {"grids": grids, "fields": FIELDS}
|