
There are three main sections of the tree: the branch system, leaves, and the root system. The ECOPHYS model outputs the data defining these sections into data files that are read in by the visualization program (see File Formats below).
Each tree branch consists of a series of segments, or internodes. Internodes
are cylindrical objects, and are defined by two, three-dimensional coordinates
of the cylinder's endpoints, and its radius (figure 1). If an internode has a
branch that forks from it, that branch is a sub-branch of the internode. Each
internode has a pointer to its sub-branch, which is NULL if no sub-branch
exists.
Each branch in a branch system is a linked-list of internodes. If any internodes within a branch have a sub-branch, then the sub-branch pointer points to the linked list for that sub-branch. Those internodes may have sub-branches, and so on. To traverse the entire branch system, a recursive algorithm is used:
while internode_pointer is not NULL {
process internode
.
.
if sub-branch_pointer is not NULL {
recurse with sub-branch
}
move internode_pointer to next internode in list
}
When none of the internodes that make up a branch have a sub-branch, that branch
has the potential to contain a leaf. The ECOPHYS model represents leaves as
diamond-shaped quadrilaterals. The leaf is defined by the four three-dimensional
coordinates of the vertices of the quadrilateral (see figure to right).
*.brchThe three "sunVec" values are floating point numbers defining the coordinates of a sun vector. These coordinates are calculated in the ECOPHYS model and printed out to the file. **Note: the calculation of this vector is unknown at this time. It has not been implemented due to time contraints.
*.lvs
*.rts
sunVec_x sunVec_y sunVec_z
It is typical to for the *.eco, *.brch, *.lvs, and *.rts files to have the same name, but is not necessary.
Each line of the branches file (*.brch) contains the geometric information of one inode in the tree. The inode is a cylinder defined by the three-dimensional coordinates for the endpoints of the cylinder, plus the radius. The format of the file is as follows:
x11 y11 z11 x21 y21 z11 radius1 x12 y12 z12 x22 y22 z22 radius2 . . . . . . . . . . . . . . x1N y1N z1N x2N y2N z2N radiusNN is the number of inodes contained in the tree. The file tree260-7.brch is an example of a branch data file.
The file tree260-7.lvs is an example of a leaves data file.
rho1 order1 x11 y11 z11 x21 y21 z21 radius1 rho2 order2 x12 y12 z12 x22 y22 z22 radius2 . . . . . . . . . . . . . . . . . . rhoN orderN x1N y1N z1N x2N y2N z2N radiusNHere, rho* is the rho angle of the leaf, order* is the order of the leaf, and N is the number of root segments contained in the root system.
The file tree260-7.rts is an example of a roots data file.