Note
Go to the Releases page for a list of all releases.
Release v0.10.4#
Tag: v0.10.4
Published at: 2025-07-31T21:03:37Z
Author: github-actions[bot]
Release Notes:
Release v0.10.3#
Tag: v0.10.3
Published at: 2025-03-25T12:20:50Z
Author: github-actions[bot]
Release Notes:
This PR step tunes a hyperparameter in the conflation process that was causing large HEC-RAS source models to not conflate with any NWM reaches.
A central step of model conflation is identifying the relevant NWM reaches within the model domain. To do this, a valid path of NWM reaches is found that stretches from the upstream end of the HEC-RAS model to the downstream end. The valid path is found by walking several potential paths and finding one that connects upstream to downstream. A max walk length was included in earlier ripple versions to prevent process deadlocking, however, the limit was set to 100 reaches. This limit was too low for many large HEC-RAS models.
Based on a performance analysis, it was found that setting a large number (3,000) for the iteration limit would not hurt conflation speed and would allow conflation of a HEC-RAS model the full length of the Missouri River.
!`image (5) <user-attachments/assets>`_
Release v0.10.2#
Tag: v0.10.2
Published at: 2025-03-19T17:58:08Z
Author: github-actions[bot]
Release Notes:
This release resolves a minor bug that improves conflation at confluences and a rather major bug that was causing truncation of the profile names when the profile names exceeded 16 characters.
To resolve the truncation of profile names exceeding 16 characters, each profile name is now designated an integer value (0,1,2,3, etc.) to be used as the “new” profile name in the HEC-RAS flow file. A mapping of old-to-new profile name was then stored in the description of the flow file as a json string. During post-processing this map is retrieved and used to re-map the integer profile names back to the previous naming convention for profiles.
At some confluences, a NWM reach may intersect cross-sections from both tributary HEC-RAS reaches. To determine the “correct” reach for conflation, Ripple1D selects the reach with more coverage length. At times, the reach with more coverage would lead to the NWM reach being conflated in reverse. This release handles this situation by removing any cross-sections that would lead to reverse conflation from the set of potential HEC-RAS reaches.
If this text is confusing, see the new conflation test N.
!`test_n <user-attachments/assets>`_
Release v0.10.1#
Tag: v0.10.1
Published at: 2025-03-04T21:10:11Z
Author: github-actions[bot]
Release Notes:
This release addresses several bugs that were identified in v0.10.0.
Bugfixes Addressed#
Ignore terrain agreement errors#
A new argument terrain_agreement_ignore_error was added to the create_ras_terrain endpoint. It’s default value is false, which will maintain the current functionality. When set to true, if an error is raised in the terrain agreement calculation step, the error will be logged and no terrain agreement database will be created. The endpoint will still respond with a “terrain_agreement” key, but it will have an empty value.
Handle river_reach names more generically#
While improving the conflation logic in 0.10.0, we made an assumption that the river_reach identifier in a geometry file would follow the default HEC-RAS formatting. Some contractors do not follow this formatting, so we have updated the code to more generically store river_reach names instead of forcing the default RAS formatting.
Add Model Name to extract_submodel#
A required arg, model_name has been added to the extract_submodel endpoint. This enables the the user to specify the name of the model instead of inferring it from the model directory name which was not full proof.
closes #326 closes #325 closes #327
Release v0.10.0#
Tag: v0.10.0
Published at: 2025-02-25T21:36:59Z
Author: github-actions[bot]
Release Notes:
This PR addresses several issues relating to the conflation process. Those issues are grouped in the 0.10.0 milestone, and this PR successfully addresses all of them and more. Specific changes are detailed in the subsections below.
Features Added#
Check Units#
The source HEC-RAS model (and thus the derived submodel) must have units of English. If it does not then an error is raised in the create_model_run_normal_depth endpoint. To do this several additional changes had to be made to the schema. - units is now passed from the source_model.gpkg to the conflation.json during conflate_model. - source_model_metadata is now passed from the conflation.json to the ripple1d.json during extract_submodel. - units and steady (which is a boolean indicating if the source model was steady state) is now passed from the conflation.json to the submodel.gpkg during extract_submodel. This required adding a new metadata table to the submodel.gpkg. - create_model_run_normal_depth reads the ripple1d.json and raises an error if units is not English.
Handle Unsteady Source Model#
The handling of unsteady flow files in the source RAS model has been updated. Unsteady RAS models can now be extracted for cataloging purposes without error. However, it was decided that unsteady 1d models should not be processed through ripple1d as a steady state model and so an error is raised during create_model_run_normal_depth if the forcing file extension from the source model does not contains f indicating that it is not a steady state model.
Identify Overtopped Cross Sections#
A column named xs_overtopped has been to the rating curve database which indicates if any cross sections were overtopped for any plan/profile. This should help to identify when a FIM should be scrutinized, discarded, or other decision made with regards to how it should be interpret it.
Add Model Name as arg#
A required arg, model_name has been added to the conflate_model and compute_conflation_metrics endpoint. This enables the the user to specify the name of the model instead of inferring it from the model directory name which was not full proof.
Confluence Improvements#
Issue #222 identified errors in conflation in confluence areas. The conflation behavior has been modified to enforce that both tributary sub models will share a downstream cross-section with the upstream cross-section of the downstream sub model.
Eclipsed Reach Identification#
An eclipsed reach is defined as a NWM reach that has upstream and downstream NWM reaches conflated but with no source model cross-sections intersecting itself. In previous versions of the code, ripple was both under- and over-identifying eclipsed reaches (see #311 and #316). The code has been improved to properly scan for eclipsed NWM reaches.
Conflating NWM Reaches With Low Source Model Overlap#
Issues #218 and #227 detail edge cases near first-order NWM reaches. The conflation process has been updated to allow for a) scanning for NWM that intersect a small portion of the source model and b) expanding the sub model upstream cross-section above the NWM terminus if an additional cross-section is available.
Documentation and testing#
13 new tests were added to prevent code regression as the conflation module was updated. These test cases also serve as examples of how conflation “should” behave. As such, graphics were generated for each test and have been added to the conflate_model endpoint page.
closes #186 closes #303 closes #123 closes #176 closes #222 closes #311 closes #227 closes #218 closes #316
Release v0.8.3#
Tag: v0.8.3
Published at: 2025-01-17T22:39:07Z
Author: github-actions[bot]
Release Notes:
Summary#
This release of ripple1d fixes several bugs that were identified in a large production run. Those bugs were detailed and summarized in #268.
Bug Fixes#
When a new terrain is downloaded but contains only nodata values, NullTerrainError is raised, and the endpoint process will fail.
When a new terrain is downloaded but the HEC-RAS CreateTerrain subprocess fails silently, the output is checked, and a RasTerrainFailure error is raised. Additionally, bad_projection_test.py has been added to test that the error will raise.
When a source model is conflated such that the most downstream XS for a NWM reach a has higher river station than the most upstream reach, a BadConflation error is raised.
When sub model extraction is attempted on a reach that would have one or zero cross-sections but is not tagged as eclipsed, a SingleXSModel error is raised. The endpoint response was also cleaned up such that eclipsed reaches no longer return a path to a nonexistent 123.ripple1d.json. Logging has been improved for all these cases.
flow indexing in the create_flow_depth_combinations function has been improved to avoid rounding values. A test has been added for one of the models that was causing problems.
Handling of interpolated cross-sections has been improved such that they may have sub models created, may be run, and may be used in the create FIM lib steps. A new test model – winooski – has been added with interpolated cross-sections.
Null (blank) downstream reach values are now loaded as 0. This is consistent with how HEC-RAS handles them. The new winooski model contains null downstream reach length at the most downstream cross-section.
Closes #281 Closes #282 Closes #291 Closes #292 Closes #295 Closes #298
Release v0.8.1#
Tag: v0.8.1
Published at: 2025-01-06T16:21:56Z
Author: github-actions[bot]
Release Notes:
> [!IMPORTANT] > Version 0.8.0 was released without having incorporated bugfixes added after v0.8rc1. This update adds in the necessary bugfixes to reflect the most up-to-date version of the software. The text below is a copy of the 0.8.0 release notes.
Summary#
This release adds a suite of diagnostic metrics on model quality and terrain agreement to the ripple1d outputs. Model quality metrics reflect how well a HEC-RAS model conforms to standards of practice for developing HEC-RAS models and provide easy access to many model attributes that would be checked during an engineering model QC. Terrain agreement metrics quantify how well the terrain generated in the create_ras_terrain endpoint matches the source model terrain. Access to these metrics give ripple1d users actionable information to inform which HEC-RAS models should be preferred when models overlap. Furthermore, elevation-specific terrain agreement metrics can be used to alert users when a FIM product substantially disagrees with a source model geometry (indicative of lower FIM quality).
Additional features have been added to handle HEC-RAS warnings about hydraulic table start points and cross-section naming.
Features Added#
Hydraulic Table Start Elevation#
When a hydraulic table for a cross-section has a minimum elevation below the section invert, HEC-RAS generates a pop up warning as demonstrated in Dewberry/ripple1d#249. In the warning, the software specifies that any subsequent saves to the geometry file will automatically adjust the hydraulic table minimum elevation to be above the section invert. To mimic this functionality, a new function call has been added to the RasGeomText constructor. The call will check for any occurrences of the htab issue, adjust the minimum elevation, and overwrite the geometry file with the updated value.
HEC-RAS implements some convoluted process to update both the htab start value and the increments. We elected to simply update the htab start elevation to the cross-section invert and preserve the original engineer-determined increments.
Sub Model Cross-Section Names#
In earlier versions of ripple1d, the software attempted to carry cross-section names from source model to sub model. When that naming would have resulted in decreasing values in the upstream direction, the stationing was adjusted to preserve increasing values in the names. The renaming process led to a couple of bugs in downstream processes (ex #225 and #266). Since cross-section names do not affect hydraulic computation, the software will now rename all sub model cross-sections to an autoincremented value (ex 1, 2, 3, etc).
Additionally, the extract_submodel endpoint has been refactored to fix a potential bug in the junction walking step. For cases where more than one junction separated the u/s and d/s cross-sections or cases where the junctions were not reported from upstream to downstream in the HEC-RAS geometry file, the extract_submodel endpoint would only grab a single intermediate reach. No examples of this behavior have been found in production, but the bug was tested in development with a testing HEC-RAS model.
Terrain Agreement Metrics#
A new step has been added to the create_ras_terrain endpoint that will generate a json of terrain agreement metrics. The json is saved to a file with suffix “.terrain_agreement.json” that is saved to the sub model directory. The JSON contains a suite of metrics that have been documented in the Technical Summary of the readthedocs page (https://ripple1d.readthedocs.io/en/latest/tech_summary.html) and the create_ras_terrain endpoint page (https://ripple1d.readthedocs.io/en/latest/endpoints/create_ras_terrain.html).
Model Quality Metrics#
A new step has been added to the extract source model endpoint which extracts source model information to determine the quality of the source model. These metrics are populated in the cross section layer located in the source model geopackage layer for every cross section. The submodel will inherit these metrics during the subset gpkg phase.
Bug Fixes#
A feature was added in v0.7.0 to allow html rendering of the jobs endpoint, however, the endpoint was not updated to accept a flag toggling between json and html responses. Additionally, an oversight in the project manifest meant that the html and css templates for the jobs page were not transferred to ripple1d when installed via pip. This has been resolved so that the jobs endpoint returns a json response by default, and an html response will be returned when the key-value pair f=html is in the query string.
readthedocs was failing to build our documentation on their server. The docs folder has been updated such that it will build via their service. Additionally, the changelog will autogenerate now. Some old windows dependencies and imports have been removed since they are not used to run HEC-RAS any more and needed unnecessary logic to avoid breaking the readthedocs build service.
Closes #118 Closes #207 Closes #208 Closes #209 Closes #225 Closes #249 Closes #266 Closes #267 Closes #268 Closes #269 Closes #270
Release v0.8.0#
Tag: v0.8.0
Published at: 2025-01-03T20:29:59Z
Author: github-actions[bot]
Release Notes:
Summary#
This release adds a suite of diagnostic metrics on model quality and terrain agreement to the ripple1d outputs. Model quality metrics reflect how well a HEC-RAS model conforms to standards of practice for developing HEC-RAS models and provide easy access to many model attributes that would be checked during an engineering model QC. Terrain agreement metrics quantify how well the terrain generated in the create_ras_terrain endpoint matches the source model terrain. Access to these metrics give ripple1d users actionable information to inform which HEC-RAS models should be preferred when models overlap. Furthermore, elevation-specific terrain agreement metrics can be used to alert users when a FIM product substantially disagrees with a source model geometry (indicative of lower FIM quality).
Additional features have been added to handle HEC-RAS warnings about hydraulic table start points and cross-section naming.
Features Added#
Hydraulic Table Start Elevation#
When a hydraulic table for a cross-section has a minimum elevation below the section invert, HEC-RAS generates a pop up warning as demonstrated in Dewberry/ripple1d#249. In the warning, the software specifies that any subsequent saves to the geometry file will automatically adjust the hydraulic table minimum elevation to be above the section invert. To mimic this functionality, a new function call has been added to the RasGeomText constructor. The call will check for any occurrences of the htab issue, adjust the minimum elevation, and overwrite the geometry file with the updated value.
HEC-RAS implements some convoluted process to update both the htab start value and the increments. We elected to simply update the htab start elevation to the cross-section invert and preserve the original engineer-determined increments.
Sub Model Cross-Section Names#
In earlier versions of ripple1d, the software attempted to carry cross-section names from source model to sub model. When that naming would have resulted in decreasing values in the upstream direction, the stationing was adjusted to preserve increasing values in the names. The renaming process led to a couple of bugs in downstream processes (ex #225 and #266). Since cross-section names do not affect hydraulic computation, the software will now rename all sub model cross-sections to an autoincremented value (ex 1, 2, 3, etc).
Additionally, the extract_submodel endpoint has been refactored to fix a potential bug in the junction walking step. For cases where more than one junction separated the u/s and d/s cross-sections or cases where the junctions were not reported from upstream to downstream in the HEC-RAS geometry file, the extract_submodel endpoint would only grab a single intermediate reach. No examples of this behavior have been found in production, but the bug was tested in development with a testing HEC-RAS model.
Terrain Agreement Metrics#
A new step has been added to the create_ras_terrain endpoint that will generate a json of terrain agreement metrics. The json is saved to a file with suffix “.terrain_agreement.json” that is saved to the sub model directory. The JSON contains a suite of metrics that have been documented in the Technical Summary of the readthedocs page (https://ripple1d.readthedocs.io/en/latest/tech_summary.html) and the create_ras_terrain endpoint page (https://ripple1d.readthedocs.io/en/latest/endpoints/create_ras_terrain.html).
Model Quality Metrics#
A new step has been added to the extract source model endpoint which extracts source model information to determine the quality of the source model. These metrics are populated in the cross section layer located in the source model geopackage layer for every cross section. The submodel will inherit these metrics during the subset gpkg phase.
Bug Fixes#
A feature was added in v0.7.0 to allow html rendering of the jobs endpoint, however, the endpoint was not updated to accept a flag toggling between json and html responses. Additionally, an oversight in the project manifest meant that the html and css templates for the jobs page were not transferred to ripple1d when installed via pip. This has been resolved so that the jobs endpoint returns a json response by default, and an html response will be returned when the key-value pair f=html is in the query string.
readthedocs was failing to build our documentation on their server. The docs folder has been updated such that it will build via their service. Additionally, the changelog will autogenerate now. Some old windows dependencies and imports have been removed since they are not used to run HEC-RAS any more and needed unnecessary logic to avoid breaking the readthedocs build service.
Closes #118 Closes #207 Closes #208 Closes #209 Closes #225 Closes #249 Closes #266 Closes #267 Closes #268 Closes #269 Closes #270
Release v0.8rc1#
Tag: v0.8rc1
Published at: 2024-12-20T20:47:39Z
Author: sclaw
Release Notes:
Summary#
This release adds a suite of diagnostic metrics on model quality and terrain agreement to the ripple1d outputs. Model quality metrics reflect how well a HEC-RAS model conforms to standards of practice for developing HEC-RAS models and provide easy access to many model attributes that would be checked during an engineering model QC. Terrain agreement metrics quantify how well the terrain generated in the create_ras_terrain endpoint matches the source model terrain. Access to these metrics give ripple1d users actionable information to inform which HEC-RAS models should be preferred when models overlap. Furthermore, elevation-specific terrain agreement metrics can be used to alert users when a FIM product substantially disagrees with a source model geometry (indicative of lower FIM quality).
Additional features have been added to handle HEC-RAS warnings about hydraulic table start points and cross-section naming.
Features Added#
Hydraulic Table Start Elevation#
When a hydraulic table for a cross-section has a minimum elevation below the section invert, HEC-RAS generates a pop up warning as demonstrated in Dewberry/ripple1d#249. In the warning, the software specifies that any subsequent saves to the geometry file will automatically adjust the hydraulic table minimum elevation to be above the section invert. To mimic this functionality, a new function call has been added to the RasGeomText constructor. The call will check for any occurrences of the htab issue, adjust the minimum elevation, and overwrite the geometry file with the updated value.
HEC-RAS implements some convoluted process to update both the htab start value and the increments. We elected to simply update the htab start elevation to the cross-section invert and preserve the original engineer-determined increments.
Sub Model Cross-Section Names#
In earlier versions of ripple1d, the software attempted to carry cross-section names from source model to sub model. When that naming would have resulted in decreasing values in the upstream direction, the stationing was adjusted to preserve increasing values in the names. The renaming process led to a couple of bugs in downstream processes (ex #225 and #266). Since cross-section names do not affect hydraulic computation, the software will now rename all sub model cross-sections to an autoincremented value (ex 1, 2, 3, etc).
Additionally, the extract_submodel endpoint has been refactored to fix a potential bug in the junction walking step. For cases where more than one junction separated the u/s and d/s cross-sections or cases where the junctions were not reported from upstream to downstream in the HEC-RAS geometry file, the extract_submodel endpoint would only grab a single intermediate reach. No examples of this behavior have been found in production, but the bug was tested in development with a testing HEC-RAS model.
Terrain Agreement Metrics#
A new step has been added to the create_ras_terrain endpoint that will generate a json of terrain agreement metrics. The json is saved to a file with suffix “.terrain_agreement.json” that is saved to the sub model directory. The JSON contains a suite of metrics that have been documented in the Technical Summary of the readthedocs page (https://ripple1d.readthedocs.io/en/latest/tech_summary.html) and the create_ras_terrain endpoint page (https://ripple1d.readthedocs.io/en/latest/endpoints/create_ras_terrain.html).
Model Quality Metrics#
A new step has been added to the extract source model endpoint which extracts source model information to determine the quality of the source model. These metrics are populated in the cross section layer located in the source model geopackage layer for every cross section. The submodel will inherit these metrics during the subset gpkg phase.
Bug Fixes#
A feature was added in v0.7.0 to allow html rendering of the jobs endpoint, however, the endpoint was not updated to accept a flag toggling between json and html responses. Additionally, an oversight in the project manifest meant that the html and css templates for the jobs page were not transferred to ripple1d when installed via pip. This has been resolved so that the jobs endpoint returns a json response by default, and an html response will be returned when the key-value pair f=html is in the query string.
readthedocs was failing to build our documentation on their server. The docs folder has been updated such that it will build via their service. Additionally, the changelog will autogenerate now. Some old windows dependencies and imports have been removed since they are not used to run HEC-RAS any more and needed unnecessary logic to avoid breaking the readthedocs build service.
Closes #118 Closes #207 Closes #208 Closes #209 Closes #225 Closes #249 Closes #266 Closes #267 Closes #268 Closes #269 Closes #270
Release v0.7.0#
Tag: v0.7.0
Published at: 2024-11-07T19:47:12Z
Author: github-actions[bot]
Release Notes:
Users Changelog#
This release of ripple1d attempts to speed up the known water surface elevation (kwse) computes by parallelizing the creation of the depth grids. To do this, all kwse runs are ran without producing depth grids. From these initial kwse runs the rating curve database are created and used to inform the boundary condition for the next reach upstream. Once all of the boundary conditions are known, a second kwse run is ran to produce the depth grids in parallel. To make this happen some changes were necessary to the endpoints.
In addition to adding/modifying the endpoints, this release of ripple1d makes significant updates to both ripple1d execution and logging. This includes running each endpoint as a separate subprocess which allows the user to have the ability to dismiss running jobs. This should be handy for when jobs appear to have hung up. Dismissing these hung up jobs will free up cpu for new jobs.
Features Added#
Write depth grids argument#
A new argument boolean “write_depth_grids” was added to the “run_incremental_normal_depth” and “run_known_wse” endpoints. This allows the user to specify whether ripple1d should compute raw RAS depth grids or not.
Create rating curves database#
A new endpoint called “create_rating_curves_db” was added. This endpoint is a post processing step that creates a rating curve database from RAS plan hdf results. This endpoint only requires 2 args: “submodel_directory” and “plans. The location of the rating curve database is inferred from the submodel directory. It will be located directly in the submodel directory and will be named as the network reach name; e.g., “2820002/2820002.db”.
The “create_rating_curves_db” endpoint checks for the presence of the depth grid for each profile and records its existence or absence along with the plan suffix in the database table. The columns are “plan_suffix” and “map_exist” and are of type string and boolean, respectively.
Create FIM library update#
The “create_fim_lib” endpoint no longer produces the rating curve database.
Update to the Ripple1d workflow#
The user should take care with the args when calling the new/modified endpoints; specifically the plan names. The recommended order for calling these endpoints is:
run_known_wse : with “write_depth_grids” set to false and “plan_suffix” set to [“ikwse”]
create_rating_curves_db: with “plans” set to [“ikwse”]
run_known_wse: with “write_depth_grids” set to true and “plan_suffix” set to [“nd”,”kwse”]
create_rating_curves_db: with “plans” set to [“nd”,”kwse”]
create_fim_lib: with “plans” set to [“nd”,”kwse”]
Subprocess encapsulation#
The execution of all endpoints are now encapsulated within subprocesses
Logs and database#
Huey and flask logs have been combined into a single log file (server-logs.jsonld).
Huey.db has been renamed to jobs.db
The process id for each endpoint are now tracked in a p_id field of the task_status table in jobs.db
A huey_status field has been added to the task_status table. This field tracks the execution status of the endpoint subprocess.
A new table called task_logs has been added to jobs.db. This table contains stdout, stderr, and results stemming from endpoint subprocesses.
A proof of concept graphical (html-based) job status page has been added
Closes #187 Closes #188 Closes #237 Closes #238 Closes #239 Closes #240
Release v0.6.3#
Tag: v0.6.3
Published at: 2024-10-18T16:02:24Z
Author: github-actions[bot]
Release Notes:
Users Changelog#
This release of ripple1d fixes several bugs identified during testing.
Bug Fixes#
Technical Documentation has been updated with high level summary of package functionality.
The ID column was removed from geopackage layers. All code dependencies on the ID column have been removed.
Now only reaches that are connected via the “to_id” are considered eclipsed reaches.
Precision has been added to the rating curves used to inform the incremental normal depth runs by reducing the amount of rounding.
CRS is now stored as WKT instead of EPSG in the ripple.json file to more robustly represent all possible CRSs; e.g., ESRI.
Closes #59 Closes #133 Closes #192 Closes #219 Closes #221
Release v0.6.2#
Tag: v0.6.2
Published at: 2024-09-25T20:56:12Z
Author: github-actions[bot]
Release Notes:
This Release fixes several bugs associated with conflation. To aid in identifying and fixing these bugs, improvements were made in the logging for the conflation endpoint. In summary, the fixes and changes incorporated in this PR improve the consistency and quality of the conflation process, computations, and metrics in genera with special attention for handling junctions and headwater reaches.
Release v0.6.1#
Tag: v0.6.1
Published at: 2024-09-20T10:32:51Z
Author: github-actions[bot]
Release Notes:
Users Changelog#
This release of ripple1d fixes several bugs identified during testing.
Features Added#
A minor change was added to the logging behavior to improve error tracking.
Bug Fixes#
A bug causing increasing processing time when calling creat_ras_terrain in parallel mode.
A bug in the extract_submodel endpoint which failed when trying to grab the upstream cross section. A check was added for the eclipsed parameter, where if true no geopackage will be created.
Several bugs associated with the create_fim_lib endpoint:
The library_directory arg was not being implemented correctly in the function.
If a fim.db already exists append fuctionality has been implemented.
If the directory containing the raw RAS depth grids is empty the clean up function will not be invoked.
Resolves issues introduced when a concave hull from a source model where cross section existed in the wrong direction (resulting in a multipart polygon). A check was added to correct direction and reverses the cross section if it was drawn incorrectly. This is limited to the development of the concave hull and does not modify the cross section direction for use in the modeling.
Closes #178 Closes #190 Closes #193 Closes #189
Release v0.6.0#
Tag: v0.6.0
Published at: 2024-09-16T22:17:41Z
Author: github-actions[bot]
Release Notes:
Users Changelog#
This release of ripple1d adds 2 args to the create_fim_lib endpoint, adds a concave hull of the cross sections to the geopackage, and fixes a bug associated with the depth grids.
Features Added#
New library directory argument#
A new required arg, “library_directory”, has been added to the create_fim_lib endpoint. This new arg specifies where the output directory for the FIM grids and database.
New cleanup argument#
A new required arg, “cleanup”, has been added to the create_fim_lib endpoint. If this arg is True the raw HEC-RAS depth grids are deleted. If False they are not deleted.
Concave hull of cross sections#
A layer representing the concave hull of the cross sections has been added to the geopackage for the source model and the network based model. It also improves how the concave hull is handled at junctions by explicitly creating a junction concave hull and then merging it in with the xs concave hull.
Bug Fixes#
An error was arising when all normal depth runs resulted in water surface elevations that were below the mapping terrain which means no resulting depth grids were being produced. Previously the code assumed at least 1 depth grid would be present. This has been fixed by obtaining the “terrain part” of the raw RAS grid from the RAS terrain instead of the first depth grid in the raw RAS result folder.
Developers Changelog#
Feature/concave hulls by @mdeshotel in Dewberry/ripple1d#175
Feature/delete raw ras grids by @mdeshotel in Dewberry/ripple1d#179
Bug/depth grids by @mdeshotel in Dewberry/ripple1d#180
Feature/fim directory by @mdeshotel in Dewberry/ripple1d#182
Closes Dewberry/ripple1d#151 Closes Dewberry/ripple1d#166 Closes Dewberry/ripple1d#169 Closes Dewberry/ripple1d#170
Release v0.5.0#
Tag: v0.5.0
Published at: 2024-09-09T22:01:36Z
Author: github-actions[bot]
Release Notes:
Users Changelog#
This release of ripple1d incorporates geometry extraction, conflation, and conflation metrics into the API, and fixes several bugs.
Features Added#
Conflation improvements#
The source HEC-RAS river centerline is now clipped to the most upstream and most downstream cross sections prior to starting conflation. This helps prevent identifying network reaches that are far away from the cross sections and improves the accuracy of the conflation.
Overlapped reaches are now tracked and documented in the conflation json file
A bbox column has been added to the network parquet file for faster reading. This was especially needed for the new conflation endpoint since each request needs to load the parquet file. Load times without the bbox column were between 5-20 seconds; this is reduced to 1-2 seconds witht the bbox column.
The conflation function now reads locally instead of from s3.
The conflation function no longer creates a STAC item.
RAS metadata is now added to the conflation json.
The source network’s metadata is now added to the conflation json.
Length and flow units are now documented in the conflation json file.
Conflation Metrics#
Three metrics are computed to asses the qualitiy of the conflation.
Coverage: The the start and end location of the reach coverage is computed as a ratio of the length of the network reach.
Lengths: The lengths between the most upstream cross section and most downstream cross section along the network reach and source HEC-RAS Model’s centerline is computed. The ratio of the two lengths is also provided.
XS: The distance between where the network reach and HEC-RAS Model’s centerline intersects the cross sections is computed. A similar comparison is performed using the cross section’s thalweg location and the network reaches intersection location with the cross sections. The mean, min, max, std, and quartiles are provided as a summary for both comparisons.
Geometry Extraction improvements#
A new function to verify .prj file is a HEC-RAS file has been added.
The extracted geopackage now contians a non-spatial metadata table for the souce HEC-RAS model.
Tests have been added for extracting geopackage from HEC-RAS model.
Additional attributes are added to the source model gpkg for downstream use.
Units are extracted from the source RAS model and added to metadata.
API#
An endpoint was added for extracting geometry and relevant metdata for the soure HEC-RAS models and storing it in in a geopackage.
An endpoint to compute conflation metric was added.
An endpoint for conflation (which includes metrics calculations) was added.
Tests were added for the conflation, conflation metrics, and geopackage endpoints.
Bug Fixes#
Reaches whose conflation results indicate upstream and downstream cross sections are the same are now considered a failed conflation.
The function to create a concave hull for the cross sections has been improved when junctions are present.
Eclipsed reaches are now better identified and are documented in the conflation json with a boolean.
A check is now performed to ensure cross sections intersect the source HEC-RAS model’s river centerline. If cross sections do not intersect the centerline they are dropped.
A conflation json is no longer written for source HEC-RAS models that fail to conflate.
Handling has been added to subset gpkg endpoint for river stationings of interpolated. These river stations contain an “*” to indicate interpolated cross section.
Several issues with the automated API tests were identified and fixed.
API tests no longer re-run gpkg_from_ras and conflate_model for every reach; just once per source test model.
When API tests pass the resulting files are now removed automatically. Resulting files for tests that fail are not removed so that the tester can better trouble shoot.
Developers Changelog#
Update to incorporate v0.4.1 changes by @slawler in Dewberry/ripple1d#144
Merge main to dev after 0.4.2 release by @ar-siddiqui in Dewberry/ripple1d#146
Feature/src gpkg endpoint by @slawler in Dewberry/ripple1d#155
Feature/conflation metric by @slawler in Dewberry/ripple1d#154
Bugfix/extract submodel by @mdeshotel in Dewberry/ripple1d#159
Bugfix/conflation tests by @mdeshotel in Dewberry/ripple1d#158
Bugfix/stationing handle river stationing of interpolated cross sections by @mdeshotel in Dewberry/ripple1d#162
Bugfix/conflation by @mdeshotel in Dewberry/ripple1d#161
Bugfix/compute metrics by @mdeshotel in Dewberry/ripple1d#164
Closes #92 Closes #117 Closes #137 Closes #147 Closes #148 Closes #149 Closes #150 Closes #160
Release v0.4.2#
Tag: v0.4.2
Published at: 2024-08-26T16:56:03Z
Author: github-actions[bot]
Release Notes:
This release fixes a bug which caused a failure when calling subset_gpkg in cases where the model geometries are simple (no structures / no junctions). This was not caught with test models because test models all have structures.
Release v0.4.1#
Tag: v0.4.1
Published at: 2024-08-24T17:53:56Z
Author: github-actions[bot]
Release Notes:
Users Changelog#
This release of ripple1d fixes several bugs identified during testing.
Features Added#
No features added in this version.
API#
ripple_version is no longer an option for the body of any endpoints.
Bug Fixes#
A bug due to a hard coded terrain path name causing an error on create_fim_lib has been resolved.
A bug associated with the ripple_version parameter has been resolved by removing the parameter from the body of requests (see note in API above).
An issue with including lateral structures (not yet implemented) in the ras geometry files causing hang ups has been resolved. This fix resolved another issue where stationing was mis-applied in the newly created ras geometry files.
Developers Changelog#
In order to perform tests locally an additional dependency pytest-json-report has been added. This package is not included in the pyproj manifest as it is not required to ship with the software. As a reminder, for users wishing to run tests, pytest and build are additional required dependencies not included in the build manifest.
Updated test coverage#
All NWM reaches in the Baxter model are now inluded in the tests.
Bugfix for hard coded DEM part in file name by @mdeshotel in Dewberry/ripple1d#139
Add release branch by @ar-siddiqui in Dewberry/ripple1d#136
Bugfix/ripple version api by @mdeshotel in Dewberry/ripple1d#135
Bugfix/structures by @mdeshotel in Dewberry/ripple1d#141
Closes #138 Closes #134 Closes #132 Closes #131 Closes #130
Release v0.4.0#
Tag: v0.4.0
Published at: 2024-08-19T20:49:02Z
Author: github-actions[bot]
Release Notes:
Users Changelog#
This release of ripple1d incorporates preliminary support for hydraulic structures in HEC-RAS, improves the installation and setup process, and fixes several bugs.
Features Added#
Hydraulic Structures#
All data associated with 1D structures that HEC-RAS supports is now included in the geometry extraction functions. (Endpoint exposing this will come in a future release). The extraction of data from the source models is now more robust and better handles different versions of RAS which wrote files slightly different.
- NWM reach models built from HEC-RAS source models that have the following structures will have structure data included:
Inline Structures
Bridges
Culverts
Multiple Opening
Not included are lateral structures. Handling of lateral structures (wiers) will require additional assumptions/considerations to account for excess discharge (storage area, 2d area, another reach, etc).
Conflation improvements#
The conflation algorithm has been improved to accommodate models containing junctions. Where junctions exist, HEC-RAS rivers will be joined and the down stream XS (downstream of the junction) will be captured in the upstream model.
Conflation now incorporates an additional downstream XS if available, extending beyond the NWM reach length to prevent gaps in FIM coverage.
API#
ripple_version is no longer a required argument for any endpoint.
Bug Fixes#
- Numerous small bug fixes were made to enable the support of hydraulic structures. Other notable bugs include:
HEC-RAS stations with length > 8 characters are now supported.
Mangled profile names resulting from negative elevations producing FIM libraries has been fixed.
Developers Changelog#
Add contributing guideline by @ar-siddiqui in Dewberry/ripple1d#119
Feature/add structures by @mdeshotel in Dewberry/ripple1d#120 Ripple should now support all 1D structures that HEC-RAS supports with the exception of lateral structures. Handling of lateral structures may require additional assumptions/thought as lateral structures require something to receive any excess discharge (storage area, 2d area, another reach, etc). The extraction of data from the source models is now more robust and better handles different versions of RAS which wrote files slightly different.
Feature/conflation improvements 1d by @mdeshotel in Dewberry/ripple1d#121 The conflation algorithm has been greatly improved for models containing junctions.
Structure testing by @mdeshotel in Dewberry/ripple1d#124 Bug fixes that were identified after adding additional test models to cover all supported structure types. The bug fixes were not actually related to structures. The first one was related to stationing limitations and the second was related to negative elevations when producing FIM libraries.
Docs/add user dev sections by @slawler in Dewberry/ripple1d#125
add import os to rasfim by @slawler in Dewberry/ripple1d#127
Closes #114 Closes #113 Closes #97 Closes #77 Closes #80 Closes #85 Closes #96
Release v0.3.11#
Tag: v0.3.11
Published at: 2024-08-09T13:14:49Z
Author: github-actions[bot]
Release Notes:
Release v0.3.10#
Tag: v0.3.10
Published at: 2024-08-09T02:07:27Z
Author: github-actions[bot]
Release Notes:
Summary#
This release renames the package from ripple to ripple1d and adds an executable for the ripple manager (flask and huey) and fixes a startup bug. Several patches were included from the v0.3.0 release involving automation of docs, builds, and other ci related updates not impacting the core software.
Changes#
Package Name: - Updated pyproject.toml to reflect the new package name. - Changed all import statements from ripple to ripple1d.
Installation and API
Added build setup for PyPi.
Removed start-up scripts, replaced with a pre-built command-line executable.
Documentation: - Added build the docs.
v0.2.0-beta#
Tag: v0.2.0
Published at: 2024-08-05T14:43:08Z
Author: slawler
Release Notes:
What’s Changed#
Operational changes in the development code in preparation for initial testing.
New Contributors#
@BradfordBates-NOAA made their first contribution in Dewberry/ripple#100
Full Changelog: https://github.com/Dewberry/ripple/compare/v0.1.0…v0.2.0
v0.1.0-beta#
Tag: v0.1.0
Published at: 2024-07-02T20:33:26Z
Author: slawler
Release Notes:
Initial classes, methods and functions for: - Extracting geometry from HEC-RAS 1D .g** files - Creating NWM reach-based HEC-RAS models by subsetting existing 1D models - Creating and managing normal depth and Known Water Surface Elevation (kwse) simulations - Creating HEC-RAS terrain files - Exporting simulation results to depth grids (cloud optimized geotiffs)
API for managing parallel execution with Huey queue for task scheduling
Example scripts for using the library natively (without the API)