GithubHelp home page GithubHelp logo

opengribs / xygrib Goto Github PK

View Code? Open in Web Editor NEW
119.0 16.0 46.0 52.77 MB

This is the new home for the development of zyGrib

Home Page: https://opengribs.org

License: GNU General Public License v3.0

C++ 83.89% C 12.98% Shell 0.81% CMake 1.19% Qt Script 1.12%
grib meteorology weather sailing

xygrib's People

Contributors

did-g avatar dominiquehausser avatar free-x avatar fyleo avatar johannesloetzsch avatar mennotammens avatar niclasr avatar nohal avatar norulz avatar nxmyoz avatar ofextar avatar ptizef avatar rouault avatar saberraz avatar savelov avatar supersandro2000 avatar theeko74 avatar tsenga avatar weleoka-machine avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xygrib's Issues

meteo_blue needs to be removed

As part of cleaning up the source and removing unused / less needed elements, meteo blue functionality can be removed.

... any takers?

Server Problem

Does anyone have this "Server Problem" issue with new Grib downloader?
I had no problem before this morning...

capture d ecran 2018-06-08 a 10 28 34

libopenjp2 debugging messages

libopenjp2 sends jpeg2000 debugging messages to the console whenever jpeg2000 compression is unpacked. This can be seen on all Arome gribs from Meteo France (try the SP1 files). Jpeg2000 will also be used on wave data in our grib server with the next release.

Does anyone have an idea how to stop this output?

Fleet Code IAC needs to be removed.

This is a dead resource. The plan is to replace it (following release) with overlays of geo-referenced Radio Fax resources.

Help requested to remove Fleet Code IAC stuff carefully.

missing .desktop file

Adding a XyGrib.desktop file would allow it to show up in menus and would increase OS integration.

Fleet code forecast is not current

The analysis appears to be getting current data but the 24hr forecast options is getting the same data which is not related to the current date.

Difference in Arpege from MeteoFrance and XyGrib servers

Hi,
I noticed a difference in wind speed/direction between grib files from Arpege model generated from XyGrib's server and the one generated from MeteoFrance's server. It is not a big difference, the overall wind forecast is closed, but there is some difference from 20NM approximately. Any idea why, as it should come from the same source?

XyGrib's server:
capture d ecran 2018-06-18 a 23 12 53

MeteoFrance's server:
capture d ecran 2018-06-18 a 23 14 22

Another point: MeteoFrance's Arpege use a resolution of 0,1° at maximum and we can only select 0,5° in XyGrib's downloader module. Any idea why?

Bug - Unrecognized Grib after some download activity

Not been able to replicate but it seems that after requesting several downloads with a "stop" then performing another download the "download error flag" is set on and the grib will not open.
After restarting the application the same grib opens without any errors. (File open).

Anyone wish to try and replicate this?

Build and packaging issues

The package libjasper-dev is no more available in recent distro of ubuntu : https://pkgs.org/download/libjasper-dev.

We have to find a solution (or include the packages in the XyGrib source or explain how to install it, as it has dependancies not valid with 17.10 and 18.04).

I may not be able to find a solution within the next few weeks.

Precipitation accumulation issue in GFS gribs

Normalization to 3hr accumulation instead of 0-3,0-6,.... appears now to have being applied twice. Once in the Grib server and once internally in grib_record translation method (or elsewhere).

Needs to be identified and fixed

Menu item iterator needs to be fixed

The updateFonts method in MenuBar class (line 458) is only iterating and setting font to the top items in the menu bar and not to submenus.
This issue replaces issue #39

void MenuBar::updateFonts ()
{
	cbDatesGrib->setFont (Font::getFont(FONT_ComboBox));
	
	QFont ft = Font::getFont(FONT_MenuBar);
	this->setFont(ft);
	QList<QAction *> lsactions = this->findChildren<QAction *>();
	for (int i = 0; i < lsactions.size(); ++i) {
		lsactions.at(i)->setFont(ft);
	}
	
}

Help in fixing this is most welcome

