|
Soil Water Balance (SWB2)
|
Functions/Subroutines | |
| subroutine, public | runoff_curve_number_initialize (cell_is_active) |
| elemental real(c_float) function | prob_runoff_enhancement (fcfgi, fcfgi_ul, fcfgi_ll) |
| subroutine, public | update_previous_5_day_rainfall (infil, indx) |
| elemental real(c_float) function, public | update_curve_number_fn (ilanduseindex, isoilsindex, cell_index, it_is_growing_season, fsoilstorage_max, fcfgi, fcfgi_ll, fcfgi_ul) |
| elemental real(c_float) function | cn_ii_to_cn_iii (cn_ii) |
| elemental real(c_float) function | cn_ii_to_cn_i (cn_ii) |
| elemental subroutine, public | runoff_curve_number_calculate (runoff, curve_num_adj, cell_index, landuse_index, soil_group, it_is_growing_season, inflow, soil_storage_max, continuous_frozen_ground_index, cfgi_lower_limit, cfgi_upper_limit) |
| Calculate the runoff by means of the curve number method. | |
Variables | |
| real(c_float), dimension(:,:), allocatable, public | cn_arciii |
| real(c_float), dimension(:,:), allocatable, public | cn_arcii |
| real(c_float), dimension(:,:), allocatable, public | cn_arci |
| real(c_float), dimension(:,:), allocatable, public | prev_5_days_rain |
| integer(c_int), dimension(:), allocatable | ilandusecodes |
| integer(c_int) | daycount |
| integer(c_int), parameter, public | five_day_sum = 6 |
| real(c_float), parameter | amc_dry_growing = 1.40_c_float |
| real(c_float), parameter | amc_dry_dormant = 0.50_c_float |
| real(c_float), parameter | amc_wet_growing = 2.10_c_float |
| real(c_float), parameter | amc_wet_dormant = 1.10_c_float |
| type(datetime_t) | date_last_updated |
|
private |
Definition at line 257 of file runoff__curve_number.F90.
|
private |
Definition at line 243 of file runoff__curve_number.F90.
|
private |
Definition at line 115 of file runoff__curve_number.F90.
| elemental subroutine, public runoff__curve_number::runoff_curve_number_calculate | ( | real (c_float), intent(inout) | runoff, |
| real (c_float), intent(inout) | curve_num_adj, | ||
| integer (c_int), intent(in) | cell_index, | ||
| integer (c_int), intent(in) | landuse_index, | ||
| integer (c_int), intent(in) | soil_group, | ||
| logical (c_bool), intent(in) | it_is_growing_season, | ||
| real (c_float), intent(in) | inflow, | ||
| real (c_float), intent(in) | soil_storage_max, | ||
| real (c_float), intent(in) | continuous_frozen_ground_index, | ||
| real (c_float), intent(in) | cfgi_lower_limit, | ||
| real (c_float), intent(in) | cfgi_upper_limit ) |
Calculate the runoff by means of the curve number method.
Runoff is calculated using a modification of the curve number method. Specifically, the initial abstraction is defined as 0.05 * SMax rather than the standard 0.20 * SMax of the original method. This redefinition of the initial abstraction term was found to be more appropriate for long-term continuous simulations than the standard 0.2 * SMax of the original.
| [in] | iLanduseIndex | Pre-configured index number corresponding to a line in the landuse lookup table. |
| [in] | iSoilsGroup | The numerical index associated with the soils group of interest. |
| [in] | fInflow | The sum of net rainfall, snowmelt, and runon from upslope cells (and possibly irrigation). |
| [in] | fCFGI | The current value of the continuous frozen-ground index. |
| [in] | lIsGrowingSeason | Logical value indicating whether dormant season or growing season criteria values are to be used when calculating runoff. |
| fRunoff | Daily runoff calculated by means of the SCS Curve Number method. |
Definition at line 290 of file runoff__curve_number.F90.

| subroutine, public runoff__curve_number::runoff_curve_number_initialize | ( | logical (c_bool), dimension(:,:), intent(in) | cell_is_active | ) |
Determine how many soil groups are present
Determine how many landuse codes are present
Definition at line 40 of file runoff__curve_number.F90.

| elemental real (c_float) function, public runoff__curve_number::update_curve_number_fn | ( | integer (c_int), intent(in) | ilanduseindex, |
| integer (c_int), intent(in) | isoilsindex, | ||
| integer (c_int), intent(in) | cell_index, | ||
| logical (c_bool), intent(in) | it_is_growing_season, | ||
| real (c_float), intent(in) | fsoilstorage_max, | ||
| real (c_float), intent(in) | fcfgi, | ||
| real (c_float), intent(in) | fcfgi_ll, | ||
| real (c_float), intent(in) | fcfgi_ul ) |
| subroutine, public runoff__curve_number::update_previous_5_day_rainfall | ( | real (c_float), intent(in) | infil, |
| integer (c_int), intent(in) | indx ) |
Definition at line 135 of file runoff__curve_number.F90.
|
private |
Definition at line 32 of file runoff__curve_number.F90.
|
private |
Definition at line 31 of file runoff__curve_number.F90.
|
private |
Definition at line 34 of file runoff__curve_number.F90.
|
private |
Definition at line 33 of file runoff__curve_number.F90.
| real (c_float), dimension(:,:), allocatable, public runoff__curve_number::cn_arci |
Definition at line 17 of file runoff__curve_number.F90.
| real (c_float), dimension(:,:), allocatable, public runoff__curve_number::cn_arcii |
Definition at line 16 of file runoff__curve_number.F90.
| real (c_float), dimension(:,:), allocatable, public runoff__curve_number::cn_arciii |
Definition at line 15 of file runoff__curve_number.F90.
|
private |
Definition at line 36 of file runoff__curve_number.F90.
|
private |
Definition at line 20 of file runoff__curve_number.F90.
| integer (c_int), parameter, public runoff__curve_number::five_day_sum = 6 |
Definition at line 21 of file runoff__curve_number.F90.
|
private |
Definition at line 19 of file runoff__curve_number.F90.
| real (c_float), dimension(:,:), allocatable, public runoff__curve_number::prev_5_days_rain |
Definition at line 18 of file runoff__curve_number.F90.