Subversion Repositories public iLand

Rev

Go to most recent revision | Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
487 5015d 21h werner /src/core/ some performance optimizations done on Linux with valgrind /
KCacheGrind.
stamp: did inlining of "distanceToCenter" (is still relatively expensive
due to heavy usage in e.g. applyLip)
Saplings: removed the very exensive way to check if a sapling of a
species is already on a given pixel; we now use a std::bitmap for that
purpose.
grid: optimized the "indexOf(float*)"-method; this method is used very
often.
 
453 5072d 20h werner /src/ sapling growth now in a basic working state. started to implement recruitment. One bug with the "maximum-establishment-height-grid" known.
added also visualization of regeneration layer. Once I have time, I should restructure the drawing/visualization code as it gets quirky (and a paper-concept is available...)
 
439 5127d 01h werner /src/core/ coded the establishment core routine (without testing yet)
adapted the GridRunner
 
438 5127d 01h werner /src/ new GridRunner class to iterate nicely over grids with different sizes.
establishment.cpp: started to integrate the whole regeneration process (including "lazy" calculation of 3pg (only if necessary)).
 
391 5182d 04h werner /src/ a rather large update mainly in course of the implementation of seed dispersal.
* integrating the seed dispersal within the model logic
(new function e.g. SpeciesSet::newYear() or SpeciesSet::regeneration()).
* SeedDispersal: implementation of the Seed-Kernel a la TreeMig (see the R-Script on dispersal by Rupert)
Additionally:
new functions (sum(), multiply() for the Grid-template.
 
373 5198d 09h werner /src/ Creation of seeddispersal.
this includes some extensions to the grid (e.g. randomPosition()).
The seedDispersal-algorithm is implemented on CPU (but still not linked to tree growth)
 
285 5374d 11h werner /src/core/ loading of the landscape. added "areaMask.imageFile" to "world" in xml file. This loads a image mask that establishes area that are inside and outside the project area respectively.  
261 5379d 23h werner /src/ * added NPP aboveground to stats
* some update in comments
 
247 5384d 16h werner /src/ global script object (ScriptGlobal).
Doxygen documentation refinements.
 
154 5413d 17h werner /src/core/ added warning...  
153 5413d 17h werner /src/ partitioning - corrected error w.r.t. units of diameter (rather tricky)
- now everything is calculated using meters.
wipe() of Grid does *not* work correctly with values != 0 (so returned
to initialize() for the grid itself).
 
150 5414d 00h iland /src/ added Grid::wipe() to memset a whole grid  
145 5414d 21h Werner /src/ Run and compiled iLand on Linux (Kubuntu) with a virtual machine. The gcc on Linux issues lots of warnings which I fixed on the Linux side. Also fixed TTickTack (the clock issue).
Now iLand also runs on Linux - nice!
 
143 5415d 16h Werner /src/ - StampContainer: find stamps out of HD bounds.
- AllTreeIterator fixed bug in next()
- improvements in Expression (function inlining, ...)
- use tree with expression, together with Stats-class.
... and much more ;)
 
105 5425d 14h Werner /src/ several changes:
create multiple RessourceUnits as a grid
modified include-order for model.h and mainwindow.cpp
added clear() to Grid.
fixed bug in Grid::indexOf()
...
 
80 5428d 22h Werner / change master structure  
77 5437d 11h Werner /fonstudio/ streamlined the application of stamps (now much faster)
changed the internal layout of grids (now the lines are in x-direction)
some fiddling with compiler switches
 
75 5437d 16h Werner /fonstudio/ Optimization: removed the abundant "isValid" calls in the Grid-Class
and tried some optimizations in the tree class (applyStamp).
Interestingly, the Grid-modification did not increase performance as expected.
 
74 5437d 17h Werner /fonstudio/ Changed algorithm for dominant height grid.
* "smooth" height values if trees are not in center of 10m height Grid
* the height-value is the maximum value of all the trees in the pixel (thus no part of the crown is above this height)
 
58 5471d 18h Werner /fonstudio/ working version of light alogorithnm:
* steps during read:
own_xy = 1 - writer_xy * la_factor / h_dom
value_xy = grid_xy / own_xy
lightvalue = sum( value_xy * reader_xy) [ sum(reader) = 1 ]

additional correction for overstorey:
if h > h_dom:
lightvalue = 1 - (1 - lightvalue) * h/h_dom

other issues:
* added buffer around sim. area
* cleaned xml-file and code to interpret
* fixed Viewport (handling of negative coordinates - see buffer)
* fixed StampContainer, added finalizeSetup() - (filling up of the lookup map)
 

Show All