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
1001 3509d 22h werner /branches/port_qt5_64bit/src/ removed some of the "DebugTimer" --- they tend to cause problems especially when multi-threading is enabled.  
802 4011d 04h werner /branches/port_qt5_64bit/ merge from trunk up to revision 801  
779 4143d 22h werner /branches/port_qt5_64bit/  
764 4333d 17h 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 4675d 00h 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 4683d 19h 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 4726d 23h werner /trunk/src/ Necessary changes for GPL licence (i.e. headers in all source files)  
639 4887d 20h werner / move current content to the "trunk"  
615 4946d 23h werner /src/ removed windows specific _isnan() calls  
577 4987d 18h werner /src/ add 'basalarea' variable to Tree; rename 'speciesindex' to 'species'.
add species names as constants
 
575 4988d 01h werner /src/ * renamed toString() from IException to message() (several occurences).
* added a "name" property to the MapGridWrapper
 
534 5042d 23h 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 5098d 17h 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 5099d 01h 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 5103d 05h werner /src/core/ add light response function to sapling growth (rest: constness of lightresponse function calls)  
428 5235d 01h 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 5236d 01h 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 5236d 17h 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 5237d 01h 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
 
393 5262d 03h werner /src/ fixed a bug in StampContainer when loading trees with invalid hd-ratio (too low trees).
fixed a bug that caused a crash when seed dispersal was disabled.
added return values for stand init routines (also those that accessed by scripting) and cleaned up the documentation.
 

Show All