Enrich with several modules
scripts/enrich.sh runs several modules over one input in sequence, so the
result is a single file carrying the new columns of every module you selected.
Each module is chained onto the previous one’s output, its columns accumulating,
and the in-between files are written to a temporary directory that is removed
when the script ends. Only the final output file remains.
scripts/enrich.sh [options] <input> <output>
Selecting modules
A module runs only when you give its data source, so the flags pick both the modules and their inputs. At least one module must be selected.
| Flag | Module | Data source |
|---|---|---|
--coast PATH | coast | GSHHG shapefile dir or GSHHS_*_L1.shp |
--depth FILE | depth | GEBCO bathymetry NetCDF |
--sea PATH | sea | IHO Sea Areas GeoJSON or shapefile |
--countries FILE | place | Natural Earth countries shapefile |
--nearest FILE | nearest | reference table of named locations |
The modules run in a fixed order (coast, depth, sea, place, nearest); the order does not matter, since each adds distinct columns.
Per-module options
| Option | Applies to | Meaning |
|---|---|---|
--municipalities FILE | place | GISCO LAU municipalities (optional) |
--coast-unit km|m | coast | Distance unit (default km) |
--depth-positive | depth | Report depth positive below sea level |
--sea-name-field STR | sea | Feature field with the sea name (default NAME) |
--nearest-name-field STR | nearest | Reference name column (default name) |
--nearest-unit km|m | nearest | Distance unit (default km) |
Common and other options
--region, --lon-col, --lat-col, --decimals, and --threads are passed to
every module that accepts them (--region only to coast, sea, and place).
--in-format describes the original input. Other options:
| Option | Meaning |
|---|---|
--bin PATH | geoenrich binary (default: $GEOENRICH_BIN, else the one on PATH, else ./target/release or ./target/debug) |
-k, --keep | Keep the intermediate files (default: remove them) |
-n, --dry-run | Print the commands without running them |
Example
scripts/enrich.sh cores.parquet cores.enriched.parquet \
--coast ./data/gshhg/gshhg-shp-2.3.7/GSHHS_shp/f \
--depth ./data/gebco/GEBCO_2024_sub_ice.nc \
--nearest farms.parquet --nearest-name-field farm_name
This writes one file, cores.enriched.parquet, with the original columns plus
dist_to_coast, bathymetry, nearest_name, and nearest_dist. The
intermediate coast-only and coast+depth files are removed on exit.
The intermediate files are Parquet (lossless); the final file’s format follows
its extension, so cores.enriched.csv.gz would be written as gzipped CSV.