Subversion Repositories public iLand

Rev

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

Filtering Options

Rev Age Author Path Log message Diff Changes
720 4629d 05h 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.
 
/trunk/src/core/climate.cpp
/trunk/src/core/climate.h
/trunk/src/core/model.cpp
/trunk/src/core/model.h
/trunk/src/core/phenology.cpp
/trunk/src/core/resourceunit.cpp
/trunk/src/core/resourceunit.h
/trunk/src/core/resourceunitspecies.h
/trunk/src/core/tree.cpp
/trunk/src/core/watercycle.cpp
/trunk/src/iland/mainwindow.cpp
/trunk/src/iland/version.cpp
718 4634d 12h werner /trunk/src/ implemented effect of out-of-project area lif to border regions; however the result is not as expected... (Tree::readLIF() function).  
/trunk/src/core/model.cpp
/trunk/src/core/model.h
/trunk/src/core/tree.cpp
/trunk/src/iland/mainwindow.cpp
/trunk/src/plugins/wind/windmodule.cpp
714 4643d 06h 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...
 
/trunk/src/core/model.cpp
/trunk/src/core/model.h
/trunk/src/core/tree.cpp
/trunk/src/iland/mainwindow.cpp
/trunk/src/plugins/wind/windmodule.cpp
/trunk/src/plugins/wind/windmodule.h
713 4643d 16h 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).  
/trunk/src/core/snag.cpp
/trunk/src/core/snag.h
/trunk/src/core/tree.cpp
/trunk/src/core/tree.h
/trunk/src/iland/tests.cpp
/trunk/src/plugins/wind/windmodule.cpp
707 4681d 13h 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.
 
/trunk/src/tools/randomgenerator.cpp
/trunk/src/tools/randomgenerator.h
/trunk/src/tools/randomwell.h
/trunk/src/core/global.h
/trunk/src/core/model.cpp
/trunk/src/core/resourceunit.h
/trunk/src/core/sapling.cpp
/trunk/src/core/species.h
/trunk/src/core/speciesset.cpp
/trunk/src/core/standloader.cpp
/trunk/src/core/tree.cpp
/trunk/src/iland/iland.pro
/trunk/src/iland/tests.cpp
/trunk/src/tools/expression.cpp
/trunk/src/tools/globalsettings.cpp
/trunk/src/tools/globalsettings.h
706 4682d 06h werner /trunk/src/ some performance tests with random number generators. Results so far are not too indicative.  
/trunk/src/core/global.h
/trunk/src/core/tree.cpp
/trunk/src/tools/randomwell.h
705 4682d 08h 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.
 
/trunk/src/tools/randomwell.h
/trunk/src/core/establishment.cpp
/trunk/src/core/global.h
/trunk/src/core/grid.h
/trunk/src/core/model.cpp
/trunk/src/core/resourceunit.h
/trunk/src/core/species.h
/trunk/src/core/stamp.h
/trunk/src/core/standloader.cpp
/trunk/src/core/tree.cpp
/trunk/src/iland/iland.pro
/trunk/src/plugins/wind/windmodule.h
/trunk/src/tools/expression.cpp
/trunk/src/tools/globalsettings.cpp
/trunk/src/tools/globalsettings.h
697 4690d 08h 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 ;)
 
