|
subroutine, public | runoff_curve_number_initialize (cell_is_active) |
elemental integer(c_int) function | return_landuse_index_fn (ilandusecode) |
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.
|
|
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 |
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.
- Parameters
-
[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. |
- Return values
-
fRunoff | Daily runoff calculated by means of the SCS Curve Number method. |
- Note
- Reference: Woodward, D. E., R. H. Hawkins, R. Jiang, A. Hjelmfeldt Jr, J. Van Mullem, and Q. D. Quan. "Runoff Curve Number Method: Examination of the Initial Abstraction Ratio." In Conference Proceeding Paper, World Water and Environmental Resources Congress, 2003.
Definition at line 381 of file runoff__curve_number.F90.