diff --git a/Event_Files/Events_example.yml b/Event_Files/Events_example.yml index c965f80..359efbb 100644 --- a/Event_Files/Events_example.yml +++ b/Event_Files/Events_example.yml @@ -1,13 +1,12 @@ 2: - Region: - name: test1 - size: 100 + size: 10 shape: circle #circle or square x: 0.0 y: 0.0 light: 14 gravity: 15 - atmosphere: 16 3: - Region: - name: test1 @@ -15,18 +14,16 @@ shape: square #circle or square x: 22 y: 23 - light: 24 - gravity: 25 - atmosphere: 26 - + light: 14 + gravity: 25 5: - Seed: - - species: Abies alba.yml + - species: random placement: hex number: 100 10: - Seed: - - species: Abies alba.yml + - species: random placement: random number: 1000 - Safezone: diff --git a/Event_Files/waterLevelRisingSTH.yml b/Event_Files/waterLevelRisingSTH.yml new file mode 100644 index 0000000..fb3e1ef --- /dev/null +++ b/Event_Files/waterLevelRisingSTH.yml @@ -0,0 +1,32 @@ +25: + - Garden: + - waterLevel: 1.0 +30: + - Garden: + - waterLevel: 5.0 +35: + - Garden: + - waterLevel: 10.0 +40: + - Garden: + - waterLevel: 15.0 +45: + - Garden: + - waterLevel: 20.0 +50: + - Garden: + - waterLevel: 25.0 +55: + - Garden: + - waterLevel: 30.0 +60: + - Garden: + - waterLevel: 35.0 +65: + - Garden: + - waterLevel: 40.0 +70: + - Garden: + - waterLevel: 45.0 + + diff --git a/Placement_Files/debug-edgePlacement-allEdges.csv b/Placement_Files/debug-edgePlacement-allEdges.csv new file mode 100644 index 0000000..d54fe82 --- /dev/null +++ b/Placement_Files/debug-edgePlacement-allEdges.csv @@ -0,0 +1,401 @@ +random,-50,50,0 +random,-50,49,0 +random,-50,48,0 +random,-50,47,0 +random,-50,46,0 +random,-50,45,0 +random,-50,44,0 +random,-50,43,0 +random,-50,42,0 +random,-50,41,0 +random,-50,40,0 +random,-50,39,0 +random,-50,38,0 +random,-50,37,0 +random,-50,36,0 +random,-50,35,0 +random,-50,34,0 +random,-50,33,0 +random,-50,32,0 +random,-50,31,0 +random,-50,30,0 +random,-50,29,0 +random,-50,28,0 +random,-50,27,0 +random,-50,26,0 +random,-50,25,0 +random,-50,24,0 +random,-50,23,0 +random,-50,22,0 +random,-50,21,0 +random,-50,20,0 +random,-50,19,0 +random,-50,18,0 +random,-50,17,0 +random,-50,16,0 +random,-50,15,0 +random,-50,14,0 +random,-50,13,0 +random,-50,12,0 +random,-50,11,0 +random,-50,10,0 +random,-50,9,0 +random,-50,8,0 +random,-50,7,0 +random,-50,6,0 +random,-50,5,0 +random,-50,4,0 +random,-50,3,0 +random,-50,2,0 +random,-50,1,0 +random,-50,0,0 +random,-50,-1,0 +random,-50,-2,0 +random,-50,-3,0 +random,-50,-4,0 +random,-50,-5,0 +random,-50,-6,0 +random,-50,-7,0 +random,-50,-8,0 +random,-50,-9,0 +random,-50,-10,0 +random,-50,-11,0 +random,-50,-12,0 +random,-50,-13,0 +random,-50,-14,0 +random,-50,-15,0 +random,-50,-16,0 +random,-50,-17,0 +random,-50,-18,0 +random,-50,-19,0 +random,-50,-20,0 +random,-50,-21,0 +random,-50,-22,0 +random,-50,-23,0 +random,-50,-24,0 +random,-50,-25,0 +random,-50,-26,0 +random,-50,-27,0 +random,-50,-28,0 +random,-50,-29,0 +random,-50,-30,0 +random,-50,-31,0 +random,-50,-32,0 +random,-50,-33,0 +random,-50,-34,0 +random,-50,-35,0 +random,-50,-36,0 +random,-50,-37,0 +random,-50,-38,0 +random,-50,-39,0 +random,-50,-40,0 +random,-50,-41,0 +random,-50,-42,0 +random,-50,-43,0 +random,-50,-44,0 +random,-50,-45,0 +random,-50,-46,0 +random,-50,-47,0 +random,-50,-48,0 +random,-50,-49,0 +random,50,-50,0 +random,49,-50,0 +random,48,-50,0 +random,47,-50,0 +random,46,-50,0 +random,45,-50,0 +random,44,-50,0 +random,43,-50,0 +random,42,-50,0 +random,41,-50,0 +random,40,-50,0 +random,39,-50,0 +random,38,-50,0 +random,37,-50,0 +random,36,-50,0 +random,35,-50,0 +random,34,-50,0 +random,33,-50,0 +random,32,-50,0 +random,31,-50,0 +random,30,-50,0 +random,29,-50,0 +random,28,-50,0 +random,27,-50,0 +random,26,-50,0 +random,25,-50,0 +random,24,-50,0 +random,23,-50,0 +random,22,-50,0 +random,21,-50,0 +random,20,-50,0 +random,19,-50,0 +random,18,-50,0 +random,17,-50,0 +random,16,-50,0 +random,15,-50,0 +random,14,-50,0 +random,13,-50,0 +random,12,-50,0 +random,11,-50,0 +random,10,-50,0 +random,9,-50,0 +random,8,-50,0 +random,7,-50,0 +random,6,-50,0 +random,5,-50,0 +random,4,-50,0 +random,3,-50,0 +random,2,-50,0 +random,1,-50,0 +random,0,-50,0 +random,-1,-50,0 +random,-2,-50,0 +random,-3,-50,0 +random,-4,-50,0 +random,-5,-50,0 +random,-6,-50,0 +random,-7,-50,0 +random,-8,-50,0 +random,-9,-50,0 +random,-10,-50,0 +random,-11,-50,0 +random,-12,-50,0 +random,-13,-50,0 +random,-14,-50,0 +random,-15,-50,0 +random,-16,-50,0 +random,-17,-50,0 +random,-18,-50,0 +random,-19,-50,0 +random,-20,-50,0 +random,-21,-50,0 +random,-22,-50,0 +random,-23,-50,0 +random,-24,-50,0 +random,-25,-50,0 +random,-26,-50,0 +random,-27,-50,0 +random,-28,-50,0 +random,-29,-50,0 +random,-30,-50,0 +random,-31,-50,0 +random,-32,-50,0 +random,-33,-50,0 +random,-34,-50,0 +random,-35,-50,0 +random,-36,-50,0 +random,-37,-50,0 +random,-38,-50,0 +random,-39,-50,0 +random,-40,-50,0 +random,-41,-50,0 +random,-42,-50,0 +random,-43,-50,0 +random,-44,-50,0 +random,-45,-50,0 +random,-46,-50,0 +random,-47,-50,0 +random,-48,-50,0 +random,-49,-50,0 +random,-50,-50,0 +random,50,50,0 +random,50,49,0 +random,50,48,0 +random,50,47,0 +random,50,46,0 +random,50,45,0 +random,50,44,0 +random,50,43,0 +random,50,42,0 +random,50,41,0 +random,50,40,0 +random,50,39,0 +random,50,38,0 +random,50,37,0 +random,50,36,0 +random,50,35,0 +random,50,34,0 +random,50,33,0 +random,50,32,0 +random,50,31,0 +random,50,30,0 +random,50,29,0 +random,50,28,0 +random,50,27,0 +random,50,26,0 +random,50,25,0 +random,50,24,0 +random,50,23,0 +random,50,22,0 +random,50,21,0 +random,50,20,0 +random,50,19,0 +random,50,18,0 +random,50,17,0 +random,50,16,0 +random,50,15,0 +random,50,14,0 +random,50,13,0 +random,50,12,0 +random,50,11,0 +random,50,10,0 +random,50,9,0 +random,50,8,0 +random,50,7,0 +random,50,6,0 +random,50,5,0 +random,50,4,0 +random,50,3,0 +random,50,2,0 +random,50,1,0 +random,50,0,0 +random,50,-1,0 +random,50,-2,0 +random,50,-3,0 +random,50,-4,0 +random,50,-5,0 +random,50,-6,0 +random,50,-7,0 +random,50,-8,0 +random,50,-9,0 +random,50,-10,0 +random,50,-11,0 +random,50,-12,0 +random,50,-13,0 +random,50,-14,0 +random,50,-15,0 +random,50,-16,0 +random,50,-17,0 +random,50,-18,0 +random,50,-19,0 +random,50,-20,0 +random,50,-21,0 +random,50,-22,0 +random,50,-23,0 +random,50,-24,0 +random,50,-25,0 +random,50,-26,0 +random,50,-27,0 +random,50,-28,0 +random,50,-29,0 +random,50,-30,0 +random,50,-31,0 +random,50,-32,0 +random,50,-33,0 +random,50,-34,0 +random,50,-35,0 +random,50,-36,0 +random,50,-37,0 +random,50,-38,0 +random,50,-39,0 +random,50,-40,0 +random,50,-41,0 +random,50,-42,0 +random,50,-43,0 +random,50,-44,0 +random,50,-45,0 +random,50,-46,0 +random,50,-47,0 +random,50,-48,0 +random,50,-49,0 +random,50,50,0 +random,49,50,0 +random,48,50,0 +random,47,50,0 +random,46,50,0 +random,45,50,0 +random,44,50,0 +random,43,50,0 +random,42,50,0 +random,41,50,0 +random,40,50,0 +random,39,50,0 +random,38,50,0 +random,37,50,0 +random,36,50,0 +random,35,50,0 +random,34,50,0 +random,33,50,0 +random,32,50,0 +random,31,50,0 +random,30,50,0 +random,29,50,0 +random,28,50,0 +random,27,50,0 +random,26,50,0 +random,25,50,0 +random,24,50,0 +random,23,50,0 +random,22,50,0 +random,21,50,0 +random,20,50,0 +random,19,50,0 +random,18,50,0 +random,17,50,0 +random,16,50,0 +random,15,50,0 +random,14,50,0 +random,13,50,0 +random,12,50,0 +random,11,50,0 +random,10,50,0 +random,9,50,0 +random,8,50,0 +random,7,50,0 +random,6,50,0 +random,5,50,0 +random,4,50,0 +random,3,50,0 +random,2,50,0 +random,1,50,0 +random,0,50,0 +random,-1,50,0 +random,-2,50,0 +random,-3,50,0 +random,-4,50,0 +random,-5,50,0 +random,-6,50,0 +random,-7,50,0 +random,-8,50,0 +random,-9,50,0 +random,-10,50,0 +random,-11,50,0 +random,-12,50,0 +random,-13,50,0 +random,-14,50,0 +random,-15,50,0 +random,-16,50,0 +random,-17,50,0 +random,-18,50,0 +random,-19,50,0 +random,-20,50,0 +random,-21,50,0 +random,-22,50,0 +random,-23,50,0 +random,-24,50,0 +random,-25,50,0 +random,-26,50,0 +random,-27,50,0 +random,-28,50,0 +random,-29,50,0 +random,-30,50,0 +random,-31,50,0 +random,-32,50,0 +random,-33,50,0 +random,-34,50,0 +random,-35,50,0 +random,-36,50,0 +random,-37,50,0 +random,-38,50,0 +random,-39,50,0 +random,-40,50,0 +random,-41,50,0 +random,-42,50,0 +random,-43,50,0 +random,-44,50,0 +random,-45,50,0 +random,-46,50,0 +random,-47,50,0 +random,-48,50,0 +random,-49,50,0 \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..283f8a1 --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ + +VIDA - Tree and Forest Growth Simulation Software +---------- + +VIDA is a software suite that attempts to model the growth of individual trees using empiriclly derived--or randomly chosen--values for use with allometric relationships. By modeling the behavior of an individual tree, it is possible to model population dynamics in a spatially explicit simulationspace. + +This is a development release. + +email: seanth@gmail.com + +DEPENDENCIES/REQUIREMENTS +---------- + •Python v3.11 + •pyYAML v5.3 + •ContextFree v3.4.2 (optional. Needed to generate graphics) + Apple users can make use of Homebrew (http://brew.sh/) to install the command line version of cfdg using the following commands: + brew tap kn1kn1/cfdg + brew install cfdg + •ffmpeg (optional. Needed to generate videos from graphics) + •assimp (optional. Used to convert dxf files into stl) + + There are environment.yml(for conda) and requirements.txt(for pip) files included. Context Free must be installed independently. + +HOW TO USE +---------- +After installing all the dependencies necessary, simply cd to the VIDA folder and, in the simplest form, type: + + >python VIDA.py + +For more information, including command line options and ways to make species, event files and define planting locations, please see VIDA HOWTO.txt + +EXAMPLES +-------- +For more examples, including command line options and ways to make species, event files and define planting locations, please see VIDA HOWTO.txt diff --git a/Species/Abies_balsamea_species4.yml b/Species/2021 Terrain and water Project/Abies_balsamea_species4.yml similarity index 100% rename from Species/Abies_balsamea_species4.yml rename to Species/2021 Terrain and water Project/Abies_balsamea_species4.yml diff --git a/Species/Acer_rubrum_species14.yml b/Species/2021 Terrain and water Project/Acer_rubrum_species14.yml similarity index 100% rename from Species/Acer_rubrum_species14.yml rename to Species/2021 Terrain and water Project/Acer_rubrum_species14.yml diff --git a/Species/Acer_saccharum_species16-sth.yml b/Species/2021 Terrain and water Project/Acer_saccharum_species16-sth.yml similarity index 100% rename from Species/Acer_saccharum_species16-sth.yml rename to Species/2021 Terrain and water Project/Acer_saccharum_species16-sth.yml diff --git a/Species/Betula_alleghaniensis_species20.yml b/Species/2021 Terrain and water Project/Betula_alleghaniensis_species20.yml similarity index 100% rename from Species/Betula_alleghaniensis_species20.yml rename to Species/2021 Terrain and water Project/Betula_alleghaniensis_species20.yml diff --git a/Species/Betula_papyrifera_species12.yml b/Species/2021 Terrain and water Project/Betula_papyrifera_species12.yml similarity index 100% rename from Species/Betula_papyrifera_species12.yml rename to Species/2021 Terrain and water Project/Betula_papyrifera_species12.yml diff --git a/Species/Fraxinus_nigra_species6.yml b/Species/2021 Terrain and water Project/Fraxinus_nigra_species6.yml similarity index 100% rename from Species/Fraxinus_nigra_species6.yml rename to Species/2021 Terrain and water Project/Fraxinus_nigra_species6.yml diff --git a/Species/Larix_laricina_species17.yml b/Species/2021 Terrain and water Project/Larix_laricina_species17.yml similarity index 100% rename from Species/Larix_laricina_species17.yml rename to Species/2021 Terrain and water Project/Larix_laricina_species17.yml diff --git a/Species/Picea_mariana_species7.yml b/Species/2021 Terrain and water Project/Picea_mariana_species7.yml similarity index 100% rename from Species/Picea_mariana_species7.yml rename to Species/2021 Terrain and water Project/Picea_mariana_species7.yml diff --git a/Species/Populus_grandidentata_species5.yml b/Species/2021 Terrain and water Project/Populus_grandidentata_species5.yml similarity index 100% rename from Species/Populus_grandidentata_species5.yml rename to Species/2021 Terrain and water Project/Populus_grandidentata_species5.yml diff --git a/Species/Populus_tremuloides_species13.yml b/Species/2021 Terrain and water Project/Populus_tremuloides_species13.yml similarity index 100% rename from Species/Populus_tremuloides_species13.yml rename to Species/2021 Terrain and water Project/Populus_tremuloides_species13.yml diff --git a/Species/Quercus_rubra_species11.yml b/Species/2021 Terrain and water Project/Quercus_rubra_species11.yml similarity index 100% rename from Species/Quercus_rubra_species11.yml rename to Species/2021 Terrain and water Project/Quercus_rubra_species11.yml diff --git a/Species/Tilia_americana_species2.yml b/Species/2021 Terrain and water Project/Tilia_americana_species2.yml similarity index 100% rename from Species/Tilia_americana_species2.yml rename to Species/2021 Terrain and water Project/Tilia_americana_species2.yml diff --git a/Species/Example.yml b/Species/Example.yml new file mode 100644 index 0000000..f31f029 --- /dev/null +++ b/Species/Example.yml @@ -0,0 +1,65 @@ +nameSpecies: SimpleExample +creator: seanth@gmail.com +comments: Based off the Abies alba species generated using Cannell data set. 11.11.10 + +###Basic +densityStem: 718.90 #Lavers 1967 Wood properties +densityLeaf: 923.43 +densitySeed: 359.45 #assume density is half as stem +canopyTransmittance: 0.02 +fractionMinimumSurvival: 0.2 +heightLeafMax: 0.000296 +heightStemMax: 42.69821 +youngsModulusStem: 7.4 #GPa-Lavers 1967 Wood properties + +###Reproduction +makeSeeds: TRUE +fractionSelfishness: 0.5 +reproductionConstant: 0.09974943 +reproductionExponent: 1.09777536 +numYearsGrowthMemory: 2 +massSeedMax: 0.60 +locSeedFormation: [1.0, 0.0] +seedDispersalMethod: [4, 45, 5] +delayInGermination: 0 +randomSlowGrowth: 0.0 +minimumLightForGermination: 0.0 #unused +fractionFailGerminate: 0.0 + +###Graphics +leafIsHemisphere: TRUE +radiusStemMultiplier: 1 +radiusLeafMultiplier: 1 +radiusSeedMultiplier: 5 +borderImagePercent: 25 +colourSpecies: [0.0, 0.0, 0.0] #black +colourLeaf: [116.6, 1.0, 1.0] +colourStem: [20.0, 0.9 , 0.5] +colourSeedDispersed: [240.0, 0.343, 0.5] +colourSeedAttached: [300.0, 0.9, 0.5] +###testing different canopy shapes in 3d output +crownShape: ELIP #from maestra: cone, elip, para, round, cyl. Only ELIP and PARA work right now +boleHeight: 80 #used only when the 3dCrownShape is not ELIP. % of total plant heght + +###Photosynthesis +photoConstant: 1.531 +photoExponent: -0.4602 +canopyTransmittanceImpactsConversion: FALSE + +###Allometry +fractionCarbonToSeeds: 1.0 +fractMassSeedMaxToGerm: 0.8 +fractionSeedMassToPlant: 0.000045 #seedling will avg 0.000027kg +fractionCarbonToStem: 0.99 +speciesConstant1: 0.94119204 +speciesExponent1: 1.00133354 +speciesConstant2: 0.03970297 +speciesExponent2: 1.19822771 +speciesConstant3: 0.03970297 #0.24834698 +speciesExponent3: 1.19822771 #0.73063124 +speciesConstant20: 0.029 #0.03599987 +speciesExponent20: 0.39415386 +speciesConstant6: 0.0 #0.15 +speciesConstant7: 100.064153 +speciesExponent7: 1.08090778 +speciesConstant8: 15.508049 \ No newline at end of file diff --git a/Species/Acer_saccharum_species16.yml b/Species/Terrain and Water Project/Acer_saccharum_species16.yml similarity index 100% rename from Species/Acer_saccharum_species16.yml rename to Species/Terrain and Water Project/Acer_saccharum_species16.yml diff --git a/Species/species10.yml b/Species/Terrain and Water Project/species10.yml similarity index 100% rename from Species/species10.yml rename to Species/Terrain and Water Project/species10.yml diff --git a/Species/species15.yml b/Species/Terrain and Water Project/species15.yml similarity index 100% rename from Species/species15.yml rename to Species/Terrain and Water Project/species15.yml diff --git a/Species/species17.yml b/Species/Terrain and Water Project/species17.yml similarity index 100% rename from Species/species17.yml rename to Species/Terrain and Water Project/species17.yml diff --git a/Species/species18.yml b/Species/Terrain and Water Project/species18.yml similarity index 100% rename from Species/species18.yml rename to Species/Terrain and Water Project/species18.yml diff --git a/Species/species19.yml b/Species/Terrain and Water Project/species19.yml similarity index 100% rename from Species/species19.yml rename to Species/Terrain and Water Project/species19.yml diff --git a/Species/species21.yml b/Species/Terrain and Water Project/species21.yml similarity index 100% rename from Species/species21.yml rename to Species/Terrain and Water Project/species21.yml diff --git a/Species/species22.yml b/Species/Terrain and Water Project/species22.yml similarity index 100% rename from Species/species22.yml rename to Species/Terrain and Water Project/species22.yml diff --git a/Species/species3.yml b/Species/Terrain and Water Project/species3.yml similarity index 100% rename from Species/species3.yml rename to Species/Terrain and Water Project/species3.yml diff --git a/Species/species8.yml b/Species/Terrain and Water Project/species8.yml similarity index 100% rename from Species/species8.yml rename to Species/Terrain and Water Project/species8.yml diff --git a/Species/species9.yml b/Species/Terrain and Water Project/species9.yml similarity index 100% rename from Species/species9.yml rename to Species/Terrain and Water Project/species9.yml diff --git a/Terrain_files/3000x3000x_100cell_sq_ID/emidalat_3000x3000mClip1.tif.aux.xml b/Terrain_files/3000x3000x_100cell_sq_ID/emidalat_3000x3000mClip1.tif.aux.xml deleted file mode 100755 index dcb5466..0000000 --- a/Terrain_files/3000x3000x_100cell_sq_ID/emidalat_3000x3000mClip1.tif.aux.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - NEAREST - - - - - -0.5 - 255.5 - 256 - 1 - 0 - 57|76|66|130|76|70|174|74|196|67|102|199|97|86|182|107|239|94|115|195|84|182|80|93|165|83|179|91|89|183|95|213|97|92|204|96|85|145|80|150|66|79|150|66|129|66|76|134|63|124|71|62|128|66|39|100|56|99|49|44|96|47|89|45|48|79|29|65|38|35|76|39|64|30|39|54|31|35|53|30|71|20|21|49|27|61|24|21|46|22|39|21|28|45|23|24|42|20|43|22|20|53|20|30|17|26|31|14|39|15|15|33|20|27|13|17|26|6|14|31|11|35|11|18|24|13|24|15|17|32|9|21|11|12|33|10|19|25|11|28|10|24|28|17|23|11|7|18|15|23|13|9|21|10|8|12|10|25|11|10|15|7|18|7|10|14|11|10|6|9|9|9|18|7|6|11|2|6|9|5|13|3|8|15|1|7|8|4|8|3|12|4|7|7|6|3|6|2|8|5|5|10|6|6|1|1|10|3|12|4|1|7|4|7|3|6|6|2|5|4|5|4|2|7|7|2|5|3|3|6|2|4|4|4|5|3|1|6|3|4|3|6|3|2|3|2|1|8|1|5|3|1|4|2|5|52 - - - - 2718.827665156515,2718.827665156518,2718.827665156518 - - 255 - 57.6569 - 0 - 1 - 1 - 52.142378783064 - - - - - - -0.5 - 255.5 - 256 - 1 - 0 - 57|76|66|130|76|70|174|74|196|67|102|199|97|86|182|107|239|94|115|195|84|182|80|93|165|83|179|91|89|183|95|213|97|92|204|96|85|145|80|150|66|79|150|66|129|66|76|134|63|124|71|62|128|66|39|100|56|99|49|44|96|47|89|45|48|79|29|65|38|35|76|39|64|30|39|54|31|35|53|30|71|20|21|49|27|61|24|21|46|22|39|21|28|45|23|24|42|20|43|22|20|53|20|30|17|26|31|14|39|15|15|33|20|27|13|17|26|6|14|31|11|35|11|18|24|13|24|15|17|32|9|21|11|12|33|10|19|25|11|28|10|24|28|17|23|11|7|18|15|23|13|9|21|10|8|12|10|25|11|10|15|7|18|7|10|14|11|10|6|9|9|9|18|7|6|11|2|6|9|5|13|3|8|15|1|7|8|4|8|3|12|4|7|7|6|3|6|2|8|5|5|10|6|6|1|1|10|3|12|4|1|7|4|7|3|6|6|2|5|4|5|4|2|7|7|2|5|3|3|6|2|4|4|4|5|3|1|6|3|4|3|6|3|2|3|2|1|8|1|5|3|1|4|2|5|52 - - - - 2718.827665156518,2718.827665156515,2718.827665156518 - - 255 - 57.6569 - 0 - 1 - 1 - 52.142378783064 - - - - - - -0.5 - 255.5 - 256 - 1 - 0 - 57|76|66|130|76|70|174|74|196|67|102|199|97|86|182|107|239|94|115|195|84|182|80|93|165|83|179|91|89|183|95|213|97|92|204|96|85|145|80|150|66|79|150|66|129|66|76|134|63|124|71|62|128|66|39|100|56|99|49|44|96|47|89|45|48|79|29|65|38|35|76|39|64|30|39|54|31|35|53|30|71|20|21|49|27|61|24|21|46|22|39|21|28|45|23|24|42|20|43|22|20|53|20|30|17|26|31|14|39|15|15|33|20|27|13|17|26|6|14|31|11|35|11|18|24|13|24|15|17|32|9|21|11|12|33|10|19|25|11|28|10|24|28|17|23|11|7|18|15|23|13|9|21|10|8|12|10|25|11|10|15|7|18|7|10|14|11|10|6|9|9|9|18|7|6|11|2|6|9|5|13|3|8|15|1|7|8|4|8|3|12|4|7|7|6|3|6|2|8|5|5|10|6|6|1|1|10|3|12|4|1|7|4|7|3|6|6|2|5|4|5|4|2|7|7|2|5|3|3|6|2|4|4|4|5|3|1|6|3|4|3|6|3|2|3|2|1|8|1|5|3|1|4|2|5|52 - - - - 2718.827665156518,2718.827665156518,2718.827665156515 - - 255 - 57.6569 - 0 - 1 - 1 - 52.142378783064 - - - diff --git a/Terrain_files/3000x3000x_100cell_sq_ID/rastert_emidala1_TableToExcel.asc b/Terrain_files/3000x3000x_100cell_sq_ID/rastert_emidala1_TableToExcel.asc deleted file mode 100644 index 162faa7..0000000 --- a/Terrain_files/3000x3000x_100cell_sq_ID/rastert_emidala1_TableToExcel.asc +++ /dev/null @@ -1,106 +0,0 @@ -ncols 100 -nrows 100 -xllcorner 530535 -yllcorner 5214435 -cellsize 30 -NODATA_value -9999 -883 886 889 893 897 900 901 902 901 900 899 897 894 890 887 886 885 882 877 873 869 867 864 863 862 862 862 862 862 865 865 866 869 874 882 889 894 897 898 900 903 908 913 917 919 919 917 916 918 924 931 938 944 947 948 949 951 952 954 956 959 962 964 967 971 975 978 983 988 995 1003 1011 1018 1023 1029 1036 1045 1053 1064 1077 1089 1099 1110 1122 1134 1144 1149 1153 1157 1161 1163 1165 1167 1173 1181 1188 1195 1201 1207 1214 -884 886 889 893 896 899 901 902 902 902 901 899 896 893 889 887 885 881 876 871 868 865 863 862 862 862 862 862 863 865 865 866 869 874 881 887 890 892 894 897 900 904 909 914 916 915 913 913 915 921 928 935 940 942 943 944 946 949 952 955 959 964 967 969 972 976 979 984 989 997 1005 1013 1020 1026 1033 1041 1049 1058 1068 1081 1094 1103 1114 1127 1141 1152 1160 1166 1170 1174 1176 1177 1179 1183 1191 1199 1204 1210 1217 1224 -883 885 888 891 895 897 900 902 904 904 904 902 899 895 891 889 886 881 875 870 866 864 862 862 862 862 862 862 864 864 865 867 870 874 880 884 887 889 891 894 897 902 907 911 913 912 910 910 913 919 926 932 935 937 938 939 941 945 950 954 960 965 969 971 975 978 981 985 991 999 1007 1015 1022 1030 1038 1047 1055 1063 1074 1086 1098 1108 1119 1133 1147 1160 1169 1176 1182 1187 1191 1193 1195 1199 1205 1212 1218 1224 1230 1237 -882 884 887 890 893 895 898 901 904 906 906 904 901 898 894 891 887 882 876 871 867 864 862 862 862 862 862 863 865 865 866 867 870 874 878 882 885 888 891 895 898 902 906 910 912 910 908 908 912 918 924 930 933 933 934 935 937 941 947 953 960 966 970 973 976 980 984 988 993 1000 1008 1016 1024 1033 1042 1052 1060 1070 1080 1091 1102 1113 1125 1139 1154 1166 1176 1184 1191 1199 1205 1209 1212 1215 1219 1225 1232 1239 1244 1248 -883 885 887 889 891 893 896 900 904 907 907 906 904 900 896 893 889 884 879 874 869 865 863 862 862 864 863 865 866 866 866 867 869 873 876 879 883 887 892 896 900 903 906 910 911 909 907 907 911 917 923 928 930 930 930 931 933 938 944 951 959 963 968 971 975 979 983 987 993 1000 1008 1016 1024 1034 1044 1054 1063 1073 1083 1093 1104 1115 1128 1142 1155 1170 1179 1189 1198 1208 1216 1221 1224 1226 1228 1234 1241 1247 1251 1253 -884 885 887 889 890 891 895 900 904 907 908 907 905 902 898 894 890 885 881 876 871 867 864 863 863 864 865 866 866 866 867 868 870 872 875 877 881 886 892 896 900 902 905 908 909 907 906 907 910 915 921 925 926 926 927 928 931 936 942 948 954 959 963 966 970 974 979 984 990 997 1005 1013 1022 1033 1043 1053 1063 1072 1082 1092 1103 1115 1128 1141 1154 1167 1178 1188 1199 1210 1219 1224 1226 1228 1230 1235 1241 1246 1249 1249 -886 888 890 891 891 892 895 900 904 906 906 905 903 900 897 893 889 884 879 875 872 869 867 865 864 864 864 865 865 866 867 869 871 873 874 876 879 885 890 895 898 901 903 905 905 904 905 907 910 914 918 921 922 923 924 926 929 934 939 945 949 953 956 960 964 969 974 979 986 994 1002 1011 1020 1030 1041 1051 1061 1071 1081 1091 1102 1115 1128 1141 1153 1163 1175 1187 1199 1210 1219 1224 1225 1226 1228 1233 1238 1243 1245 1243 -889 891 894 894 894 894 897 900 904 905 905 903 901 898 895 892 887 882 877 874 872 871 870 867 864 863 863 863 864 866 868 870 872 874 875 876 879 883 889 893 896 898 900 901 901 901 903 907 910 913 916 918 919 920 921 924 928 932 936 941 945 948 950 954 959 964 969 975 982 991 1001 1010 1018 1027 1039 1050 1061 1070 1080 1092 1104 1117 1130 1143 1153 1163 1174 1185 1197 1207 1215 1217 1218 1219 1221 1226 1231 1236 1238 1235 -891 894 897 897 897 896 898 901 904 905 904 902 900 897 893 890 885 880 876 873 872 873 872 869 866 864 863 863 864 866 868 870 872 874 876 878 880 884 888 891 893 895 897 899 898 899 901 905 909 912 914 917 918 919 921 923 926 929 932 936 940 942 945 949 955 961 967 975 983 992 1002 1011 1019 1028 1038 1049 1060 1070 1081 1093 1106 1119 1134 1146 1156 1164 1174 1185 1195 1202 1207 1208 1207 1208 1211 1216 1223 1228 1230 1226 -893 896 898 899 899 899 900 902 904 905 904 902 899 896 892 887 882 878 875 873 873 874 874 871 868 865 863 863 864 866 868 870 872 875 877 880 883 885 887 888 890 892 895 896 896 897 899 903 907 910 913 916 917 918 920 922 924 926 929 932 935 938 940 945 952 959 966 975 983 993 1003 1013 1020 1029 1038 1049 1059 1070 1082 1095 1110 1123 1136 1148 1158 1165 1174 1183 1192 1198 1200 1199 1196 1196 1200 1206 1213 1220 1223 1218 -896 898 900 901 902 902 903 904 905 905 903 901 898 895 890 885 880 876 875 875 875 875 875 873 870 866 864 863 864 866 868 870 872 874 877 880 883 885 886 887 889 891 894 895 896 897 899 902 905 909 912 914 916 917 919 921 922 924 927 930 932 934 936 941 948 956 964 974 983 992 1002 1012 1021 1029 1039 1049 1060 1071 1083 1096 1109 1121 1134 1146 1155 1162 1170 1180 1189 1194 1194 1190 1185 1183 1187 1194 1203 1212 1215 1210 -900 901 903 904 904 904 905 905 906 905 903 899 895 891 886 882 879 878 878 878 877 877 875 873 871 868 867 866 865 865 867 868 870 872 874 878 881 884 885 887 890 892 895 897 897 899 901 903 905 907 910 912 914 916 918 919 921 923 926 929 931 932 934 938 944 952 961 972 982 990 1000 1010 1020 1029 1040 1051 1062 1073 1085 1096 1108 1118 1129 1141 1150 1158 1167 1177 1186 1190 1188 1181 1174 1170 1174 1183 1194 1203 1207 1202 -904 905 906 906 906 906 907 907 907 906 902 897 892 887 882 880 879 880 881 881 880 878 876 874 872 870 869 868 866 865 866 867 868 869 871 875 878 882 884 888 891 894 897 898 899 901 903 905 906 907 909 911 913 916 918 919 921 924 928 931 933 934 936 939 944 950 958 968 977 986 996 1008 1019 1030 1041 1053 1064 1075 1085 1095 1104 1112 1121 1131 1142 1152 1163 1174 1181 1184 1180 1171 1163 1160 1164 1175 1187 1196 1198 1193 -907 909 909 908 908 908 908 908 907 906 902 896 890 885 880 879 881 883 884 884 882 880 877 875 873 872 871 869 866 865 866 867 868 869 870 873 876 879 883 888 892 896 899 901 903 906 909 910 911 912 913 915 916 919 921 924 926 929 934 938 941 943 945 946 949 952 955 961 969 979 991 1004 1018 1031 1044 1057 1067 1077 1085 1092 1098 1103 1110 1119 1131 1145 1160 1171 1176 1176 1170 1161 1153 1151 1157 1169 1180 1188 1189 1182 -908 910 910 909 909 908 907 907 906 905 901 896 890 884 880 881 883 886 887 886 884 882 879 877 875 874 872 869 866 865 866 867 868 869 870 872 874 877 882 888 893 897 901 904 907 911 914 916 917 917 917 918 920 922 926 929 932 936 941 946 950 953 955 955 955 955 954 955 961 971 985 1001 1016 1031 1046 1058 1068 1077 1083 1088 1091 1094 1099 1106 1119 1138 1155 1167 1171 1169 1162 1152 1144 1142 1150 1162 1173 1179 1179 1171 -909 910 911 910 909 908 906 906 905 904 900 896 890 885 881 883 886 888 889 888 886 884 881 878 877 875 872 869 866 865 866 867 868 869 870 871 872 875 880 887 892 897 901 905 909 914 918 919 919 919 920 921 923 926 929 933 937 942 948 953 957 960 961 961 960 959 957 955 959 967 979 994 1009 1024 1039 1051 1061 1069 1075 1078 1081 1085 1090 1099 1112 1130 1147 1159 1164 1163 1155 1146 1136 1133 1141 1154 1164 1168 1167 1159 -908 909 910 910 909 908 907 906 904 902 898 893 889 886 884 885 888 889 889 888 886 884 881 878 877 875 872 869 866 866 866 867 867 867 869 869 870 872 877 883 889 894 899 904 909 914 917 919 919 919 921 923 926 929 932 936 942 948 953 958 962 964 965 965 964 963 961 959 960 965 974 987 1001 1015 1029 1041 1051 1059 1064 1067 1070 1075 1083 1093 1107 1123 1139 1151 1157 1157 1150 1140 1129 1125 1133 1145 1154 1157 1154 1147 -906 908 909 909 909 908 907 906 904 900 895 890 887 886 887 888 889 889 888 887 886 883 880 878 877 875 872 868 866 866 866 866 866 866 867 868 868 869 873 879 886 891 897 903 908 912 916 918 918 919 921 924 928 932 935 938 945 952 957 961 964 966 967 967 967 967 965 963 963 965 971 981 993 1006 1019 1032 1042 1050 1055 1058 1062 1068 1078 1089 1104 1119 1133 1144 1151 1151 1144 1134 1123 1118 1124 1134 1143 1145 1142 1135 -904 906 908 909 909 909 908 906 903 899 893 888 887 888 890 890 890 890 889 888 886 884 881 878 877 875 872 868 866 866 866 866 866 866 867 867 867 868 871 877 883 890 896 901 905 910 914 918 919 920 921 924 928 933 937 941 947 951 954 957 960 963 965 967 969 970 970 968 967 968 970 976 986 999 1012 1024 1035 1043 1047 1050 1056 1064 1075 1089 1104 1117 1129 1139 1145 1145 1138 1127 1117 1111 1114 1124 1131 1133 1130 1123 -901 905 907 909 909 909 909 907 903 898 893 889 889 891 893 893 893 892 891 890 888 886 883 880 877 875 872 868 866 866 867 867 867 867 867 867 867 868 870 875 882 889 895 899 903 907 913 918 920 921 922 924 928 933 938 943 947 950 951 953 956 959 963 967 971 973 974 973 972 971 971 973 981 993 1005 1018 1028 1036 1040 1044 1051 1061 1073 1088 1104 1116 1126 1134 1139 1139 1131 1121 1111 1105 1106 1113 1119 1121 1117 1111 -899 904 907 909 910 910 909 907 902 897 893 891 892 895 896 896 896 895 893 892 889 887 884 881 878 875 873 869 866 867 867 867 867 867 867 867 867 868 869 873 879 887 893 897 900 904 911 917 920 921 922 925 929 934 939 944 948 949 950 951 953 956 961 966 971 975 977 978 977 976 975 976 981 989 999 1010 1019 1026 1033 1040 1049 1061 1073 1087 1102 1113 1122 1129 1131 1129 1123 1115 1107 1101 1099 1103 1105 1105 1103 1101 -900 905 908 910 911 910 908 905 900 896 893 893 895 899 900 900 899 897 894 892 890 887 884 881 879 877 875 871 868 867 867 867 867 867 867 867 867 867 868 871 876 882 889 894 898 903 909 914 917 920 923 927 930 934 938 943 947 949 950 951 952 955 960 965 970 975 979 982 983 982 982 981 983 987 993 1002 1009 1016 1025 1037 1048 1061 1072 1085 1099 1110 1119 1123 1122 1119 1114 1108 1102 1096 1093 1093 1092 1091 1090 1091 -903 907 911 912 912 911 907 902 897 893 892 894 899 903 904 904 902 899 895 892 889 887 884 882 880 879 877 874 869 867 867 866 866 866 866 866 866 867 868 869 873 878 885 891 896 902 908 912 915 918 923 929 932 934 938 942 946 949 951 952 952 955 960 965 970 976 982 987 989 989 989 988 987 987 990 996 1000 1007 1018 1033 1047 1060 1072 1085 1096 1106 1113 1115 1112 1108 1103 1098 1093 1087 1084 1083 1082 1082 1083 1087 -906 910 913 914 913 910 906 900 895 892 892 896 902 906 907 907 905 901 896 892 890 887 884 882 881 880 878 874 870 868 867 866 866 866 866 866 867 867 868 869 873 878 884 890 895 901 906 910 912 916 922 928 931 934 936 940 944 949 952 953 954 958 963 969 974 981 988 994 997 998 997 996 994 992 992 994 995 1001 1013 1028 1043 1058 1072 1085 1095 1101 1105 1105 1101 1095 1089 1084 1079 1074 1072 1073 1075 1078 1082 1087 -907 911 913 913 912 908 904 899 895 893 894 899 905 908 909 908 905 901 897 893 890 888 885 883 881 880 877 874 870 868 867 867 867 867 868 868 868 868 869 871 874 880 886 891 895 900 905 908 911 915 921 927 930 933 935 938 943 947 951 955 957 961 967 973 979 986 994 1001 1005 1006 1005 1004 1001 998 995 993 992 996 1008 1023 1038 1054 1070 1083 1092 1096 1096 1094 1089 1083 1076 1071 1066 1063 1062 1066 1071 1077 1083 1090 -909 912 913 912 910 907 902 898 895 894 897 902 907 910 910 909 906 902 898 894 891 888 886 884 882 879 876 873 870 868 867 867 868 869 869 869 869 869 869 871 876 881 886 891 894 898 903 906 908 912 918 924 928 931 933 936 940 944 949 953 957 962 968 975 982 989 997 1004 1008 1010 1009 1008 1007 1004 1002 998 995 997 1005 1017 1031 1046 1060 1072 1080 1084 1084 1082 1077 1071 1066 1063 1062 1063 1065 1069 1075 1081 1088 1095 -910 913 913 912 909 905 901 897 896 897 900 905 910 912 912 911 908 904 900 895 891 888 887 885 882 879 876 872 869 868 867 867 868 869 870 870 869 869 869 871 874 879 884 889 893 896 900 902 905 908 915 921 926 929 932 934 937 940 945 950 955 960 966 974 982 990 997 1003 1008 1010 1010 1011 1011 1010 1009 1006 1003 1001 1004 1011 1023 1035 1047 1057 1065 1069 1070 1069 1065 1060 1057 1059 1062 1065 1070 1075 1080 1087 1094 1101 -912 914 914 912 909 904 899 897 898 901 904 907 912 914 915 914 912 908 902 896 891 888 887 886 883 879 875 872 869 867 867 867 868 869 870 870 869 868 869 870 873 876 881 887 891 894 897 899 901 905 911 918 923 927 930 932 934 936 940 946 952 958 965 972 981 989 996 1002 1006 1009 1010 1012 1014 1015 1015 1014 1010 1007 1005 1009 1017 1026 1034 1042 1048 1052 1055 1056 1055 1053 1054 1058 1064 1070 1076 1081 1086 1092 1098 1103 -912 914 914 912 908 903 899 897 900 905 907 910 914 917 918 918 915 911 905 898 893 889 888 886 883 879 876 872 870 868 867 867 868 869 870 870 869 868 869 870 872 874 878 884 889 893 895 897 899 904 909 916 921 924 927 929 931 933 938 944 950 957 964 971 979 986 991 997 1002 1005 1008 1011 1014 1017 1019 1020 1018 1015 1012 1013 1016 1019 1023 1026 1030 1034 1038 1043 1048 1051 1056 1063 1069 1076 1082 1087 1092 1096 1100 1102 -912 913 913 911 908 903 899 900 904 908 910 913 917 921 923 922 919 914 908 901 896 893 890 887 883 880 877 874 871 869 868 868 869 870 870 870 869 868 868 869 871 872 876 882 888 892 895 896 899 903 908 914 919 922 924 925 927 931 937 943 950 958 965 971 977 982 987 992 997 1002 1006 1009 1012 1017 1021 1024 1025 1023 1020 1018 1016 1015 1014 1013 1014 1018 1024 1032 1042 1051 1059 1066 1073 1080 1086 1091 1095 1097 1099 1098 -911 912 911 910 906 903 900 902 907 911 913 916 921 925 927 926 922 916 910 905 901 897 893 888 884 880 878 876 873 871 869 869 869 870 871 870 869 868 868 869 870 871 874 879 886 891 894 896 898 902 907 912 917 920 921 922 925 930 936 943 950 959 967 973 977 980 983 987 992 997 1001 1005 1010 1015 1021 1026 1029 1029 1028 1025 1021 1018 1014 1012 1012 1015 1020 1028 1039 1048 1055 1061 1067 1074 1079 1084 1086 1087 1088 1088 -911 911 911 909 905 902 901 904 908 912 915 918 923 928 931 930 926 920 914 909 905 901 897 892 886 883 881 879 876 873 870 869 870 870 871 870 869 868 868 869 869 870 873 878 884 889 892 894 897 901 905 909 915 918 919 919 922 928 936 944 952 962 970 976 979 980 981 983 987 991 996 1001 1006 1013 1020 1027 1031 1034 1034 1032 1028 1024 1020 1018 1017 1019 1022 1029 1037 1044 1049 1053 1058 1065 1070 1074 1075 1076 1076 1077 -911 912 911 908 904 902 902 904 908 912 915 919 924 929 933 933 929 923 917 912 909 906 902 896 890 887 884 882 878 874 872 870 870 870 871 870 869 869 869 869 869 870 872 877 882 887 889 892 896 899 903 907 912 916 917 917 920 927 935 945 954 965 974 979 980 979 978 979 983 987 992 997 1003 1011 1019 1026 1032 1036 1038 1037 1035 1031 1027 1024 1023 1023 1026 1030 1036 1041 1045 1048 1052 1058 1063 1066 1068 1068 1069 1072 -911 912 911 907 903 902 903 905 909 912 916 921 925 930 934 935 932 926 920 916 913 911 908 901 895 890 888 884 880 876 873 871 870 870 870 870 870 869 869 869 869 869 871 875 880 884 887 890 893 897 900 905 910 914 915 916 920 927 936 947 958 968 975 978 977 974 973 977 983 989 994 999 1005 1012 1020 1026 1032 1037 1039 1040 1038 1036 1032 1030 1029 1029 1030 1032 1036 1040 1044 1046 1050 1054 1059 1063 1064 1065 1068 1072 -912 912 910 907 904 903 905 909 914 918 920 923 926 930 933 934 931 927 923 920 918 916 913 907 900 894 890 886 883 879 875 872 870 869 870 870 870 869 869 869 869 869 870 873 877 881 884 887 890 894 898 904 909 912 913 915 920 928 938 949 961 971 975 975 972 968 968 974 983 991 997 1002 1008 1014 1020 1026 1032 1037 1040 1042 1042 1040 1038 1036 1035 1035 1035 1035 1037 1041 1044 1047 1050 1054 1058 1061 1064 1066 1069 1075 -912 911 909 907 905 904 907 912 919 923 925 926 928 930 932 932 930 927 925 923 922 921 915 912 905 898 893 889 885 882 878 873 870 869 869 870 870 869 869 869 869 869 869 871 874 878 881 884 887 891 895 901 906 910 912 915 922 930 940 951 963 970 973 970 966 963 965 973 983 992 997 1002 1008 1014 1020 1025 1031 1036 1041 1045 1047 1047 1046 1044 1044 1044 1043 1043 1044 1047 1050 1053 1056 1059 1063 1066 1070 1074 1078 1084 -912 911 910 908 907 907 910 915 922 926 927 927 928 930 931 930 927 924 922 922 920 919 917 912 906 900 895 891 888 885 880 874 871 870 870 870 870 870 870 870 870 870 870 870 872 875 878 881 884 888 892 897 901 906 911 917 926 934 943 952 961 966 966 963 959 960 964 973 983 990 996 1000 1006 1012 1018 1024 1030 1036 1043 1048 1052 1054 1054 1054 1054 1053 1053 1053 1054 1055 1057 1060 1063 1067 1071 1074 1079 1084 1089 1095 -913 912 911 911 911 911 913 917 922 925 925 926 928 930 930 928 923 919 917 917 918 918 915 911 906 901 897 893 890 887 881 875 872 870 870 871 871 871 871 871 871 871 871 870 871 873 875 878 882 886 889 892 896 903 911 919 929 938 945 952 958 959 958 954 953 957 964 972 981 988 993 997 1003 1010 1016 1022 1029 1037 1044 1051 1057 1060 1061 1061 1061 1061 1060 1060 1060 1061 1062 1065 1068 1073 1077 1082 1087 1094 1100 1106 -914 913 913 915 916 915 916 919 922 923 923 925 928 930 930 926 920 915 912 913 915 914 912 908 904 900 896 893 890 886 882 876 872 871 871 871 871 872 872 872 872 872 871 871 871 872 874 877 881 884 887 890 894 901 911 921 930 937 943 947 950 951 949 947 949 955 962 969 977 983 988 994 1000 1009 1017 1024 1031 1039 1046 1052 1057 1059 1060 1060 1060 1060 1060 1060 1060 1060 1061 1063 1068 1075 1082 1088 1095 1103 1110 1116 -917 917 917 919 920 920 920 922 924 924 923 925 928 930 930 926 920 915 912 912 912 910 907 904 900 897 894 891 888 884 880 876 872 871 870 871 871 871 872 872 872 872 872 872 872 873 875 878 881 884 887 889 893 901 911 921 928 933 937 940 941 941 940 941 946 953 959 965 971 976 983 990 998 1007 1017 1025 1033 1040 1047 1052 1055 1057 1057 1057 1057 1057 1057 1056 1056 1057 1058 1061 1066 1075 1085 1094 1102 1111 1119 1125 -921 921 921 923 925 925 924 925 925 925 924 925 928 931 930 927 921 916 913 912 910 908 904 901 898 895 893 890 887 883 879 876 873 870 870 871 871 871 871 871 872 872 873 872 873 874 876 878 880 883 886 888 892 900 910 918 924 927 930 932 933 933 933 936 942 949 955 960 965 972 980 988 996 1006 1016 1024 1032 1040 1045 1049 1051 1051 1051 1051 1050 1050 1050 1050 1051 1053 1056 1060 1067 1077 1088 1098 1108 1117 1125 1131 -923 924 924 926 929 929 928 928 928 927 926 926 929 930 928 924 919 915 914 913 911 908 905 901 897 895 892 890 887 883 880 876 872 871 870 871 871 871 871 871 872 873 873 872 872 873 874 876 878 881 884 886 890 896 903 909 914 917 921 923 925 927 929 932 937 943 948 954 960 968 978 986 995 1004 1013 1022 1030 1037 1041 1043 1043 1043 1043 1042 1042 1042 1041 1042 1044 1049 1055 1061 1069 1079 1091 1103 1114 1123 1130 1136 -921 924 926 929 931 932 931 931 931 930 929 929 929 928 925 920 916 913 913 914 913 911 907 902 898 895 893 892 890 885 880 875 872 871 871 871 871 871 871 872 872 873 873 872 872 872 873 874 877 879 882 884 887 892 897 901 904 908 912 916 918 922 926 928 932 937 942 948 956 966 976 985 994 1002 1010 1018 1026 1032 1035 1035 1035 1034 1033 1032 1032 1033 1034 1036 1041 1048 1056 1065 1073 1084 1095 1107 1119 1129 1136 1142 -919 923 927 932 934 933 933 934 934 934 933 931 929 926 921 916 912 911 912 914 914 913 910 905 900 896 894 893 891 886 880 875 872 871 871 871 871 871 872 872 873 873 873 873 872 872 873 874 876 878 881 884 888 892 896 898 901 904 909 912 915 919 923 925 928 932 937 944 953 964 974 983 991 999 1007 1015 1021 1024 1026 1025 1025 1024 1023 1021 1021 1025 1030 1036 1044 1053 1063 1072 1082 1092 1102 1113 1124 1135 1144 1151 -919 923 928 933 935 935 934 935 936 936 935 933 929 924 918 913 909 908 908 909 909 909 908 905 901 897 894 892 889 885 879 875 872 872 872 872 872 872 872 873 873 874 873 873 873 873 873 875 876 878 881 885 890 895 899 900 902 905 908 910 913 918 921 922 925 928 934 942 951 962 972 980 988 996 1004 1010 1014 1015 1015 1015 1014 1014 1012 1010 1011 1018 1028 1038 1050 1060 1070 1080 1090 1100 1109 1119 1129 1140 1150 1159 -920 924 929 933 936 935 935 936 938 939 938 935 930 923 917 911 907 905 904 903 903 904 905 904 901 897 893 890 886 882 878 874 872 872 872 873 872 872 873 874 874 874 874 873 873 874 874 875 877 879 881 886 892 898 901 903 904 906 908 910 913 917 919 921 923 927 932 939 948 959 968 976 984 992 999 1004 1006 1006 1005 1004 1003 1003 1003 1003 1006 1016 1028 1040 1053 1064 1075 1086 1096 1105 1114 1123 1133 1143 1153 1160 -922 926 930 935 937 936 936 937 940 941 941 937 931 924 917 911 908 905 902 901 900 901 902 902 899 896 892 888 884 880 877 874 873 872 872 873 872 872 873 874 874 874 874 874 874 874 875 875 876 878 881 886 892 897 900 902 904 906 908 910 914 917 920 922 925 929 933 938 944 952 961 969 977 985 992 995 996 995 994 993 992 993 995 999 1005 1017 1030 1042 1055 1066 1078 1089 1099 1108 1117 1126 1136 1145 1153 1159 -927 931 935 938 938 938 938 940 943 945 944 940 934 926 920 914 911 907 904 902 900 899 900 899 897 894 891 887 882 878 876 875 873 872 872 872 872 872 873 873 873 873 873 874 874 874 875 875 876 877 881 886 891 895 898 900 903 905 907 911 915 918 920 923 928 932 935 937 940 946 953 962 970 978 984 986 986 985 984 983 984 986 991 998 1007 1020 1033 1045 1057 1069 1081 1092 1102 1110 1119 1128 1136 1143 1150 1154 -933 937 940 941 940 939 940 943 946 948 946 942 936 929 922 918 914 911 907 904 901 899 898 896 894 892 889 885 880 876 875 875 874 873 872 873 873 872 872 873 873 873 873 874 874 874 875 875 875 877 880 885 890 894 897 899 902 904 907 910 914 917 920 924 930 934 936 936 937 941 949 957 964 972 976 977 976 976 978 982 986 991 998 1008 1018 1029 1041 1053 1063 1073 1083 1093 1103 1112 1120 1127 1132 1135 1140 1143 -938 942 944 943 941 940 941 944 947 948 947 943 937 930 925 921 917 914 910 907 904 902 901 899 896 893 889 884 879 876 875 875 875 874 874 875 874 873 872 872 872 873 873 874 874 875 875 875 875 876 878 883 888 893 897 899 902 904 906 909 912 916 920 925 931 936 936 935 934 938 945 952 959 965 968 969 968 969 974 983 991 999 1009 1019 1029 1039 1050 1061 1070 1077 1085 1094 1104 1112 1119 1124 1125 1125 1128 1131 -942 945 945 944 942 940 941 944 947 948 946 942 936 930 926 923 920 916 913 910 908 906 904 901 898 894 888 883 878 875 875 875 876 876 877 877 876 874 872 871 872 873 873 874 874 875 875 875 875 875 877 880 886 892 896 899 901 904 906 908 911 914 919 924 930 934 935 932 931 934 941 947 953 957 961 962 962 965 973 985 996 1006 1017 1028 1037 1046 1056 1066 1073 1078 1083 1090 1099 1107 1114 1117 1116 1114 1115 1117 -946 947 946 944 942 940 940 943 946 947 946 942 936 930 927 924 922 918 914 912 910 907 904 902 898 893 887 882 878 876 876 876 877 877 878 879 878 875 873 872 872 873 874 874 875 875 876 875 875 875 876 878 882 887 891 895 898 902 906 908 910 913 916 919 924 927 928 927 926 929 935 941 946 949 953 957 961 967 977 988 1000 1012 1023 1033 1042 1051 1061 1070 1074 1076 1078 1082 1090 1099 1105 1108 1106 1102 1101 1103 -947 947 946 943 940 938 939 941 944 946 945 942 937 931 927 924 921 918 915 913 910 907 903 899 896 891 886 881 878 877 877 878 878 878 879 880 880 877 874 873 873 873 874 875 875 876 876 876 875 875 875 876 878 881 885 890 895 900 904 907 909 911 912 914 917 920 921 921 921 925 930 935 939 942 947 954 962 971 982 992 1004 1017 1028 1037 1044 1053 1063 1071 1073 1073 1072 1074 1081 1089 1095 1097 1095 1090 1089 1092 -947 946 944 941 938 935 936 938 941 943 944 941 937 932 927 924 921 918 916 913 910 906 900 896 893 889 884 880 879 879 879 879 879 879 880 881 881 878 876 874 873 873 874 875 876 876 876 876 875 875 875 875 876 877 880 885 890 895 900 903 905 907 908 909 912 916 918 918 919 921 926 931 935 941 948 956 966 976 987 998 1009 1020 1029 1035 1041 1048 1057 1064 1065 1064 1062 1064 1070 1078 1083 1085 1084 1081 1082 1087 -945 943 940 937 934 932 931 932 934 936 937 937 935 932 928 925 921 917 914 911 908 903 897 893 889 886 882 880 880 880 880 880 880 881 882 883 882 880 877 875 874 874 874 875 875 876 876 875 875 875 875 875 875 876 878 881 885 889 892 895 898 900 902 905 910 914 917 918 917 919 923 927 934 942 951 961 971 981 993 1003 1013 1022 1028 1032 1035 1041 1049 1055 1056 1054 1052 1053 1059 1066 1071 1073 1072 1072 1076 1084 -943 938 935 932 930 927 925 924 924 926 929 931 932 931 930 926 921 915 911 908 906 901 895 889 885 882 880 880 881 881 880 881 882 883 884 885 883 881 879 877 876 874 874 875 875 875 875 875 875 875 875 875 875 876 876 877 880 882 884 887 891 894 896 900 907 913 917 917 916 917 920 924 932 943 953 963 973 983 993 1003 1011 1018 1022 1025 1027 1031 1038 1044 1045 1043 1041 1042 1047 1053 1058 1061 1062 1065 1071 1081 -941 935 931 928 926 924 920 917 915 916 920 924 927 929 929 926 920 914 909 906 902 897 891 886 882 880 879 880 881 881 881 882 884 886 888 888 886 884 882 880 878 876 875 875 875 875 875 875 875 876 876 876 876 876 877 877 879 880 881 883 886 888 891 895 902 910 915 916 915 916 918 921 928 938 948 959 969 978 986 993 1000 1006 1010 1012 1015 1020 1026 1032 1034 1032 1031 1031 1035 1040 1045 1049 1054 1060 1068 1079 -941 936 931 928 925 922 918 915 912 911 913 916 919 922 923 922 918 913 908 904 899 893 888 883 880 879 879 880 881 882 882 884 887 890 892 892 891 889 887 884 881 878 876 875 875 875 875 875 876 877 878 878 878 878 878 878 878 879 880 880 882 883 885 890 897 906 912 913 913 914 916 919 924 933 943 953 964 972 977 981 987 993 996 999 1003 1008 1014 1019 1022 1022 1021 1021 1024 1028 1033 1040 1048 1057 1067 1079 -943 938 933 929 924 920 917 915 911 908 907 909 911 915 917 918 916 912 907 902 896 889 884 881 879 879 880 881 881 883 884 887 890 894 896 897 896 894 891 888 884 880 877 876 876 875 875 875 876 877 878 878 878 878 878 878 878 878 878 879 879 880 882 886 893 901 907 910 911 912 914 917 921 928 935 944 954 961 966 971 978 984 987 990 994 998 1002 1007 1010 1012 1013 1015 1019 1025 1032 1040 1050 1060 1071 1084 -943 939 935 930 925 920 917 915 912 908 906 905 906 909 912 913 912 909 904 898 892 886 882 880 880 881 882 883 885 887 889 891 895 899 902 903 902 899 896 891 886 882 880 879 878 876 875 875 876 877 878 878 878 878 878 878 878 878 878 878 879 880 882 885 890 895 901 906 909 911 913 915 918 923 928 934 942 949 956 963 970 976 979 982 985 988 991 995 999 1003 1006 1010 1016 1024 1033 1042 1052 1063 1076 1089 -942 940 937 932 927 922 919 917 914 910 907 905 904 904 906 908 908 904 899 893 888 884 881 881 882 884 885 887 889 891 894 896 900 904 908 909 908 905 900 894 888 885 883 882 880 877 876 876 876 877 877 877 877 877 877 877 877 877 877 878 879 880 882 884 887 890 896 902 907 910 911 913 916 919 921 926 933 939 948 957 965 970 973 976 978 980 982 986 991 995 1000 1005 1014 1023 1033 1043 1053 1065 1077 1090 -941 940 938 934 928 923 920 918 915 913 909 905 902 901 902 903 903 899 894 889 885 883 882 882 884 886 888 890 893 896 899 902 906 910 913 914 913 908 902 895 889 886 885 884 881 878 877 876 876 876 877 877 877 878 878 878 878 878 878 878 879 880 882 883 885 889 893 899 904 908 910 912 913 915 918 923 930 938 946 954 961 966 969 972 973 974 976 979 985 990 996 1003 1012 1022 1032 1042 1052 1063 1076 1087 -938 936 934 932 927 923 920 918 916 913 910 906 902 899 898 899 898 894 889 886 884 884 883 884 885 888 890 893 897 901 905 909 912 916 918 918 916 910 902 894 888 886 886 885 883 881 878 877 876 876 877 878 878 878 879 878 878 878 878 879 879 880 882 883 884 887 892 897 902 907 909 910 911 912 916 922 929 937 944 951 957 961 965 967 969 970 971 974 979 986 993 1001 1011 1022 1032 1042 1050 1061 1072 1083 -934 931 929 929 926 923 920 918 915 913 910 907 903 898 895 894 893 889 886 884 885 886 886 886 887 890 892 896 901 906 911 915 918 921 923 922 918 911 902 894 889 887 887 887 886 883 880 878 876 876 877 878 879 879 879 879 879 879 879 879 880 881 882 883 884 886 890 896 901 906 908 909 909 911 915 921 928 935 941 946 951 955 958 961 963 965 966 969 976 985 995 1005 1016 1026 1036 1044 1051 1058 1067 1074 -933 928 925 926 925 923 921 917 914 911 909 906 901 896 892 891 889 887 885 886 887 889 890 891 891 893 896 900 906 911 916 920 923 926 927 925 919 912 904 897 893 890 890 890 889 887 884 880 878 877 877 878 879 880 880 880 879 879 879 879 880 881 882 882 883 885 889 894 900 904 906 907 908 911 916 921 927 932 936 940 944 948 951 954 957 960 962 965 973 984 998 1010 1021 1031 1040 1047 1051 1055 1060 1064 -932 927 922 923 924 924 921 917 913 910 907 903 898 894 890 889 888 886 887 889 892 894 896 896 896 898 899 904 910 915 920 924 928 930 931 927 920 913 906 901 897 894 893 894 893 891 887 883 880 878 878 878 880 880 881 880 879 879 879 880 881 881 882 882 882 884 887 893 899 903 903 904 907 911 916 921 925 928 931 934 937 941 944 947 951 954 958 962 971 984 1000 1012 1022 1030 1038 1043 1046 1047 1049 1051 -932 926 920 919 922 924 922 917 912 908 904 899 895 891 889 887 887 887 889 893 896 899 901 902 902 902 903 907 913 918 922 927 931 934 934 930 923 915 908 903 900 898 898 898 897 894 890 886 883 881 880 879 880 880 881 880 880 879 880 881 881 881 882 882 882 883 886 891 895 897 899 901 904 909 914 918 922 924 926 928 932 936 939 941 944 948 953 959 970 984 998 1008 1015 1022 1028 1032 1034 1034 1035 1035 -929 923 917 918 921 923 922 918 912 907 901 896 892 890 888 888 888 890 893 897 901 905 907 908 907 906 906 909 913 918 923 928 933 937 937 933 926 918 910 904 903 902 903 902 900 896 892 889 887 885 883 881 880 880 880 880 880 880 881 881 882 882 881 881 882 883 885 888 891 892 894 897 902 907 912 916 919 920 921 923 927 932 934 936 938 942 948 956 969 982 994 1001 1006 1010 1015 1018 1020 1020 1020 1019 -925 920 915 916 919 921 921 918 912 905 898 893 890 889 888 889 890 893 896 901 906 911 914 914 913 911 910 912 914 918 924 930 935 938 939 936 929 920 912 906 905 907 908 907 903 898 894 892 891 890 886 883 881 881 880 880 880 880 881 881 881 881 881 881 882 883 884 886 887 888 891 895 901 906 910 914 917 917 917 919 922 926 929 932 934 938 943 951 962 972 982 988 992 996 999 1002 1004 1005 1005 1005 -923 918 914 914 917 918 919 916 910 903 896 890 888 888 889 891 893 896 900 905 911 916 920 921 920 918 916 917 919 923 927 932 936 938 938 935 928 921 914 911 912 913 913 910 906 901 897 895 894 893 889 886 883 882 881 880 879 879 880 880 880 880 880 880 881 882 883 884 885 886 889 895 901 905 909 913 915 915 914 915 916 919 923 928 932 936 940 945 952 960 967 974 978 981 984 986 989 991 992 993 -923 917 914 913 913 914 914 912 907 900 893 889 887 888 890 893 896 900 904 910 916 922 926 928 929 927 924 924 926 929 932 934 935 936 936 933 927 921 917 917 919 919 917 913 909 904 900 898 897 895 892 889 886 884 882 880 878 878 878 879 879 879 879 880 881 882 882 883 883 885 889 895 901 905 908 911 913 913 912 912 913 915 920 925 931 935 938 942 946 950 956 963 968 971 973 976 979 982 984 987 -923 918 914 912 910 909 909 908 903 896 891 888 887 888 891 896 900 903 908 914 921 927 931 934 936 934 931 929 932 935 936 935 934 933 932 930 926 922 921 922 924 923 919 914 910 906 903 900 899 897 894 891 888 886 883 881 879 879 879 879 879 879 879 880 881 882 883 883 883 885 888 893 898 901 904 906 909 911 912 914 916 919 923 929 934 937 940 943 947 950 954 959 964 968 971 973 977 980 984 988 -922 917 914 911 909 907 906 904 900 895 891 888 888 891 895 899 903 907 912 918 924 930 934 938 939 938 934 933 935 939 939 936 932 929 927 926 926 925 926 926 926 923 919 913 909 907 904 902 901 899 896 893 890 887 885 883 882 881 880 880 880 880 880 881 882 883 884 884 884 885 888 891 895 898 900 902 905 909 913 917 921 925 929 934 938 940 943 946 950 952 955 959 963 968 971 974 977 982 986 992 -921 916 913 911 909 906 903 900 897 894 891 889 891 894 899 903 907 912 917 922 928 933 937 941 943 941 937 936 938 942 941 937 930 925 922 923 926 929 931 930 928 924 918 913 909 907 906 904 902 900 898 895 892 889 887 885 884 883 881 881 880 880 881 881 882 883 884 885 885 885 887 890 894 897 898 900 904 910 916 922 927 931 935 939 942 944 946 950 954 957 960 963 967 972 976 980 984 989 994 998 -920 916 913 912 909 906 902 899 896 894 892 891 894 898 903 908 913 918 923 928 933 938 943 946 948 947 942 941 943 945 944 938 931 925 923 924 928 932 935 934 931 926 920 915 911 909 907 905 903 901 898 896 892 890 887 886 885 884 882 881 880 880 881 881 882 883 883 884 884 885 887 891 895 898 900 903 907 914 922 928 933 938 942 944 946 947 950 954 959 963 966 970 974 978 983 988 992 998 1002 1006 -921 916 914 913 911 908 904 900 897 894 892 894 898 903 909 915 921 926 931 935 939 944 950 953 955 953 948 946 947 949 946 940 934 929 926 927 931 936 938 937 933 928 922 918 914 912 909 906 904 902 899 896 893 890 888 888 887 885 883 882 881 880 881 881 882 882 883 883 884 885 887 892 896 900 903 906 911 918 927 934 939 943 947 949 950 951 953 958 963 968 972 976 980 984 989 995 1000 1005 1010 1013 -921 917 915 914 913 910 907 902 898 894 893 897 902 908 914 922 928 933 938 941 945 951 957 961 962 960 955 952 952 953 949 942 936 932 931 932 936 940 942 941 936 931 925 921 918 915 913 910 908 906 903 899 894 891 890 890 889 887 885 884 883 882 882 882 882 882 883 884 884 886 888 892 897 900 903 907 912 919 928 936 941 946 950 953 954 955 957 960 965 970 976 981 985 989 994 1000 1005 1010 1014 1016 -922 917 915 914 913 911 907 903 898 895 895 899 906 912 919 926 933 938 942 946 952 958 964 967 968 965 960 957 956 955 951 945 939 935 936 939 942 945 946 944 939 933 927 924 922 920 918 917 916 913 909 902 897 893 892 892 891 889 887 886 885 884 883 883 883 883 884 885 885 887 889 893 897 899 903 907 911 919 928 936 943 948 953 956 958 959 960 963 967 972 979 984 989 993 998 1003 1009 1014 1017 1018 -922 917 914 912 911 910 907 903 898 896 897 902 909 916 923 930 937 941 946 951 958 966 972 974 973 970 966 962 961 958 954 948 942 939 941 945 949 950 950 947 942 935 930 927 925 924 922 922 922 920 914 906 899 894 894 894 893 891 889 888 888 887 885 884 884 884 885 885 886 887 889 892 895 898 901 905 910 917 926 935 943 949 954 958 961 963 964 966 970 975 981 987 991 995 1000 1005 1010 1014 1016 1017 -922 916 912 910 909 908 906 902 898 898 901 907 915 922 929 936 942 947 951 958 966 974 980 981 979 975 970 967 965 962 957 951 945 942 944 948 951 953 952 949 944 938 933 930 928 926 924 923 922 920 915 908 902 897 895 895 894 892 890 889 889 887 886 885 885 884 885 884 885 885 887 890 892 894 898 903 908 915 924 932 941 948 954 958 963 966 969 971 974 978 983 987 992 996 1000 1004 1008 1012 1013 1013 -919 913 909 906 905 904 904 901 900 901 906 914 922 930 937 944 950 955 959 966 974 982 988 989 986 980 975 972 970 966 962 955 949 945 947 950 952 953 953 950 946 940 936 933 930 927 925 923 921 918 915 910 904 899 896 895 894 892 891 890 889 888 887 886 885 885 884 884 883 884 885 887 889 891 895 900 905 912 921 929 939 947 953 958 964 969 972 975 978 981 984 988 992 996 1000 1004 1007 1009 1009 1008 -916 910 906 903 902 901 902 901 901 905 912 921 930 937 944 951 957 962 967 974 982 990 995 996 992 984 979 976 974 970 966 959 952 948 948 950 952 954 954 951 947 943 940 937 934 931 928 925 922 918 915 911 906 901 898 896 894 893 891 890 889 888 887 886 885 885 884 884 884 884 885 886 887 890 893 898 903 910 918 927 936 945 952 956 961 967 972 976 979 981 983 986 990 994 998 1002 1004 1005 1004 1000 -913 908 905 904 904 903 903 903 904 908 916 925 933 941 946 952 959 965 972 979 987 994 999 1000 997 989 984 981 978 974 969 962 955 950 949 951 953 954 954 951 948 946 943 941 939 936 933 929 926 921 916 911 907 904 901 898 895 893 891 890 889 889 888 887 885 885 885 885 884 884 884 885 886 889 892 896 900 907 915 924 934 943 949 954 958 964 970 975 978 980 981 984 988 992 996 999 1001 1001 998 993 -911 907 906 907 909 908 907 906 907 912 919 927 935 942 947 953 960 968 976 984 991 998 1003 1004 1001 994 988 985 982 976 971 964 957 951 949 951 953 954 953 950 948 946 944 942 940 938 935 931 926 923 916 911 908 906 903 899 896 893 891 890 889 889 888 887 886 885 885 885 885 885 884 884 886 888 890 893 898 905 913 922 932 940 947 951 956 961 967 971 974 975 976 979 983 987 990 994 996 995 992 987 -910 907 909 913 916 915 912 910 911 915 921 928 936 944 949 954 962 971 979 987 993 1000 1004 1006 1003 998 992 988 984 978 972 965 958 952 949 949 951 951 949 947 945 943 941 939 937 935 933 929 925 920 915 911 909 908 905 900 896 892 891 890 889 888 888 887 886 885 885 885 885 884 884 884 885 886 888 891 896 903 911 920 929 937 944 949 954 958 962 966 967 967 969 972 976 979 983 987 989 989 985 981 -910 912 917 923 926 926 922 918 916 918 922 928 937 945 952 958 966 974 982 989 995 1000 1005 1006 1005 1000 995 990 984 977 971 965 958 952 949 948 947 947 946 943 940 938 936 934 932 931 929 927 923 919 914 912 911 910 907 901 896 892 891 889 888 888 888 887 886 886 885 884 884 884 884 884 884 885 886 889 894 901 909 918 927 935 941 947 952 955 958 960 960 960 962 965 968 971 975 979 982 982 979 975 -911 917 926 933 937 936 931 926 922 921 923 928 937 944 952 959 967 975 981 987 993 998 1001 1005 1005 1002 997 991 983 976 970 964 957 952 948 945 943 942 941 939 935 933 931 930 930 929 929 927 924 920 916 913 913 911 908 902 896 892 890 889 888 888 887 887 887 886 885 885 885 885 885 884 885 885 886 888 893 900 908 917 926 934 940 945 949 952 954 955 955 954 956 959 961 963 967 971 975 975 973 970 -915 923 932 939 943 941 936 931 927 926 928 932 937 943 949 956 964 970 976 982 988 993 997 1002 1004 1002 997 990 981 973 966 961 955 950 947 943 940 938 937 935 931 929 929 929 929 930 931 931 928 923 918 915 914 912 908 903 897 893 891 889 889 888 888 887 886 886 886 886 886 886 886 885 886 886 887 888 892 899 907 916 925 933 939 943 947 950 951 951 949 948 950 952 953 955 958 963 967 969 967 965 -921 928 936 943 945 943 938 934 932 932 935 937 939 942 947 953 959 965 971 977 983 989 994 999 1002 1001 996 988 978 969 963 958 954 949 946 941 937 935 934 931 928 927 927 928 930 933 936 937 934 928 922 917 915 912 908 903 897 893 891 890 889 889 888 887 886 886 887 887 887 887 887 886 886 887 887 889 892 899 906 915 924 931 936 940 942 944 946 945 943 942 942 944 945 946 950 955 959 961 960 959 -927 933 940 945 948 946 941 938 938 939 941 943 942 944 947 952 956 962 967 974 981 988 993 999 1002 1000 995 986 976 968 961 957 953 949 946 942 937 934 933 930 929 928 929 930 932 935 937 937 934 928 923 918 915 911 907 902 897 893 891 890 890 889 888 887 887 887 887 887 887 887 887 887 887 887 887 889 892 898 906 914 921 927 930 933 935 937 938 937 936 934 933 934 936 938 942 946 950 952 953 952 -932 938 943 949 951 950 947 945 944 945 947 949 949 948 949 952 956 960 965 972 981 989 998 1004 1005 1001 994 985 976 968 962 957 953 950 947 943 939 936 934 932 932 931 931 932 934 935 936 935 932 927 922 918 914 910 905 900 895 893 891 891 890 890 890 889 888 887 886 886 886 886 887 887 887 887 888 890 893 898 905 912 919 922 924 926 927 928 929 929 929 927 926 926 928 932 935 938 942 945 947 947 -937 942 947 952 955 955 954 953 951 951 952 954 956 955 955 957 959 962 967 975 985 995 1003 1009 1008 1002 994 985 976 969 964 959 955 951 948 945 941 938 936 935 935 935 935 934 934 934 934 932 929 925 921 918 913 908 903 898 894 892 891 891 892 893 893 893 891 889 887 886 885 886 886 887 887 888 889 891 894 899 904 910 915 917 918 919 920 921 922 923 923 924 924 925 928 931 934 936 939 942 945 947 -941 946 951 956 960 961 961 960 958 957 958 960 962 963 962 963 965 968 973 980 990 1000 1009 1014 1011 1004 996 987 979 972 967 962 958 954 950 947 943 940 939 940 940 939 938 935 933 931 930 928 925 923 920 916 911 906 901 896 893 892 891 892 895 897 899 899 896 892 888 886 885 885 886 887 888 889 891 893 896 899 903 907 911 912 913 914 915 915 916 917 920 922 924 927 930 933 934 936 939 941 945 948 -944 949 955 961 965 968 968 967 966 965 966 967 968 970 970 971 973 976 981 988 997 1006 1014 1019 1015 1007 999 991 983 977 971 966 962 958 953 948 944 942 942 944 945 944 941 937 932 929 926 924 922 920 918 914 909 904 899 895 892 891 892 894 898 902 904 904 901 895 889 886 885 885 886 887 888 890 892 895 897 899 902 905 907 908 909 910 911 913 915 918 922 925 929 933 936 938 939 940 942 945 948 952 -947 953 960 966 971 974 975 974 973 973 975 975 976 978 979 980 982 986 991 997 1005 1014 1021 1025 1021 1012 1003 995 987 981 975 970 965 960 955 950 946 945 948 951 953 950 945 939 933 929 925 923 921 920 917 913 908 903 898 895 893 893 895 898 902 905 907 906 903 897 891 887 886 887 887 888 889 891 892 894 896 898 900 903 906 907 907 909 912 917 922 927 931 934 938 942 945 947 947 948 949 951 954 958 -953 958 964 971 977 981 982 983 982 983 985 985 986 989 991 993 995 999 1004 1010 1017 1024 1030 1033 1029 1020 1010 1001 993 985 978 973 967 962 956 951 949 949 954 959 961 957 950 942 936 931 926 924 922 920 917 913 908 902 898 895 894 895 899 903 907 909 909 907 903 899 893 889 888 888 889 889 890 891 892 894 895 896 899 902 904 905 906 909 914 922 930 936 941 944 947 950 953 955 956 956 957 958 961 964 -959 963 969 976 982 987 990 991 991 992 995 996 998 1000 1004 1006 1009 1013 1018 1023 1029 1035 1040 1041 1037 1027 1017 1007 998 989 982 976 970 963 957 953 951 954 961 967 968 963 953 945 938 933 928 925 922 920 916 912 906 901 897 896 896 899 903 908 911 912 911 908 904 900 894 890 889 889 889 890 890 891 892 893 894 895 898 901 902 904 906 911 917 926 935 941 945 947 950 953 956 959 960 961 961 962 963 965 -963 968 973 979 986 992 996 998 999 1001 1004 1007 1009 1012 1016 1019 1022 1026 1030 1035 1040 1045 1048 1048 1043 1032 1021 1011 1002 992 985 979 972 965 959 956 956 961 968 972 971 963 953 944 938 933 929 925 923 919 915 910 905 900 898 898 900 904 909 912 914 914 913 910 906 901 896 891 889 889 889 890 890 891 892 893 894 895 897 898 900 903 907 913 921 929 936 942 945 948 950 953 957 961 962 963 963 963 964 964 -967 971 976 982 989 995 1000 1004 1007 1010 1014 1017 1020 1023 1028 1032 1035 1038 1042 1045 1050 1053 1055 1053 1047 1036 1024 1014 1005 996 989 982 975 967 960 958 962 968 975 977 972 963 951 944 939 934 930 926 923 919 914 908 903 899 898 900 904 909 914 916 917 916 914 912 908 902 897 893 890 889 889 889 890 891 892 893 893 894 895 896 898 901 906 912 920 928 934 938 942 945 948 951 956 960 961 962 961 960 959 959 -970 975 980 985 992 999 1005 1010 1015 1018 1023 1027 1030 1034 1039 1043 1047 1050 1052 1055 1058 1059 1059 1056 1049 1038 1026 1016 1008 999 992 985 977 969 963 962 967 975 980 980 974 963 952 945 940 936 931 927 923 918 913 907 901 898 898 901 907 913 917 919 918 917 914 911 907 903 899 896 893 891 890 890 890 891 892 892 893 893 894 894 895 898 901 906 912 918 923 927 931 937 942 948 952 956 956 955 954 952 950 949 \ No newline at end of file diff --git a/Terrain_files/3000x3000x_100cell_sq_ID/rastert_emidala1_TableToExcel.xlsx b/Terrain_files/3000x3000x_100cell_sq_ID/rastert_emidala1_TableToExcel.xlsx deleted file mode 100755 index c08d27e..0000000 Binary files a/Terrain_files/3000x3000x_100cell_sq_ID/rastert_emidala1_TableToExcel.xlsx and /dev/null differ diff --git a/Terrain_files/Rusk 20x20/Rusk_20x20cell_200x200m_Polygon2-redone-blur.png b/Terrain_files/Rusk 20x20/Rusk_20x20cell_200x200m_Polygon2-redone-blur.png new file mode 100644 index 0000000..d0d6bde Binary files /dev/null and b/Terrain_files/Rusk 20x20/Rusk_20x20cell_200x200m_Polygon2-redone-blur.png differ diff --git a/Terrain_files/Rusk 20x20/Rusk_20x20cell_200x200m_Polygon2-redone-blur.tif b/Terrain_files/Rusk 20x20/Rusk_20x20cell_200x200m_Polygon2-redone-blur.tif new file mode 100644 index 0000000..7acd99f Binary files /dev/null and b/Terrain_files/Rusk 20x20/Rusk_20x20cell_200x200m_Polygon2-redone-blur.tif differ diff --git a/Terrain_files/Rusk 20x20/Rusk_20x20cell_200x200m_Polygon2-redone.png b/Terrain_files/Rusk 20x20/Rusk_20x20cell_200x200m_Polygon2-redone.png new file mode 100644 index 0000000..7b72733 Binary files /dev/null and b/Terrain_files/Rusk 20x20/Rusk_20x20cell_200x200m_Polygon2-redone.png differ diff --git a/Terrain_files/3000x3000x_100cell_sq_ID/emidalat_3000x3000mClip1.tif b/Terrain_files/emidalat_3000x3000m/emidalat_3000x3000mClip1.tif old mode 100755 new mode 100644 similarity index 100% rename from Terrain_files/3000x3000x_100cell_sq_ID/emidalat_3000x3000mClip1.tif rename to Terrain_files/emidalat_3000x3000m/emidalat_3000x3000mClip1.tif diff --git a/emidalat_3000x3000m/rastert_emidala1_TableToExcel_v1.xlsx b/Terrain_files/emidalat_3000x3000m/rastert_emidala1_TableToExcel_v1.xlsx similarity index 100% rename from emidalat_3000x3000m/rastert_emidala1_TableToExcel_v1.xlsx rename to Terrain_files/emidalat_3000x3000m/rastert_emidala1_TableToExcel_v1.xlsx diff --git a/Terrain_files/3000x3000x_100cell_sq_ID/ScalingTest.tif b/Terrain_files/testFiles/ScalingTest1-200x200.tif similarity index 100% rename from Terrain_files/3000x3000x_100cell_sq_ID/ScalingTest.tif rename to Terrain_files/testFiles/ScalingTest1-200x200.tif diff --git a/Terrain_files/testFiles/ScalingTest2.tif b/Terrain_files/testFiles/ScalingTest2-200x200.tif similarity index 100% rename from Terrain_files/testFiles/ScalingTest2.tif rename to Terrain_files/testFiles/ScalingTest2-200x200.tif diff --git a/Terrain_files/testFiles/ScalingTestSmall.tif b/Terrain_files/testFiles/ScalingTestSmall-100x100.tif similarity index 100% rename from Terrain_files/testFiles/ScalingTestSmall.tif rename to Terrain_files/testFiles/ScalingTestSmall-100x100.tif diff --git a/test/test.csv b/Terrain_files/testFiles/test.csv similarity index 100% rename from test/test.csv rename to Terrain_files/testFiles/test.csv diff --git a/test/test.tif b/Terrain_files/testFiles/test.tif similarity index 100% rename from test/test.tif rename to Terrain_files/testFiles/test.tif diff --git a/Vida World Preferences.yml b/Vida World Preferences.yml index a9631ec..0f63276 100644 --- a/Vida World Preferences.yml +++ b/Vida World Preferences.yml @@ -6,7 +6,7 @@ maxSeedsPerPlant: 5 allowOffWorld: FALSE ##experimental mortality## allowSubmerged: FALSE -maxSubmerged: 0.0 +maxSubmerged: 0.05 #0.5 means 50% of the tree height is submerged ########################## ignoreGermDeathAtStart: TRUE allowRandomDeath: TRUE @@ -27,8 +27,6 @@ useDroughtTol: FALSE ###To be removed/relocated### -carbonAllocationMethod: 0 #discontinued -canopyTransmittanceImpactsConversion: SPECIES #discontinued fractionWorldGraphicEdgeSpacer: 0.3 #to be moved fractionWorldBetweenLRGraphicsSpacer: 0.0 #to be moved fractionWorldBetweenTBGraphicsSpacer: 0.5 #to be moved diff --git a/Vida.ini b/Vida.ini index b550dda..08ad5b7 100644 --- a/Vida.ini +++ b/Vida.ini @@ -1,6 +1,6 @@ [Vida Options] simulationName: default -theWorldSize: 250 +theWorldSize: 100 timesToRepeat: 1 maxPopulation: 10 maxCycles: 100 diff --git a/Vida.py b/Vida.py index 9872dc2..1e17c8e 100644 --- a/Vida.py +++ b/Vida.py @@ -138,7 +138,7 @@ def saveDataPoint (theDirectory, theFileName, theGarden): #Added "Area Canopy" at end of list #Added basal area to the outputs--STH 2019-0404 basicHeaders="Cycle #, Plant Name, Species, Mother Plant Name, X Location, Y Location, Z Location, elevation, elevation above water,\ - absHeighStem, is a seed, is mature, Age at Maturity, cycles until germination, Age, Mass of Stem, Mass of Canopy, \ + absHeightStem, is a seed, is mature, Age at Maturity, cycles until germination, Age, Mass of Stem, Mass of Canopy, \ # of Seeds, Mass of all Seeds, Mass Stem+Mass Canopy, Mass Total, Diameter Stem, Radius Canopy, Area covered, \ Height Stem, Maximum Thickness of a Leaf, Height of Plant, Yearly Growth Stem (kg), Yearly Growth Canopy (kg), \ Yearly Growth Stem+Canopy (kg), Yearly Growth Stem diameter (m), Yearly Growth Stem Height (m), Average Growth Stem (kg), \ @@ -1253,7 +1253,7 @@ def main(): resumeSim=True ###parse seed placement options a bit more #index 0 is the file path, if a placement file is used - if os.path.isfile(startPopulationSize[0]) == True: + if type(startPopulationSize)==list and os.path.isfile(startPopulationSize[0]) == True: theExtension=os.path.splitext(startPopulationSize[0])[1] if theExtension==".csv": theFile = open(startPopulationSize[0]) diff --git a/Vida_Data/vdxfGraphics.py b/Vida_Data/vdxfGraphics.py index c69a583..ba83fdc 100755 --- a/Vida_Data/vdxfGraphics.py +++ b/Vida_Data/vdxfGraphics.py @@ -15,27 +15,59 @@ import vterrainImport as terrain_utils from dxfwrite import DXFEngine as dxf #pip install dxfwrite #https://pypi.org/project/dxfwrite/ +########### +#new method +# import ezdxf #pip install ezdxf #https://pypi.org/project/ezdxf/ +# from ezdxf import units +########### + def initDXFBlocks(theGarden): terrainImage=theGarden.terrainImage theWorldSize=theGarden.theWorldSize theElevDelta=theGarden.maxElevation - # theData = sdxf.Drawing() theData = dxf.drawing() ############################ #Blocks - b = dxf.block(name='WORLD') - b.add(dxf.solid([(0,0,0),(1,0,0),(1,1,0),(0,1,0)])) + b = dxf.block(name='THEGARDEN') + # b.add(dxf.solid([(0,0,0),(1,0,0),(1,1,0),(0,1,0)])) + # theData.blocks.add(b) + #Keep having problems with tools that convert DXF to STL not identifying + #SOLID, so made it a 3dface + #sth 2024.01.15 + theFaceList = Cube() + for x in theFaceList: + the3dFace = dxf.face3d(x , flags=0) + b.add(the3dFace) + theFaceList="" theData.blocks.add(b) + + #Keep having problems with tools that convert DXF to STL not identifying + #SOLID, so made it a 3dface + #sth 2024.01.15 b = dxf.block(name='WATER') - b.add(dxf.solid([(0,0,0),(1,0,0),(1,1,0),(0,1,0)], thickness=1.0, color=5)) + # b.add(dxf.solid([(0,0,0),(1,0,0),(1,1,0),(0,1,0)], thickness=1.0, color=5)) + # theData.blocks.add(b) + theFaceList = Cube() + for x in theFaceList: + the3dFace = dxf.face3d(x , flags=0) + b.add(the3dFace) + theFaceList="" theData.blocks.add(b) + b = dxf.block(name='STEM') - b.add(dxf.circle(center=(0.0,0.0,0.0),radius=1.0,thickness=1.0)) + # b.add(dxf.circle(center=(0.0,0.0,0.0),radius=1.0,thickness=1.0)) + # theData.blocks.add(b) + theFaceList = Sphere() + for x in theFaceList[0:480]: + the3dFace = dxf.face3d(x , flags=0) + b.add(the3dFace) + theFaceList="" theData.blocks.add(b) + b = dxf.block(name='SEED') theFaceList = Sphere() for x in theFaceList: @@ -44,6 +76,7 @@ def initDXFBlocks(theGarden): theFaceList="" theData.blocks.add(b) + b = dxf.block(name='CANOPY') theFaceList = Sphere() for x in theFaceList[0:480]: @@ -52,6 +85,7 @@ def initDXFBlocks(theGarden): theFaceList="" theData.blocks.add(b) + #only do this if there is a terrain image to use if(terrainImage!=[]): print("***Generating terrain mesh...***") @@ -69,20 +103,75 @@ def initDXFBlocks(theGarden): b.add(mesh) theData.blocks.add(b) + # ############################ + # #New method + # doc = ezdxf.new('R2010') + # # Set meter as document/modelspace units + # doc.units = units.M + # # which is a shortcut (including validation) for + # #doc.header['$INSUNITS'] = units.M + # doc.header['$MEASUREMENT'] = 1 #0==Imperial, 1==Metric + + # #make the modelspace (msp) + # msp = doc.modelspace() + # msp.units = doc.units + # # + # #Blocks + # #Keep having problems with tools that convert DXF to STL not identifying + # #SOLID, so made it a 3dface + # #sth 2024.01.15 + # aBlock = doc.blocks.new(name='THEGARDEN') + # theFaceList = Cube() + # for x in theFaceList: + # aBlock.add_3dface(x) + # theFaceList="" + + # aBlock = doc.blocks.new(name='WATER') + # theFaceList = Cube() + # for x in theFaceList: + # aBlock.add_3dface(x) + # theFaceList="" + + # aBlock = doc.blocks.new(name='STEM') + # theFaceList = Cube() + # for x in theFaceList: + # aBlock.add_3dface(x) + # theFaceList="" + + # aBlock = doc.blocks.new(name='SEED') + # theFaceList = Sphere() + # for x in theFaceList: + # aBlock.add_3dface(x) + # theFaceList="" + + # aBlock = doc.blocks.new(name='CANOPY') + # theFaceList = Sphere() + # for x in theFaceList[0:480]: + # aBlock.add_3dface(x) + # theFaceList="" + ############################ + return theData + + + + + def makeDXF(theGarden, theBlockData): theWorldSize=theGarden.theWorldSize # theData.append(sdxf.Insert('world',point=(0-(theWorldSize/2.0),0-(theWorldSize/2.0),0),xscale=theWorldSize,yscale=theWorldSize,zscale=0,color=0,rotation=0)) - theBlockData.add(dxf.insert(blockname='WORLD', insert=(0-(theWorldSize/2.0),0-(theWorldSize/2.0),0), xscale=theWorldSize, yscale=theWorldSize, zscale=0, rotation=0, color=0)) + #print(0-(theWorldSize/2.0)) + + theBlockData.add(dxf.insert(blockname='THEGARDEN', insert=(0-(theWorldSize/2.0),0-(theWorldSize/2.0),0), xscale=theWorldSize, yscale=theWorldSize, zscale=0.001, rotation=0, color=5)) if len(theGarden.terrainImage)==3: theBlockData.add(dxf.insert(blockname='MESHTERRAIN', insert=(0-(theWorldSize/2.0),0-(theWorldSize/2.0),0), rotation=0, color=0)) if(theGarden.waterLevel>0.0): - theBlockData.add(dxf.insert(blockname='WATER', insert=(0-(theWorldSize/2.0),0-(theWorldSize/2.0),0), xscale=theWorldSize, yscale=theWorldSize, zscale=theGarden.waterLevel, rotation=0)) + theBlockData.add(dxf.insert(blockname='WATER', insert=(0-(theWorldSize/2.0),0-(theWorldSize/2.0),0), xscale=theWorldSize, yscale=theWorldSize, zscale=theGarden.waterLevel, rotation=0, color=5)) #dictColoursUsed={} for obj in theGarden.soil: @@ -126,6 +215,16 @@ def writeDXF(outputDirectory, fileName, theData): ###writes the files to a destination folder theData.saveas(outputDirectory + fileName+".dxf") +def Cube(): + return [ + [(0,0,0),(1,0,0),(1,0,1),(0,0,1)], + [(1,0,0),(1,1,0),(1,1,1),(1,0,1)], + [(1,1,0),(0,1,0),(0,1,1),(1,1,1)], + [(0,1,0),(0,0,0),(0,0,1),(0,1,1)], + [(0,0,1),(1,0,1),(1,1,1),(0,1,1)], + [(0,1,0),(1,1,0),(1,0,0),(0,0,0)] + ] + def Sphere(): #reworked from older sdxf_utils.py to here 2021-0306. STH diff --git a/Vida_Data/vgraphics.py b/Vida_Data/vgraphics.py index 43bedc4..6e508d2 100644 --- a/Vida_Data/vgraphics.py +++ b/Vida_Data/vgraphics.py @@ -546,6 +546,7 @@ def outputMOV(outputDirectory, simulationName, framesPerSec): theArg = "ffmpeg -hide_banner -loglevel panic -framerate %i -i %s%s-%%01d.png -c:v libx264 -pix_fmt yuv420p %s%s.mp4" #theArg = "ffmpeg -framerate %i -i %s%s-%%01d.png -c:v libx264 -pix_fmt yuv420p %s%s.mp4" theArg=theArg % (framesPerSec, absolutePath, firstFile, absolutePath, firstFile) + #print(theArg) os.system(theArg) print(" mp4 video made") ###Delete png files if requested diff --git a/Vida_Data/vplantr.py b/Vida_Data/vplantr.py index 65d20ee..a9ab099 100755 --- a/Vida_Data/vplantr.py +++ b/Vida_Data/vplantr.py @@ -514,19 +514,20 @@ def calcNewMassFromLeaf(self, theGarden): #print("*****") ###decide whether canopy transmission impacts conversion - alterMassWitTransmission=0 - if theGarden.canopyTransmittanceImpactsConversion==1: - alterMassWitTransmission=1 - elif theGarden.canopyTransmittanceImpactsConversion==0: - alterMassWitTransmission=0 - else: - if self.canopyTransmittanceImpactsConversion: - alterMassWitTransmission=1 - else: - alterMassWitTransmission=0 - if alterMassWitTransmission==1: - newMass=newMass*(1-self.canopyTransmittance) - #print "mass new: %s" % (newMass) + # alterMassWitTransmission=0 + # if theGarden.canopyTransmittanceImpactsConversion==1: + # alterMassWitTransmission=1 + # elif theGarden.canopyTransmittanceImpactsConversion==0: + # alterMassWitTransmission=0 + # else: + # if self.canopyTransmittanceImpactsConversion: + # alterMassWitTransmission=1 + # else: + # alterMassWitTransmission=0 + + # if alterMassWitTransmission==1: + # newMass=newMass*(1-self.canopyTransmittance) + # #print "mass new: %s" % (newMass) return newMass else: return -1.0 @@ -612,43 +613,7 @@ def calcHeightStemFromRadiusStem(self, theGarden): else: self.GHs=GHs self.heightStem=Hs - - - - # def calcHeightStemFromRadiusStemOld(self, theGarden): - # Ds=self.radiusStem*2 - # ##there is a weird, very rare bug - # if (Ds<=0.0): - # self.causeOfDeath="impossible diameter calculation(Ds<=0.0)" - # theGarden.kill(self) - # #mature allocation method - # try: - # Hs=(self.speciesConstant8*math.log(Ds))+self.heightStemMax - # except: - # self.causeOfDeath="impossible diameter calculation. Ds=%f" % (Ds) - # theGarden.kill(self) - # else: - # if Hs