hru_control Subroutine

subroutine hru_control()

Uses

~ ~ ~ PURPOSE ~ ~ ~
this subroutine controls the simulation of the land phase of the 
hydrologic cycle

adjust precip and temperature for elevation using lapse rates zero pesticide balance variables zero all variables except pest in soil and in/on plant ht1== deposition: write to deposition.out ht2== outflow from inflow: added to hru generated flows check auto operations check day of future fertilizer application if end of year, reset the one time operation per year increment days since last plant and harvest update base zero total heat units zero stresses calculate albedo for day calculate soil temperature for soil layers compute canopy interception compute snow melt route overland flow across hru - add tile flow if not subirrigation or saturated buffer route incoming surface runoff add surface runon to wetland route across hru - infiltrate and deposit sediment add lateral flow soil water Route incoming lateral soil flow add tile flow to tile (subirrigation and saturated buffer) add aquifer flow to bottom soil layer and redistribute upwards Route incoming aquifer flow compute crack volume compute evapotranspiration perform management operations compute surface runoff processes if wetland - no runoff or sediment yield - all constituents transported in surface runoff and sediment will be zero ht2%sed==sediment routed across hru from surface runon check wetland/paddy continuous irrigation Jaehak 2023 manual irrigation on if ponding depth is lower than the threshold depth wetland/paddy processes compute effective rainfall (amount that percs into soil) for wetland use seepage into soil from ponded water no wetland (no ponded water) add irrigation to subdaily effective precip perform soil water routing compute peak rate similar to swat-deg using SCS triangular unit hydrograph

graze only if adequate biomass in HRU if total above ground biomass is available - graze check to set if grazing period is over compute nitrogen and phosphorus mineralization compute biozone processes in septic HRUs if 1) current is septic hru and 2) soil temperature is above zero compute plant community partitions check irrigation demand decision table for water allocation (after adding irrigation) iauto points to pcom(j)%dtbl(iauto) for days between operation check monsoon season for tropical plants compute plant biomass, leaf, root and seed growth reset harvested biomass and number of harvests for yearly yield output compute total parms for all plants in the community compute aoil water content to 300 mm depth compute total surface residue compute actual ET for day in HRU compute pesticide washoff
compute pesticide uptake compute pesticide degradation compute pesticide movement in soil sum total pesticide in soil Add by zhang ==================== Add by zhang ====================

add nitrate in rainfall to soil profile compute nitrate movement leaching compute phosphorus movement compute pathogen transport compute loadings from urban areas compute sediment loading in lateral flow and add to sedyld lag nutrients and sediment in surface runoff lag subsurface flow and nitrate in subsurface flow compute reduction in pollutants due to edge-of-field filter strip compute reduction in pollutants due to in field grass waterway compute reduction in pollutants due to in fixed BMP eff ht2%flo is outflow from wetland or total saturation excess if no wetland mm = m3/ha ha/10000m2 1000mm/m calculate amount of surface runoff during day (qday) and store the remainder compute water yield for HRU compute chl-a, CBOD and dissolved oxygen loadings add evap from impounded water (wetland) to et and esoil set hydrographs for direct routing or landscape unit

Arguments

None

Calls

proc~~hru_control~~CallsGraph proc~hru_control hru_control actions actions proc~hru_control->actions albedo albedo proc~hru_control->albedo cbn_zhang2 cbn_zhang2 proc~hru_control->cbn_zhang2 conditions conditions proc~hru_control->conditions cs_lch cs_lch proc~hru_control->cs_lch cs_rain cs_rain proc~hru_control->cs_rain cs_rctn_hru cs_rctn_hru proc~hru_control->cs_rctn_hru cs_sorb_hru cs_sorb_hru proc~hru_control->cs_sorb_hru et_act et_act proc~hru_control->et_act et_pot et_pot proc~hru_control->et_pot hru_hyds hru_hyds proc~hru_control->hru_hyds hru_urb_bmp hru_urb_bmp proc~hru_control->hru_urb_bmp hru_urban hru_urban proc~hru_control->hru_urban hru_urbanhr hru_urbanhr proc~hru_control->hru_urbanhr mgt_operatn mgt_operatn proc~hru_control->mgt_operatn nut_nitvol nut_nitvol proc~hru_control->nut_nitvol nut_nlch nut_nlch proc~hru_control->nut_nlch nut_nminrl nut_nminrl proc~hru_control->nut_nminrl nut_nrain nut_nrain proc~hru_control->nut_nrain nut_orgn nut_orgn proc~hru_control->nut_orgn nut_orgnc nut_orgnc proc~hru_control->nut_orgnc nut_orgnc2 nut_orgnc2 proc~hru_control->nut_orgnc2 nut_pminrl nut_pminrl proc~hru_control->nut_pminrl nut_pminrl2 nut_pminrl2 proc~hru_control->nut_pminrl2 nut_psed nut_psed proc~hru_control->nut_psed nut_solp nut_solp proc~hru_control->nut_solp path_ls_process path_ls_process proc~hru_control->path_ls_process path_ls_runoff path_ls_runoff proc~hru_control->path_ls_runoff path_ls_swrouting path_ls_swrouting proc~hru_control->path_ls_swrouting pest_decay pest_decay proc~hru_control->pest_decay pest_enrsb pest_enrsb proc~hru_control->pest_enrsb pest_lch pest_lch proc~hru_control->pest_lch pest_pesty pest_pesty proc~hru_control->pest_pesty pest_pl_up pest_pl_up proc~hru_control->pest_pl_up pest_soil_tot pest_soil_tot proc~hru_control->pest_soil_tot pest_washp pest_washp proc~hru_control->pest_washp pl_community pl_community proc~hru_control->pl_community pl_fert pl_fert proc~hru_control->pl_fert pl_graze pl_graze proc~hru_control->pl_graze pl_grow pl_grow proc~hru_control->pl_grow rls_routeaqu rls_routeaqu proc~hru_control->rls_routeaqu rls_routesoil rls_routesoil proc~hru_control->rls_routesoil rls_routesurf rls_routesurf proc~hru_control->rls_routesurf rls_routetile rls_routetile proc~hru_control->rls_routetile salt_chem_hru salt_chem_hru proc~hru_control->salt_chem_hru salt_lch salt_lch proc~hru_control->salt_lch salt_rain salt_rain proc~hru_control->salt_rain salt_roadsalt salt_roadsalt proc~hru_control->salt_roadsalt sep_biozone sep_biozone proc~hru_control->sep_biozone smp_bmpfixed smp_bmpfixed proc~hru_control->smp_bmpfixed smp_buffer smp_buffer proc~hru_control->smp_buffer smp_filter smp_filter proc~hru_control->smp_filter smp_grass_wway smp_grass_wway proc~hru_control->smp_grass_wway sq_canopyint sq_canopyint proc~hru_control->sq_canopyint sq_crackvol sq_crackvol proc~hru_control->sq_crackvol sq_snom sq_snom proc~hru_control->sq_snom sq_surfst sq_surfst proc~hru_control->sq_surfst stmp_solt stmp_solt proc~hru_control->stmp_solt stor_surfstor stor_surfstor proc~hru_control->stor_surfstor surface surface proc~hru_control->surface swr_latsed swr_latsed proc~hru_control->swr_latsed swr_percmain swr_percmain proc~hru_control->swr_percmain swr_substor swr_substor proc~hru_control->swr_substor swr_subwq swr_subwq proc~hru_control->swr_subwq varinit varinit proc~hru_control->varinit wet_irrp wet_irrp proc~hru_control->wet_irrp wetland_control wetland_control proc~hru_control->wetland_control