Create Project and Grid ======================== This tutorial guides users through setting up a project in FLO-2D and QGIS. .. Note:: For better visibility, it is recommended to watch these videos on YouTube. Adjusting the video playback speed to 2x can expedite the learning process. .. raw:: html Create a New Project ----------------------- Load Project Domain ++++++++++++++++++++++ Open the **Self-Help Lesson 1** folder and drag and drop the **Project Domain shapefile** onto the QGIS map. .. Hint:: If identifying the correct `.shp` (shapefile) file is difficult, enable **file extensions** in the folder view options. QGIS should display the domain as shown below. The polygon color is randomly assigned and may differ from the example image. .. image:: ../img/shg/2/shg02_002.png Check the CRS +++++++++++++ Open the **CRS Selector** by clicking the button shown in the image below: .. image:: ../img/shg/2/shg02_003.png The coordinate reference system for this project is **EPSG:2223**, representing **NAD 83 Arizona Central**. While **EPSG:2868** or **EPSG:6405** are generally preferred for Arizona, EPSG:2223 will be used throughout this tutorial to maintain consistency with the provided data. .. important:: For new projects, consult local city, county, or state agencies, or a surveying team to determine the appropriate coordinate system. The following image displays a filtered list of Arizona coordinate systems: .. image:: ../img/shg/2/shg02_001.png Close the window if the coordinate system is set correctly. Create a New Project ++++++++++++++++++++++ Locate the **FLO-2D Toolbar** and click the **New Project** button. .. image:: ../img/shg/2/shg02_004.png .. Hint:: The project name should be descriptive, including key details such as study location, project number, or start date. In this tutorial, a simplified naming convention is used for clarity. Use the **Create** button to navigate to the **Self-Help Kit Gila** directory and name the **GeoPackage file** appropriately, such as **Self-Help Kit** or **Project 1**. Project Settings Overview ++++++++++++++++++++++++++ The **Project Settings** dialog box provides key details about the project: 1. Displays essential project-related information. 2. If the unit system is not recognized, update the FLO-2D plugin. 3. User data entry is optional but can assist future users in retrieving project details. 4. If the **FLO-2D Build** version is displayed as *Version not Found*, an experimental **FLOPRO.exe** may be installed on the system. 5. The **grid cell size** displayed in this dialog is not used. Instead, refer to the "Computational Domain" attribute for the correct setting. Instructions are available in the **Assign Grid Roughness** section. 6. A **default n value** is applied to all projects. This value is intentionally low to encourage modification based on **Assign Grid Roughness** guidelines. Updating overland roughness is essential for accurate modeling. If a project is submitted to technical support with unchanged default n values, it may indicate that key adjustments have been overlooked. .. image:: ../img/shg/2/shg02_005.png Set the CRS using the pop-up dialog and click **OK**. .. image:: ../img/shg/2/shg02_006.png Click **OK** to close the **Project Settings** window. This action will initialize the FLO-2D plugin and save the QGIS project. When prompted with save options, external data can either be embedded into the **GeoPackage** or referenced using file paths. Click **Yes** when prompted to save. .. image:: ../img/shg/2/shg02_007.png Managing External Layers +++++++++++++++++++++++++ The **GeoPackage Management Tool** provides options for handling external layers. - To ensure that a layer remains accessible within the project, move it to the left side of the dialog box. - Layers that are temporary or non-essential can remain on the right side. - Layers that are server connected like Google Maps or from FLO-2D MapCrafter will always use the **Path** option. For this tutorial, the **Project Domain** layer is only needed once and will be copied into the **Computational Domain** layer. It does not need to be retained within the GeoPackage. .. image:: ../img/shg/2/shg02_008.png After setup, the project interface should appear as follows: - **FLO-2D Widget** positioned on the right side of QGIS. - **Table and Plotting Windows** located at the bottom. - **FLO-2D Grid Info Panel** displayed on the left. .. image:: ../img/shg/2/shg02_009.png Setup the Grid ---------------- .. raw:: html Expand the **Grid Tools Widget** and click the **Create Grid** button. Select **External Layer** and choose **Project Domain** as the layer. Set the **Cell Size** field to `cell_size` and click **OK** to generate the grid. .. image:: ../img/shg/2/shg02_010.png The FLO-2D plugin will generate and validate the grid. .. Hint:: If this process takes longer than expected, verify that the **correct field** is being used. Selecting the **FID field** instead of `cell_size` may result in an excessively large grid. If this occurs, allow the process to complete and then retry with the appropriate field. The dialog displays the **cell size**, **grid count**, and **elapsed time** for grid generation. While the elapsed time varies based on system performance and grid size, this metric assists in evaluating plugin optimization. .. image:: ../img/shg/2/shg02_011.png Assign Elevation -------------------- .. raw:: html **Load the Elevation File** To begin, add the elevation raster to the project by dragging and dropping it onto the map. .. image:: ../img/shg/2/shg02_012.png **Assign Elevation to the Grid** From the **Grid Tools Widget**, select the **Assign Elevation Data to Grid** tool. Complete the dialog box as shown below and click **OK** to process the elevation. .. image:: ../img/shg/2/shg02_013.png For additional information on this tool and its interpolation methods, click the **Help** button. .. image:: ../img/shg/2/shg02_014.png **Adjust Layer Visibility** To improve visibility, deselect **Elevation** and **Project Domain** in the Layers panel. This will ensure the grid is clearly displayed. .. image:: ../img/shg/2/shg02_016.png **Review Grid Elevation** Enable the **Render Elevation** checkbox to inspect the assigned elevation values. Once the review is complete, disable this option to optimize map rendering performance. .. image:: ../img/shg/2/shg02_015.png Assign Grid Roughness ------------------------ .. raw:: html **Load the Manning's n Shapefile** To assign roughness values, add the **Manning's n** shapefile to the project. .. image:: ../img/shg/2/shg02_017.png **Assign Roughness Values** Use the **Assign Roughness from Polygon** tool to apply roughness values to the grid. .. image:: ../img/shg/2/shg02_018.png .. hint:: When using a roughness raster, select the **Assign Roughness from Raster** option. **Review Grid Attributes** To verify the assigned values, open the **Grid Attribute Table**: 1. Right-click the **Grid** layer. 2. Select **Open Attribute Table**. .. image:: ../img/shg/2/shg02_019.png The attribute table can be sorted by clicking on the column headers. The **FID** field represents the **Grid Element Number (GE Number)**. .. image:: ../img/shg/2/shg02_020.png .. hint:: Avoid opening the **Grid Attribute Table** if the grid contains more than **one million cells**, as performance may be significantly impacted. Assign Control Parameters -------------------------- .. raw:: html **Configure Control and Stability Parameters** Open the **FLO-2D Parameters Group** and select the first option to access the **Control and Stability Parameters** dialog. .. image:: ../img/shg/2/shg02_021.png Complete the fields as shown in the example below. .. image:: ../img/shg/2/shg02_022.png .. hint:: Tooltips are available in this dialog to provide descriptions of each variable. The variable names correspond to those in **Chapter 4** of the **Data Input Manual**, making it easy to locate specific tables for reference. **Review Numerical Stability Parameters** Navigate to the **Numerical Stability** tab and review the parameter values. .. image:: ../img/shg/2/shg02_023.png .. hint:: For a more detailed understanding, refer to the **Numerical Stability** section of the **FLO-2D Reference Manual** and review related webinar recordings by **Dr. Jimmy O'Brien**. These resources are available in the **Training Packages** section on the FLO-2D website and in the **ShareFile Webinar Series** folder. |trpa| .. |trpa| raw:: html Webinar Series Save, Export, and Run ---------------------- .. raw:: html **Save the Project** +++++++++++++++++++++ Click the **QGIS Save** button and confirm by selecting **Yes** in the dialog box. .. image:: ../img/shg/2/shg02_024.png Move the **Elevation** and **Manning's n** layers to the left side of the dialog box. This action saves these layers to the GeoPackage. .. image:: ../img/shg/2/shg02_025.png The **FLO-2D Plugin** automatically organizes external layers added to the GeoPackage into a separate group. The **Project Domain** layer can be removed, as it has already been copied into the **Computational Domain**. .. image:: ../img/shg/2/shg02_026.png **Review the GeoPackage Structure** ++++++++++++++++++++++++++++++++++++ Open the **Browser Panel** and dock it next to the **Layers Panel** by dragging the panel with a left-click and dropping it on the Layers Panel when highlighted. .. image:: ../img/shg/2/shg_002.gif Connect to the **Project GeoPackage** by right-clicking the **GeoPackage** section and selecting **New Connection**. Choose the **Project GeoPackage** file and click **Open**. .. image:: ../img/shg/2/shg02_027.png Expand the **GeoPackage** and use the **E, G, and M** keys on the keyboard to quickly navigate to tables that begin with those letters. .. image:: ../img/shg/2/shg_003.gif **Using SQL Tools in GeoPackage** ++++++++++++++++++++++++++++++++++++ To execute SQL queries, right-click the **Grid** layer and select **Execute SQL**. .. image:: ../img/shg/2/shg02_029.png To compute basic statistics on the `n_value` field in the `grid` table within a GeoPackage database, use the following SQL query: .. code-block:: sql SELECT MIN(n_value) AS min_value, MAX(n_value) AS max_value, AVG(n_value) AS mean_value, SUM(n_value) AS sum_value, COUNT(n_value) AS total_entries, (SUM(n_value * n_value) / COUNT(n_value)) - (AVG(n_value) * AVG(n_value)) AS variance, SQRT((SUM(n_value * n_value) / COUNT(n_value)) - (AVG(n_value) * AVG(n_value))) AS std_dev FROM grid; **Query Explanation:** - `MIN(n_value)`: Returns the **minimum** roughness value. - `MAX(n_value)`: Returns the **maximum** roughness value. - `AVG(n_value)`: Computes the **mean** roughness value. - `SUM(n_value)`: Returns the **sum** of all roughness values. - `COUNT(n_value)`: Counts the **total number of records**. - `variance`: Computes the **variance** of `n_value`. - `std_dev`: Computes the **standard deviation**. **Executing the Query in QGIS:** 1. Right-click the **grid** table and select **Execute SQL**. 2. Paste the SQL query into the query editor. 3. Click **Run** to execute the query and display the results. .. image:: ../img/shg/2/shg02_028.png .. hint:: Using SQL processing is a more efficient method for analyzing data in GeoPackages. Large grids (over 1 million cells) may experience performance issues when using QGIS table joins and table tools. SQL-based queries operate directly on the database without requiring additional memory allocation, making them significantly faster. **Quick Run** +++++++++++++++++++++ The **Quick Run** feature allows exporting data and running the model in a single step. .. image:: ../img/shg/2/shg02_030.png Create a new folder named **Quick Run** inside the **Lesson 1** directory and select it. .. image:: ../img/shg/2/shg02_031.png Uncheck **Rain** and click **OK** to initiate a **Quick Run** test. .. image:: ../img/shg/2/shg02_032.png If the model starts successfully, the **License Status** will be displayed, and the simulation will begin. .. image:: ../img/shg/2/shg02_033.png .. hint:: The **Quick Run** feature executes **FLOPRO.EXE** validation checks. If the model starts, the verification process has passed. For additional information on ASCII data files used by the **FLOPRO.EXE** engine, refer to the accompanying **YouTube tutorial**. Run Demo Engine --------------------- .. raw:: html .. Note:: The Self-Help Tutorial does not require a license. Use the Demo-Engine as shown in the video to take this tutorial with a demo version of the software. Backup and Recovery ----------------------- .. raw:: html