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
1104 3075d 11h werner /branches/iland_regen/ Branch dedicated to playing around with establishment/regeneration.
Goals are:
(i) speed up
(ii) introduction of new features for Yellowstone
 
1001 3425d 06h werner /branches/port_qt5_64bit/src/ removed some of the "DebugTimer" --- they tend to cause problems especially when multi-threading is enabled.  
802 3926d 13h werner /branches/port_qt5_64bit/ merge from trunk up to revision 801  
779 4059d 06h werner /branches/port_qt5_64bit/  
764 4249d 02h werner /trunk/src/ implementation of advanced external seed input. Around the project area a "seed belt" is lain. The simulated rectangle is split into sectors which can have a different species composition. At the beginning of the simulation, the external seed maps are populated and then reused each year.  
707 4590d 08h werner /trunk/src/ rework of the random numbers in iland.
Now, many (200000) random numbers are precalculated using a given algorithm (there are three or four choices), then the drandom() etc functions read from this array. After some rotations, the numbers are renewed. The point is: this is now reentrant, so the per-thread storage of MTRand objects is obsolete.
 
697 4599d 04h werner /trunk/ Doxygen documentation revisited.
After re-establishing doxygen documentation (last update: 2009) a lot of smaller/medium documentation fixes.
Documentation is something that could definitely be always improved ;)
 
671 4642d 07h werner /trunk/src/ Necessary changes for GPL licence (i.e. headers in all source files)  
639 4803d 05h werner / move current content to the "trunk"  
615 4862d 08h werner /src/ removed windows specific _isnan() calls  
577 4903d 03h werner /src/ add 'basalarea' variable to Tree; rename 'speciesindex' to 'species'.
add species names as constants
 
575 4903d 10h werner /src/ * renamed toString() from IException to message() (several occurences).
* added a "name" property to the MapGridWrapper
 
534 4958d 08h werner /src/ large(r) update of the soil model. Now, the 'kyl' and 'kyr' parameters (i.e. decomposition rates for the litter/wood-soil pool) are now species parameters and calculated dynamically from the litter inputs.  
479 5014d 02h werner /src/ pro-file: found a way to use debug symbols in release mode: one has to also alter the link-flags to disable stripping of symbols during linking.
fixed a bug in seed dispersal.
 
475 5014d 10h werner /src/ * Snag dynamics
debug output "SnagDynamics"
life cycle of Snag objects
include Snag Dynamics in newYear / year end routines

* threadrunner.cpp: parallel execution of species related tasks, e.g. the seed dispersal. In the current form, the ThreadRunner is much nicer:
ThreadRunner runner(mActiveSpecies);
runner.run(func_ptr);
 
470 5018d 13h werner /src/core/ add light response function to sapling growth (rest: constness of lightresponse function calls)  
428 5150d 10h werner /src/ added linearization for some expressions (e.g. light response), and a global switch to enabled/disable the linerization using one static boolean (triggered by a iland setting)  
425 5151d 10h werner /src/ made the calculate() and execute() function of Expression const (using a trick), so there is no more need for un-const functions which should be const (e.g. in Species).  
420 5152d 01h werner /src/core/ removed the QMutex and the QMutexLocker for serializing the execution of expression evaluations. This is no longer necessary, because Expression::calculate() now is reentrant.
The performance effect of this change is awesome: the time used to grow individual trees drops by ca. 40% (the total runtime is maybe 5-10% faster) (tested with iLandSpeed.xml -> 2x2km)
 
415 5152d 10h werner /src/core/ seed dispersal:
* defining synchronized seed years for each species
* use different seed kernels depending on seed year state
* create two kernels for each species (1x seed year, 1 x non-seed-year)
* newYear() function also for each Species
 

Show All