water_allocation_module Module

routines for hydrograph module


Uses

  • module~~water_allocation_module~~UsesGraph module~water_allocation_module water_allocation_module module~hydrograph_module hydrograph_module module~water_allocation_module->module~hydrograph_module module~basin_module basin_module module~hydrograph_module->module~basin_module module~time_module time_module module~hydrograph_module->module~time_module

Used by

  • module~~water_allocation_module~~UsedByGraph module~water_allocation_module water_allocation_module proc~actions actions proc~actions->module~water_allocation_module proc~conditions conditions proc~conditions->module~water_allocation_module proc~cs_divert cs_divert proc~cs_divert->module~water_allocation_module proc~cs_irrig cs_irrig proc~cs_irrig->module~water_allocation_module proc~header_water_allocation header_water_allocation proc~header_water_allocation->module~water_allocation_module proc~res_hydro res_hydro proc~res_hydro->module~water_allocation_module proc~res_weir_release res_weir_release proc~res_weir_release->module~water_allocation_module proc~salt_irrig salt_irrig proc~salt_irrig->module~water_allocation_module proc~sd_channel_control3 sd_channel_control3 proc~sd_channel_control3->module~water_allocation_module proc~treat_read_om treat_read_om proc~treat_read_om->module~water_allocation_module proc~wallo_control wallo_control proc~wallo_control->module~water_allocation_module proc~wallo_demand wallo_demand proc~wallo_demand->module~water_allocation_module proc~wallo_transfer wallo_transfer proc~wallo_transfer->module~water_allocation_module proc~wallo_treatment wallo_treatment proc~wallo_treatment->module~water_allocation_module proc~wallo_withdraw wallo_withdraw proc~wallo_withdraw->module~water_allocation_module proc~water_allocation_output water_allocation_output proc~water_allocation_output->module~water_allocation_module proc~water_allocation_read water_allocation_read proc~water_allocation_read->module~water_allocation_module

Variables

Type Visibility Attributes Name Initial
real, public :: trans_m3 = 0.
real, public :: dmd_m3 = 0.
character(len=16), public, dimension(:), allocatable :: trt_om_name
real, public, dimension (:), allocatable :: div_volume_daily
real, public, dimension (:), allocatable :: div_volume_total
real, public, dimension (:), allocatable :: div_volume_used
real, public :: div_delay = 0.
type(source_output), public :: walloz
type(water_allocation), public, dimension(:), allocatable :: wallo
type(water_allocation_output), public, dimension(:), allocatable :: wallod_out
type(water_allocation_output), public, dimension(:), allocatable :: wallom_out
type(water_allocation_output), public, dimension(:), allocatable :: walloy_out
type(water_allocation_output), public, dimension(:), allocatable :: walloa_out
type(wallo_header), public :: wallo_hdr
type(wallo_header_units), public :: wallo_hdr_units

Interfaces

public interface operator (+)

public interface operator (/)

  • public function wallo_div_const(wallo1, const) result(wallo2)

    Arguments

    Type IntentOptional Attributes Name
    type(source_output), intent(in) :: wallo1
    real, intent(in) :: const

    Return Value type(source_output)


Derived Types

type, public ::  water_source_objects

Components

Type Visibility Attributes Name Initial
integer, public :: num = 0
character(len=3), public :: ob_typ = ""
integer, public :: ob_num = 0
real, public, dimension (12) :: limit_mon = 0.
character(len=25), public :: div_rec = ""
integer, public :: rec_num = 0
real, public :: div_vol = 0.

type, public ::  water_demand_sources

Components

Type Visibility Attributes Name Initial
integer, public :: src = 0
real, public :: frac = 0.
character(len=1), public :: comp = ""

type, public ::  water_demand_source_objects

Components

Type Visibility Attributes Name Initial
character(len=10), public :: ob_typ = ""
integer, public :: ob_num = 0

type, public ::  water_demand_objects

Components

Type Visibility Attributes Name Initial
integer, public :: num = 0
character(len=10), public :: ob_typ = ""
integer, public :: ob_num = 0
character(len=25), public :: withdr = ""
real, public :: amount = 0.
character(len=2), public :: right = ""
character(len=25), public :: treat_typ = ""
character(len=25), public :: treatment = ""
character(len=10), public :: rcv_ob = ""
integer, public :: rcv_num = 0
character(len=10), public :: rcv_dtl = ""
integer, public :: rec_num = 0
integer, public :: trt_num = 0
integer, public :: dmd_src_obs = 0
real, public :: unmet_m3 = 0.
real, public :: withdr_tot = 0.
real, public :: irr_eff = 0.
real, public :: surq = 0.
type(hyd_output), public :: hd
type(hyd_output), public :: trt
type(water_demand_sources), public, dimension(:), allocatable :: src
type(water_demand_source_objects), public, dimension(:), allocatable :: src_ob

