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
779 4149d 06h werner /branches/port_qt5_64bit/  
/branches/port_qt5_64bit
739 4558d 08h werner /trunk/src/core/ removed some warnings, added a ASSERT to stamp-selection (problem with
old stamps)
 
/trunk/src/core/model.cpp
/trunk/src/core/stamp.h
/trunk/src/core/standloader.cpp
705 4681d 03h 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 4689d 03h 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 4732d 07h 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 4893d 04h werner / move current content to the "trunk"  
/trunk/executable
/trunk/src
/executable
/src
487 5103d 02h werner /src/core/ some performance optimizations done on Linux with valgrind /
KCacheGrind.
stamp: did inlining of "distanceToCenter" (is still relatively expensive
due to heavy usage in e.g. applyLip)
Saplings: removed the very exensive way to check if a sapling of a
species is already on a given pixel; we now use a std::bitmap for that
purpose.
grid: optimized the "indexOf(float*)"-method; this method is used very
often.
 
/src/core/establishment.cpp
/src/core/grid.h
/src/core/resourceunit.h
/src/core/sapling.cpp
/src/core/sapling.h
/src/core/stamp.cpp
/src/core/stamp.h
401 5249d 01h werner / starting from a change in the LIP-pattern and the LIP-application a grand tour through followed.
StampContainer has now a static grid that holds distances to the stamp-center. This is used by the tree when applying a stamp.cpp
minor changes necessary due to the switch to Qt 4.6
 
/src/iland.pro
/
/src/core/stamp.cpp
/src/core/stamp.h
/src/core/stampcontainer.cpp
/src/core/stampcontainer.h
/src/core/tree.cpp
/src/iland/iland.pro
/src/tools/helper.h
400 5249d 08h werner /src/ changed the binary format of the LIP stamps (included a magic number, a version and a call to setVersion()). Changed the way of aggregating the "shadow" in the lightroom: now (again) the result value represents the mean "shadow" per meter below the 45° line.  
/src/core/stamp.cpp
/src/core/stamp.h
/src/core/stampcontainer.cpp
/src/fonstudio/lightroom.cpp
/src/fonstudio/mainwindow.cpp
/src/fonstudio/mainwindow.h
/src/fonstudio/mainwindow.ui
/src/tools/helper.h
321 5417d 10h werner /src/ * check for NaN in readLIF_torus() (Tree).
* dump() function in Stamp
* removed compiler warnings
 
/src/iland/res/document-open.png
/src/iland/res/document-save.png
/src/core/management.cpp
/src/core/stamp.cpp
/src/core/stamp.h
/src/core/tree.cpp
/src/iland/mainwindow.ui
/src/iland/res/iland.qrc
149 5501d 19h werner /src/ - drawing GUI in MainWindow
- "Opacity" of tree crowns as a function of leafarea (and crown area;
crown radius is stored in LIP-stamp).
 
/src/core/model.cpp
/src/core/stamp.cpp
/src/core/stamp.h
/src/core/stampcontainer.cpp
/src/core/tree.cpp
/src/core/tree.h
/src/iland/mainwindow.cpp
/src/iland/mainwindow.h
/src/iland/mainwindow.ui
/src/tools/expressionwrapper.cpp
145 5502d 01h Werner /src/ Run and compiled iLand on Linux (Kubuntu) with a virtual machine. The gcc on Linux issues lots of warnings which I fixed on the Linux side. Also fixed TTickTack (the clock issue).
Now iLand also runs on Linux - nice!
 
