Merged
Conversation
sray014
reviewed
Feb 26, 2026
stormhub/met/storm_catalog.py
Outdated
Comment on lines
+597
to
+616
| if item.bbox: | ||
| min_x = item.bbox[0] if min_x is None else min(min_x, item.bbox[0]) | ||
| min_y = item.bbox[1] if min_y is None else min(min_y, item.bbox[1]) | ||
| max_x = item.bbox[2] if max_x is None else max(max_x, item.bbox[2]) | ||
| max_y = item.bbox[3] if max_y is None else max(max_y, item.bbox[3]) | ||
|
|
||
| if item.datetime is not None: | ||
| min_time = item.datetime if min_time is None else min(min_time, item.datetime) | ||
| max_time = item.datetime if max_time is None else max(max_time, item.datetime) | ||
|
|
||
| if collection is None: | ||
| raise ValueError(f"No item JSON files found in: {collection_dir}") | ||
|
|
||
| if min_x is not None and min_time is not None: | ||
| collection.extent = pystac.Extent( | ||
| spatial=pystac.SpatialExtent(bboxes=[[min_x, min_y, max_x, max_y]]), | ||
| temporal=pystac.TemporalExtent(intervals=[[min_time, max_time]]), | ||
| ) | ||
| else: | ||
| logging.warning("Unable to compute extent for collection '%s'.", collection_id) |
Collaborator
There was a problem hiding this comment.
Using the 'update_extent_from_items()' method is probably a better, cleaner way to set the extents.
Collaborator
|
Is there a need for the .gitkeep and params-config.json files? |
Contributor
Author
the .gitkeep is meant for the example catalog since the catalogs will contain other catalog datasets, but only the example is intended for tracking based on the .gitignore. I added the params-config.json as an example config to use since there is not currently one for people to reference |
sray014
approved these changes
Feb 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ran stormhub for the Allegheny watershed and encountered some memory issues even when using an AWS EC2 with 100GB of RAM.
The issue was the script for generating the storm catalog kept getting killed due to OOM. The root cause of this was during the item creation where each item is saved to disk and then appended to the collection. The edit instead only saves to disk and returns None. Afterwards the items are added to the catalog by referencing memory on disk rather than memory in RAM.
The only relevant changes in the PR that should be merged are in the storm_catlog.py file.