New name

  • Is there any reason to change the name of the software from zyGrib to XyGrib? I think this could be easier to stick to the original name as I am pretty sure many people will get lost by the name change and will stay with the old version of zyGrib

  • If there is a good reason to change the name, please stay consistant. Sometimes it is XyGrib, sometime xyGrib. I would rather choose xyGrib, closer to the original name. The same in the source files.

  • What are the next milestones to achieve? What major upgrade should be done? I think a roadmap would help for other people to contribute.

  • Who is the team behind this new fork?

Next version - An open discussion

The principle addition intended for next version (1.2.0) is to add 5 wide area regional models with resolutions near 0.1 degree (medium resolution). These will include:

  • NAM Caribbean and Central America
  • NAM Continental US
  • NAM Hawai
  • Arpege 0.1 (Europe)
  • ICON-EU nest (Europe)

New functionality needed:
To handle these non global models we will need to visually indicate to the user where the coverage of the selected model is. We also will need to ensure that the selection is not outside the coverage. This will need some graphic overlay. We will need to decide on the UI flow for this.

A second issue is map projection. NAM CONUS uses Lamberth Conformal instead of Lat/Lon. I prefer not to re-project in pre-processing for the grib server but to be able to handle as much as possible in native form.

What is the best way to handle this? Are there issues that I'm missing ? Please raise them

David

No wave data

Hi,
I really like the new GRIB downloader.
One issue I noticed is that I do not get any wave data info on any model (ARPEGE, ICON, GFS)...
Any idea?

Geopotential height issues

ICON uses geometric height for 0C isotherm. Need to handle both HGT and DIST
Differentiate between geometric height in units of m to geopotential height in units of gpm.

Kudos and thanks to Dominique Hausser and Jacques Zaninetti

The first post here is to praise and thank the team of Dominique Hausser and Jacques Zaninetti for bringing zyGrib to where it is today - an amazing open source product, a class of its own!

We sincerely hope that the two will continue to follow the future progress of zyGrib.

App data and settings separated from executable folder - MAC testing needed

Following discussion on the subject, separation has been implemented, however testing on Mac is needed.

The settings remain "dual action" - both OS native and ini files. The location of the ini files follows the QStandardPaths class as to the location specific for the OS. If the ini files are not found there they are initialized at this location. Should this not be successful the second option is to use the application current directory tree if writable ( data/config/...). Should this fail too then the OS temp folder is used.

For app data a new setting has been added to store the location of app data. This is the first lookup which is verified. Should it not exist the first search location is based on QStandardPaths for writable storage (the colors and translation files need to be editable). If not found second option is for common area for app data (/user/local/shared/... or c:/Program Data/...). Next option is to look in the current directory. If app data is not found and error is returned and this needs to be implemented into a file system dialog to point to where the data is. (still TODO).

DBG messages to application output allow monitoring the above behavior.

Please check this implementation on as many setups as possible. Mac has not yet been tested

Plan to integrate Arome model in GRIB downloader

Hi,
Arome model from MeteoFrance has a resolution of 0,025° for 2 days and is very accurate, especially if you sail in Mediterranean sea. Is it plan to integrate this model in XyGrib's server and in grib downloader module?

Problems with Norwegian Gribs

Norvegian grib files Wind works but issues with other parameters

Problem:
Strøm Skagerrak 420 kB norkyst800m_weatherapi_skagerrak.grb 1 time, 800 m
Strøm Oslofjorden 428 kB norkyst800m_weatherapi_oslofjord.grb 1 time, 800 m
Strøm Sørlandet 1.2 MB norkyst800m_weatherapi_sorlandet.grb 1 time, 800 m
Strøm Vestlandet 1.1 MB norkyst800m_weatherapi_west_norway.grb 1 time, 800 m
Strøm Nordsjøen 414 kB nordic4km_weatherapi_n-northsea.grb 1 time, 4 km
Strøm Nordland 445 kB norkyst800m_weatherapi_nordland.grb 1 hour, 800 m
Power Troms / Finnmark 304 kB norkyst800m_weatherapi_troms-finnmark.grb 1 hour, 800 m

