Soil Water Balance (SWB2)
Loading...
Searching...
No Matches
irrigation Module Reference

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

Detailed Description

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.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
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.

Function/Subroutine Documentation

◆ irrigation__calculate()

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 )

Definition at line 456 of file irrigation.F90.

Here is the call graph for this function:

◆ irrigation__initialize()

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.

Parameters
[in,out]pGrdPointer to the model grid object
[in]pConfigPointer 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.

Here is the call graph for this function:

◆ irrigation__output_schedule_values()

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.

Variable Documentation

◆ app_option_name

character (len=35), dimension(0:4), parameter irrigation::app_option_name = [ "Apply nothing ", "Apply to field capacity ", "Apply to specified deficit fraction", "Apply constant amount ", "Apply proportional to (PE + RO - R)" ]
private

Definition at line 33 of file irrigation.F90.

◆ application_amount

real (c_float), dimension(:), allocatable irrigation::application_amount
private

Definition at line 51 of file irrigation.F90.

◆ application_method_code

integer (c_int), dimension(:), allocatable irrigation::application_method_code
private

Definition at line 49 of file irrigation.F90.

◆ first_day_of_irrigation

integer (c_int), dimension(:), allocatable irrigation::first_day_of_irrigation
private

Definition at line 47 of file irrigation.F90.

◆ fraction_of_irrigation_from_gw

real (c_float), dimension(:), allocatable irrigation::fraction_of_irrigation_from_gw
private

Definition at line 44 of file irrigation.F90.

◆ irrigation_efficiency

real (c_float), dimension(:), allocatable irrigation::irrigation_efficiency
private

Definition at line 45 of file irrigation.F90.

◆ irrigation_from_groundwater

real (c_float), dimension(:), allocatable irrigation::irrigation_from_groundwater
private

Definition at line 41 of file irrigation.F90.

◆ irrigation_from_surface_water

real (c_float), dimension(:), allocatable irrigation::irrigation_from_surface_water
private

Definition at line 42 of file irrigation.F90.

◆ last_day_of_irrigation

integer (c_int), dimension(:), allocatable irrigation::last_day_of_irrigation
private

Definition at line 48 of file irrigation.F90.

◆ maximum_allowable_depletion_fraction

real (c_float), dimension(:), allocatable irrigation::maximum_allowable_depletion_fraction
private

Definition at line 40 of file irrigation.F90.

◆ monthly_irrigation_schedule

integer (c_short), dimension(:,:), allocatable irrigation::monthly_irrigation_schedule
private

Definition at line 50 of file irrigation.F90.

◆ num_days_of_irrigation

integer (c_int), dimension(:), allocatable irrigation::num_days_of_irrigation
private

Definition at line 46 of file irrigation.F90.

◆ pirrigation_mask

type (data_catalog_entry_t), pointer irrigation::pirrigation_mask
private

Definition at line 53 of file irrigation.F90.