Skip to content

jrosener/aromatic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aromatic

A forecast parser for Meteo France AROME files.
http://jrosener.github.io/aromatic/

Features

  • Download the latest run of AROME 0.01 meteo files.
  • Parse them and extract wind speed/direction and temperature at a specific location.
  • 42 hours forecast for several locations exported as html file or txt format.

Known issues

  • Sometimes Meteo France servers are not providing AROME files properly: the name of the retrieved file is wrong (and the content as well). For the moment the only solution is to run again aromatic and hope that it will get the file ;-)
  • The whole software was written in a couple of hours without quality in mind. As a consequence, there are no tests and most of the returned errors are not checked. It obviously needs to be improved.

Runtime dependencies

2 command line tools are required:

Build requirements

  • g++ 5.x/6.x
  • Qt 5.x (qmake and QtConcurrent are necessary)

Build instructions

  • Install build dependencies (ex. for Ubuntu 20.04): sudo apt-get install build-essential qt5-default libeccodes-tools curl
  • Generate makefile: qmake aromatic.pro
  • Build: make

Run instructions

  • Write a configuration file aromatic.ini which describes forecast locations to compute. aromatic-default.ini is a good starting point. Basically a location is defined like that:
[location.1] # Location description starting point (increase the digit for each location).
full_name="Col du Petit Saint Bernard" # Full name of the location.
latitude=45.68
longitude=6.88
map="https://www.geoportail.gouv.fr/carte/?c=6.88,45.68" # Location link on a map showed in the report
web.1="balise ffvl|http://balisemeteo.com/balise_histo.php?idBalise=115" # List of "name|url" printed in the report
web.2="balise la thuile|http://www.meteolathuile.com/"
web.3="webcams|http://www.larosiere.net/live/webcams/"
web.4="meteofrance|http://www.meteofrance.com/previsions-meteo-montagne/la-rosiere-1850/73700"
web.5="meteoblue|https://www.meteoblue.com/fr/meteo/prevision/multimodel/col-du-petit-saint-bernard_france_2998085"
  • Usage:
Usage: ./aromatic [options]
A forecast parser for Meteo France AROME files

Options:
  -h, --help                       Displays this help.
  -v, --version                    Displays version information.
  -c, --config_file <config_file>  The file containing location descriptions,
                                   see README (if not specified then use a set
                                   of default locations).

General architecture

                                               +--------+
                                               |  main  |
                                               +---+----+
                                                   |
                 +------------------------------------------------------------+-----------------------------+---------------+
                 |                                 |                          |                             |               |
                 v                                 v                          v                             v               |
+------------------------------+ +--------------------------+ +--------------------------------+ +----------------------+   |
|    Arome_grib_downloader     | | Meteo_forecast_processor | |      Meteo_forecast_printer    | | Location_ini_parser  |   |
+------------------------------+ +--------------------------+ +--------------------------------+ +----------------------+   |
|                              | |                          | |                                | |                      |   |
| bool run()                   | | void run(&forecast,      | | list<Meteo_forecast> forecasts | | string cfg_file      |   |
| list<string> get_file_list() | |           file)          | |                                | |                      |   |
| string get_run_date()        | |                          | +--------------------------------+ +----------------------+   |
|                              | +---------------+----------+ |                                | |                      |   |
+------------------------------+                 |            | string get_html()              | | void run(&locations) |   |
                                                 |            | string get_txt()               | |                      |   |
                                                 |            |                                | +----------+-----------+   |
                                                 |            +----------------+---------------+            |               |
                                                 |                             |                            |               |
                          +----------------------+-----------------------------+                            |               |
                          |                                                    |                            |               |
                          v                                                    v                            |               |
    +-------------------------------------------+  +-----------------------------------------+              |               |
    |              Arome_grib_parser            |  |               Meteo_forecast            |              |               |
    +-------------------------------------------+  +-----------------------------------------+              |               |
    |                                           |  |                                         |              |               |
    | file_path                                 |  | start_date                              |              |               |
    |                                           |  | list<Wind,Temperature> forecast         |              |               |
    +-------------------------------------------+  |                                         |              |               |
    |                                           |  +-----------------------------------------+              |               |
    | date get_start_date()                     |  |                                         |              |               |
    | Wind get_wind(latitude, longitude)        |  | void set_wind(wind, hour_offset)        |              |               |
    | Temperature get_temp(latitude, longitude) |  | void set_temp(temperature, hour_offset) |              |               |
    |                                           |  | Wind get_wind(hour_offset)              |              |               |
    +---------------------+---------------------+  | Temperature get_temp(hour_offset)       |              |               |
                          |                        |                                         |              |               |
                          |                        +---------------------+-----+-------------+              |               |
                          |                                              |     |                            |               |
                          +----------------------------------------------+     +----------------------------+---------------+
                          |                                              |                                  |
                          v                                              v                                  v
         +-------------------------------+                       +---------------+                    +-----------+
         |               Wind            |                       |  Temperature  |                    |  Location |
         +-------------------------------+                       +---------------+                    +-----------+
         |                               |                       |               |                    | latitude  |
         | speed                         |                       | value         |                    | longitude |
         | direction                     |                       |               |                    | name      |
         |                               |                       +---------------+                    | map_link  |
         +-------------------------------+                                                            | urls      |
         |                               |                                                            +-----------+
         | void set_components_u_v(u, v) |
         |                               |
         +-------------------------------+

About

A forecast parser for Meteo France AROME files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published