예제 #1
0
        private void OnIncorpFOMPool(FOMPoolType inFOMPoolData)
        {
            // Note: In this event each of the three pools is given

            foreach (soilCNPatch aPatch in Patch)
            {
                aPatch.OnIncorpFOMPool(inFOMPoolData);
            }
        }
예제 #2
0
        private void OnIncorpFOMPool(FOMPoolType inFOMPoolData)
        {
            // Note: In this event each of the three pools is given

            foreach (soilCNPatch aPatch in Patch)
                aPatch.OnIncorpFOMPool(inFOMPoolData);
        }
예제 #3
0
            public void OnIncorpFOMPool(FOMPoolType FOMPoolData)
            {
                // +  Purpose:
                //      Partition the given FOM C and N into fractions in each layer.

                for (int layer = 0; layer < FOMPoolData.Layer.Length; layer++)
                {
                    if (layer < g.dlayer.Length)
                    {
                        fom_c_pool1[layer] += FOMPoolData.Layer[layer].Pool[0].C;
                        fom_c_pool2[layer] += FOMPoolData.Layer[layer].Pool[1].C;
                        fom_c_pool3[layer] += FOMPoolData.Layer[layer].Pool[2].C;

                        fom_n_pool1[layer] += FOMPoolData.Layer[layer].Pool[0].N;
                        fom_n_pool2[layer] += FOMPoolData.Layer[layer].Pool[1].N;
                        fom_n_pool3[layer] += FOMPoolData.Layer[layer].Pool[2].N;

                        _no3[layer] += FOMPoolData.Layer[layer].no3;
                        _nh4[layer] += FOMPoolData.Layer[layer].nh4;
                    }
                    else
                        g.Summary.WriteMessage(g, " Number of FOM values given is larger than the number of layers, extra values will be ignored");
                }
            }