sharppy / SHARPpy

Sounding/Hodograph Analysis and Research Program in Python
https://sharppy.github.io/SHARPpy/index.html
Other
219 stars 112 forks source link

SPC SHIP equation is incorrect #13

Closed wblumberg closed 10 years ago

wblumberg commented 10 years ago

SHIP parameter displays a significant difference between SHARPPy and SPC. Refer to images below. STP is off too, but the differences in 0-1 SRH and CAPE are enough to throw the value off by that much (I hand calculated this.) This value compares pretty well (56 knots) to SPC though. I've looked at both the SPC documentation for each of these:

http://www.spc.noaa.gov/sfctest/help/help_sigh.html

SHIP = [(MUCAPE j/kg) * (Mixing Ratio of MU PARCEL g/kg) * (700-500mb LAPSE RATE c/km) * (-500mb TEMP C) * (0-6km Shear m/s) ] / 44,000,000

Given that MUCAPE is 5769 J/kg, 700-500 mb lapse rate is 8.7 C/km, 500 mb temp is -11.1 C, and 0-6 shear is 28.8 m/s (all from SHARPPy and compare well to SPC) and that SHARPPy calculates the MU Parcel mixing ratio as 19.68 g/kg…which looking at a Skew-T seems reasonable given the surface dew point. This means that SPC must be calculating a MU parcel mixing ratio of at most 11 g/kg to be getting the SHIP values indicated. Otherwise their equation listed online is wrong, or it is incorrectly coded in NSHARP.

Using the test soundings (6/16/2014 OAX 19 UTC) last skewt

keltonhalbert commented 10 years ago

For the purpose of records...

Greg used the SHIP values from the SARS database and then used the SPC equation to calculate SHIP based on the parameters in the SARS hail file. This graph he made demonstrates the spread between SHIP in the database and SHIP calculated using it's own variables.

It obviously does not stay along the line as it should, leading the conclusion to be that the equation documented on the SPC webpage is in error, or the database is in error.

screen shot 2014-08-07 at 12 19 25 am

wblumberg commented 10 years ago

August 23, 2014...wrote Ryan Jewell regarding these issues and sent him the figure attached to this thread by Kelton.

wblumberg commented 10 years ago

Ryan Jewell wrote back a few hours later with some corrections to the SHIP equation. He mentioned that the denominator was incorrect. It is not 44,000,000 but rather 42,000,000: """ in addition to 42,000,000 in denominator, apply these checks before calculating and replot:

if 6km shear > 27 m/s, set to 27. if 6km shear < 7 m/s, set to 7. if mumixr > 13.6, set to 13.6 if mumixr < 11, set to 11 if 500 mb temp > -5.5, set to -5.5

Then calculate. THEN...

if mucape < 1300, ship = ship(mucape/1300) if 7-5 lr < 5.8, ship = ship(lr75/5.8) if freezing level < 2400m, ship = ship*(fzl/2400)

Then you'll have the final number nsharp has. """

Upon changes to the code, I loaded up a couple of different soundings (including the test sounding seen below) and the SHIP values compared perfectly. There may be some differences at some point, as I'm uncertain if the virtual temperature correction needs to be found in order to find the freezing level, but the consistency between the numbers I saw were spot on.

skewt