From 3a7c2bd29127fed521571f4be0eb95f536d56fad Mon Sep 17 00:00:00 2001 From: Kenneth Cheung Date: Fri, 30 Jan 2026 10:56:18 -0500 Subject: [PATCH] remove uncessary units conversion in calculate scorch height --- src/behave/mortality.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/behave/mortality.cpp b/src/behave/mortality.cpp index 1439e77..07da439 100644 --- a/src/behave/mortality.cpp +++ b/src/behave/mortality.cpp @@ -80,8 +80,14 @@ double Mortality::calculateScorchHeight(double firelineIntensity, FirelineIntens { firelineIntensity = FirelineIntensityUnits::toBaseUnits(firelineIntensity, firelineIntensityUnits); - double midFlameWindSpeedInBaseUnits = SpeedUnits::toBaseUnits(midFlameWindSpeed, windSpeedUnits); - double midFlameWindSpeedInMilesPerHour = SpeedUnits::fromBaseUnits(midFlameWindSpeedInBaseUnits, SpeedUnits::MilesPerHour); + double midFlameWindSpeedInBaseUnits; + double midFlameWindSpeedInMilesPerHour ; + if (windSpeedUnits != SpeedUnits::MilesPerHour) { + midFlameWindSpeedInBaseUnits = SpeedUnits::toBaseUnits(midFlameWindSpeed, windSpeedUnits); + midFlameWindSpeedInMilesPerHour = SpeedUnits::fromBaseUnits(midFlameWindSpeedInBaseUnits, SpeedUnits::MilesPerHour); + } else { + midFlameWindSpeedInMilesPerHour = midFlameWindSpeed; + } airTemperature = TemperatureUnits::toBaseUnits(airTemperature, temperatureUnits); double scorchHeight = ((firelineIntensity < 1.0e-07) @@ -553,7 +559,7 @@ double Mortality::getScorchHeight(LengthUnits::LengthUnitsEnum scorchHeightUnits flameLength = mortalityInputs_.getFlameLength(LengthUnits::Feet); scorchHeight = mortalityInputs_.getScorchHeight(scorchHeightUnits); firelineIntensity = mortalityInputs_.getFirelineIntensity(FirelineIntensityUnits::BtusPerFootPerSecond); - midFlameWindSpeed = mortalityInputs_.getMidFlameWindSpeed(SpeedUnits::FeetPerMinute); + midFlameWindSpeed = mortalityInputs_.getMidFlameWindSpeed(SpeedUnits::MilesPerHour); airTemperature = mortalityInputs_.getAirTemperature(TemperatureUnits::Fahrenheit); flameLengthOrScorchHeightSwitch = mortalityInputs_.getFlameLengthOrScorchHeightSwitch(); @@ -563,7 +569,7 @@ double Mortality::getScorchHeight(LengthUnits::LengthUnitsEnum scorchHeightUnits return calculateScorchHeight(firelineIntensity, FirelineIntensityUnits::BtusPerFootPerSecond, midFlameWindSpeed, - SpeedUnits::FeetPerMinute, + SpeedUnits::MilesPerHour, airTemperature, TemperatureUnits::Fahrenheit, LengthUnits::Feet);