You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cnf [cnf options] matrix [matrix options] _nodes/links_
Where Options
--[file] : File to save the csv files for the inputs
_nodes/links_ :
Example:
cnf --network=network.geojson --start=2002-10 --stop=2003-09 --file=cost.csv matrix ALL
Naming Convention
Nodes in the matrix formulation, both i and j, will be named: as node@y-m, (eg. sr_sha@1980-10). Initial and final conditions will be name node@initial and node@final. In the connectivity matrix, only storage nodes will connect from one date to another, sr_sha@1980-10 -> sr_sha@1980-11. All other connections happen within a single date. sr_sha@1980-10 -> c432@1980-10.
Matrices;
Although the above formulation shows four vectors in ijk; a, c, l, u. We will actually output these together in a single matrix. For lower and upper bounds, empty values indicate that there is not bound.
The convex penalty functions in Hobbes are converted to a set of individual links with common ij but differing k. Each component references one segment of the penalty function. Bounds are added to each link to bound the use of that particular segment. Extrapolation of the functions follows the specification in the HEC-PRM manual.
Upper and Lower Bounds
Also, in Hobbes, each link can be given a lower and upper bound. If these bounds exist with a penalty function, then these bounds are attached to the appropriate _k_th links.
Inflows (bj)
To b_j or not to b_j. The original formulation uses water additions b_j into the network. An equivalent formulation adds two additional nodes, the Source and the Sink. b_j formulations are modeled as flows to/from these super nodes. In the above matrix, these are shown as:
This is how these inflows are represented in the output. The inflow vector, b_j can be replicated by searching for all rows with i equal to a source, and then simply including the 2nd, and 6th columns.
Evaporation
Evaporation is represented as an a_ijk term from one storage link to the next. The storage amount X_ijk is multiplied by a storage to area factor, and then by the evaporation rate per surface area.
There is only one link on this, k=1, so c_ij1 = U_i * ER_i. Where U_i is the conversion factor, and ER_i is the evaporation rate.
Debugging
Debug flows will be represented in a similar manner as they are in the Hobbes Network.
The text was updated successfully, but these errors were encountered:
It currently creates the matrix, though I have not wired the source, sink and buffer nodes. Just creates matrix for given nodes. The id format is '[prmname]:[YYYY-MM-DD]:c[\d+]' where c0, c1, c2 is the cost function iteration. The cost is the slope for that section.
I have a couple questions about k values, unspecified upper and lower bounds (currently set to 99999 and 0 respectively), among other things. Not sure if I should ask those here or not.
Hobbes matrix formulation
Minimize
\sum_i \sum_j \sum_k c_ijk X_ijk
Such that:
\sum_i \sum_k X_ijk = \sum_i \sum_k a_ijk * X_ijk + b_j
X_ijk <= u_ijk
X_ijk > l__ijk
Naming Convention
Nodes in the matrix formulation, both
i
andj
, will be named: as node@y-m, (eg. sr_sha@1980-10). Initial and final conditions will be name node@initial and node@final. In the connectivity matrix, only storage nodes will connect from one date to another,sr_sha@1980-10 -> sr_sha@1980-11
. All other connections happen within a single date.sr_sha@1980-10 -> c432@1980-10
.Matrices;
Although the above formulation shows four vectors in ijk; a, c, l, u. We will actually output these together in a single matrix. For lower and upper bounds, empty values indicate that there is not bound.
Costs
The convex penalty functions in Hobbes are converted to a set of individual links with common ij but differing k. Each component references one segment of the penalty function. Bounds are added to each link to bound the use of that particular segment. Extrapolation of the functions follows the specification in the HEC-PRM manual.
Upper and Lower Bounds
Also, in Hobbes, each link can be given a lower and upper bound. If these bounds exist with a penalty function, then these bounds are attached to the appropriate _k_th links.
Inflows (bj)
To b_j or not to b_j. The original formulation uses water additions b_j into the network. An equivalent formulation adds two additional nodes, the Source and the Sink. b_j formulations are modeled as flows to/from these super nodes. In the above matrix, these are shown as:
This is how these inflows are represented in the output. The inflow vector, b_j can be replicated by searching for all rows with i equal to a source, and then simply including the 2nd, and 6th columns.
Evaporation
Evaporation is represented as an a_ijk term from one storage link to the next. The storage amount X_ijk is multiplied by a storage to area factor, and then by the evaporation rate per surface area.
There is only one link on this, k=1, so c_ij1 = U_i * ER_i. Where U_i is the conversion factor, and ER_i is the evaporation rate.
Debugging
Debug flows will be represented in a similar manner as they are in the Hobbes Network.
The text was updated successfully, but these errors were encountered: