/// <summary>Sets the soil organic matter thickness.</summary> /// <param name="soilOrganicMatter">The soil organic matter.</param> /// <param name="thickness">Thickness to change soil water to.</param> private static void SetSoilOrganicMatterThickness(SoilOrganicMatter soilOrganicMatter, double[] thickness) { if (soilOrganicMatter != null) { if (!MathUtilities.AreEqual(thickness, soilOrganicMatter.Thickness)) { soilOrganicMatter.FBiom = MapConcentration(soilOrganicMatter.FBiom, soilOrganicMatter.Thickness, thickness, MathUtilities.LastValue(soilOrganicMatter.FBiom)); soilOrganicMatter.FInert = MapConcentration(soilOrganicMatter.FInert, soilOrganicMatter.Thickness, thickness, MathUtilities.LastValue(soilOrganicMatter.FInert)); soilOrganicMatter.OC = MapConcentration(soilOrganicMatter.OC, soilOrganicMatter.Thickness, thickness, MathUtilities.LastValue(soilOrganicMatter.OC)); soilOrganicMatter.Thickness = thickness; soilOrganicMatter.OCMetadata = StringUtilities.CreateStringArray("Mapped", thickness.Length);; } if (soilOrganicMatter.FBiom != null) { MathUtilities.ReplaceMissingValues(soilOrganicMatter.FBiom, MathUtilities.LastValue(soilOrganicMatter.FBiom)); } if (soilOrganicMatter.FInert != null) { MathUtilities.ReplaceMissingValues(soilOrganicMatter.FInert, MathUtilities.LastValue(soilOrganicMatter.FInert)); } if (soilOrganicMatter.OC != null) { MathUtilities.ReplaceMissingValues(soilOrganicMatter.OC, MathUtilities.LastValue(soilOrganicMatter.OC)); } } }
/// <summary>Sets the soil organic matter thickness.</summary> /// <param name="soilOrganicMatter">The soil organic matter.</param> /// <param name="thickness">Thickness to change soil water to.</param> private static void SetSoilOrganicMatterThickness(SoilOrganicMatter soilOrganicMatter, double[] thickness) { if (soilOrganicMatter != null) { if (!MathUtilities.AreEqual(thickness, soilOrganicMatter.Thickness)) { soilOrganicMatter.FBiom = MapConcentration(soilOrganicMatter.FBiom, soilOrganicMatter.Thickness, thickness, MathUtilities.LastValue(soilOrganicMatter.FBiom)); soilOrganicMatter.FInert = MapConcentration(soilOrganicMatter.FInert, soilOrganicMatter.Thickness, thickness, MathUtilities.LastValue(soilOrganicMatter.FInert)); soilOrganicMatter.OC = MapConcentration(soilOrganicMatter.OC, soilOrganicMatter.Thickness, thickness, MathUtilities.LastValue(soilOrganicMatter.OC)); soilOrganicMatter.Thickness = thickness; soilOrganicMatter.OCMetadata = StringUtilities.CreateStringArray("Mapped", thickness.Length); ; } if (soilOrganicMatter.FBiom != null) MathUtilities.ReplaceMissingValues(soilOrganicMatter.FBiom, MathUtilities.LastValue(soilOrganicMatter.FBiom)); if (soilOrganicMatter.FInert != null) MathUtilities.ReplaceMissingValues(soilOrganicMatter.FInert, MathUtilities.LastValue(soilOrganicMatter.FInert)); if (soilOrganicMatter.OC != null) MathUtilities.ReplaceMissingValues(soilOrganicMatter.OC, MathUtilities.LastValue(soilOrganicMatter.OC)); } }
/// <summary>Converts OC to total %</summary> /// <param name="oc">The oc.</param> /// <param name="units">The current units.</param> /// <returns>The converted values</returns> private static double[] OCTotalPercent(double[] oc, SoilOrganicMatter.OCUnitsEnum units) { if (units == SoilOrganicMatter.OCUnitsEnum.Total || oc == null) return oc; // convert the numbers return MathUtilities.Multiply_Value(oc, 1.3); }