Subversion Repositories public iLand

Rev

Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
1222 2870d 13h werner / public SVN  
/tags/release_1.0
/branches/release_1.0
1221 2870d 13h werner /branches/ public SVN  
/branches/release_1.0
/branches/version1.0
1220 2870d 13h werner /branches/version1.0/ Version 1.0  
/branches/version1.0
1218 2870d 15h werner / clean up repository - make 1.0 trunk again!  
/trunk
/iland_regen
1217 2870d 15h werner / clean up repository - make 1.0 trunk again!  
/iland_regen
/branches/iland_regen
1104 3158d 19h werner /branches/iland_regen/ Branch dedicated to playing around with establishment/regeneration.
Goals are:
(i) speed up
(ii) introduction of new features for Yellowstone
 
/branches/iland_regen
802 4009d 20h werner /branches/port_qt5_64bit/ merge from trunk up to revision 801  
/branches/port_qt5_64bit/R_analysis
/branches/port_qt5_64bit
/branches/port_qt5_64bit/executable/iland.exe
/branches/port_qt5_64bit/src/core/climate.cpp
/branches/port_qt5_64bit/src/core/climate.h
/branches/port_qt5_64bit/src/core/global.h
/branches/port_qt5_64bit/src/core/model.cpp
/branches/port_qt5_64bit/src/core/modelcontroller.cpp
/branches/port_qt5_64bit/src/core/modelcontroller.h
/branches/port_qt5_64bit/src/core/production3pg.cpp
/branches/port_qt5_64bit/src/core/sapling.cpp
/branches/port_qt5_64bit/src/core/seeddispersal.cpp
/branches/port_qt5_64bit/src/core/speciesresponse.cpp
/branches/port_qt5_64bit/src/core/speciesresponse.h
/branches/port_qt5_64bit/src/core/speciesset.cpp
/branches/port_qt5_64bit/src/core/speciesset.h
/branches/port_qt5_64bit/src/core/stampcontainer.cpp
/branches/port_qt5_64bit/src/core/watercycle.cpp
/branches/port_qt5_64bit/src/core/watercycle.h
/branches/port_qt5_64bit/src/fonstudio/mainwindow.cpp
/branches/port_qt5_64bit/src/iland/mainwindow.cpp
/branches/port_qt5_64bit/src/iland/version.cpp
/branches/port_qt5_64bit/src/output/dynamicstandout.cpp
/branches/port_qt5_64bit/src/output/dynamicstandout.h
/branches/port_qt5_64bit/src/output/productionout.cpp
/branches/port_qt5_64bit/src/output/snapshot.cpp
/branches/port_qt5_64bit/src/output/standdeadout.cpp
/branches/port_qt5_64bit/src/plugins/fire/firemodule.cpp
/branches/port_qt5_64bit/src/plugins/fire/firescript.cpp
/branches/port_qt5_64bit/src/plugins/fire/firescript.h
/branches/port_qt5_64bit/src/plugins/wind/windmodule.cpp
/branches/port_qt5_64bit/src/tools/expression.cpp
/branches/port_qt5_64bit/src/tools/expression.h
/branches/port_qt5_64bit/src/tools/scriptglobal.cpp
779 4142d 14h werner /branches/port_qt5_64bit/  
/branches/port_qt5_64bit
707 4673d 16h 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 4674d 09h 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 4674d 11h 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
671 4725d 15h 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
639 4886d 12h werner / move current content to the "trunk"  
/trunk/executable
/trunk/src
/executable
/src
615 4945d 16h 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
443 5204d 19h werner /src/ problems with multihtreading and the random generator. Crashes revealed that the MersenneTwister class is not multithreadable; The solution now is to have for each Thread in the thread pool one random number generator. This removes the crashes, but makes changes to the code necessary.  
/src/core/establishment.cpp
/src/core/establishment.h
/src/core/global.h
/src/core/model.cpp
/src/tools/globalsettings.cpp
/src/tools/globalsettings.h
431 5232d 09h werner /src/ included the logLevel-Functions at several locations in the source code.
added a option to only display debug messages in the DebugTimer destructor when elapsed time is longer than one millisecond.
 
/src/core/global.h
/src/core/model.cpp
/src/core/modelcontroller.cpp
/src/core/modelsettings.cpp
/src/core/resourceunit.cpp
/src/core/standloader.cpp
/src/core/watercycle.cpp
/src/iland/tests.cpp
/src/tools/globalsettings.cpp
/src/tools/helper.cpp
/src/tools/helper.h
349 5326d 16h werner /src/ tested behavior of irandom(from, to). It is clear now, that results are [from, to], i.e. the upper value is also returned. Be careful when using for querying an index for a list/vector.  
/src/core/climate.cpp
/src/core/global.h
/src/core/management.cpp
/src/iland/tests.cpp
289 5452d 05h werner /src/ random - things: added the Picus random-helper-classes (RandomIndex, CustomRandomPDF, ...).
added a 3rd party Mersenne-Twister-Random-Generator (added a 3rdparty) directory.
 
