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
591 4895d 22h werner /src/core/ scaled soil inputs to a 1ha size of the soil -> the soil engine always calculates with a full 1ha resource unit.
No additional scaling occures; i.e. outputs from the soil carbon in the Carbon-output need to be re-scaled!
 
575 4899d 00h werner /src/ * renamed toString() from IException to message() (several occurences).
* added a "name" property to the MapGridWrapper
 
574 4899d 03h werner /src/ * modified outputs to write only rows for valid resource units
* dropped setting "woodDecompRate" (snag.cpp)
* calculate the "stockableArea" of a resource unit based on the stand grid
* use the stockableArea for calculation of LAI
 
569 4904d 03h werner /src/ added a "id" for resource units (which comes from initialization grids).
fixed a bug that ru-grids only worked well on second creation of the model.
 
534 4953d 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.  
531 4957d 14h werner /src/core/ if dynamic availableNitrogen is enabled, a first value for Nav is calculated during setup (i.e.: one year of soil dynamics without input(!) is simulated). For this, a value of '1.0' for the pre-calculation a value for the climate-modifier 're' is assumed.  
530 4957d 14h werner /src/ enabled the dynamic coupling of available nitrogen from the soil module with the "available nitrogen" (fertility rating) used for calculations of species responses.  
529 4957d 15h werner /src/core/ setup initial values for soil pools (read from XML)  
526 4957d 19h werner /src/ embedding the soil model into iLand. renamed the snag decay debug output.  
521 4959d 00h werner /src/ moved snag dynamics from rus-level to ru-level  
513 4979d 23h 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).  
503 4988d 20h werner /src/ water cycle: fixed a regression with the calculation of average aging.
added "canopyConductance" as variable for resource units.
added a GUI option to change the current log level.
 
502 4989d 02h werner /src/core/ water cycle for resource units without adult trees; adapted water use for RUs with only few stands by adding "ground cover" up to LAI=1 with default characteristics.  
496 5006d 02h werner /src/core/ changed the behavior of the water-cycle wrt establishment: now the water cycle is executed even if no adult trees are on a resource unit  
484 5009d 00h werner /src/ modified release of memory of trees; QVector::resere() does not actually shrink memory; so now "squeeze()" is used.  
482 5009d 01h werner /src/core/ fixed bug that recruited trees modified the average aging calculation; added some diagnostic code here and there.  
475 5010d 00h 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);
 
461 5015d 19h werner /src/core/ fixed a bug in bookkeeping values from saplings per ru (average height/average age). little refactoring and improvement of code that deals with "SaplingMaps".  
455 5065d 01h werner /src/ changed the layout of the resourceUnitSpecies from a QVector to a QList<ResourceUnitSpecies*>. This seems to be much more appropriate. But caused many small changes throughout the project.  
454 5065d 02h werner /src/ improvements of regeneration/establishment. Looking for bug that stems obviously from copy-constructor problems (resourceUnitSpecies).  
453 5065d 15h werner /src/ sapling growth now in a basic working state. started to implement recruitment. One bug with the "maximum-establishment-height-grid" known.
added also visualization of regeneration layer. Once I have time, I should restructure the drawing/visualization code as it gets quirky (and a paper-concept is available...)
 
452 5065d 21h werner /src/ searching for a bug in the sapling growth....  
451 5065d 23h werner /src/ further development of sapling growth  
450 5066d 02h werner /src/core/ implementing sapling growth...  
438 5119d 21h werner /src/ new GridRunner class to iterate nicely over grids with different sizes.
establishment.cpp: started to integrate the whole regeneration process (including "lazy" calculation of 3pg (only if necessary)).
 
436 5120d 00h werner /src/ climate: added totalRadiation() function
production3pg.cpp: added the calculation of the f_env,yr (total environmental performance of a species)
 
431 5144d 16h 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.
 
376 5185d 02h werner /src/ calculation of an average value for aging at resource unit level.
added variable 'aging' for resource units.
changed comments.
 
370 5192d 00h werner /src/ * expansion of the logwindow on the mainwindow
* bug with multi threading: serialization using QMutexLocker when attempting to write/print the debug outputs.
* enabled painting of the visuals in modelcontroller.cpp (re-enabled??)
* changed the threshold for multi threading to 6 resource-units
* optimized StatData-class to avoid unnecessary calculations of percentiles
* several comments
 
369 5192d 03h werner /src/ * multithreading for 3pg production (crashes)
* do 3PG calculation only if this RU has some leafarea of a species (added clear() functions)
* added GUI-accessible speciesindex-variable for trees
 
367 5192d 04h werner /src/core/ changes in the watercycle.
see http://iland.boku.ac.at/tiki-view_tracker_item.php?itemId=30
the calculation of the effect on the canopy conductance is changed. Now, the combined effects of soil water and vpd response together modify the canopy conductance. In order to do this some structural changes have been necessary. Note: now the response values for vpd and soil water are calculated two times.
 
331 5322d 15h werner / changed order in which statistics are calculated: statistics of species and RUs are now cleared immediately before they are refilled (during the growth of individual trees). Now steps between (e.g. water-cycle) can access valid statistics (that are essentially the state of the end of the last year)  
298 5344d 19h werner /src/core/ comments  
287 5365d 11h werner /src/ Tree initialization (random variant). works almost...  
281 5367d 10h werner /src/ setup of the world - remodeled the init-routine in Model, changed the init of stands (also some xml-keys). added a storage for variables local to rseource units (e.g. nitrogenAvailable).  
280 5367d 16h werner /src/ Creation of the "Environment" class (loading of the "world" into iLand).
- added setter-functions to XmlHelper
- added auxiliary functions to CSVFile
- smaller changes to a bunch of other files.
 
278 5368d 08h werner /src/ Management output. Added a statisticsMgmt() for ResourceUnitSpecies. Complicated to get the order right.  
277 5368d 13h werner /src/ added "Gesamtwuchsleistung" i.e. total growth.  
265 5372d 07h werner /src/ tried to run iLand again for larger area, and got into concurrency-issues. Reasons:
* debug-messages: are now buffered in a string list and not instantly sent to the QTextEdit
* Expressions: lightResponse-formula: accessed concurrently by several threads; now there are thread-safe versions (executeLocked() and calculateLocked()) that use a QMutexLocker to properly serialize the execution flow.
 
262 5372d 16h werner /src/ added output for dead trees (StandDeadOut)