public void growTrees()
    {
        if(growthMatrix == null)
        {
            switch(landCover)
            {
                case 141:
                    growthMatrix = Calculation.decGrowthMatrix;
                    ingrowthMatrix = Calculation.decIngrowth;
                    break;
                case 142:
                    growthMatrix = Calculation.conGrowthMatrix;
                    ingrowthMatrix = Calculation.conIngrowth;
                    break;
                case 143:
                    growthMatrix = Calculation.mixGrowthMatrix;
                    ingrowthMatrix = Calculation.mixIngrowth;
            }
        }
        
        double nextGrowth[] = new double[12];
        for(int y = 0; y < 12; y++)
        {
            nextGrowth[y] = 0;
            for(int x = 0; x < 12; x++)
            {
                nextGrowth[y] += trees[x] * growthMatrix[y][x];
            }
            
            if(y == 0) nextGrowth[y] += ingrowthMatrix;
        }
        
        baselArea = 0;
        
        trees = nextGrowth;
        for(int index = 0; index < 12; index++)
        {
            int treeDia = (index + 1) * 2;
            baselArea += Calculation.BA * Math.pow(treeDia, 2) * trees[index];
        }
    }