/src/3rdparty
/src/3rdparty/MersenneTwister.h
/src/tools/random.cpp
/src/tools/random.h
/src/core/global.h
/src/core/standloader.cpp
/src/iland/iland.pro
/src/iland/mainwindow.cpp
/src/iland/tests.cpp
/src/iland/tests.h
/src/tools/csvfile.cpp
/src/tools/globalsettings.cpp
/src/tools/helper.h
287 5453d 04h werner /src/ Tree initialization (random variant). works almost...  
/src/core/global.h
/src/core/model.cpp
/src/core/resourceunit.cpp
/src/core/resourceunit.h
/src/core/standloader.cpp
/src/core/standloader.h
/src/core/tree.h
/src/tools/sqlhelper.cpp
/src/tools/sqlhelper.h
285 5454d 23h 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.  
/src/core/global.h
/src/core/grid.cpp
/src/core/grid.h
/src/core/model.cpp
/src/core/model.h
/src/core/modelcontroller.cpp
/src/core/standloader.cpp
/src/core/tree.cpp
216 5474d 06h werner /src/ created a more sophisticated management routine using javascript.  
/src/core/global.h
/src/core/management.cpp
/src/core/management.h
/src/core/model.h
/src/iland/mainwindow.cpp
/src/iland/mainwindow.h
/src/iland/mainwindow.ui
210 5475d 12h werner /src/ class "Sun", added "site"-varaibles to the project file.  
/src/core/climate.cpp
/src/core/climate.h
/src/core/global.h
/src/core/modelsettings.cpp
/src/core/modelsettings.h
/src/core/speciesset.cpp
/src/iland/tests.cpp
187 5481d 23h iland /src/ wow. Ressource is correctly spelled as Resource. I jerk.  
/src/core/global.h
/src/core/model.cpp
/src/core/production3pg.h
/src/core/ressourceunit.h
/src/core/ressourceunitspecies.cpp
/src/core/ressourceunitspecies.h
/src/core/standloader.cpp
/src/core/standloader.h
/src/core/threadrunner.cpp
/src/core/threadrunner.h
/src/core/tree.h
/src/iland/mainwindow.cpp
/src/iland/management.cpp
/src/iland/tests.cpp
/src/tools/expressionwrapper.cpp
/src/tools/expressionwrapper.h
/src/tools/xmlhelper.h
186 5482d 04h werner /src/ management 1st version running  
/src/core/global.h
/src/core/model.cpp
/src/iland/management.cpp
/src/iland/management.h
/src/tools/xmlhelper.cpp
157 5493d 05h werner /src/ cleaning of memory after trees died; this had some impacts on AllTreeIterator and some other places.
added a "Tests" class to combine some simple tests.
 
/src/iland/tests.cpp
/src/iland/tests.h
/src/core/global.h
/src/core/model.cpp
/src/core/model.h
/src/core/ressourceunit.cpp
/src/core/ressourceunit.h
/src/core/tree.cpp
/src/core/tree.h
/src/iland/iland.pro
/src/iland/mainwindow.cpp
/src/tools/expression.cpp
/src/tools/expressionwrapper.cpp
130 5498d 06h Werner /src/ moved debugDataTable to GlobalSettings...  
/src/core/global.h
/src/core/model.cpp
/src/core/tree.cpp
/src/iland/mainwindow.cpp
/src/iland/mainwindow.h
/src/tools/globalsettings.cpp
/src/tools/globalsettings.h
117 5504d 03h Werner /src/ new debug macros (which are compiled to NOOP in release mode)  
/src/core/global.h
/src/core/standloader.cpp
/src/core/tree.cpp
/src/core/tree.h
/src/tools/globalsettings.cpp
102 5506d 11h Werner /src/ * added a global XML-node of the project file to GlobalSettings (each setup() routine has access to that)
* loading of stamps for each species.
 
