Avalanche Forecasts on an InReach

I am imagining when Alvaro and I attempt Mt. Adams. It will at least be an overnight trip, perhaps a two-nighter. Anxious me was thinkin: How will I know what the current avalanche problems are? I can ask for the weather on the InReach, but nothing for avalanches.

So I made a few scripts and put them online on an Azure server. They're running every minute, so the delay shouldn't be too bad (taking into account that sending a message with the InReach usually takes more than one minute).

To use it, I just need to send a message from my InReach, with the MapShare feature enabled, to nwac@anxiousmountaineer.com. The subject doesn't matter, but the body must contain a single id number. 141 for Snoqualmie Pass.

To test that it works prior a trip, I must send a message with MapShare containing "test email@example.com 141" That would parse the area 141 and send an email telling me the forecast for the day and a link to the MapShare (Probably SendGrid will change it to something in their domain, I assume it's for anti-spam purposes? it should still redirect to Garmin's site).

The Forecast will be brief, and the mountain aspects will be hex encoded. This is due to the 160 character limit imposed by Garmin.

Snoqualmie Pass Danger
current:up4/5
mid4/5
low3/5
tomorrow:up4/5
mid3/5
low3/5
Persistent Slab:D2D2-very likely
ffffff
Wet Loose:D1D2-likely
0000ff

The slopes are a big hexadecimal/binary number where each turned on bit signifying an active slope for the avalanche problem

The bit 0 is at the very top, being the base north slope. The numbers increase clock-wise jumping to the north of the next layer when the layer is all processed.

Bit 0 is the LSB (Least Significant Bit), so here's an example that is color coded

I made this to work with other centers apart from NWAC, in case I travel to other areas or maybe somebody else makes use of this. Here's a list of the center ids as used by api.avalanche.org

1:"Teton"
2:"Togwotee Pass"
3:"Greys River"
51:"Steamboat Zone"
52:"Front Range Zone"
53:"Vail Summit Zone"
54:"Sawatch Zone"
55:"Aspen Zone"
56:"Gunnison Zone"
57:"Grand Mesa Zone"
58:"North San Juan Mountains"
59:"South San Juan Mountains"
60:"Sangre de Cristo Range"
77:"Central Sierra Nevada"
109:"Bridger Range"
110:"Northern Madison Range"
111:"Southern Madison Range"
112:"Southern Gallatin Range"
115:"Northern Gallatin Range"
116:"Lionhead Area"
117:"Cooke City"
121:"Summit Lake "
122:"Turnagain Pass "
122:"Turnagain Pass "
123:"Mount Shasta"
124:"West Central Montana"
128:"Eastside Region"
138:"Kootenai"
139:"Olympics"
140:"Stevens Pass"
141:"Snoqualmie Pass"
142:"West Slopes North"
143:"West Slopes Central"
144:"West Slopes South"
145:"East Slopes North"
146:"East Slopes Central"
147:"East Slopes South"
148:"Mt Hood"
149:"Selkirks & Cabinets"
153:"PAC Advisory Area"
183:"Chilkat Pass"
186:"Valdez Continental"
187:"Cordova City/Borough"
189:"Eastern Alaska Range"
190:"Hatcher Pass"
191:"Valdez Intermountain"
192:"Juneau"
193:"Lutak"
194:"Valdez Maritime"
197:"Haines Transitional"
202:"San Francisco Peaks"
203:"Chugach State Park"
205:"Central Cascades"
207:"Flathead Range & Glacier NP"
208:"Swan Range"
209:"Whitefish Range"
251:"Abajos"
252:"Logan"
253:"Moab"
254:"Ogden"
255:"Provo"
256:"Salt Lake"
257:"Skyline"
258:"Uintas"
259:"Southwest"
260:"Northern New Mexico"
261:"Bridgeport Winter Recreation Area"
272:"St. Regis & Silver Valley"
273:"Blues"
274:"Elkhorns"
275:"Northern Wallowas"
276:"Southern Wallowas"
281:"Centennial Range"
282:"Seward and Lost Lake"
293:"Banner Summit"
294:"Sawtooth & Western Smoky Mtns"
295:"Galena Summit & Eastern Mtns"
296:"Soldier & Wood River Valley Mtns"
297:"Presidential Range"
300:"Newberry"
301:"Juneau"

If there are few avalanche problems, it should fit within the 160 characters, but it may grow larger and span two different messages. This is even more likely for zones with longer names. Each message received will cost/count towards the receivers paid plan. I put the send ones as preset messages so that they're free :) but the forecast will still cost money (or count towards my 10 msg monthly count)


I don't expect anybody else to use this, but if it ever happens: I don't guarantee this will work at all, or that it will work correctly. Garmin or avalanche.org may change their formats at any time and this will break. (That's why I left the test option, to check that it still works). In theory I'll have the data on the email of the locations the InReach messages were sent from, and I could send messages back, which each would cost money and be paid by the receiver.

The code is hosted at https://github.com/luiszun/hcaerni