Data there (but no graphic) for:
Waves Skagerrak 719 kB mywavewam4_weatherapi_skagerrak.grb 1 hour, 4 km
Waves Oslofjord 89 kB mywavewam4_weatherapi_oslofjord.grb 1 hour, 4 km
Waves Sørlandet 225 kB mywavewam4_weatherapi_sorlandet.grb 1 hour, 4 km
Waves Vestlandet 1.2 MB mywavewam4_weatherapi_west_norway.grb 1 hour, 4 km
Waves North Sea 212 kB mywavewam4_weatherapi_n-northsea.grb 1 hour, 4 km
Waves Nordland 519 kB mywavewam4_weatherapi_nordland.grb 1 hour, 4 km
Waves Troms-Finnmark 338 kB mywavewam4_weatherapi_troms-finnmark.grb 1 hour, 4 km

OK for wind:
Wind Skagerrak 1.1 MB meps_weatherapi_skagerrak.grb 1 hour, 2.5 km Find
Oslofjorden 560 kB meps_weatherapi_oslofjord.grb 1 hour, 2.5 km
Wind Sørlandet 2.0 MB meps_weatherapi_sorlandet. grb 1 hour, 2.5 km
Wind west Norway 4.3 MB meps_weatherapi_west_norway.grb 1 hour, 2.5 km
Wind North Sea 310 kB meps_weatherapi_n-northsea.grb 1 hour, 2.5 km
Wind Nordland 1.3 MB meps_weatherapi_nordland.grb 1 hour, 2.5 km Find
Troms / Finnmark 780 kB meps_weatherapi_troms-finnmark.grb 1 hour, 2.5 km

Build problems with v1.1.1 on Trusty

I ran into a problem and will be happy for any suggestions.

I updated cmake on Trusty to 3.2 and built libopenjp2-7-dev. All the rest was sudo apt-get installed

Following is the build error after linking libraries:

/usr/bin/ld: /usr/local/lib/libopenjp2.a(thread.c.o): undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [src/XyGrib] Error 1
make[2]: Leaving directory `/home/david/dev/xygrib/build'
make[1]: *** [src/CMakeFiles/XyGrib.dir/all] Error 2
make[1]: Leaving directory `/home/david/dev/xygrib/build'
make: *** [all] Error 2

Feature request - allow reading NetCDF files

Have you ever considered this ?
This is a format that is widely used in the meteo/ocean forecasting world, including a wide range of very high quality, open-source datasets, notably high-res waves and currents. It would open up a lot of opportunities in terms of which data can be visualized.
Happy to help / provide more infos if needed.

DISCUSSION - Separation of application and data

I feel that before more feature additions/enhancements it is time to resolve the issue of separating the XyGrib application from its data structure as is the norm for applications that adhere to host OS guidelines.

What would the best strategy be that will account for the following issues:

  • Legacy installations with existing data in the install location. Provide for migration of data?
  • Installation for one or many users
  • Which Windows installer to use
  • Is there a common install scheme for all Linux distros?

@nohal @free-x @did-g @tsenga @MennoTammens @dominiquehausser @Millak
@ofextar
Please feel free to share your feelings and ideas on this.
David

Build problems

@nohal @did-g
Hi, I'm back from being away from my desk for a while and am digging back into XyGrib. Right now I'm unable to build in Ubuntu getting the following:

/usr/bin/ld: /usr/local/lib/libopenjp2.a(thread.c.o): undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

In Window I'm also having issues with cmake getting it to find libraries
i.e. zlib2 (I have no package - only the include and lib)

CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.11/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find BZip2 (missing: BZIP2_LIBRARIES) (found version "1.0.6")
Call Stack (most recent call first):
  C:/Program Files (x86)/CMake/share/cmake-3.11/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  C:/Program Files (x86)/CMake/share/cmake-3.11/Modules/FindBZip2.cmake:51 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:122 (find_package)

Help will be welcome

Build for Raspberry Pi - HELP NEEDED

We are open for assistance in building XyGrib for Raspberry Pi.
There is justification for this as Rpi is used as a maritime platform for Openplotter.

Error compiling Xygrib on Raspbian stretch

Do you have plans to support Raspberry Pi?

libpng16-dev package is not on raspbian. If I install libpng-dev instead, I get this error:

...