/src/core/exception.h
/src/core/global.h
/src/core/model.cpp
/src/core/model.h
/src/core/species.cpp
/src/core/species.h
/src/core/speciesset.cpp
/src/core/speciesset.h
/src/core/stampcontainer.cpp
/src/tests/modelCreate/modelCreate.pro
/src/tests/modelCreate/testModelCreate.cpp
/src/tools/globalsettings.cpp
/src/tools/globalsettings.h
/src/tools/xmlhelper.cpp
/src/tools/xmlhelper.h
93 5507d 06h Werner /src/ XmlHelper class, the first real test-case for that, some thinking about how to setup the whole system.  
/src/core/global.h
/src/tools/xmlhelper.cpp
/src/tools/xmlhelper.h
/src/fonstudio/global.h
/src/core/model.cpp
/src/core/model.h
/src/core/speciesset.h
/src/core/stamp.cpp
/src/core/tree.cpp
/src/fonstudio/fonstudio.pro
/src/tools/globalsettings.cpp
/src/tools/globalsettings.h
/src/tools/helper.cpp
91 5507d 11h Werner /src/ started implementation of SpeciesSet; this includes lots of tinkering around with global functions, Database-connections and that like.  
/src/core/species.cpp
/src/core/species.h
/src/core/speciesset.cpp
/src/core/speciesset.h
/src/fonstudio/fonstudio.pro
/src/fonstudio/global.h
/src/fonstudio/mainwindow.cpp
/src/fonstudio/stable.h
/src/tools/globalsettings.cpp
/src/tools/globalsettings.h
87 5508d 09h Werner /src/ GlobalSettings Object, reading of global settings meta data, GlobalSettings is a Singleton.  
/src/tools/globalsettings.cpp
/src/tools/globalsettings.h
/src/fonstudio/fonstudio.pro
/src/fonstudio/global.h
/src/fonstudio/mainwindow.cpp
/src/tools/settingmetadata.cpp
/src/tools/settingmetadata.h
83 5509d 10h Werner /src/ new structure  
/src/core/tree.cpp
/src/core/tree.h
/src/core/treespecies.cpp
/src/core/treespecies.h
/src/fonstudio/global.h
/src/fonstudio/res
/src/fonstudio/stable.h
/src/global.h
/src/res
/src/stable.h
/src/tree.cpp
/src/tree.h
/src/treespecies.cpp
/src/treespecies.h
/src/core/stamp.cpp
/src/core/stamp.h
/src/fonstudio/fonstudio.pro
/src/fonstudio/lightroom.cpp
/src/fonstudio/lightroom.h
/src/fonstudio/mainwindow.cpp
/src/fonstudio/mainwindow.h
80 5509d 10h Werner / change master structure  
/src
/fonstudio
39 5558d 05h Werner /fonstudio/ implementing the application of gridded binary stamps.  
/fonstudio/core/stampcontainer.cpp
/fonstudio/core/stampcontainer.h
/fonstudio/global.h
/fonstudio/inits/fon.xml
/fonstudio/mainwindow.cpp
/fonstudio/mainwindow.ui
/fonstudio/tree.cpp
/fonstudio/tree.h
/fonstudio/treespecies.cpp
/fonstudio/treespecies.h
33 5560d 05h Werner /fonstudio/ general handling of stamps. This includes:
* StampContainer class. encapsulates internal storage, fast access, read/write functions to binary streams
* factory-approach for creation of stamps with different size. This can be used to use specific looping routines depending on stamp size.
 
/fonstudio/core/stampcontainer.cpp
/fonstudio/core/stampcontainer.h
/fonstudio/core/grid.h
/fonstudio/core/stamp.cpp
/fonstudio/core/stamp.h
/fonstudio/fonstudio.pro
/fonstudio/global.h
/fonstudio/mainwindow.cpp
32 5560d 12h Werner /fonstudio/ grid: average() function, more const access operators.
LightRoom: mod. mode of setup (now setup with metric length instead of pixelcount),
fixed "addition of angles" bug.
added generation of "subpixel" stamps.
 
/fonstudio/core/grid.h
/fonstudio/core/stamp.cpp
/fonstudio/core/stamp.h
/fonstudio/global.h
/fonstudio/inits/fon.xml
/fonstudio/lightroom.cpp
/fonstudio/lightroom.h
/fonstudio/mainwindow.cpp
/fonstudio/tree.cpp
24 5565d 10h Werner /fonstudio/ added global.h (RAD(), GRAD()), some adaptations for hemigrid.
continued implementation of lightroom.
 
/fonstudio/global.h
/fonstudio/core/hemigrid.cpp
/fonstudio/core/hemigrid.h
/fonstudio/core/solarradiation.cpp
/fonstudio/fonstudio.pro
/fonstudio/lightroom.cpp
/fonstudio/lightroom.h
/fonstudio/mainwindow.cpp
/fonstudio/stable.h