mgt_operatn Subroutine

subroutine mgt_operatn()

Uses

  • proc~~mgt_operatn~~UsesGraph proc~mgt_operatn mgt_operatn module~hru_module hru_module proc~mgt_operatn->module~hru_module module~mgt_operations_module mgt_operations_module proc~mgt_operatn->module~mgt_operations_module module~plant_module plant_module proc~mgt_operatn->module~plant_module module~time_module time_module proc~mgt_operatn->module~time_module

~ ~ ~ PURPOSE ~ ~ ~ this subroutine performs all management operations

~ ~ ~ INCOMING VARIABLES ~ ~ ~ name |units |definition ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ daylmn(:) |hours |shortest daylength occurring during the |year dormhr(:) |hours |time threshold used to define dormant |period for plant (when daylength is within |the time specified by dormhr from the minimum |daylength for the area, the plant will go |dormant) phubase(:) |heat units |base zero total heat units (used when no |land cover is growing iop(:,:,:) |julian date |date of tillage operation phut(:,:,:) |none |fraction of heat units (base zero or plant) |at which tillage occurs ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

~ ~ ~ SUBROUTINES/FUNCTIONS CALLED ~ ~ ~ SWAT: plantop, dormant, harvkillop, harvestop, killop, tillmix

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

mgt_sched advances cur_op and wraps it back to 1 at the end of the schedule. If every operation reachable from cur_op falls on this calendar date, the wrap cycles op1 -> op2 -> ... -> op1 indefinitely: the date test never changes and the two exits above never fire (e.g. an N-fert and a P-fert both dated on the same day). Cap at one full pass through the schedule so each operation is applied exactly once, then exit. This is a no-op for every non-degenerate schedule, which cannot process more than num_ops operations on a single day.

Arguments

None

Calls

proc~~mgt_operatn~~CallsGraph proc~mgt_operatn mgt_operatn mgt_sched mgt_sched proc~mgt_operatn->mgt_sched