peckhams / topoflow36

TopoFlow is a component-based, spatial hydrologic model along with a large collection of utilities for data preparation, visualization and so on. Distributed as a Python package and version 3.6 has been updated to run in Python 3.*.
MIT License
25 stars 10 forks source link

A question of "infil_richards_1d" component #20

Open ynzys opened 1 month ago

ynzys commented 1 month ago

Hello,

I am using the TopoFlow program to simulate flood forecasting for a specific watershed. The simulation runs normally when soil infiltration is not considered.

I tried enabling the infil_richards_1d component, but I am not sure how to set its parameters. Therefore, I used the data from the existing template as follows:

===============================================================================

TopoFlow Config File for: Infil_Richards_1D

===============================================================================

Input

comp_status | Disabled | string | component status {Enabled; Disabled} n_steps | 10 | long | number of time steps n_layers | 3 | int | number of soil layers dt | 5.0 | float | timestep for infiltration process [sec] CHECK_STABILITY | 1 | int | option to skip stability checks for speed

===============================================================================

Layer 1

Ks_type[0] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} Ks_list[0] | 7.20e-06 | float | sat. hydraulic conductivity [m/s] Ki_type[0] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} Ki_list[0] | 9.85e-08 | float | init. hydraulic conductivity [m/s] (< K_sat) qs_type[0] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} qs_list[0] | 0.4850 | float | sat. soil water content [none] qi_type[0] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} qi_list[0] | 0.375808 | float | init. soil water content [none] (< theta_sat) qr_type[0] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} qr_list[0] | 0.2121 | float | residual soil water content [none] (< theta_sat) pB_type[0] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} pB_list[0] | -0.7860 | float | pressure head [m] pA_type[0] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} pA_list[0] | 0.0 | float | pressure head offset parameter [m] lam_type[0] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} lam_list[0] | 0.188679 | float | brooks-corey lambda parameter [m] c_type[0] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} c_list[0] | 1.0 | float | brooks-corey-smith c parameter [m] dz_val[0] | 0.005 | float | vertical spacing between nodes [m] nz_val[0] | 10 | int | number of vertical nodes [m] soil_type[0] | silt_loam | string | closest standard soil type {sand; loamy_sand; sandy_loam; silty_loam; loam; sandy_clay_loam; silty_clay_loam; clay_loam; sandy_clay; silty_clay; clay}

===============================================================================

Layer 2

Ks_type[1] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} Ks_list[1] | 6.95e-6 | float | sat. hydraulic conductivity [m/s] Ki_type[1] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} Ki_list[1] | 3.29e-08 | float | init. hydraulic conductivity [m/s] (< K_sat) qs_type[1] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} qs_list[1] | 0.451 | float | sat. soil water content [none] qi_type[1] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} qi_list[1] | 0.328764 | float | init. soil water content [none] (< theta_sat) qr_type[1] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} qr_list[1] | 0.1854 | float | residual soil water content [none] (< theta_sat) pB_type[1] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} pB_list[1] | -0.4780 | float | pressure head [m] pA_type[1] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} pA_list[1] | 0.0 | float | pressure head offset parameter [m] lam_type[1] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} lam_list[1] | 0.185529 | float | brooks-corey lambda parameter [m] c_type[1] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} c_list[1] | 1.0 | float | brooks-corey-smith c parameter [m] dz_val[1] | 0.01 | float | vertical spacing between nodes [m] nz_val[1] | 10 | int | number of vertical nodes [m] soil_type[1] | loam | string | closest standard soil type {sand; loamy_sand; sandy_loam; silty_loam; loam; sandy_clay_loam; silty_clay_loam; clay_loam; sandy_clay; silty_clay; clay}

===============================================================================

Layer 3

Ks_type[2] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} Ks_list[2] | 2.45e-06 | float | sat. hydraulic conductivity [m/s] Ki_type[2] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} Ki_list[2] | 3.11e-08 | float | init. hydraulic conductivity [m/s] (< K_sat) qs_type[2] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} qs_list[2] | 0.4760 | float | sat. soil water content [none] qi_type[2] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} qi_list[2] | 0.4128 | float | init. soil water content [none] (< theta_sat) qr_type[2] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} qr_list[2] | 0.3090 | float | residual soil water content [none] (< theta_sat) pB_type[2] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} pB_list[2] | -0.6300 | float | pressure head [m] pA_type[2] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} pA_list[2] | 0.0 | float | pressure head offset parameter [m] lam_type[2] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} lam_list[2] | 0.117371 | float | brooks-corey lambda parameter [m] c_type[2] | Scalar | string | allowed input types {Scalar; Grid; Time_Series; Grid_Sequence} c_list[2] | 1.0 | float | brooks-corey-smith c parameter [m] dz_val[2] | 0.015 | float | vertical spacing between nodes [m] nz_val[2] | 10 | int | number of vertical nodes [m] soil_type[2] | clay_loam | string | closest standard soil type {sand; loamy_sand; sandy_loam; silty_loam; loam; sandy_clay_loam; silty_clay_loam; clay_loam; sandy_clay; silty_clay; clay}

