mizuRoute
mizuRoute copied to clipboard
flux and state data structure organization
It is proposed that one routing scheme is used for one simulation (i.e., remove route_opt = 0, route with all the schemes), because as new routing schemes are added, using all the schemes at the same run is not practical.
With this in mind, there might be need for re-organization of flux data structure (STRFLX) and state data structures (KREACH for kinematic wave).
Suggestion
For Flux, the same data structure is shared with different routing schemes e.g.,
TYPE, public :: STRFLX
real(dp) :: BASIN_QI ! instantaneous runoff volume from the local basin (m3/s)
real(dp) :: BASIN_QR(0:1) ! routed runoff volume from the local basin (m3/s)
real(dp) :: REACH_Q ! time-step average streamflow (m3/s)
real(dp) :: UPSTREAM_QI ! sum of upstream streamflow (m3/s)
real(dp) :: TAKE ! average take
logical(lgt) :: CHECK_ROUTE ! .true. if the reach is routed
END TYPE STRFLX
For states, each scheme has different state variable. so separate, unique data structure needs to be defined.