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
1044 3248d 04h werner /branches/port_qt5_64bit/src/ implementing the interaction between bark beetle and wind disturbances;
introduced new flags to mark the reason why trees died when they do die, and a mechanism that allows disturbance modules to being notified when trees die. This involved the creation of a new "DisturbanceInterface".
 
975 3451d 07h werner /branches/port_qt5_64bit/src/ Fixed a snapshot issue.
Now the water-content and the snow-pack are also stored in the snapshot.
statistics are forced to be re-created.
 
949 3561d 08h werner /branches/port_qt5_64bit/src/core/ changed the sanity check on the HD value of the increment (lower bound was 20 which produced tons of log output).  
909 3708d 07h werner /branches/port_qt5_64bit/src/ more renaming: now it is hopefully done.  
907 3708d 07h werner /branches/port_qt5_64bit/src/ amie -> abe transition  
905 3708d 07h werner /branches/port_qt5_64bit/src/ working on scheduler and on implementing disturbances.
now again the AMIE/ABE transformation....
 
904 3708d 23h werner /branches/port_qt5_64bit/src/ ... working on amie...  
903 3712d 02h werner /branches/port_qt5_64bit/src/ working on AMIE - calculation of mean annual increment.  
902 3716d 03h werner /branches/port_qt5_64bit/src/ work on AMIE.
introduced new activity: planting.
zillions of other small mods.
 
884 3751d 22h werner /branches/port_qt5_64bit/src/ working on the AMIE/ABE, whatever...  
780 4044d 04h werner /branches/port_qt5_64bit/src/ Steps to build iLand with Qt 5 and with MSVC compiler and 64 bit.
http://iland.boku.ac.at/blogpost44

removed also a couple of warnings that were thrown by the MSVC compiler.
 
779 4057d 03h werner /branches/port_qt5_64bit/  
766 4236d 04h werner /trunk/src/ adding the rumple index calculation to iland. missing: script binding, ...
time to move the qtscript engine from management to the main model....
 
720 4535d 22h werner /trunk/src/ fixed a problem when trees died in disturbance and the (unupdated) statistics were used (e.g. the LAI for calculating the water cycle). Now for affected resource units, not only the treelists but also the RU-statistics are updated.
implemented a "radiating" mechanism of border cells. If stand-grid-cells (i.e. 10m height grid resolution) are marked as "outside and forest", then the cells "radiate" some influence on the LIF into the project area. Thus, trees on the edge of the project do *not* have properties of trees standing on a stand edge. Currently, the form/amount of this edge-effect is hard coded.
 
718 4541d 05h werner /trunk/src/ implemented effect of out-of-project area lif to border regions; however the result is not as expected... (Tree::readLIF() function).  
714 4549d 23h werner /trunk/src/ continued to work on the wind module. Moreover, we now have two types of "not in project area" pixels;
There were some tries regarding the performance of the wind module. At first for each 10m pixel all trees were selected within the pixel; this proved to be quite time consuming. In the end, these calculations (i.e. select the tallest tree per 10m pixel, and the species of this tree) are done in the beginning (per resource unit). This is about 10 times faster...
 
713 4550d 09h werner /trunk/src/ implemented a way to split the biomass of a dead tree into several pathways (i.e. to soil, to snags, to atmosphere/removal).  
707 4588d 05h 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.
 
706 4588d 22h werner /trunk/src/ some performance tests with random number generators. Results so far are not too indicative.  
705 4589d 00h werner /trunk/src/ series of performance tests / modifications.
Using "valgrind" on the linux virtual machine, some performance
measurements were made.
Some candidates for optimization were tested. (1) the applyLIP()
function (about 30% of total run time in runYear()): here several
inlining options were tested; testing the value of the stamp before
using it (in order to omit the other steps) prooved to be slower than
unsing all stamp values.
(2) the random number generator; here the random number generation is
about 5% of the total run time; the commit contains two/three other
variants.
 
697 4597d 01h 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 4640d 04h werner /trunk/src/ Necessary changes for GPL licence (i.e. headers in all source files)  
668 4675d 08h werner /trunk/src/ added additional settings for carbon balance of burned trees.
close to version 0.7.0
 
667 4675d 13h werner /trunk/src/ finetuning of fire module (new species parameters, xml file parameters, ...)  
664 4682d 03h werner /trunk/src/ fixes in the fire module  
639 4801d 02h werner / move current content to the "trunk"  
615 4860d 05h werner /src/ removed windows specific _isnan() calls  
608 4866d 11h werner /src/ adding carbon cycle output (and some necessary book keeping code)  
595 4884d 10h werner /src/core/ changed behavior of coarse roots: if biomass exceeds value from allometric relation, the excell biomass is pushed to the soil (avoid piling up of coarse root carbon in the soil)
inlined some biomass functions in species.h.
 
588 4898d 08h werner /src/core/ added carbon-bookkeeping in the regeneration layer.  
579 4901d 00h werner /src/core/ plenty of new/modified functions in the javascript interface of the management class. e.g. randomize(), mean(), sum(), new kill() and manage() functions.  
564 4912d 01h werner /src/ Improvements of the Management API and functionality.
new functionality:
* killSaplings() -> use a "MapGrid" and remove small trees specifically
* properties defining biomass remove fractions during management

Now the tree list of the management object is cleaned up after a management, i.e. successive managements without reloading the tree list are possible.
 
521 4961d 06h werner /src/ moved snag dynamics from rus-level to ru-level  
513 4982d 05h werner /src/core/ fixed a nasty bug: if one tree species succeeded to establish on a formerly empty RU, the saplings of other species were killed (well, not directly, but the environment was not recalculated leading to a f_env value of 0).  
505 4991d 00h werner /src/core/ fix crash small stamps for Acma.  
497 5008d 05h werner /src/ tried some possibilities to eliminate "strange" crashes when simulating very for a long time. Ended up with adding additional "pause" between every 50 year or so (see modelcontroller.cpp); this helps at least a little.
also updated the expression-linearization
 
488 5010d 21h werner / new version including several bug fixes and improvements for the regeneration / sapling growth submodule, as well as some performance optimizations.  
486 5011d 02h werner /src/ Expression: extended linearization range to the upper limit (it is a
typical use to linearize e.g. from 0..1 -> 1 should be included)
removed some warnings that came up when compiling in linux
added a setlocale()-function in main(). This was because otherwise the
"atof"-call when parsing Expressions cut off the fraction part (i.e.
converted "0.285" to "0") (used in Linux german locale)
 
482 5011d 08h werner /src/core/ fixed bug that recruited trees modified the average aging calculation; added some diagnostic code here and there.  
476 5012d 06h werner /src/ added snag debug output to the gui
corrected calculation of branch biomass in Tree