compiling moc/moc_qwt_thermo.cpp
compiling moc/moc_qwt_wheel.cpp
rm -f ../lib/libqwt.a
ar cqs ../lib/libqwt.a obj/qwt_abstract_scale_draw.o obj/qwt_clipper.o obj/qwt_color_map.o obj/qwt_column_symbol.o obj/qwt_date.o obj/qwt_date_scale_draw.o obj/qwt_date_scale_engine.o obj/qwt_dyngrid_layout.o obj/qwt_event_pattern.o obj/qwt_graphic.o obj/qwt_interval.o obj/qwt_interval_symbol.o obj/qwt_math.o obj/qwt_magnifier.o obj/qwt_null_paintdevice.o obj/qwt_painter.o obj/qwt_painter_command.o obj/qwt_panner.o obj/qwt_picker.o obj/qwt_picker_machine.o obj/qwt_pixel_matrix.o obj/qwt_point_3d.o obj/qwt_point_polar.o obj/qwt_round_scale_draw.o obj/qwt_scale_div.o obj/qwt_scale_draw.o obj/qwt_scale_map.o obj/qwt_spline.o obj/qwt_scale_engine.o obj/qwt_symbol.o obj/qwt_system_clock.o obj/qwt_text_engine.o obj/qwt_text_label.o obj/qwt_text.o obj/qwt_transform.o obj/qwt_widget_overlay.o obj/qwt_curve_fitter.o obj/qwt_abstract_legend.o obj/qwt_legend.o obj/qwt_legend_data.o obj/qwt_legend_label.o obj/qwt_plot.o obj/qwt_plot_renderer.o obj/qwt_plot_xml.o obj/qwt_plot_axis.o obj/qwt_plot_curve.o obj/qwt_plot_dict.o obj/qwt_plot_directpainter.o obj/qwt_plot_grid.o obj/qwt_plot_histogram.o obj/qwt_plot_item.o obj/qwt_plot_abstract_barchart.o obj/qwt_plot_barchart.o obj/qwt_plot_multi_barchart.o obj/qwt_plot_intervalcurve.o obj/qwt_plot_zoneitem.o obj/qwt_plot_tradingcurve.o obj/qwt_plot_spectrogram.o obj/qwt_plot_spectrocurve.o obj/qwt_plot_scaleitem.o obj/qwt_plot_legenditem.o obj/qwt_plot_seriesitem.o obj/qwt_plot_shapeitem.o obj/qwt_plot_marker.o obj/qwt_plot_textlabel.o obj/qwt_plot_layout.o obj/qwt_plot_canvas.o obj/qwt_plot_panner.o obj/qwt_plot_rasteritem.o obj/qwt_plot_picker.o obj/qwt_plot_zoomer.o obj/qwt_plot_magnifier.o obj/qwt_plot_rescaler.o obj/qwt_point_mapper.o obj/qwt_raster_data.o obj/qwt_matrix_raster_data.o obj/qwt_sampling_thread.o obj/qwt_series_data.o obj/qwt_point_data.o obj/qwt_scale_widget.o obj/qwt_abstract_slider.o obj/qwt_abstract_scale.o obj/qwt_arrow_button.o obj/qwt_analog_clock.o obj/qwt_compass.o obj/qwt_compass_rose.o obj/qwt_counter.o obj/qwt_dial.o obj/qwt_dial_needle.o obj/qwt_knob.o obj/qwt_slider.o obj/qwt_thermo.o obj/qwt_wheel.o obj/moc_qwt_dyngrid_layout.o obj/moc_qwt_magnifier.o obj/moc_qwt_panner.o obj/moc_qwt_picker.o obj/moc_qwt_text_label.o obj/moc_qwt_abstract_legend.o obj/moc_qwt_legend.o obj/moc_qwt_legend_label.o obj/moc_qwt_plot.o obj/moc_qwt_plot_renderer.o obj/moc_qwt_plot_canvas.o obj/moc_qwt_plot_panner.o obj/moc_qwt_plot_picker.o obj/moc_qwt_plot_zoomer.o obj/moc_qwt_plot_magnifier.o obj/moc_qwt_sampling_thread.o obj/moc_qwt_scale_widget.o obj/moc_qwt_abstract_slider.o obj/moc_qwt_abstract_scale.o obj/moc_qwt_analog_clock.o obj/moc_qwt_compass.o obj/moc_qwt_counter.o obj/moc_qwt_dial.o obj/moc_qwt_knob.o obj/moc_qwt_slider.o obj/moc_qwt_thermo.o obj/moc_qwt_wheel.o
make[1]: Leaving directory '/home/pi/Downloads/XyGrib-1.0.1-src/src/qwt-6.1.3/src'
cd src/g2clib; make
make[1]: Entering directory '/home/pi/Downloads/XyGrib-1.0.1-src/src/g2clib'
gcc -c -O3 -g -m64 -I/nwprod/lib/include/ -DUSE_JPEG2000 -DUSE_PNG -D__64BIT__ gridtemplates.c
gcc: error: unrecognized command line option ‘-m64’
makefile:89: recipe for target 'libg2c.a(gridtemplates.o)' failed
make[1]: *** [libg2c.a(gridtemplates.o)] Error 1
make[1]: Leaving directory '/home/pi/Downloads/XyGrib-1.0.1-src/src/g2clib'
Makefile:43: recipe for target 'XyGrib' failed
make: *** [XyGrib] Error 2

any idea?

Linux and Window pre-release for version 1.1.1 - please try it out

The "releases" section here now includes the installer apps for Linux and Windows. These implement the Qt Installer Framework using the online repository mode. This goes hand in hand with the separation of app and data (and configuration).

The installation process also places an XyGribMaintenanceTool in the app folder. This gives the option to manage updates from the client once these are published in the repository. The installer and the maintenance tool also enable optional installation of the hires maps (also from the repository).

Help is need to test this out on as many boxes as possible.

Can anyone using Mac try and create the same system for OS-X

The installer preparation process for Linux is detailed below

************************************
Instructions For Linux Online Installer
************************************

First create the AppImage binary package
****************************************

Create a sandpit with the following directory and file structure
-----------------------------------
usr-
   | bin - create and copy XyGrib executable
   | lib - empty - deploytool will copy stuff needed from the release build
   | plugins - empty - deploytool will copy stuff needed from the release build
   | share     - create
        | doc  - empty - deploy tool will copy stuff needed from the release build
		| applications
			XyGrib.desktop (* see contents below)
		| icons
			| hicolor
				xyGrib_32.png
			



-----------------------------------------------
run:
linuxdeployqt_april.AppImage usr/share/applications/XyGrib.desktop -qmake=/home/david/Qt/5.11.1/gcc_64/bin/qmake -no-translations -bundle-non-qt-libs -appimage -verbose=2
output is XyGrib-x86_64.AppImage
RENAME THIS TO: XyGrib.Linux.AppImage (The hyphen doesn't go down well with creating .desktop files)

*
[Desktop Entry] 
Type=Application
Name=XyGrib
Comment=Grib reader and weather visualization software
Exec=XyGrib
Icon=xyGrib_32
Categories=Education;Science;Geoscience;
***************************************
Now prepare the repository updates
---------------------------------
Prepare org.opengribs.xygrib.core.linux
	copy the resulting renamed XyGrib.Linux.AppImage to repository package for core.linux
	Also include 'LICENCE' and 'README.md' in the primary package data folder
	Create an icons folder and add the xyGrib_32.ico and xyGrib_32.png to this folder
----------------------------------------------------------------------------------
Prepare org.opengribs.xygrib.data
	Copy the "data" structure to the second package data folder in the installer structure
-------------------------------------------------------------------------------------------
Prepare org.opengribs.xygrib.maps
	Copy the "data" structure for the high resolution maps to the third package data folder in the installer structure
-------------------------------------------------------------------------------------------

Build the repository
*********************
Build new reposistory files by running: 
repogen --update-new-components -v -p packages repository/linux
or subsequent update use: repogen --update -v -p packages repository/linux
upload the new repository files to the web server repository

**************************************************************************************
Build the installer
-------------------
Finaly from the root of the install framework, build the installer itself: 
	binarycreator --online-only -c config/config.xml -p packages XyGrib_Linux_v<x.x.x.x>_Installer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.