Skip to content

Latest commit

 

History

History
72 lines (42 loc) · 3.3 KB

README.md

File metadata and controls

72 lines (42 loc) · 3.3 KB

flows2fim

alt text

Overview

flows2fim is a command line utility program that creates composite FIMs for different flow conditions utilizing input FIM libraries and rating curves database.

It has the following commands.

  • controls: Given a flow file and a rating curves database, create a control table of reach flows and downstream boundary conditions.
  • fim: Given a control table and a fim library folder. Create a flood inundation map for the control conditions.
  • validate: Given a FIM library folder and a rating curves database, validate there is one-to-one correspondence between the entries of the rating curves table and FIM library objects.

Dependencies:

  • 'fim' and 'validate' commands need access to GDAL. GDAL must be installed separately and made available in Path.

Units: Current support is for English units. The flow values must be in cfs

For Users

Getting Started

  1. Download flows2fim executables from s3://fimc-data/flows2fim/release-assets/v0.2.0/.

  2. Install GDAL if you don't already have it.

    GDAL can be installed through a variety of ways.

  3. Make sure flows2fim and GDAL both are available in your Path.

    • On Windows: The easiest way is to place the downloaded flows2fim.exe file from step 1 in C:\OSGeo4W\bin and then use OSGeo4W Shell for the next steps
    • On Linux: Simplest option is to place the downloaded flows2fim file in /bin folder
  4. Get familiar using flows2fim -h and flows2fim COMMAND -h.

  5. Download Baxter sample data from s3://fimc-data/flows2fim/sample_data/v0_2_0/Baxter if you don't have a dataset already.

  6. To create control file from 100yr flows file run flows2fim controls -db "Baxter/ripple.gpkg" -f "Baxter/flows/flows_100yr_cfs.csv" -o "Baxter/controls_100yr.csv" -sids 2821866

  7. To create Depth VRT run flows2fim fim -lib "Baxter/library" -c "Baxter/controls_100yr.csv" -o "Baxter/fim_100yr.vrt"

For Developers

Getting Started

  1. Clone the repository and perform following steps from the root of the repo.

  2. Download Baxter testdata from s3://fimc-data/flows2fim/sample_data/v0_2_0/Baxter to testdata/Baxter folder.

  3. Launch a docker container using docker compose up and run following commands inside the container

  4. Run go run main.go controls -db "testdata/Baxter/ripple.gpkg" -f "testdata/Baxter/flows/flows_100yr_cfs.csv" -o "testdata/Baxter/controls_100yr.csv" -sids 2821866 This will create a controls.csv file

  5. Run go run main.go fim -lib "testdata/Baxter/library" -c "testdata/Baxter/controls_100yr.csv" -o "testdata/Baxter/fim_100yr.vrt" This will create a VRT file. VRT can be tested by loading in QGIS.

Purpose of Directories

  • cmd: Contains individual folders for different commands.

  • pkg: Houses reusable packages potentially useful in other projects.

  • internal: For private application code not intended for external use.

  • scripts: Includes useful scripts for building, testing, and more.

Testing

  1. Run go test ./... to run automated tests.

Building

Run ./scripts/build-linux-amd64.sh This will place the executable in builds/linux-amd64.