From 286903d00e6269f4008392d5d74ea382d93defc0 Mon Sep 17 00:00:00 2001 From: Matthew Love Date: Mon, 3 Aug 2026 13:05:03 -0700 Subject: [PATCH 1/2] split tnm 4 and 2 for specific 1/9 processing in cudem_standard_bato bundle --- src/globato/cli/build.py | 6 +++-- .../modules/bundles/cudem_standard_bato.yaml | 23 ++++++++++++++++++- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/globato/cli/build.py b/src/globato/cli/build.py index 7e3b491..81d54de 100644 --- a/src/globato/cli/build.py +++ b/src/globato/cli/build.py @@ -404,5 +404,7 @@ def build_cmd( bold=True, ) - except ValueError as e: - click.secho(str(e), fg="red") + except Exception as e: + click.secho( + f"Failed to execute Globato pipeline!: {str(e)}", fg="red", bold=True + ) diff --git a/src/globato/modules/bundles/cudem_standard_bato.yaml b/src/globato/modules/bundles/cudem_standard_bato.yaml index 2f0fb4e..63fe194 100644 --- a/src/globato/modules/bundles/cudem_standard_bato.yaml +++ b/src/globato/modules/bundles/cudem_standard_bato.yaml @@ -41,7 +41,28 @@ modules: # TNM NED 1m and 1/9 - module: tnm - args: {weight: 5.0, formats: "GeoTIFF", datasets: "2/4"} + args: {weight: 5.0, datasets: "4"} + hooks: + - name: unzip + - name: filename_filter + args: {match: ".tif"} + - name: raster_flats + args: + stage: "file" + - name: stream_reproject + args: {dst_srs: "EPSG:4269+5703"} + - name: point_raster_mask + args: + barrier: "coastline" + invert: false + res: .11111111s + - name: range_z + args: + min_z: 0.01 + cache_dir: "%shared_cache%" + + - module: tnm + args: {weight: 3.0, formats: "GeoTIFF", datasets: "2"} hooks: - name: raster_flats args: From 37a22b2721c8c94f9b4b83d01ce5b668e3be2c72 Mon Sep 17 00:00:00 2001 From: Matthew Love Date: Mon, 3 Aug 2026 13:06:25 -0700 Subject: [PATCH 2/2] fail-fast instead of ignore-failures --- src/globato/cli/build.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/globato/cli/build.py b/src/globato/cli/build.py index 81d54de..30e8816 100644 --- a/src/globato/cli/build.py +++ b/src/globato/cli/build.py @@ -98,9 +98,9 @@ "--refresh", is_flag=True, help="Force fresh API fetch, bypassing local cache." ) @click.option( - "--ignore-failures", + "--fail-fast", is_flag=True, - help="Continue processing through failures (Warning: may result in incomplete data or products).", + help="Raise an exception on the first failure, otherwise continue processing through failures.", ) @click.argument("sources", nargs=-1) def build_cmd( @@ -126,7 +126,7 @@ def build_cmd( export, sources, refresh, - ignore_failures, + fail_fast, ): """Build a Digital Elevation Model recipe, and execute it.""" @@ -396,7 +396,7 @@ def build_cmd( outdir=outdir, shared_cache=shared_cache, refresh=refresh, - ignore_failures=ignore_failures, + ignore_failures=not fail_fast, ) click.secho( "✨ Successfully completed Globato build pipeline!",