Function that performs the OCN search algorithm on a general contour and creates OCN at the flow direction (FD) level.
create_general_contour_OCN(flowDirStart, expEnergy = 0.5,
cellsize = 1, xllcorner = 0.5 * cellsize, yllcorner = 0.5 *
cellsize, nIter = NULL, nUpdates = 50,
initialNoCoolingPhase = 0, coolingRate = 1,
showIntermediatePlots = FALSE, thrADraw = NULL,
easyDraw = NULL, saveEnergy = FALSE, saveExitFlag = FALSE,
displayUpdates = 1)
A river
object as in create_OCN
, to which the reader is referred for detailed documentation.
However, note that in this case dimX
and dimY
are equal to the number of columns and rows of flowDirStart
, respectively,
while nNodes
is the number of non-NaN
pixels in flowDirStart
. Hence, nNodes
is generally lower than
dimX*dimY
. The additionally exported vector FD$toDEM
identifies the indices of the pixels of the landscape/flow direction matrix
that belong to the catchment (i.e., they are not NaN
).
Matrix with custom initial flow directions. Cells outside the catchment must have value equal to NaN
.
Cells within the catchment have natural numbers between 0 and 8. Key is as follows:
0
Outlet
1
+1 column
2
-1 row, +1 column
3
-1 row
4
-1 row, -1 column
5
-1 column
6
+1 row, -1 column
7
+1 row
8
+1 row, +1 column
Note that flowDirStart
must have at least one outlet, that is one cell with value 0. The position of outlet(s) will not be altered by the OCN search algorithm.
Exponent of the functional sum(A^expEnergy)
that is minimized during the OCN search algorithm.
Size of a pixel in planar units.
Longitudinal (column-wise) coordinate of the lower-left pixel of flowDirStart
.
Latitudinal (row-wise) coordinate of the lower-left pixel of flowDirStart
.
Number of iterations for the OCN search algorithm. Default is 40 times the number of non-NaN
pixels of flowDirStart
.
Number of updates given during the OCN search process (only effective if any(displayUpdates,showIntermediatePlots)=TRUE
.).
Parameters of the function used to describe the temperature of the simulated annealing algorithm. See details.
If TRUE
, the OCN plot is updated nUpdates
times during the OCN search process.
Note that, for large lattices, showIntermediatePlots = TRUE
might slow down the search process considerably (especially when easyDraw = FALSE
).
Threshold drainage area value used to display the network (only effective when showIntermediatePlots = TRUE
). Default value is 0.002*cellsize^2*nNodes
, where nNodes
is the number of non-NaN
pixels of flowDirStart
.
Logical. If TRUE
, the whole network is displayed (when showIntermediatePlots = TRUE
), and pixels with drainage area lower than thrADraw
are displayed in light gray. If FALSE
, only pixels with drainage area greater or equal to thrADraw
are displayed. Default is FALSE
if dimX*dimY <= 40000
, and TRUE
otherwise. Note that setting easyDraw = FALSE
for large networks might slow down the process considerably.
If TRUE
, energy
is saved (see Value for its definition).
If TRUE
, exitFlag
is saved (see Value for its definition).
State if updates are printed on the console while the OCN search algorithm runs.
0
No update is given.
1
An estimate of duration is given (only if dimX*dimY > 1000
, otherwise no update is given).
2
Progress updates are given. The number of these is controlled by nUpdates
OCN1 <- create_general_contour_OCN(flowDir, nIter=0) # initial flow directions
OCN2 <- create_general_contour_OCN(flowDir) # perform OCN algorithm
draw_simple_OCN(OCN1)
draw_simple_OCN(OCN2)
Run the code above in your browser using DataLab