surface Subroutine

subroutine surface()

Uses

  • proc~~surface~~UsesGraph proc~surface surface module~basin_module basin_module proc~surface->module~basin_module module~hru_module hru_module proc~surface->module~hru_module module~hydrograph_module hydrograph_module proc~surface->module~hydrograph_module module~output_landscape_module output_landscape_module proc~surface->module~output_landscape_module module~soil_module soil_module proc~surface->module~soil_module module~time_module time_module proc~surface->module~time_module module~urban_data_module urban_data_module proc~surface->module~urban_data_module module~hydrograph_module->module~basin_module module~hydrograph_module->module~time_module
~ ~ ~ PURPOSE ~ ~ ~
this subroutine models surface hydrology at any desired time step

~ ~ ~ INCOMING VARIABLES ~ ~ ~
name        |units         |definition
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
ovrlnd(:)   |mm H2O        |overland flow onto HRU from upstream
                           |routing unit
qp_cms      |m3/sec        |peak runoff rate
surfq(:)    |mm H2O        |surface runoff generated in HRU during
                           |the day
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ ~ ~ SUBROUTINES/FUNCTIONS CALLED ~ ~ ~
Intrinsic: Max
SWAT: canopyint, snom, crackvol, dailycn, volq, crackflow, surfst_h2o,
SWAT: alph, pkq, tran, eiusle, ysed

~ ~ ~ ~ ~ ~ END SPECIFICATIONS ~ ~ ~ ~ ~ ~

calculate subdaily curve number value compute runoff - surfq in mm H2O adjust runoff for loss into crack volume add irrigation runoff and surface runon runoff calculate amount of surface runoff reaching main channel during day (qday) and store the remainder

compute peak rate - qp_cms in m3/s
calculate sediment erosion by rainfall and overland flow

Arguments

None

Calls

proc~~surface~~CallsGraph proc~surface surface ero_cfactor ero_cfactor proc~surface->ero_cfactor ero_eiusle ero_eiusle proc~surface->ero_eiusle ero_ovrsed ero_ovrsed proc~surface->ero_ovrsed ero_pkq ero_pkq proc~surface->ero_pkq ero_ysed ero_ysed proc~surface->ero_ysed sq_crackflow sq_crackflow proc~surface->sq_crackflow sq_dailycn sq_dailycn proc~surface->sq_dailycn sq_volq sq_volq proc~surface->sq_volq