type, public ::  source_output

Components

Type Visibility Attributes Name Initial
real, public :: demand = 0.
real, public :: withdr = 0.
real, public :: unmet = 0.

type, public ::  water_allocation

Components

Type Visibility Attributes Name Initial
character(len=25), public :: name = ""
character(len=25), public :: rule_typ = ""
integer, public :: src_obs = 0
integer, public :: dmd_obs = 0
character(len=1), public :: cha_ob = ""
integer, public :: cha = 0
type(source_output), public :: tot
type(water_source_objects), public, dimension(:), allocatable :: src
type(water_demand_objects), public, dimension(:), allocatable :: dmd

type, public ::  demand_object_output

Components

Type Visibility Attributes Name Initial
real, public :: dmd_tot = 0.
type(source_output), public, dimension(:), allocatable :: src

type, public ::  water_allocation_output

Components

Type Visibility Attributes Name Initial
type(demand_object_output), public, dimension(:), allocatable :: dmd

type, public ::  wallo_header

Components

Type Visibility Attributes Name Initial
character(len=6), public :: day = "  jday"
character(len=6), public :: mo = " mon"
character(len=6), public :: day_mo = " day "
character(len=6), public :: yrc = " yr  "
character(len=8), public :: idmd = " unit   "
character(len=16), public :: dmd_typ = "dmd_typ         "
character(len=16), public :: dmd_num = "    dmd_num     "
character(len=16), public :: rcv_typ = "drcv_typ         "
character(len=16), public :: rcv_num = "    rcv_num     "
character(len=12), public :: src1_obj = "   src1_obj "
character(len=12), public :: src1_typ = " src1_typ   "
character(len=12), public :: src1_num = " src1_num   "
character(len=15), public :: dmd1 = "   demand     "

ha-m |demand - muni or irrigation

character(len=15), public :: s1out = "src1_withdraw  "

ha-m |withdrawal from source 1

character(len=12), public :: s1un = "  src1_unmet"

ha-m |unmet from source 1

character(len=12), public :: src2_typ = " src2_typ   "
character(len=12), public :: src2_num = " src2_num   "
character(len=15), public :: dmd2 = "   demand     "

ha-m |demand - muni or irrigation

character(len=15), public :: s2out = "src2_withdraw  "

ha-m |withdrawal from source 2

character(len=12), public :: s2un = "  src2_unmet"

ha-m |unmet from source 2

character(len=12), public :: src3_typ = " src3_typ   "
character(len=12), public :: src3_num = " src3_num   "
character(len=15), public :: dmd3 = "   demand     "

ha-m |demand - muni or irrigation

character(len=15), public :: s3out = "src3_withdraw  "

ha-m |withdrawal from source 3

character(len=12), public :: s3un = "  src3_unmet"

ha-m |unmet from source 3

type, public ::  wallo_header_units

Components

Type Visibility Attributes Name Initial
character(len=8), public :: day = "       "
character(len=8), public :: mo = "       "
character(len=8), public :: day_mo = "       "
character(len=8), public :: yrc = "       "
character(len=8), public :: idmd = "       "
character(len=16), public :: dmd_typ = "                "
character(len=16), public :: dmd_num = "                "
character(len=16), public :: rcv_typ = "                "
character(len=16), public :: rcv_num = "                "
character(len=12), public :: src1_obj = "            "
character(len=12), public :: src1_typ = "            "
character(len=8), public :: src1_num = "        "
character(len=15), public :: dmd1 = "m^3            "

ha-m |demand - muni or irrigation

character(len=15), public :: s1out = "m^3            "

ha-m |withdrawal from source 1

character(len=9), public :: s1un = "m^3      "

ha-m |unmet from source 1

character(len=15), public :: src2_typ = "               "
character(len=15), public :: src2_num = "               "
character(len=15), public :: dmd2 = "m^3            "

ha-m |demand - muni or irrigation

character(len=15), public :: s2out = "m^3            "

ha-m |withdrawal from source 2

character(len=10), public :: s2un = "m^3            "

ha-m |unmet from source 2

character(len=15), public :: src3_typ = "               "
character(len=15), public :: src3_num = "               "
character(len=15), public :: dmd3 = "m^3            "

ha-m |demand - muni or irrigation

character(len=15), public :: s3out = "m^3            "

ha-m |withdrawal from source 3

character(len=10), public :: s3un = "m^3            "

ha-m |unmet from source 3


Functions

public function wallout_add(wallo1, wallo2) result(wallo3)

Arguments

Type IntentOptional Attributes Name
type(source_output), intent(in) :: wallo1
type(source_output), intent(in) :: wallo2

Return Value type(source_output)

public function wallo_div_const(wallo1, const) result(wallo2)

Arguments

Type IntentOptional Attributes Name
type(source_output), intent(in) :: wallo1
real, intent(in) :: const

Return Value type(source_output)