Skip to content

Conversation

mluck
Copy link
Contributor

@mluck mluck commented Sep 19, 2025

Adds capability to generate HAND FIM for Guam and American Samoa using data from NHDPlus. Guam uses CRS EPSG:6637 and American Samoa uses EPSG:32702. Note that there are no levees for American Samoa. Closes #1625.

Additions

  • data/nhdplus/preprocess_nhdplus.py: Processes NHDPlus data including filtering and reprojecting

Changes

  • data/
    • bridges/make_rasters_using_lidar.py: Updates and saves list of classification results
    • bridges/pull_osm_bridges.py, get_sample_data.py, nfhl/download_fema_nfhl.py, roads/pull_osm_roads.py, wbd/clip_vectors_to_wbd.py, wbd/generate_pre_clip_fim_huc8.py: Adds processing for Guam and American Samoa to existing scripts
  • data/usgs/acquire_and_preprocess_3dep_dems.py and src/agreedem.py: minor cleanup
  • src/
    • bash_variables.env: Update preclip date and add paths for Guam and American Samoa files
    • buffer_stream_branches.py: Clip branch polygons to WBD instead of DEM domain
    • check_huc_inputs.py, run_by_branch.sh, run_unit_wb.sh: Add Guam and American Samoa HUCs
    • split_flows.py: Add NHDPlus Lake field name
    • stream_branches.py: Drop text metadata columns if they exist

Testing

Ran data/nhdplus/preprocess_nhdplus.py, data/wbd/generate_pre_clip_fim_huc8.py, fim_pipeline.sh, and inundate_mosaic_wrapper.py to generate the following inundation rasters for Guam and American Samoa.

Guam
Image

American Samoa
image


Deployment Plan (For FIM developers use)

  • Does the change impact inputs, docker or python packages?

    • Yes
    • No (f no.. skip the rest of the Deployment Plan section)
  • If you are not a FIM dev team member: Please let us know what you need and we can help with it.

  • If you are a FIM Dev team member:

    • Please work with the DevOps team and do not just go ahead and do it without some co-ordination.

    • Copy where you can, assign where you can not, and it is your responsibility to ensure it is done. Please ensure it is completed before the PR is merged.

    • Has new or updated python packages, PipFile, Pipefile.lock or Dockerfile changes? DevOps can help or take care of it if you want. Just need to know if it is required.

      • Yes
      • No
    • Require new or adjusted data inputs? Does it have a way to version (folder or file dates)?

      • No
      • Yes
        • Require new pre-clip set or any other data reloads, such as DEMS, osm, etc. ie.. pre-requisite re-data upstream of your input changes.
          • Yes
          • No
        • Has the inputs been copied/exist in all five enviros:
          • FIM EFS
          • FIM S3
          • ESIP
          • Dev1
          • UCS2
  • Please use caution in removing older version unless it is at least two versions ago. Confirm with DevOps if cleanup might be involved.

  • If new or updated data sets, has the FIM code, including running fim_pipeline.sh, been updated and tested with the new/adjusted data? You can dev test against subsets if you like.

    • Yes

Notes to DevOps Team or others:

Please add any notes that are helpful for us to make sure it is all done correctly. Do not put actual server names or full true paths, just shortcut paths like 'efs..../inputs/, or 'dev1....inputs', etc.


Issuer Checklist (For developer use)

You may update this checklist before and/or after creating the PR. If you're unsure about any of them, please ask, we're here to help! These items are what we are going to look for before merging your code.

  • Informative and human-readable title, using the format: [_pt] PR: <description>
  • Links are provided if this PR resolves an issue, or depends on another other PR
  • If submitting a PR to the dev branch (the default branch), you have a descriptive Feature Branch name using the format: dev-<description-of-change> (e.g. dev-revise-levee-masking)
  • Changes are limited to a single goal (no scope creep)
  • The feature branch you're submitting as a PR is up to date (merged) with the latest dev branch
  • pre-commit hooks were run locally
  • Any change in functionality is tested
  • New functions are documented (with a description, list of inputs, and expected output)
  • Placeholder code is flagged / future todos are captured in comments
  • CHANGELOG updated with template version number, e.g. 4.x.x.x
  • Add yourself as an assignee in the PR as well as the FIM Technical Lead

Merge Checklist (For Technical Lead use only)

  • Update CHANGELOG with latest version number and merge date
  • Update the Citation.cff file to reflect the latest version number in the CHANGELOG
  • If applicable, update README with major alterations

@mluck mluck added enhancement New feature or request FIM4 labels Sep 19, 2025
@mluck mluck linked an issue Sep 19, 2025 that may be closed by this pull request
@mluck mluck added the Inputs For getting new data, updating data, changing inputs, etc label Sep 19, 2025
@mluck mluck changed the title [1pt] PR: Add FIM capability for Guam and American Samoa WIP [1pt] PR: Add FIM capability for Guam and American Samoa Sep 19, 2025
@mluck mluck changed the title WIP [1pt] PR: Add FIM capability for Guam and American Samoa [1pt] PR: Add FIM capability for Guam and American Samoa Sep 23, 2025
@mluck
Copy link
Contributor Author

mluck commented Sep 23, 2025

Due to overlapping fixes for stream outlets, I re-ran fim_pipeline on HUCs 02030105, 05030106, 12040104, 16010204, and 22010000 after merging with v4.8.11.1 and verified no dropped catchments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request FIM4 Inputs For getting new data, updating data, changing inputs, etc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[21pt] Set up HAND in Guam and American Samoa
3 participants