Configuration
Settings are loaded from a YAML file. If you omit --settings, Coldcast loads the bundled defaults from the package:
src/coldcast/data/default_settings.yaml (installed as coldcast.data).
Global keys
Typical top-level keys include:
output_dir— download destination.max_num_threads— concurrency for HTTP downloads.log_file,log_xml_file,xml_log— logging.run_info_file,run_info_netcdf— FEWS run info overrides (see Run-info overrides).fews_name_space— XML namespace for FEWS run info XML.bounding_box— optional default geographic extent:Preferred: mapping
lon_min,lon_max,lat_min,lat_max(west/east/south/north latitude bounds).CDS-style: sequence
[North, West, South, East](degrees), same order as CDSarea.
Sources that honor it merge per key with a more specific block—under
ECMWF, theERA5andERA5_LANDproduct keys acceptbounding_boxorbbox(legacy top-levelERA5/ERA5_LANDblocks still merge the same way);DYNAMICAL_CATALOGmodelbbox;ECCC_PRECIP_GRIDfews_netcdf.clip_bboxwhenclip_to_bboxis true—so product keys override the global default for those keys only.Shared YAML anchors — The bundled defaults repeat identical sub-mappings (for example NOMADS
bboxand shared clip regions) using YAML aliases; that is layout-only and does not change runtime behavior.
Per-source blocks
Each data source has a YAML block named after the source key (e.g. NOAA_HRRR, ECCC_API). Inside that block:
Templates —
url_templateandfilename_templateare Pythonstr.format-style templates. Context variables are built in code per source.Models — Multi-model sources (
ECCC_NWP,ECCC_PRECIP_GRID,ECMWF,DYNAMICAL_CATALOG) nest configuration under product/model keys;default_modelselects the default when--modelis omitted (forECMWFthis can be a forecast model orERA5/ERA5_LAND).HREPA FEWS NetCDF — Under
ECCC_PRECIP_GRIDkeysHREPA,HREPA_PCT25, andHREPA_PCT75, optionalfews_netcdfenables post-processing after download (clip viaclip_to_bbox/clip_bbox, merged with top-levelbounding_box; CF metadata touch-ups, optional variable rename).ECMWFforecast product YAML may listclip_to_bbox/clip_bbox, but those keys are not applied to ECMWF GRIB2 downloads in code—only the HREPA FEWS NetCDF path uses clipping today.Dynamical catalog FEWS NetCDF —
DYNAMICAL_CATALOGopens dynamical.org xarray/Zarr forecast datasets, selectsinit_timefrom FEWS runinfotime0minusdelay_hours, clips using the merge of top-levelbounding_boxand each model’sbbox, and writes one CF NetCDF. Ensemble datasets keep all members in a single file using the CFrealizationdimension.Sequences —
forecast_hoursandmembersmay be a list or a dict withstart/end/step(expanded at runtime).
Bundled CSV assets
Station lists for ECCC_API and SNOTEL ship under coldcast.data. Relative paths in YAML are resolved relative to the settings file directory when you pass a custom --settings path, or relative to the package data directory when using defaults.
NOAA Grib Filter
NOAA_HRRR, NOAA_GFS, and NOAA_GEFS build NOMADS Grib Filter URLs using url_base, filter_script, native NOMADS bbox fields (leftlon, rightlon, toplat, bottomlat), variables, cycles, and forecast hours defined in YAML. There is no conversion from top-level bounding_box to NOMADS parameters; use source bbox as in the bundled defaults.