• RE: Weather forecast, flight planning and airspaces at once. A great extension for pilots


    Hi Thanks for using my plugin!!! Yep, I fly an autogyro.

    posted in Articles
  • RE: How to use windy

    @ofir-goldstein The picker shows interpolated values, if you zoom to level 8 or more, it stays constant.

    posted in Developers
  • RE: Please update base map data.

    @idefix37 This is not so straightforward, because cities are considered as points and we show forecast for them. Islands are polygons and we do not have feature providing point forecast for polygons. I admit that it is doable task, but it is also exception that must be handled separately and with care. Some "quick solution" may lead to misunderstandings. Example: many islands have its main big city where most people live and it is tipically on the sea shore. Those people would like to see temperature for their home. But if we would show temperature of the central point of the island it can be something totally different, because many islands have conic shape (mountains) and the temperature on the hill top could be much different.
    One extreme example - Big Island of Hawaii, 7 degrees in island center, but 20 degrees in big cities.
    Screenshot 2020-03-24 at 17.06.47.png
    Yes, there are approaches to show both island name and reasonable forecast values, but it is not as easy as it may look.

    posted in General Discussion
  • RE: Reflection of the sun on satellite pictures

    Another effect of equinox is that day/night boundaries are straight and parallel in Mercator projection.
    Screenshot 2020-03-24 at 16.42.31.jpg

    posted in Articles
  • RE: Large differences between the global models (GFS, ECMWF)

    @Gkikas-LGPZ We are expecting the same in Czech Republic :-(

    posted in General Discussion
  • RE: Plugin housekeeping


    Thanks!! Please use our code.

    posted in Windy Plugins
  • RE: Plugin housekeeping


    1. Disabling the older module is tricky, it consists of a bunch of listeners, which will all have to be deactivated. Certainly possible. Just deleting the module from W does not work.

    2. Yep, good idea to send the ident, included it. The onOtherPluginOpened function is called on rqstOpen, thus before the new plugin does anything. You can then keep the svg when another plugin opens, or check the name of the plugin and decide whether to remove it.

    3. I dynamically load stylesheets for my other external modules. You can start with a standard style sheet.

    I moved the modules to a new repo: https://github.com/rittels/windy-plugins-modules.

    Ideally the pluginCoordinator functionality should be included in the plugins-plugin.

    Thanks @jacobsjo version control added.

    posted in Windy Plugins
  • RE: Plugin housekeeping

    Alright, I see your points.

    (1) That makes sense, but maybe the module could have a simple logic that checks if an older version is already enabled and disables that one, so the newest version that is a dependency of any installed plugin is used.

    (2) Right, but that doesn't include the possibility to keep the svg together with another plugin. Ideally, I would like to have a function onOtherPluginUsesPicker() that is called before another plugin wants to draw something at the picker; triggered by that plugin calling plugin_coordinator.usePicker(). Also, a parameter with the other Plugins name would make sense in these callbacks so you can whitelist other plugins that are compatible.

    (4) Cleaning up the csv is a bit annoying. I still think that having a module for standard plugin csv stuff (windy object z-levels, bottom panes on mobile etc.) would make sense and simplify plugin development.

    I'll take a look at the module code tomorrow again and maybe try out some of these things myself :)

    posted in Windy Plugins
  • RE: Plugin housekeeping

    Hi @jacobsjo

    Agree with everything you said.

    1. Unfortunately the users browser caches the dependency, so you have to specify the version. You can force reload with ?"+Math.random(), but this needs to done from inside windy. (Also will take longer to load for a dependency which should hopefully be stable.)

    (Ideally it should be inside the windy-plugin, maybe one-day.)

    1. Exactly the point of the pluginCoordinator. It sets the lastOpened property to false for your plugin and if W.plugins["windy-plugin-sun-position"].onOtherPluginOpened() exists, will call it when another plugin opens. So for example you can say:
    this.onOtherPluginOpened = () => {  /*instead of this.onopen*/
       isOpen = false;
    1. Unfortunately the module only executes once it is opened. So if you click "open", it will work, but if you click "load" (for the 1st time), it still hangs. 😟

    2. yeah, I do lots of hacky things, so if onOtherPuginOpened is called, you can clean it up if you want.

    3. Yep, u are right, will make new repo for the modules.

    Thanks for your answer.

    posted in Windy Plugins