feat: Working on ignoring flagged measurements that are zero for optional values.

This commit is contained in:
2024-06-10 16:29:33 -04:00
parent a6bfbd6877
commit 3bfcc8a0b2
6 changed files with 75 additions and 32 deletions

View File

@@ -177,11 +177,11 @@ public enum EquipmentMeasurement: Equatable {
value: measurement.externalStaticPressure,
ratedPressures: ratedPressures
),
filterPressureDrop: .init(
value: measurement.$postFilterPressure.positiveValue - measurement.$returnPlenumPressure.positiveValue,
budget: budgets.filterBudget,
ratedPressures: ratedPressures,
ignoreMinimum: true
filterPressureDrop: calculateFilterPressureDrop(
returnPlenumPressure: measurement.$returnPlenumPressure,
postFilterPressure: measurement.$postFilterPressure,
filterBudget: budgets.filterBudget,
ratedPressures: ratedPressures
),
returnPlenumPressure: .init(
value: measurement.$returnPlenumPressure.positiveValue,
@@ -213,11 +213,11 @@ public enum EquipmentMeasurement: Equatable {
value: measurement.externalStaticPressure,
ratedPressures: ratedPressures
),
filterPressureDrop: .init(
value: measurement.$postFilterPressure.positiveValue - measurement.$returnPlenumPressure.positiveValue,
budget: budgets.filterBudget,
ratedPressures: ratedPressures,
ignoreMinimum: true
filterPressureDrop: calculateFilterPressureDrop(
returnPlenumPressure: measurement.$returnPlenumPressure,
postFilterPressure: measurement.$postFilterPressure,
filterBudget: budgets.filterBudget,
ratedPressures: ratedPressures
),
returnPlenumPressure: .init(
value: measurement.$returnPlenumPressure.positiveValue,
@@ -328,6 +328,23 @@ fileprivate extension Flagged {
}
}
fileprivate func calculateFilterPressureDrop(
returnPlenumPressure: Positive<Double>,
postFilterPressure: Positive<Double>,
filterBudget: Percentage,
ratedPressures: RatedStaticPressures
) -> Flagged {
guard postFilterPressure > 0 else {
return .init(wrappedValue: 0, .result(.good()))
}
return .init(
value: postFilterPressure.positiveValue - returnPlenumPressure.positiveValue,
budget: filterBudget,
ratedPressures: ratedPressures,
ignoreMinimum: true
)
}
fileprivate func checkExternalStaticPressure(
value: Positive<Double>,
ratedPressures: RatedStaticPressures