Soil Water Balance (SWB2)
|
Provides support for assessing the effect of irrigation on recharge values by estimating the irrigation required to maintain soil moisture levels for specific crop types. More...
Enumerations | |
enum | { app_none =0 , app_field_capacity , app_defined_deficit , app_constant_amount , app_hwb_demand_based } |
Functions/Subroutines | |
subroutine, public | irrigation__initialize (is_active) |
Estimate the irrigation water required to sustain plant growth. | |
integer(c_int) function, dimension(31), public | irrigation__output_schedule_values (landuse_index) |
impure elemental subroutine, public | irrigation__calculate (irrigation_amount, landuse_index, soil_storage, soil_storage_max, total_available_water, rainfall, runoff, crop_etc, irrigation_mask, num_days_since_planting, monthly_rainfall, monthly_runoff) |
Variables | |
character(len=35), dimension(0:4), parameter | app_option_name = [ "Apply nothing ", "Apply to field capacity ", "Apply to specified deficit fraction", "Apply constant amount ", "Apply proportional to (PE + RO - R)" ] |
real(c_float), dimension(:), allocatable | maximum_allowable_depletion_fraction |
real(c_float), dimension(:), allocatable | irrigation_from_groundwater |
real(c_float), dimension(:), allocatable | irrigation_from_surface_water |
real(c_float), dimension(:), allocatable | fraction_of_irrigation_from_gw |
real(c_float), dimension(:), allocatable | irrigation_efficiency |
integer(c_int), dimension(:), allocatable | num_days_of_irrigation |
integer(c_int), dimension(:), allocatable | first_day_of_irrigation |
integer(c_int), dimension(:), allocatable | last_day_of_irrigation |
integer(c_int), dimension(:), allocatable | application_method_code |
integer(c_short), dimension(:,:), allocatable | monthly_irrigation_schedule |
real(c_float), dimension(:), allocatable | application_amount |
type(data_catalog_entry_t), pointer | pirrigation_mask |
Provides support for assessing the effect of irrigation on recharge values by estimating the irrigation required to maintain soil moisture levels for specific crop types.
|
private |
Enumerator | |
---|---|
app_none | |
app_field_capacity | |
app_defined_deficit | |
app_constant_amount | |
app_hwb_demand_based |
Definition at line 28 of file irrigation.F90.
impure elemental subroutine, public irrigation::irrigation__calculate | ( | real (c_float), intent(inout) | irrigation_amount, |
integer (c_int), intent(in) | landuse_index, | ||
real (c_double), intent(in) | soil_storage, | ||
real (c_float), intent(in) | soil_storage_max, | ||
real (c_double), intent(in) | total_available_water, | ||
real (c_float), intent(in) | rainfall, | ||
real (c_float), intent(in) | runoff, | ||
real (c_float), intent(in) | crop_etc, | ||
real (c_float), intent(in) | irrigation_mask, | ||
integer (c_int), intent(in) | num_days_since_planting, | ||
real (c_float), intent(in), optional | monthly_rainfall, | ||
real (c_float), intent(in), optional | monthly_runoff ) |
subroutine, public irrigation::irrigation__initialize | ( | logical (c_bool), dimension(:,:), intent(in) | is_active | ) |
Estimate the irrigation water required to sustain plant growth.
Estimate the irrigation water required in order to keep soil moisture values above the maximum allowable depletion (MAD) for each gridcell.
[in,out] | pGrd | Pointer to the model grid object |
[in] | pConfig | Pointer to the configuration data structure (type T_CONFIG). |
determine how many landuse codes are present
determine how many landuse codes are present
retrieve list of fraction of irrigation from groundwater
retrieve maximum allowable depletion
retrieve length (in days since planting) of irrigation
retrieve first day of irrigation
retrieve last day of irrigation
retrieve irrigation efficiency
check: number of irrigation efficiency values == number of landuse codes?
process first day of irrigation. retrieved as a list of strings; must convert the strings from mm/dd to DOY
check: number of irrigation_start values == number of landuse codes?
process last day of irrigation. retrieved as a list of strings; must convert the strings from mm/dd to DOY
check: number of irrigation_end values == number of landuse codes?
process number of days of irrigation. retrieved as a list of strings
check: number of 'Irrigation_length' values == number of landuse codes?
retrieve application option (i.e. to field capacity, to defined deficit amount, as constant amount)
retrieve application amount. not used if "field capacity" option is active. value represents deficit fraction or constant amount depending on application option active.
basic checks to see whether the number of parameters equals the number of lu codes
Definition at line 67 of file irrigation.F90.
integer (c_int) function, dimension(31), public irrigation::irrigation__output_schedule_values | ( | integer (c_int), intent(in) | landuse_index | ) |
Definition at line 445 of file irrigation.F90.
|
private |
Definition at line 33 of file irrigation.F90.
|
private |
Definition at line 51 of file irrigation.F90.
|
private |
Definition at line 49 of file irrigation.F90.
|
private |
Definition at line 47 of file irrigation.F90.
|
private |
Definition at line 44 of file irrigation.F90.
|
private |
Definition at line 45 of file irrigation.F90.
|
private |
Definition at line 41 of file irrigation.F90.
|
private |
Definition at line 42 of file irrigation.F90.
|
private |
Definition at line 48 of file irrigation.F90.
|
private |
Definition at line 40 of file irrigation.F90.
|
private |
Definition at line 50 of file irrigation.F90.
|
private |
Definition at line 46 of file irrigation.F90.
|
private |
Definition at line 53 of file irrigation.F90.