Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for forecast information #70

Closed
amotl opened this issue Jun 17, 2020 · 4 comments · Fixed by #259
Closed

Add support for forecast information #70

amotl opened this issue Jun 17, 2020 · 4 comments · Fixed by #259
Labels
feature A brand new feature not yet available help wanted Extra attention is needed

Comments

@amotl
Copy link
Member

amotl commented Jun 17, 2020

Introduction

We would like to add support to acquire forecast information from DWD, for both MOSMIX-L and MOSMIX-S.

Background

@drmrbrewer and @onlygecko already asked for this within panodata/dwdweather2#2.

Thoughts

Together with @jlewis91, we already planned to merge dwdweather2 with dwdbulk somehow, but now we should consider to add missing functionality here.

@jlewis91' convert_xml_to_pandas method from forecasts.py might be used 1:1 already. Note that this one has originally been written to read MOSMIX-S only.

@amotl amotl added enhancement New feature or request help wanted Extra attention is needed labels Jun 17, 2020
@meteoDaniel
Copy link
Contributor

@amotl I have built a parser but it is not advanced in the moment. I can provide the corresponding ode and we can build up a more powerful parser.

@amotl
Copy link
Member Author

amotl commented Jul 2, 2020

@FL550 just added another implementation to grok MOSMIX-L through dwdforecast.py.

@amotl
Copy link
Member Author

amotl commented Jul 3, 2020

Comparison

What I like from @jlewis91' implementation forecasts.py is that it already uses Pandas. However, we will have to expand it to also parse MOSMIX-L, currently it only does MOSMIX-S. Also, it extracts the list of .kml files into a local directory. We should do that in-memory.

What I like from @FL550's implementation dwdforecast.py is that is does everything in-memory already and that it maps the technical meteorological element names to more meaningful field names (see #54). Also, it features a mapping to resolve the weather condition codes to meaningful textual labels.

Both implementations use lxml.etree for parsing the XML.

Resources

@amotl amotl added feature A brand new feature not yet available and removed enhancement New feature or request labels Jul 5, 2020
@amotl
Copy link
Member Author

amotl commented Sep 10, 2020

Hi there,

within #114, I've added a preliminary spike the other day, mostly based on the original dwdbulk::forecasts implementation by @jlewis91 (thanks again!).

I believe we should use this issue here to discuss the future evolution of this feature, even beyond the lifetime of #114.

Backlog

General

  • Add software tests.
  • Update documentation.
  • Adapt get_nearby_stations for MOSMIX.
  • Integrate into command line interface.
  • Integrate into HTTP API.
  • Add docstrings.

Metadata

Adding parameters, column names and such into the metadata/knowledgebase subsystem at wetterdienst/constants would also be awesome if that actually makes sense. I see these details here:

New feature: Station concordance

Now, @gutzbenj asked at #114 (comment):

Also as we have talked about the station ids, it would be awesome to have a translating system from regular DWD station ids to MOSMIX station ids so that one could use the same id for historical observations and MOSMIX forecasts.

That would definitively be awesome. I believe @wetterfrosch did this concordance thing in a hands-on manner while he implemented the Panodata DWD Meteogram. He might be interested in helping us to bring this subsystem into Python land.

With kind regards,
Andreas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A brand new feature not yet available help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants