Public Solving: Calculating the wind chill

Santa’s sled is pretty modern. Hey, we even upgraded it to have an autopilot.
But now, the elves want to surprise Santa by adding a wind chill gauge.

The wind chill is the “feel” temperature, you know when it’s like 30 degrees, but it feels like 35?


This content originally appeared on DEV Community and was authored by Chris Bongers

Santa's sled is pretty modern. Hey, we even upgraded it to have an autopilot.
But now, the elves want to surprise Santa by adding a wind chill gauge.

The wind chill is the "feel" temperature, you know when it's like 30 degrees, but it feels like 35?

You can find the complete puzzle here.

To do this, we can use an already provided mathematical calculation which can be found here.

The wind chill can be calculated for English and Metric values.

Thinking about the solution

The main thing we have to achieve today is to actually make the formula in JavaScript.
This should be a pretty straightforward process.

The formula for English units looks like this:

35.74 + 0.6215T  35.75 (V^0.16) + 0.4275T (V^0.16)

Where T = Temperature in degrees Fahrenheit and V = wind speed in miles per hour.

In JavaScript this should look similar to this:

35.74 + 0.6215 * temperature - 35.75 * windSpeed ** 0.16 + 0.4275 * temperature * windSpeed ** 0.16

Did you note the (V^0.16) exponent? We can use Math.pow or the shortcut ** for that.

Then we can simply wrap this in a Math.round to get the rounded number.

return Math.round(
  35.74 +
    0.6215 * temperature -
    35.75 * windSpeed ** 0.16 +
    0.4275 * temperature * windSpeed ** 0.16
);

However, we also need a way to calculate the metric version.

I decided to just catch and return the English units beforehand.

And if that didn't hit, surely it must be the metric version.

if (units === 'US') {
    return Math.round(
      35.74 +
        0.6215 * temperature -
        35.75 * windSpeed ** 0.16 +
        0.4275 * temperature * windSpeed ** 0.16
    );
}

return Math.round(
    13.12 +
      0.6215 * temperature -
      11.37 * windSpeed ** 0.16 +
      0.3965 * temperature * windSpeed ** 0.16
);

And that's it! We solved the issue.

Let's try it out and see if our test turns green.

Wind chill test in JavaScript turning green

Would love to hear what you would do differently to solve this problem.

Thank you for reading, and let's connect!

Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on Facebook or Twitter


This content originally appeared on DEV Community and was authored by Chris Bongers


Print Share Comment Cite Upload Translate Updates
APA

Chris Bongers | Sciencx (2021-12-28T06:02:06+00:00) Public Solving: Calculating the wind chill. Retrieved from https://www.scien.cx/2021/12/28/public-solving-calculating-the-wind-chill/

MLA
" » Public Solving: Calculating the wind chill." Chris Bongers | Sciencx - Tuesday December 28, 2021, https://www.scien.cx/2021/12/28/public-solving-calculating-the-wind-chill/
HARVARD
Chris Bongers | Sciencx Tuesday December 28, 2021 » Public Solving: Calculating the wind chill., viewed ,<https://www.scien.cx/2021/12/28/public-solving-calculating-the-wind-chill/>
VANCOUVER
Chris Bongers | Sciencx - » Public Solving: Calculating the wind chill. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/12/28/public-solving-calculating-the-wind-chill/
CHICAGO
" » Public Solving: Calculating the wind chill." Chris Bongers | Sciencx - Accessed . https://www.scien.cx/2021/12/28/public-solving-calculating-the-wind-chill/
IEEE
" » Public Solving: Calculating the wind chill." Chris Bongers | Sciencx [Online]. Available: https://www.scien.cx/2021/12/28/public-solving-calculating-the-wind-chill/. [Accessed: ]
rf:citation
» Public Solving: Calculating the wind chill | Chris Bongers | Sciencx | https://www.scien.cx/2021/12/28/public-solving-calculating-the-wind-chill/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.