Use for earth, ocean, atmosphere and ecology data work: NetCDF/CF, GRIB, Zarr, HDF5, GeoTIFF and vector formats, coordinate reference systems, regridding and land/sea masks, non-standard calendars, anomalies and baselines, trends with autocorrelation, extremes and return periods, CMIP scenarios and ensemble spread, remote-sensing preprocessing, and field-ecology survey data.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
Use for earth, ocean, atmosphere and ecology data work: NetCDF/CF, GRIB, Zarr, HDF5, GeoTIFF and vector formats, coordinate reference systems, regridding and land/sea masks, non-standard calendars, anomalies and baselines, trends with autocorrelation, extremes and return periods, CMIP scenarios and ensemble spread, remote-sensing preprocessing, and field-ecology survey data.
["\\b(NetCDF|\\.nc4?\\b|\\bGRIB2?\\b|CMIP[56]|ERA5|MODIS|Landsat|Sentinel-[12])\\b","\\b(reanalysis (?:data|product|dataset)|climate (?:model|projection|scenario)|RCP\\d(?:\\.\\d)?|SSP\\d-?\\d)\\b","\\b(detrend\\w+|seasonal (?:cycle|decomposition)|anomaly time series|teleconnection|\\bENSO\\b|\\bNAO\\b index)\\b","\\b(shapefile|geospatial (?:raster|vector)|EPSG:\\d+|remote sensing|zonal statistics|reprojection)\\b"]
Earth, climate and ecology data
Run skill_activate(skill="research-method") first and work from that spine —
question framing, evidence standards, citation honesty, what verification means.
Do not restate it. This pack covers what is different when the data is gridded,
projected, dated on a strange calendar and produced by somebody else.
Before any arithmetic
analysis_env(path). These stacks live in the project, not in this
process: xarray, netCDF4, cfgrib, rasterio, GDAL, cdo, nco, geopandas, R
terra/sf. Everything heavy runs through analysis_run in the project's own
interpreter. Missing tool -> say so and name the install; do not silently
substitute a worse method.
Record the product identity. Name, version/DOI, spatial and temporal
resolution, variable long_name and units, download date, and processing level
(L1/L2/L3). cite_add the dataset by its own DOI — datasets are citable
objects, and "ERA5" alone is not a citation.
Print the metadata before you trust the array.ncdump -h, gdalinfo,
xr.open_dataset(...).attrs. Read units, _FillValue/missing_value,
scale_factor/add_offset, calendar, the CRS, and whether latitude runs
north-to-south. references/data-formats-and-cf.md.
Say which kind of data it is and never mix silently. Observation,
reanalysis (a model constrained by observations — not an observation), and
free-running model output are three different epistemic objects. A figure
that overlays them must label each one.
Working rules
CRS. Every dataset carries or lacks a CRS; assuming EPSG:4326 because the
numbers look like degrees is the classic silent error. Reproject deliberately,
compute areas and distances in an equal-area or local projection, never in
degrees. references/crs-and-projections.md.
Area weighting. A global or regional mean of a lat/lon grid without
cos(latitude) weighting is wrong, and wrong in a direction that flatters
polar amplification. Use the grid cell areas the tool gives you.
Regridding. Bilinear for smooth fields you will look at; conservative for
anything that must integrate correctly (precipitation, fluxes, area totals).
Regrid once, at a documented step, and keep the source grid.
references/regridding-and-masks.md.
Land/sea masks differ between products; apply the
mask that belongs to the grid you are on. Model calendars can be 360-day or
no-leap: never compare a 360-day series to a Gregorian one by index.
Masks and calendars.
Anomalies. State the baseline period and the climatology construction
(which years, which smoothing, per-calendar-day or per-month). Two anomaly
series on different baselines are not comparable.
references/trends-and-autocorrelation.md.
Trends. Geophysical series are autocorrelated, so ordinary least-squares
standard errors are too small. Report the trend with an interval computed from
an effective sample size or a method that handles serial correlation, and say
which. Mann-Kendall with prewhitening or Sen slope where normality fails.
Check for breakpoints and instrument changes before calling a step a signal.
Extremes. Block maxima (GEV) or peaks-over-threshold (GPD), with the
threshold and declustering stated. A return period is a probability statement
about a stationary distribution; if the climate is changing, say so and use a
non-stationary fit or report the epoch.
references/extremes-and-return-periods.md.
Ensembles and scenarios. A CMIP number is meaningless without its scenario,
model, variant label and period. Report spread across models, not just the
mean, and never present a multi-model mean as a prediction.
references/cmip-ensembles-and-scenarios.md.
Remote sensing. Know the processing level, apply cloud/quality masks from
the product's own QA band, and do not compute indices across bands from
different atmospheric corrections. references/remote-sensing.md.
Field ecology. Detection is not perfect: transects, mark-recapture and
occupancy models estimate detection probability rather than assuming it.
references/ecology-field-data.md.
Read references/INDEX.md and pull what you need with file_read.
What counts as verified here
Units and magnitude check. Convert to physical units and compare against
an order-of-magnitude expectation (K vs degC, kg m-2 s-1 vs mm/day, m vs km).
A sign flip or 86400 factor is the most common real bug in this field.
Round-trip and conservation. After a conservative regrid, the
area-weighted global integral matches the source within tolerance — compute
it and report the residual.
Independent reproduction of a known quantity. Recompute a value the
product's own documentation publishes (a global mean, a documented trend) and
compare. If it does not match, the pipeline is wrong, not the product.
Provenance intact. Every figure came from an analysis_run;
analysis_ledger(action="verify", run_id=...) says INTACT before it goes in
the paper. data_diff between product versions before you blame the science
for a changed result.
Citations resolve.cite_check(manuscript, resolve=True) returns PASS,
and the dataset DOIs are in the bibliography alongside the papers.
Say the uncertainty out loud: observational coverage gaps, reanalysis
inhomogeneity across the satellite era, and model structural error are not
covered by the confidence interval you computed.