/src/core/grid.h
/src/core/model.h
/src/core/modelcontroller.cpp
/src/core/modelcontroller.h
/src/core/production3pg.h
/src/core/ressourceunit.h
/src/core/species.cpp
/src/core/species.h
/src/core/speciesset.h
/src/core/stamp.h
/src/core/stampcontainer.h
/src/core/threadrunner.h
/src/core/tree.cpp
/src/core/tree.h
/src/iland.pro
/src/iland/iland.pro
/src/iland/mainwindow.cpp
/src/iland/stable.h
/src/tools/expression.cpp
/src/tools/expression.h
/src/tools/expressionwrapper.cpp
/src/tools/expressionwrapper.h
/src/tools/globalsettings.h
/src/tools/helper.cpp
/src/tools/helper.h
/src/tools/ticktack.cpp
/src/tools/xmlhelper.cpp
/src/tools/xmlhelper.h
131 5504d 18h Werner /src/ added a 64x64 stamp while reinvoking the FonStudio  
/src/core/stamp.cpp
/src/core/stamp.h
/src/fonstudio/mainwindow.ui
83 5516d 02h 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 5516d 02h Werner / change master structure  
/src
/fonstudio
58 5558d 22h Werner /fonstudio/ working version of light alogorithnm:
* steps during read:
own_xy = 1 - writer_xy * la_factor / h_dom
value_xy = grid_xy / own_xy
lightvalue = sum( value_xy * reader_xy) [ sum(reader) = 1 ]

additional correction for overstorey:
if h > h_dom:
lightvalue = 1 - (1 - lightvalue) * h/h_dom

other issues:
* added buffer around sim. area
* cleaned xml-file and code to interpret
* fixed Viewport (handling of negative coordinates - see buffer)
* fixed StampContainer, added finalizeSetup() - (filling up of the lookup map)
 
/fonstudio/core/grid.h
/fonstudio/core/stamp.h
/fonstudio/core/stampcontainer.cpp
/fonstudio/core/stampcontainer.h
/fonstudio/inits/fon.xml
/fonstudio/mainwindow.cpp
/fonstudio/mainwindow.h
/fonstudio/mainwindow.ui
/fonstudio/tools/helper.cpp
/fonstudio/tree.cpp
/fonstudio/tree.h
47 5562d 23h Werner /fonstudio/ now to each "writer" stamp a reader stamp (i.e. the "crownradius") is directly attached. Therefore some changes in tree and treespecies.  
/fonstudio/core/stamp.cpp
/fonstudio/core/stamp.h
/fonstudio/core/stampcontainer.cpp
/fonstudio/core/stampcontainer.h
/fonstudio/mainwindow.cpp
/fonstudio/mainwindow.ui
/fonstudio/tree.cpp
/fonstudio/treespecies.cpp
/fonstudio/treespecies.h
43 5563d 02h Werner /fonstudio/ changed lightroom again to aggregate averages of shadowing along the full height (including crown).
additionally saved the value at the center which will be used for the "dominance" height of the tree.
modified file structure of binary stamp files to include dominance values.
 
/fonstudio/core/stamp.h
/fonstudio/core/stampcontainer.cpp
/fonstudio/lightroom.cpp
/fonstudio/lightroom.h
/fonstudio/mainwindow.cpp
42 5563d 02h Werner /fonstudio/ additionally storing crown radius in stamp file.
readout of stamps using radius-stamps.
 
/fonstudio/core/stamp.cpp
/fonstudio/core/stamp.h
/fonstudio/core/stampcontainer.cpp
/fonstudio/lightroom.h
/fonstudio/mainwindow.cpp
/fonstudio/tree.cpp
40 5563d 20h Werner /fonstudio/ reading out of stamp values.
lots of additional small changes.
 
/fonstudio/core/grid.h
/fonstudio/core/hemigrid.cpp
/fonstudio/core/stamp.h
/fonstudio/core/stampcontainer.cpp
/fonstudio/core/stampcontainer.h
/fonstudio/inits/fon.xml
/fonstudio/mainwindow.cpp
/fonstudio/mainwindow.h
/fonstudio/mainwindow.ui
/fonstudio/paintarea.cpp
/fonstudio/paintarea.h
/fonstudio/tools/helper.cpp
/fonstudio/tools/helper.h
/fonstudio/tree.cpp
/fonstudio/tree.h
/fonstudio/treespecies.cpp
/fonstudio/treespecies.h

Show All