You may wonder why you’ve not heard much about the setup tomorrow here. We do have a pattern of not talking about things much if we don’t believe it is a big risk day, but that’s not the case here. I’ll be up-front: I’m getting as storm saturated as I suspect many are. With the previous high-risk day busting so badly in Kansas, I was cautious early on for fear of getting lured in again. And it still could fail to be a big day.
But especially given the holiday weekend and so many of us planning outdoor activities, I can’t let it slide by any longer — because tomorrow has all the markings of being a truly BIG DEAL.
I’ve spent a good amount of time this afternoon discussing this with several people, Matt and Brad included. From my looking at the models, all the signals are there. Yes, there is some uncertainty in the computer models. But a number of people who are much better forecasters than I (most of them meteorologists, which I am not) are setting aside some of that uncertainty.
I’m about to do something I have never done before, and that’s lift nearly the complete posting of another (Non-NWS) member of the weather enterprise. Paul Bouchereau is a meteorologist I’ve only been following for the past year or so, but I have found him to be extremely knowledgeable and not at all prone to hype — a diametric opposite of most of the (current and former) broadcast meteorologists in the Oklahoma City market.
Bottom line: Paul and I see this the same way, and I find Paul trustworthy. I only edit his words to take out a couple of tangents.
This is a very serious situation for Kansas and Oklahoma. Some of the most unstable air ever to reach the area will be seen. Dynamicswise, the upper wind energy is impressive but not overly powerful. IOW instability will drive this outbreak. We will be dealing with long track significant tornadoes and very large hail, Softvall in some cases,
Jet Stream… [The approaching upper-level system is called] a jet streak. They are totally different from shortwaves because we can now determine what sectors of the wind max will cause a problem. The left entrance quadrant and right exit quadrant produce huge amounts of lift. Its that left entrance quad that will cause the problems on Saturday. Notice how the Black Oval directly correlates with SPC’s Moderate Risk. This jet streak also draws in moisture from the gulf when it shifts surface winds to the SE.
Sounding.... This is a classic large hail/tornado sounding. From the Jet Stream we know we have shear. We can visualize it here. Directional shear is the change of wind direction with height. One thing I did not see from the previous chart was the 100kt wind just above that jet streak at 300mb. Extreme winds like this does two things. Once the updrafts start they need to be evacuated out the top of the storm. A 100kt wind does this very effectively. We see this evacuation in the form of an anvil. Next you have to visulize this. Winds at the ground are 20kts and 100kts at 300mb. visualize the differential wind speed with height. A theoretical rotor now exists that gets bent up by an updraft. One end becomes a mesocyclone the other end the outflow.
We have/Had an inversion, Red Arrow, When we say a CAP is broken in this case its because the rising air parcel is warmer than the air in the inversion. The white dashed line is a rising air parcels temp. Look at the distance between the red temperature profile and the white dashed line. The area described between the two is CAPE, Convective Available Potential Energy, IOW a meadure of instability. So when the air parcel hits this layer it then rises violently. From the wind profile we also knowits violently rotating. This is why we forecast tornadoes. The hail part comes in from tat spike to the left which means there is a dry layer. But this layer actually increase the creation of hail by producing evaporat\ive cooling that freezes more water vapor on already large hail stones.
CAPE... Anything over 2000J is considered extreme. In Oklahoma CAPE will peak at 5000. This isn’t gasoline on a fire, this is nitromethane!! Even with the wind energy, this is the main reason why the models are calling for some very violent weather.
Forecast Radar….
Saturday 9pm…. One thing thats painfully obvious is, the models are not as convinced as the humans that the CAP will break. This model is a convectively sensitive model, meaning it has a tendency to over forecast thunderstorms. Meanwhile the major models GFS EURO and HRRR really do not have much activity at all. The GFS does have a stray thunderstorm in southern Oklahoma. As we get closer to initiation it will become obvious who is right.
Paul Bouchereau, Posting to OK Weather Private Group, Friday May 24, 2024
I have duplicated his graphics except I’ve shifted the target area to Kansas.
Jet Stream
Saturday night 10pm CDT
Of particular note here is the bubble of 90 knot wind just west of the 573 west of Wichita. That indicates ~100 mph wind at an altitude of 19,000 feet (give or take 3 miles above the surface, which is at ~1500 feet MSL there).
Sounding
I have highlighted the same features Paul talks about with appropriate color arrows.
Also of note (green rounded box) is that the LCL (Lifted Condensation Level) and LFC (Level of Free Convection) are right on top of one another. AND they are less than 1KM from the ground. This means 2 things: the air parcel can lift from the ground (LFC) into the base of the storm (LCL) which means it can tap into the CAPE. It also means LCL (the visible base of the storms) will be running just above 3,000 feet off the surface. Low bases are a factor we look for in tornadic storms.
I’m also going to share a part of the graphic Paul didn’t share. Here is the shole forecast sounding and hodograph image:
Look first at the upper right hand of the image. If you have heard (perhaps in NWS or SPC discussions) the term “sickle-shaped hodograph,” this is nearly what one looks like. Imagine you’re looking from the top of the storm down, as you’d view it on a map. The red arc corresponds to the lowest 10,000 feet or so of the atmosphere, and the strong curve indicates the rotation with height which will sustain a mesocyclone.
There are a bunch of numerical values for the various parameters show, but let me put it in the words of SPC this afternoon:
The end result will be a rare combination of instability and shear across the Moderate Risk area, with potential for particularly strong tornadoes, wind, and extreme hail.
SPC Day 2 Outlook issued mid-day today.
CAPE
As Paul said, we start paying attention when CAPE goes over 2000 this time of year. While not as off the charts as he mentions for Oklahoma, the forecast values are nearly double the “where it gets interesting” amount.
Forecast Radar
The usual cautions apply — don’t take this literally, it will vary somewhat.
Bottom Line
All the usual advice applies:
Underground is the best shelter. If that’s not an option, move as low as you can go, as close to the middle of the building, as many walls as possible between you and the outside.
At the lake? Pack up and head for safety when you see these storms growing well to the west in the late afternoon/early evening hours, don’t let them get close before you take action.
Members Get More
Additional details are available for these membership levels:
BasicEnthusiast
Keep Up to Date - Enable Notifications
OK
No thanks
1 - Query:
SELECT option_value FROM wp_options WHERE option_name = 'siteurl' LIMIT 1
Time: 0.749 ms
2 - Query:
SELECT * FROM wp_pmpro_membership_levels
Time: 0.183 ms
3 - Query:
SET time_zone = "+00:00"
Time: 0.344 ms
4 - Query:
SELECT t0.name AS name_1, t0.value AS value_2, t0.id AS id_3, t0.created_at AS created_at_4, t0.updated_at AS updated_at_5 FROM wp_mailpoet_settings t0
Time: 0.298 ms
5 - Query:
SHOW TABLES LIKE 'wp\\_ewwwio\\_images'
Time: 0.781 ms
6 - Query:
select option_name, option_value from wp_options where option_name like 'mcloud%'
Time: 1.385 ms
7 - Query:
SHOW TABLES LIKE 'wp_mcloud_pending_optimizations'
Time: 0.704 ms
8 - Query:
SHOW TABLES LIKE 'wp_mcloud_bg_optimizations'
Time: 0.552 ms
9 - Query:
SELECT COUNT(*) FROM information_schema.tables
WHERE table_schema = 'dbb845775ff53c4a11a5569812f8843b49'
AND table_name IN ('wp_toolset_associations', 'wp_toolset_connected_elements', 'wp_toolset_relationships', 'wp_toolset_type_sets')
Time: 0.895 ms
10 - Query:
SELECT count(w0_.id) AS sclr_0 FROM wp_mailpoet_subscribers w0_ WHERE w0_.deleted_at IS NULL AND w0_.status IN ('subscribed', 'unconfirmed', 'inactive')
Time: 0.298 ms
11 - Query:
SELECT a.action_id FROM wp_actionscheduler_actions a LEFT JOIN wp_actionscheduler_groups g ON g.group_id=a.group_id WHERE 1=1 AND g.slug='mailpoet-cron' AND a.hook='mailpoet/cron/daemon-trigger' AND a.args='[]' AND a.status IN ('in-progress', 'pending') LIMIT 0, 1
Time: 0.381 ms
12 - Query:
SELECT DISTINCT t.trigger_key
FROM `wp_mailpoet_automations` AS a
JOIN `wp_mailpoet_automation_triggers` as t
WHERE a.status = 'active' AND a.id = t.automation_id
ORDER BY trigger_key DESC
Time: 0.306 ms
13 - Query:
SELECT id FROM wp_pmpro_membership_levels LIMIT 1
Time: 0.268 ms
14 - Query:
SELECT id FROM wp_pmpro_membership_levels WHERE allow_signups = 1 AND (initial_payment > 0 OR billing_amount > 0 OR trial_amount > 0) LIMIT 1
Time: 0.166 ms
15 - Query:
SELECT user_id FROM wp_pmpro_memberships_users WHERE initial_payment > 0 OR billing_amount > 0 OR trial_amount > 0 LIMIT 1
Time: 0.090 ms
16 - Query:
SELECT DISTINCT meta_value FROM wp_postmeta
WHERE meta_key = '_view_loop_template'
AND meta_value != '0'
ORDER BY post_id
Time: 0.297 ms
17 - Query:
SELECT ID, post_name, post_parent, post_type
FROM wp_posts
WHERE post_name IN ('saturday-high-risk-coming')
AND post_type IN ('page','attachment')
Time: 0.840 ms
18 - Query:
SELECT wp_posts.ID
FROM wp_posts
WHERE 1=1 AND wp_posts.post_name = 'saturday-high-risk-coming' AND wp_posts.post_type = 'post'
ORDER BY wp_posts.post_date DESC
Time: 0.865 ms
19 - Query:
SELECT autoload FROM wp_options WHERE option_name = 'pmpro_visits' LIMIT 1
Time: 0.681 ms
20 - Query:
SHOW FULL COLUMNS FROM `wp_options`
Time: 1.044 ms
21 - Query:
UPDATE `wp_options` SET `option_value` = 'a:9:{s:5:\"today\";i:1114;s:8:\"thisdate\";s:10:\"2025-11-06\";s:4:\"week\";i:3459;s:8:\"thisweek\";s:2:\"24\";s:5:\"month\";i:11619;s:9:\"thismonth\";s:1:\"6\";s:3:\"ytd\";i:257961;s:8:\"thisyear\";s:4:\"2025\";s:7:\"alltime\";i:1475185;}' WHERE `option_name` = 'pmpro_visits'
Time: 0.667 ms
22 - Query:
SELECT ID
FROM wp_posts
INNER JOIN wp_postmeta
ON ( wp_posts.ID = wp_postmeta.post_id )
INNER JOIN wp_postmeta AS mt1
ON ( wp_posts.ID = mt1.post_id )
WHERE 1=1
AND ( ( wp_postmeta.meta_key = '_seopress_redirections_enabled'
AND wp_postmeta.meta_value = 'yes' ) )
AND post_title = 'saturday-high-risk-coming/'
AND post_type = 'seopress_404'
AND post_status = 'publish'
AND ( ( mt1.meta_key = '_seopress_redirections_logged_status'
AND mt1.meta_value = 'only_not_logged_in' )
OR ( mt1.meta_key = '_seopress_redirections_logged_status'
AND mt1.meta_value = 'both' ) )
Time: 0.970 ms
23 - Query:
SELECT ID
FROM wp_posts
WHERE 1=1
AND post_title = 'saturday-high-risk-coming/'
AND post_type = 'seopress_404'
Time: 0.625 ms
24 - Query:
SELECT ID
FROM wp_posts
INNER JOIN wp_postmeta
ON ( wp_posts.ID = wp_postmeta.post_id )
INNER JOIN wp_postmeta AS mt1
ON ( wp_posts.ID = mt1.post_id )
WHERE 1=1
AND ( ( wp_postmeta.meta_key = '_seopress_redirections_enabled'
AND wp_postmeta.meta_value = 'yes' ) )
AND post_title = ''
AND post_type = 'seopress_404'
AND post_status = 'publish'
AND ( ( mt1.meta_key = '_seopress_redirections_logged_status'
AND mt1.meta_value = 'only_not_logged_in' )
OR ( mt1.meta_key = '_seopress_redirections_logged_status'
AND mt1.meta_value = 'both' ) )
Time: 0.103 ms
25 - Query:
SELECT ID
FROM wp_posts
WHERE 1=1
AND post_title = ''
AND post_type = 'seopress_404'
Time: 0.058 ms
26 - Query:
SELECT ID
FROM wp_posts
INNER JOIN wp_postmeta
ON ( wp_posts.ID = wp_postmeta.post_id )
INNER JOIN wp_postmeta AS mt1
ON ( wp_posts.ID = mt1.post_id )
WHERE 1=1
AND ( ( wp_postmeta.meta_key = '_seopress_redirections_enabled'
AND wp_postmeta.meta_value = 'yes' ) )
AND post_title = 'saturday-high-risk-coming'
AND post_type = 'seopress_404'
AND post_status = 'publish'
AND ( ( mt1.meta_key = '_seopress_redirections_logged_status'
AND mt1.meta_value = 'only_not_logged_in' )
OR ( mt1.meta_key = '_seopress_redirections_logged_status'
AND mt1.meta_value = 'both' ) )
Time: 0.904 ms
27 - Query:
SELECT ID
FROM wp_posts
WHERE 1=1
AND post_title = 'saturday-high-risk-coming'
AND post_type = 'seopress_404'
Time: 0.416 ms
28 - Query:
SELECT p.ID FROM wp_posts AS p WHERE p.post_date < '2024-05-24 19:19:25' AND p.post_type = 'post' AND p.post_status = 'publish' ORDER BY p.post_date DESC LIMIT 1
Time: 0.852 ms
29 - Query:
SELECT p.ID FROM wp_posts AS p WHERE p.post_date > '2024-05-24 19:19:25' AND p.post_type = 'post' AND p.post_status = 'publish' ORDER BY p.post_date ASC LIMIT 1
Time: 0.904 ms
30 - Query:
SELECT DISTINCT t.term_id
FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
WHERE tt.taxonomy IN ('category', 'post_tag', 'wpmf_tag', 'event') AND tr.object_id IN (127306)
ORDER BY t.name ASC
Time: 0.355 ms
31 - Query:
SELECT DISTINCT t.term_id
FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
WHERE tt.taxonomy IN ('category') AND tr.object_id IN (127306)
ORDER BY tt.parent DESC
Time: 0.366 ms
32 - Query:
SELECT autoload FROM wp_options WHERE option_name = 'pmpro_views' LIMIT 1
Time: 0.615 ms
33 - Query:
UPDATE `wp_options` SET `option_value` = 'a:9:{s:5:\"today\";i:1353;s:8:\"thisdate\";s:10:\"2025-11-06\";s:4:\"week\";i:4116;s:8:\"thisweek\";s:2:\"24\";s:5:\"month\";i:14378;s:9:\"thismonth\";s:1:\"6\";s:3:\"ytd\";i:266102;s:8:\"thisyear\";s:4:\"2025\";s:7:\"alltime\";i:976145;}' WHERE `option_name` = 'pmpro_views'
Time: 0.406 ms
34 - Query:
(SELECT m.id, m.name FROM wp_pmpro_memberships_categories mc LEFT JOIN wp_pmpro_membership_levels m ON mc.membership_id = m.id WHERE mc.category_id IN(23) AND m.id IS NOT NULL) UNION (SELECT m.id, m.name FROM wp_pmpro_memberships_pages mp LEFT JOIN wp_pmpro_membership_levels m ON mp.membership_id = m.id WHERE mp.page_id = '127306')
Time: 0.305 ms
35 - Query:
(SELECT m.id, m.name FROM wp_pmpro_memberships_categories mc LEFT JOIN wp_pmpro_membership_levels m ON mc.membership_id = m.id WHERE mc.category_id IN(23) AND m.id IS NOT NULL) UNION (SELECT m.id, m.name FROM wp_pmpro_memberships_pages mp LEFT JOIN wp_pmpro_membership_levels m ON mp.membership_id = m.id WHERE mp.page_id = '127306')
Time: 0.395 ms
36 - Query:
(SELECT m.id, m.name FROM wp_pmpro_memberships_categories mc LEFT JOIN wp_pmpro_membership_levels m ON mc.membership_id = m.id WHERE mc.category_id IN(23) AND m.id IS NOT NULL) UNION (SELECT m.id, m.name FROM wp_pmpro_memberships_pages mp LEFT JOIN wp_pmpro_membership_levels m ON mp.membership_id = m.id WHERE mp.page_id = '127306')
Time: 0.331 ms
37 - Query:
SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (127307) ORDER BY meta_id ASC
Time: 0.770 ms
38 - Query:
SELECT * FROM wp_posts WHERE ID = 127307 LIMIT 1
Time: 0.559 ms
39 - Query:
SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (127308) ORDER BY meta_id ASC
Time: 0.527 ms
40 - Query:
SELECT * FROM wp_posts WHERE ID = 127308 LIMIT 1
Time: 0.580 ms
41 - Query:
SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (127309) ORDER BY meta_id ASC
Time: 0.627 ms
42 - Query:
SELECT * FROM wp_posts WHERE ID = 127309 LIMIT 1
Time: 0.505 ms
43 - Query:
SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (127310) ORDER BY meta_id ASC
Time: 0.639 ms
44 - Query:
SELECT * FROM wp_posts WHERE ID = 127310 LIMIT 1
Time: 0.651 ms
45 - Query:
SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (127313) ORDER BY meta_id ASC
Time: 0.740 ms
46 - Query:
SELECT * FROM wp_posts WHERE ID = 127313 LIMIT 1
Time: 0.628 ms
47 - Query:
SELECT post_id, meta_value FROM wp_postmeta WHERE meta_key = '_wp_attached_file' AND meta_value = '2024/05/500wh.us_c.png'
Time: 43.189 ms
48 - Query:
SELECT post_id, meta_value FROM wp_postmeta WHERE meta_key = '_wp_attached_file' AND meta_value = '2024/05/screenshot_20240524_183419.png'
Time: 33.470 ms
49 - Query:
SELECT post_id, meta_value FROM wp_postmeta WHERE meta_key = '_wp_attached_file' AND meta_value = '2024/05/screenshot_20240524_183449.png'
Time: 25.699 ms
50 - Query:
SELECT post_id, meta_value FROM wp_postmeta WHERE meta_key = '_wp_attached_file' AND meta_value = '2024/05/screenshot_20240524_185413.png'
Time: 30.221 ms
51 - Query:
SELECT post_id, meta_value FROM wp_postmeta WHERE meta_key = '_wp_attached_file' AND meta_value = '2024/05/refcmp_uh001h.us_c.png'
Time: 30.483 ms
52 - Query:
(SELECT m.id, m.name FROM wp_pmpro_memberships_categories mc LEFT JOIN wp_pmpro_membership_levels m ON mc.membership_id = m.id WHERE mc.category_id IN(23) AND m.id IS NOT NULL) UNION (SELECT m.id, m.name FROM wp_pmpro_memberships_pages mp LEFT JOIN wp_pmpro_membership_levels m ON mp.membership_id = m.id WHERE mp.page_id = '127306')
Time: 0.308 ms
53 - Query:
SELECT DISTINCT(mp.page_id)
FROM wp_pmpro_memberships_pages mp
LEFT JOIN wp_posts p ON mp.page_id = p.ID
WHERE p.post_type IN('page', 'post')
Time: 0.175 ms
54 - Query:
SELECT DISTINCT(tr.object_id)
FROM wp_term_relationships tr
LEFT JOIN wp_posts p ON tr.object_id = p.ID
WHERE tr.term_taxonomy_id IN(
SELECT category_id
FROM wp_pmpro_memberships_categories
)
AND p.post_type IN('page', 'post')
Time: 0.088 ms
55 - Query:
(SELECT m.id, m.name FROM wp_pmpro_memberships_categories mc LEFT JOIN wp_pmpro_membership_levels m ON mc.membership_id = m.id WHERE mc.category_id IN(20,153) AND m.id IS NOT NULL) UNION (SELECT m.id, m.name FROM wp_pmpro_memberships_pages mp LEFT JOIN wp_pmpro_membership_levels m ON mp.membership_id = m.id WHERE mp.page_id = '128006')
Time: 0.259 ms
56 - Query:
(SELECT m.id, m.name FROM wp_pmpro_memberships_categories mc LEFT JOIN wp_pmpro_membership_levels m ON mc.membership_id = m.id WHERE mc.category_id IN(20,153) AND m.id IS NOT NULL) UNION (SELECT m.id, m.name FROM wp_pmpro_memberships_pages mp LEFT JOIN wp_pmpro_membership_levels m ON mp.membership_id = m.id WHERE mp.page_id = '128033')
Time: 0.183 ms
57 - Query:
(SELECT m.id, m.name FROM wp_pmpro_memberships_categories mc LEFT JOIN wp_pmpro_membership_levels m ON mc.membership_id = m.id WHERE mc.category_id IN(23) AND m.id IS NOT NULL) UNION (SELECT m.id, m.name FROM wp_pmpro_memberships_pages mp LEFT JOIN wp_pmpro_membership_levels m ON mp.membership_id = m.id WHERE mp.page_id = '127306')
Time: 0.295 ms
58 - Query:
(SELECT m.id, m.name FROM wp_pmpro_memberships_categories mc LEFT JOIN wp_pmpro_membership_levels m ON mc.membership_id = m.id WHERE mc.category_id IN(23) AND m.id IS NOT NULL) UNION (SELECT m.id, m.name FROM wp_pmpro_memberships_pages mp LEFT JOIN wp_pmpro_membership_levels m ON mp.membership_id = m.id WHERE mp.page_id = '127215')
Time: 0.244 ms
59 - Query:
select * from `wp_fluentform_forms` where `status` = 'published' and `id` = '19' limit 1
Time: 0.324 ms
60 - Query:
select * from `wp_fluentform_form_meta` where `form_id` = '19' and `meta_key` = 'formSettings' limit 1
Time: 0.133 ms
61 - Query:
select * from `wp_fluentform_form_meta` where `form_id` = '19' and `meta_key` = '_ff_selected_style' limit 1
Time: 0.286 ms
62 - Query:
select * from `wp_fluentform_form_meta` where `form_id` = '19' and `meta_key` in ('_custom_form_css', '_custom_form_js')
Time: 0.277 ms
63 - Query:
select * from `wp_fluentform_form_meta` where `form_id` = '19' and `meta_key` in ('_ff_form_styler_css', '_ff_selected_style', 'ffs_default')
Time: 0.339 ms
64 - Query:
select * from `wp_fluentform_form_meta` where (`form_id` = '19' and `meta_key` = 'ffs_default') limit 1
Time: 0.217 ms
65 - Query:
select * from `wp_fluentform_form_meta` where (`form_id` = '19' and `meta_key` = '_ff_form_styles') limit 1
Time: 0.165 ms