/trunk/doc
/trunk/doc/iland_doxyfile.doxy
/trunk/src/core/environment.cpp
/trunk/src/core/grid.h
/trunk/src/core/layeredgrid.h
/trunk/src/core/management.cpp
/trunk/src/core/model.cpp
/trunk/src/core/modelcontroller.cpp
/trunk/src/core/phenology.cpp
/trunk/src/core/production3pg.cpp
/trunk/src/core/resourceunit.cpp
/trunk/src/core/resourceunitspecies.cpp
/trunk/src/core/sapling.cpp
/trunk/src/core/seeddispersal.cpp
/trunk/src/core/snag.cpp
/trunk/src/core/soil.cpp
/trunk/src/core/species.cpp
/trunk/src/core/speciesresponse.cpp
/trunk/src/core/speciesset.cpp
/trunk/src/core/stamp.h
/trunk/src/core/stampcontainer.h
/trunk/src/core/standloader.cpp
/trunk/src/core/standstatistics.cpp
/trunk/src/core/tree.cpp
/trunk/src/core/watercycle.cpp
/trunk/src/core/watercycle.h
/trunk/src/iland/maindoc.cpp
/trunk/src/plugins/fire/firemodule.cpp
/trunk/src/plugins/fire/firemodule.h
/trunk/src/plugins/fire/firescript.cpp
/trunk/src/tools/csvfile.cpp
/trunk/src/tools/dem.h
/trunk/src/tools/expressionwrapper.cpp
/trunk/src/tools/gisgrid.cpp
/trunk/src/tools/mapgrid.cpp
/trunk/src/tools/scriptglobal.cpp
/trunk/src/tools/sqlhelper.cpp
671 4733d 12h werner /trunk/src/ Necessary changes for GPL licence (i.e. headers in all source files)  
/trunk/src/core/climate.cpp
/trunk/src/core/climate.h
/trunk/src/core/environment.cpp
/trunk/src/core/environment.h
/trunk/src/core/establishment.cpp
/trunk/src/core/establishment.h
/trunk/src/core/exception.h
/trunk/src/core/global.h
/trunk/src/core/grid.h
/trunk/src/core/layeredgrid.h
/trunk/src/core/management.cpp
/trunk/src/core/management.h
/trunk/src/core/model.cpp
/trunk/src/core/model.h
/trunk/src/core/modelcontroller.cpp
/trunk/src/core/modelcontroller.h
/trunk/src/core/modelsettings.cpp
/trunk/src/core/modelsettings.h
/trunk/src/core/phenology.cpp
/trunk/src/core/phenology.h
/trunk/src/core/plugin_interface.h
/trunk/src/core/production3pg.cpp
/trunk/src/core/production3pg.h
/trunk/src/core/resourceunit.cpp
/trunk/src/core/resourceunit.h
/trunk/src/core/sapling.cpp
/trunk/src/core/sapling.h
/trunk/src/core/seeddispersal.cpp
/trunk/src/core/seeddispersal.h
/trunk/src/core/snag.cpp
/trunk/src/core/snag.h
/trunk/src/core/soil.cpp
/trunk/src/core/soil.h
/trunk/src/core/species.cpp
/trunk/src/core/species.h
/trunk/src/core/speciesresponse.cpp
/trunk/src/core/speciesresponse.h
/trunk/src/core/speciesset.cpp
/trunk/src/core/speciesset.h
/trunk/src/core/stamp.cpp
/trunk/src/core/stamp.h
/trunk/src/core/stampcontainer.cpp
/trunk/src/core/stampcontainer.h
/trunk/src/core/standloader.cpp
/trunk/src/core/standloader.h
/trunk/src/core/standstatistics.cpp
/trunk/src/core/standstatistics.h
/trunk/src/core/threadrunner.cpp
/trunk/src/core/threadrunner.h
/trunk/src/core/timeevents.cpp
/trunk/src/core/timeevents.h
/trunk/src/core/tree.cpp
/trunk/src/core/tree.h
/trunk/src/core/watercycle.cpp
/trunk/src/core/watercycle.h
/trunk/src/iland/aboutdialog.cpp
/trunk/src/iland/aboutdialog.h
/trunk/src/iland/aboutdialog.ui
/trunk/src/iland/mainwindow.cpp
/trunk/src/iland/mainwindow.h
/trunk/src/iland/paintarea.cpp
/trunk/src/iland/paintarea.h
/trunk/src/iland/stable.h
/trunk/src/iland/tests.cpp
/trunk/src/iland/tests.h
/trunk/src/iland/version.h
/trunk/src/output/carbonflowout.cpp
/trunk/src/output/carbonflowout.h
/trunk/src/output/carbonout.cpp
/trunk/src/output/carbonout.h
/trunk/src/output/dynamicstandout.cpp
/trunk/src/output/dynamicstandout.h
/trunk/src/output/managementout.cpp
/trunk/src/output/managementout.h
/trunk/src/output/output.cpp
/trunk/src/output/output.h
/trunk/src/output/outputmanager.cpp
/trunk/src/output/outputmanager.h
/trunk/src/output/productionout.cpp
/trunk/src/output/productionout.h
/trunk/src/output/saplingout.cpp
/trunk/src/output/saplingout.h
/trunk/src/output/standdeadout.cpp
/trunk/src/output/standdeadout.h
/trunk/src/output/standout.cpp
/trunk/src/output/standout.h
/trunk/src/output/treeout.cpp
/trunk/src/output/treeout.h
/trunk/src/plugins/fire/firemodule.cpp
/trunk/src/plugins/fire/firemodule.h
/trunk/src/plugins/fire/fireout.cpp
/trunk/src/plugins/fire/fireout.h
/trunk/src/plugins/fire/fireplugin.cpp
/trunk/src/plugins/fire/fireplugin.h
/trunk/src/tools/climateconverter.cpp
/trunk/src/tools/climateconverter.h
/trunk/src/tools/csvfile.cpp
/trunk/src/tools/csvfile.h
/trunk/src/tools/dem.cpp
/trunk/src/tools/dem.h
/trunk/src/tools/expression.cpp
/trunk/src/tools/expression.h
/trunk/src/tools/expressionwrapper.cpp
/trunk/src/tools/expressionwrapper.h
/trunk/src/tools/floatingaverage.cpp
/trunk/src/tools/floatingaverage.h
/trunk/src/tools/gisgrid.cpp
/trunk/src/tools/gisgrid.h
/trunk/src/tools/globalsettings.cpp
/trunk/src/tools/globalsettings.h
/trunk/src/tools/helper.cpp
/trunk/src/tools/helper.h
/trunk/src/tools/mapgrid.cpp
/trunk/src/tools/mapgrid.h
/trunk/src/tools/modules.cpp
/trunk/src/tools/modules.h
/trunk/src/tools/random.cpp
/trunk/src/tools/random.h
/trunk/src/tools/scriptglobal.cpp
/trunk/src/tools/scriptglobal.h
/trunk/src/tools/settingmetadata.cpp
/trunk/src/tools/settingmetadata.h
/trunk/src/tools/sqlhelper.cpp
/trunk/src/tools/sqlhelper.h
/trunk/src/tools/ticktack.cpp
/trunk/src/tools/ticktack.h
/trunk/src/tools/xmlhelper.cpp
/trunk/src/tools/xmlhelper.h
668 4768d 16h werner /trunk/src/ added additional settings for carbon balance of burned trees.
close to version 0.7.0
 
