I have created a plugin to display soundings for paraglider pilots.
You can try it by installing windy-plugin-sounding
.
It's still in early stages - feedback welcome.
Thanks to John C. Kealy - I borrowed some code from his skewt plugin.
I have created a plugin to display soundings for paraglider pilots.
You can try it by installing windy-plugin-sounding
.
It's still in early stages - feedback welcome.
Thanks to John C. Kealy - I borrowed some code from his skewt plugin.
@klssoaring It's not 6knt - the layer shows top of lift (meters or ft)
I have just seen that the webcams are online.
Thanks !
The plugin now works better on mobile and tablets.
As a reminder plugins do not work on the installed mobile apps but you can use them by loading windy in a web browser on your mobile or tablet.
Visit https://www.windy.com/plugins/windy-plugin-sounding to load the plugin on a mobile device.
When using the pluginDataLoader to load airData for {lat: 43.976, lon: 6.483}
I got the following:
gh-150h: (40) [131722.708740563, 131873.29396572048, 131922.94565206693, 132016.71505905513, 132225.90723425196, 132424.17538139762, 132405.000246063, 132296.38902947246, 132255.6902066929, 132126.36828524806, 131979.19820374015, 131812.59491882677, 131797.06754429135, 131838.95329781887, 131817.3114542323, 131832.95140255906, 131882.41621555114, 131870.3858499016, 131769.75701279528, 131675.52005413387, 131733.70995324804, 131866.15618848425, 131979.6065452756, 132054.1844242126, 132197.57830954724, 132214.68257874015, 132223.52664561023, 132250.2682086614, 132359.18990981497, 132399.28457185038, 132337.12530757874, 132339.62530757874, 132286.7916461614, 132179.5933636811, 132041.56317667323, 131999.92359744094, 132039.0947957677, 132040.97490157478, 132024.16922982284, 132009.43221112204]
gh-200h: (40) [113363.36854084645, 113707.68452706693, 113764.08102438974, 113793.56795275591, 113895.9055472441, 114103.93823818897, 114103.67725298033, 114074.598871937, 114070.2010949803, 113970.64604432284, 113746.62030620078, 113516.53377766535, 113438.02491387795, 113496.66523486612, 113409.99187992125, 113398.54398375984, 113410.0189468504, 113371.70608707481, 113228.95463344488, 113164.96995570866, 113226.83421505906, 113341.42150590551, 113458.87020177166, 113590.36724901575, 113749.8428272638, 113849.78420275591, 113915.83802903544, 114011.62708404723, 114147.75356791339, 114211.0625, 114173.93153297243, 114120.42787337795, 114040.30450295276, 113922.85220423227, 113717.40292814959, 113641.51808562991, 113670.62569586614, 113647.62063238189, 113604.05602853149, 113608.60340797245]
gh-300h: (40) [87340.2168306378, 88022.09362774409, 88366.71191265748, 88519.15075865749, 88644.68959153543, 88825.71155265748, 88827.33778297243, 88751.61780265748, 88718.5326648622, 88587.46647391732, 88422.28753622046, 88132.56692794489, 88083.12420029528, 88111.9216456693, 88048.37848962597, 88007.07487732283, 87920.60919685039, 87799.79190600394, 87539.2166935, 87398.08668848424, 87462.80204478347, 87551.63711999213, 87649.60236388583, 87728.68153297243, 87860.35728346456, 87912.88938822047, 88024.4548592874, 88234.0406003937, 88423.62323523621, 88575.55729205906, 88685.52442175196, 88665.375, 88511.46727362205, 88348.73880413384, 88139.73892716534, 88001.49718159449, 87963.6092519685, 87922.54785074014, 87897.50140471653, 87913.29712106299]
gh-400h: (40) [68075.46822933071, 68820.03382361418, 69184.32997047243, 69369.32283519293, 69560.34251968504, 69727.32714074804, 69704.0369825945, 69636.38914862205, 69639.0951648622, 69545.75873769684, 69410.82023677953, 69199.17502706693, 69222.49266046063, 69241.93869783464, 69179.10742765748, 69124.18994734251, 69057.01524993306, 68938.83045690157, 68743.10248523622, 68667.07348966534, 68711.20620177165, 68768.59737942912, 68868.73363681103, 68977.43855527166, 69121.86964812993, 69125.37217027559, 69152.97244094487, 69294.78988681102, 69468.56053149607, 69554.64875147639, 69604.06212000786, 69597.26242618111, 69538.37955216535, 69403.43345275591, 69231.98419045276, 69125.24710875984, 69098.6468996063, 69090.11010014173, 69059.90735728346, 69093.9373760748]
gh-500h: (40) [52412.68017962598, 52991.7939596378, 53334.977970923224, 53558.258288031495, 53732.61786417322, 53915.33633735236, 53910.41424704724, 53850.38105930118, 53892.556010088585, 53830.889352553146, 53696.61922640946, 53533.778425370074, 53600.79569857874, 53623.60092445866, 53533.94382554133, 53486.9326153681, 53471.82270006102, 53406.06045890747, 53250.75186493504, 53185.1324378681, 53254.60005718504, 53320.10236220472, 53415.853284940946, 53542.053364911415, 53667.369371309054, 53709.29004675197, 53738.79434251968, 53836.10786786417, 53972.493510088585, 54032.54988927166, 54042.84541609252, 54050.3687253937, 54024.43685408465, 53912.784879429135, 53758.27463705708, 53703.699895423226, 53688.798658956686, 53644.33845964566, 53597.21798105315, 53621.64044045276]
gh-600h: (40) [39309.508089320865, 39589.35038484252, 39790.67882800197, 39976.00149827756, 40164.28475639764, 40345.63804133858, 40366.27983513779, 40334.39367002953, 40397.175533956695, 40384.6305357874, 40281.76436934055, 40161.25077485236, 40213.06408343701, 40244.12360269488, 40175.55417765748, 40157.23955659449, 40177.53506397638, 40140.39348349015, 40012.59501107284, 39957.18101008858, 40038.42372047244, 40108.22782357284, 40204.15235527165, 40323.07141978347, 40454.65975639764, 40489.98683562992, 40529.13863582677, 40607.20647760827, 40723.613400098424, 40770.17087390748, 40760.214013287405, 40773.33169291339, 40754.119038765755, 40664.965981791334, 40537.495663139765, 40491.76445620078, 40482.650006151576, 40426.43210851378, 40373.79456815945, 40376.82046628937]
gh-700h: (40) [27884.19070410925, 28031.20550272638, 28101.836257627958, 28174.872735728346, 28346.941687796258, 28572.111097440946, 28612.10278973917, 28584.514486958662, 28663.149452509846, 28665.538245096457, 28607.148829753936, 28500.781021027557, 28512.19852079232, 28542.629443897637, 28518.59434793307, 28564.851592778545, 28621.273759067913, 28600.524329478347, 28484.061760610235, 28446.371800196852, 28509.40569635827, 28589.109744094483, 28665.860400591537, 28762.89999077264, 28887.224117249018, 28916.433555190943, 28944.074341781492, 29000.53883181595, 29102.9676273376, 29142.913985605315, 29126.24892347441, 29126.012525713584, 29114.65184846063, 29028.77705535335, 28917.77548289862, 28870.949579109252, 28884.86666461614, 28824.39187640551, 28776.022237942914, 28774.26093442421]
gh-800h: (40) [17679.363265557087, 17760.498825295275, 17795.108544537397, 17776.81472600886, 17907.756373189957, 18159.970580093504, 18203.287693774604, 18192.520377091536, 18289.378875492126, 18282.13888225886, 18256.511166603344, 18138.183647732283, 18159.904918922246, 18189.31132320374, 18201.714205216536, 18282.607672995076, 18329.14984854823, 18300.886441929135, 18227.64149490551, 18205.001830093504, 18252.109643469492, 18323.94957246555, 18369.936700295275, 18452.230511706694, 18561.134627214567, 18587.550504429135, 18588.272376353347, 18635.143570497046, 18723.354392224406, 18752.586060531496, 18744.162524606298, 18741.430471825788, 18727.192083374997, 18639.270802371062, 18539.436469611224, 18506.10384433563, 18536.28268024114, 18473.748470182087, 18410.693625341537, 18401.09689812894]
gh-850h: (40) [12949.21612171555, 13041.717570897144, 13078.839174766239, 13034.945548164862, 13139.845880726378, 13383.187098240649, 13397.067919968013, 13377.328612885827, 13490.286148191437, 13493.974139271653, 13485.398449864666, 13364.869163693405, 13386.990411478837, 13404.697426488681, 13426.695680610237, 13539.123177965059, 13577.808298006888, 13545.961460383858, 13473.754915415848, 13461.293237881398, 13514.513041338583, 13567.935431532973, 13596.403267121555, 13668.956187376967, 13779.28458731053, 13809.385442298226, 13806.421959584151, 13848.212854761317, 13924.269108329234, 13924.245951279529, 13924.100061555117, 13927.940283291337, 13918.016144203739, 13841.589936023622, 13740.03267852756, 13722.734227617619, 13732.282355376476, 13681.447173351376, 13617.286142467521, 13604.67745436565]
gh-900h: (40) [8434.74082972441, 8554.260232807086, 8617.48712409006, 8579.77898929626, 8651.018023073328, 8820.014873892716, 8790.530531889764, 8757.28638035187, 8902.048299466289, 8942.49632449557, 8935.799163611713, 8816.298534910187, 8828.195739265502, 8816.267186269684, 8848.521219703493, 8992.555712757628, 9056.86563122244, 9020.0124135406, 8947.390892685778, 8945.233204047736, 8993.71142913312, 9001.351931594489, 9014.831500625001, 9092.557317644932, 9215.63687253937, 9252.032941683072, 9274.578286478838, 9320.740218996063, 9338.291043151328, 9281.100452079232, 9296.105076729822, 9323.02553653494, 9340.63368847244, 9272.381453258859, 9189.895673937992, 9169.289830156002, 9136.676142778051, 9093.390149290353, 9023.30407234252, 9021.977961168308]
gh-925h: (40) [6255.588206545275, 6398.687303681594, 6468.966416903298, 6441.76798828125, 6486.935731306594, 6612.30673871186, 6563.982921622293, 6526.965980530265, 6688.490884225639, 6739.3624390809555, 6746.282727577509, 6621.303998298475, 6624.250114696112, 6596.485692290355, 6634.069129859744, 6793.843186546505, 6874.105109814961, 6830.641607063484, 6762.684439807579, 6761.572041246801, 6804.067232867864, 6801.861216627707, 6794.216917189222, 6875.750696391732, 7007.442558193899, 7055.056553429871, 7093.852306732283, 7140.258754485974, 7115.896225626968, 7039.079188607284, 7057.2542722994585, 7094.318922582431, 7129.878862306593, 7075.461570307579, 6988.115911493356, 6975.263893460877, 6914.616642039862, 6871.370292661172, 6799.208665891239, 6801.461157183317]
gh-950h: (40) [4122.865316592397, 4278.168008961982, 4373.394920165108, 4345.009157234252, 4368.816671106053, 4450.795116879921, 4376.722337321604, 4337.92382088152, 4522.398646376723, 4592.785062782603, 4598.846786771039, 4474.280586075911, 4474.274351777805, 4425.530256982038, 4471.433934839444, 4640.152054456817, 4738.052550917446, 4686.630529712107, 4626.069049504798, 4626.6344074388535, 4671.852837029404, 4645.621445297121, 4630.345743408588, 4717.554862435409, 4851.691511780389, 4898.912453478715, 4955.036608837967, 5011.7999159997535, 4945.04973089936, 4847.533643777682, 4869.567526462106, 4915.0399811915595, 4969.079955186762, 4922.807703156496, 4838.468960729084, 4825.796043246801, 4735.240695404774, 4703.494161972194, 4625.4691905624995, 4636.454988790354]
The values are way off (ie gh-900 should be a little below 1000m).
It look like they are off by a factor of 10 ?
Thanks for the heads up - it is super convenient to test plugins (and I am happy to have nothing to do this time)
@ekostogorov @TZ my plugin (windy-plugin-sounding) does support skewT (uncheck the "zoom view" checkbox at the bottom). It can be loaded on mobile by visiting windy.com/plugin however it does not well yet because I need to adapt the size to mobile screen.
It should probably not take too long to do but I have deferred for now that since loading plugins on mobile (especially in the app) is not well supported.
Thanks @ivo
So the "better" way to retrieve favorites is
import favs from "@windy/favs";
// or
// var favs = W.require('favs');
Then
favs.getAll();
returns:
{
"34.492/-119.702": {key: "34.492/-119.702", lat: 34.491843, lon: -119.702396, name: "Santa Barbara", type: "fav", …},
"36.768/-119.098": {key: "36.768/-119.098", lat: 36.768385, lon: -119.097719, name: "Dunlap", type: "fav", …},
…
}
and
favs.getArray();
returns:
[
{key: "37.514/-121.882", lat: 37.513810842731, lon: -121.88215255737303, name: "Mission Peak", type: "fav", …},
{key: "37.365/-122.246", lat: 37.3650410873092, lon: -122.24594593048094, name: "Windy Hill", type: "fav", …},
{key: "34.492/-119.702", lat: 34.491843534372784, lon: -119.70239639282227, name: "Santa Barbara", type: "fav", …},
…
]
The intersection between the green and red lines is the top of thermals (1900ft on the screenshot) - that's how high glider pilots can expect to reach when flying.
The cursor is supposed to show the altitude - 68900 should be 21000(ft) but there was a bug with imperial units that I just fixed in 1.1.6. Thanks for reporting !
@kekert You can use this script to extract the camera positions, url and azimuth. Let me know if you have any questions.
Thanks
@Korina when you use the URL I give in the first post, the plugin is supposed to open at the location passed in the parameters wherever you physically are located.
It does not work anymore and the plugin opens at your current location.
I'm talking about the initial location, not subsequent plugin openings.
It is probably due to a running change in windy. I might be able to workaround that.
@Korina The passed location is ignored and it opens at my current location
For example
https://www.windy.com/plugins/windy-plugin-sounding?lat=38.594480333494715&lon=-112.12185243531977
open the plugin at my current location instead of the passed location
@rittels I'm using windyPicker.on("pickerMoved", ({ lat, lon }) => {...})
and it still seems to work, do you confirm ?
Thanks for the heads up - it is super convenient to test plugins (and I am happy to have nothing to do this time)
@marekd Thanks, it solved my issue.
It was not too hard (a couple hours) to make my plugin work with both the beta and the stable version.
Thanks for continuously improving windy !
My plugin calls W.require("favs").getArray()
to retrieve the favorites.
With the beta version W.require("favs").getArray()
returns an empty array. However the same code executed from the JS console returns the list of favorites as expected.
My guess is that the favorites are not initialized at the time of the call by my plugin. What would be the best way to solve this ?
Edit: I wrapped the call inside a setTimeout(,1000);
and it works again with the the beta. This seems to confirm something is not initialized yet.
@marekd said in Plugin developers, stay alert. We are refactoring Windy.com client codes to typescript!:
windyVersion
Looks great.
Thanks and good luck with the refactoring.
I was actually thinking the other way around:
main
would be the default (i.e. dist/plugin.js
)
and main_updates
would be your old_windy_version
but if the version is >= 33.0.0 then the other js would be loaded instead.
Algo would be: use the highest version from main_updates
that is less or equal to current windy API version and use main
if none found.
But I guess both would work
I have updated my plugin to use:
const $ = W.require("utils").$ || W.require("$");
Note that the order is important here as W.require("$")
would crash the next version if first in the expression (as the module is going away).
That should be the only required change for my plugin.