Java GRIB-Decoder: извлечение данных из файлов GRIB2

Я скачал несколько файлов данных grib отсюда: ftp://data-portal.ecmwf.int/20160721000000 / (тип файла - .bin) и хочу извлечь данные из этого файла в моем приложении Java (позже я хочу загрузить извлеченные данные в базу данных). Я просто пытаюсь использовать файл

Это дает следующий результат:

======= Grib2GDSVariables ==========
Gds key : -1732955898
======= Grib2Input ==========
true
scan : true
getGDSs.size: 0
getProducts.size: 0
getRecords.size: 0
edition: 2
======= Grib2Dump ==========
--------------------------------------------------------------------
                        Header : GRIB2
                    Discipline : 0 Meteorological products
                  GRIB Edition : 2
                   GRIB length : 113296
            Originating Center : 98 European Center for Medium-Range Weather Forecasts (RSMC)
        Originating Sub-Center : 0
Significance of Reference Time : 1 Start of forecast
                Reference Time : 2016-07-21T00:00:00Z
                Product Status : 0 Operational products
                  Product Type : 1 Forecast products
         Number of data points : 259920
                     Grid Name : 0 Latitude_Longitude
                     Grid Shape: 6 Earth spherical with radius of 6,371,229.0 m
Number of points along parallel: 720
Number of points along meridian: 361
                   Basic angle : 0
    Subdivisions of basic angle: -9999
  Latitude of first grid point : 90.0
 Longitude of first grid point : 0.0
  Resolution & Component flags : 48
                         Winds : True
   Latitude of last grid point : -90.0
  Longitude of last grid point : 359.5
         i direction increment : 0.5
         j direction increment : 0.5
                    Grid Units : degrees
                 Scanning mode : 0
            Product Definition : 2 Derived forecast on all ensemble members at a point in time
            Parameter Category : 2 Momentum
                Parameter Name : 1 Wind_speed
               Parameter Units : m s-1
       Generating Process Type : 4 Ensemble Forecast
                  ForecastTime : 24
            First Surface Type : 100 Isobaric surface
           First Surface value : 85000.0
           Second Surface Type : 255 Missing
          Second Surface value : -9.999E-252
======= Grib2ExtractRawData ==========
finished

Я пробовал это в течение двух дней, но не смог заставить его работать! Я не могу получить данные содержимого (широта, долгота, значение) из файла ...

Может кто-нибудь привести пример на Яве?


person D. Müller    schedule 22.07.2016    source источник


Ответы (1)


Вы не должны напрямую использовать классы GRIB в netCDF-java. Вместо этого используйте

NetcdfFile.open()

Это даст вам доступ через CDM, дав вам простой интерфейс с переменными и атрибутами. Здесь есть руководство: https://www.unidata.ucar.edu/software/thredds/current/netcdf-java/tutorial/NetcdfFile.html

person DopplerShift    schedule 03.08.2016
comment
Хотя я могу открыть свой grib-файл с помощью panoply, в нестрогом режиме, я не могу открыть его через Netcdffiles.open. Он говорит, что мой файл не является допустимым файлом cdm. Почему это могло произойти? - person Sami; 06.07.2021
comment
@Sami Я бы порекомендовал отправить новый билет в службу поддержки Unidata: unidata.ucar.edu / support / # запрос - person DopplerShift; 06.07.2021