===============================================================================

Output

save_grid_dt | {{save_grid_dt}} | float | time interval between saved grids [sec] SAVE_V0_GRIDS | No | string | option to save grids of infil. rate (at surf) {Yes; No} v0_gs_file | [case_prefix]_2D-v0.nc | string | filename for grid stack of v0 [m/s] SAVE_Q0_GRIDS | No | string | option to save grids of water content (at surf) {Yes; No} q0_gs_file | [case_prefix]_2D-q0.nc | string | filename for grid stack of q0 [1] SAVE_I_GRIDS | No | string | option to save grids of cumul. infil. depth {Yes; No} I_gs_file | [case_prefix]_2D-Zw.nc | string | filename for grid stack of I [m] SAVE_ZW_GRIDS | No | string | option to save grids of wetting front depth {Yes; No} Zw_gs_file | [case_prefix]_2D-Zw.nc | string | filename for grid stack of Zw [m] save_pixels_dt | {{save_pixels_dt}} | float | time interval between time series values [sec] pixel_file | [case_prefix]_outlets.txt | string | filename for monitored pixel info SAVE_V0_PIXELS | No | string | option to save time series of infil. rate (at surf) {Yes; No} v0_ts_file | [case_prefix]_0D-v0.nc | string | filename for time series of v0 [m/s] SAVE_Q0_PIXELS | No | string | option to save time series of water content (at surf) {Yes; No} q0_ts_file | [case_prefix]_0D-q0.nc | string | filename for time series of q0 [1] SAVE_I_PIXELS | No | string | option to save time series of cumul. infil. depth {Yes; No} I_ts_file | [case_prefix]_0D-I.nc | string | filename for time series of I [m] SAVE_ZW_PIXELS | No | string | option to save time series of wetting front depth {Yes; No} Zw_ts_file | [case_prefix]_0D-Zw.nc | string | filename for time series of Zw [m] save_profile_dt | 60.0 | float | time interval between z-profile series values [sec] SAVE_Q_PROFILES | No | string | option to save z-profile series of water content (at surf) {Yes; No} q_ps_file | [case_prefix]_1D-q.nc | string | filename for z-profile series of q [1] SAVE_P_PROFILES | No | string | option to save z-profile series of pressure head {Yes; No} p_ps_file | [case_prefix]_1D-p.nc | string | filename for z-profile series of p [m] SAVE_K_PROFILES | No | string | option to save z-profile series of hydraulic conductivity {Yes; No} K_ps_file | [case_prefix]_1D-K.nc | string | filename for z-profile series of K [m/s] SAVE_V_PROFILES | No | string | option to save z-profile series of infil. rate {Yes; No} v_ps_file | [case_prefix]_1D-v.nc | string | filename for z-profile series of v [m/s] save_cube_dt | 60.0 | float | time interval between saved cubes [sec] SAVE_Q_CUBES | No | string | option to save cube stack of water content {Yes; No} q_cs_file | [case_prefix]_3D-q.nc | string | filename for cube stack of q [1] SAVE_P_CUBES | No | string | option to save cube stack of pressure head {Yes; No} p_cs_file | [case_prefix]_3D-p.nc | string | filename for cube stack of p [m] SAVE_K_CUBES | No | string | option to save cube stack of hydraulic conductivity {Yes; No} K_cs_file | [case_prefix]_3D-K.nc | string | filename for cube stack of K [m/s] SAVE_V_CUBES | No | string | option to save cube stack of infil. rate {Yes; No} v_cs_file | [case_prefix]_3D-v.nc | string | filename for cube stack of v [m/s]

I used the Baro-Gam_60sec watershed for the model, and it runs normally, but the speed becomes very slow.

Additionally, when I used other watersheds, such as a watershed in Zhengzhou, China, with the same parameter configuration file, the program experienced data overflow and could not run.

The documentation does not mention how to generate this file's parameters. Do you have a detailed tutorial? Thank you.