/trunk/src/core/tree.cpp
/trunk/src/core/tree.h
/trunk/src/iland/version.cpp
/trunk/src/plugins/fire/firemodule.cpp
/trunk/src/plugins/fire/firemodule.h
667 4768d 20h werner /trunk/src/ finetuning of fire module (new species parameters, xml file parameters, ...)  
/trunk/src/core/species.cpp
/trunk/src/core/species.h
/trunk/src/core/tree.cpp
/trunk/src/core/tree.h
/trunk/src/iland/version.cpp
/trunk/src/plugins/fire/firemodule.cpp
/trunk/src/plugins/fire/firemodule.h
664 4775d 11h werner /trunk/src/ fixes in the fire module  
/trunk/src/core/model.cpp
/trunk/src/core/resourceunit.cpp
/trunk/src/core/resourceunit.h
/trunk/src/core/soil.cpp
/trunk/src/core/tree.cpp
/trunk/src/plugins/fire/firemodule.cpp
/trunk/src/tools/modules.cpp
639 4894d 09h werner / move current content to the "trunk"  
/trunk/executable
/trunk/src
/executable
/src
615 4953d 13h werner /src/ removed windows specific _isnan() calls  
/src/core/global.h
/src/core/model.cpp
/src/core/sapling.cpp
/src/core/soil.cpp
/src/core/speciesset.cpp
/src/core/standstatistics.cpp
/src/core/standstatistics.h
/src/core/tree.cpp
/src/iland/mainwindow.cpp
/src/iland/mainwindow.h
/src/iland/mainwindow.ui
/src/tools/globalsettings.cpp
/src/tools/globalsettings.h
608 4959d 18h werner /src/ adding carbon cycle output (and some necessary book keeping code)  
/src/core/production3pg.h
/src/core/sapling.cpp
/src/core/sapling.h
/src/core/snag.h
/src/core/tree.cpp
/src/output/carbonflowout.cpp
/src/tools/globalsettings.h
595 4977d 18h 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.
 
/src/core/sapling.cpp
/src/core/snag.cpp
/src/core/snag.h
/src/core/species.cpp
/src/core/species.h
/src/core/tree.cpp
588 4991d 16h werner /src/core/ added carbon-bookkeeping in the regeneration layer.  
/src/core/sapling.cpp
/src/core/sapling.h
/src/core/snag.cpp
/src/core/snag.h
/src/core/standstatistics.cpp
/src/core/tree.cpp
579 4994d 07h 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.  
/src/core/management.cpp
/src/core/management.h
/src/core/tree.cpp
564 5005d 09h 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.
 
/src/core/management.cpp
/src/core/management.h
/src/core/resourceunitspecies.cpp
/src/core/sapling.cpp
/src/core/sapling.h
/src/core/snag.cpp
/src/core/tree.cpp
/src/core/tree.h
/src/tools/mapgrid.cpp
/src/tools/mapgrid.h
521 5054d 14h werner /src/ moved snag dynamics from rus-level to ru-level  
/src/core/model.cpp
/src/core/resourceunit.cpp
/src/core/resourceunit.h
/src/core/resourceunitspecies.cpp
/src/core/resourceunitspecies.h
/src/core/snag.h
/src/core/tree.cpp
/src/output/dynamicstandout.cpp
/src/tools/globalsettings.cpp

Show All