Skip to content

Commit

Permalink
Fix #203
Browse files Browse the repository at this point in the history
  • Loading branch information
holos-aafc committed Nov 15, 2024
1 parent 775842a commit dbe7667
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 3 deletions.
3 changes: 3 additions & 0 deletions H.Core/Enumerations/HousingTypeExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,9 @@ public static bool IsIndoorHousing(this HousingType housingType)
case HousingType.FreeStallBarnSolidLitter:
case HousingType.FreeStallBarnSlurryScraping:
case HousingType.FreeStallBarnMilkParlourSlurryFlushing:
case HousingType.TieStall:
case HousingType.TieStallSlurry:
case HousingType.TieStallSolidLitter:
return true;

default:
Expand Down
14 changes: 12 additions & 2 deletions H.Core/Services/Animals/AnimalResultsServiceBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1388,12 +1388,22 @@ public double CalculateAmbientTemperatureAdjustmentNoBarn(double averageMonthlyT

/// <summary>
/// Equation 4.3.1-12
///
/// Indoor dairy housing systems do not get an additional +2 degrees - just beef housing systems
/// </summary>
/// <param name="dailyTemperature">Temperature (°C)</param>
/// <param name="isDairyIndoorHousing"></param>
/// <returns>Temperature-based adjustments used to correct default NH3 emission factors for indoor housing</returns>
public double CalculateAmbientTemperatureAdjustmentForIndoorHousing(double dailyTemperature)
public double CalculateAmbientTemperatureAdjustmentForIndoorHousing(double dailyTemperature,
bool isDairyIndoorHousing = false)
{
return Math.Pow(1.041, dailyTemperature + 2) / Math.Pow(1.041, 15);
var temperatureAdjustment = dailyTemperature;
if (isDairyIndoorHousing == false)
{
temperatureAdjustment += 2;
}

return Math.Pow(1.041, temperatureAdjustment) / Math.Pow(1.041, 15);
}

/// <summary>
Expand Down
4 changes: 3 additions & 1 deletion H.Core/Services/Animals/BeefAndDairyResultsServiceBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,10 @@ protected void CalculateIndirectManureNitrousOxide(GroupEmissionsByDay dailyEmis
}
}

var isIndoorDairyHousing = managementPeriod.HousingDetails.HousingType.IsIndoorHousing() && managementPeriod.AnimalType.IsDairyCattleType();
dailyEmissions.AmbientAirTemperatureAdjustmentForHousing = CalculateAmbientTemperatureAdjustmentForIndoorHousing(
dailyTemperature: temperature);
dailyTemperature: temperature,
isDairyIndoorHousing: isIndoorDairyHousing);
}
else
{
Expand Down

0 comments on commit dbe7667

Please sign in to comment.