Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Find in this page technical specification of the required input data and processing workflow.

Table of Contents

Parameters

  • Output type:  forecast

    • only one forecast product per centre is expected for verification - the best available one for the common inter-comparison

  • Output time: 00, 6, 12, 18 UTC (depending on availability)
  • Output frequency: between 1 and 6 hours (including step 0 encoded as forecast type as well)

    • the model output steps should be the shortest available
  • Wave parameters should be obtained from the full 2-D spectrum (we stress this fact as there seems to be some confusion about wave parameters' names and definitions even in the latest WMO GRIB2 code tables)


  • Follow the links for exact GRIB2 WMO compliant definitions
  • *1 valid in ECMWF's ecCodes only

Encoding

All details about the required data format can be found in the page Encoding details.

Sample data

  • Providers are asked to provide full sample data from one model run containing all expected parameters, steps, forecast types etc.
  • Naming convention for sample data:
    wave_<centre WMO origin>_<YYYYMMDDRR>_<prod/test>_fc.grib2
    prod/test ... production or test version of the data
    fc ... forecast (step 0 should be also encoded as of forecast type)
  • Merge all parameters from all steps for given model run and output type into one file:
    e.g. wave test forecasts from ECMWF on the 1st of September 2017, 12Z  => wave_ecmf_2017090112_test_fc.grib2
  • Put sample data on ecgate to a directory with reading permission
    • alternatively use any other downloadable location (e.g. google drive)
    • alternatively use this ftp:

      Show If
      special@anonymous


      Alert

      Log in to see ftp details



      Show If
      special@authenticated


      Code Block
      host: ftp.ecmwf.int 
      user: observations 
      passwd: observations2013 
      directory: wave



  • The naming convention for future production data might change

Production data acquisition

  • The data will be pulled via ftp from an agreed server location at the data producer's site.
  • The ECMWF's acquisition system will be used for handling the production data exchange.
  • Participants are committed to guarantee a steady and reliable provision of their data and to communicate any relevant changes.
  • The support mailing list on provider's side will be required to allow smooth communication related to common production issues in the future.

Contact

Show If
special@authenticated

Contact Richard Mladek for any further details, sample data exchange etc.


Show If
special@anonymous

Contact Richard Mladek for any further details, sample data exchange etc.

 

Aim of this page :

  1. a table with NCEP data: GRIB sample (only one message and one parameter), encoding explained (not only parameter we need to have all the significant descriptions including the geography)
  2. A table with what we aim to have from the partners. Description in words, GRIB2 coding (not only parameter also all other relevant coding details), possibly an example of grib for each parameter
  3. A common description of the grid we are going to ask the users. We said that this is going to be a global domain. I think we also need a bitmap.

 

Parameters :

(  1 message <=> 1 parameter  )

...

Sections :

f

e
    Typical header :

#==============   MESSAGE 4 ( length=179708 )              ==============
1-4       identifier = GRIB
5-6       reserved = 0
7         discipline = 0 [Meteorological products (grib2/tables/2/0.0.table) ]
8         editionNumber = 2
9-16      totalLength = 179708
======================   SECTION_1 ( length=21, padding=0 )    ======================
1-4       section1Length = 21
5         numberOfSection = 1
6-7       centre = 7 [US National Weather Service - NCEP  (WMC)  (grib2/centre.table) ]
8-9       subCentre = 0
10        tablesVersion = 2 [Version implemented on 4 November 2003 (grib2/tables/1.0.table) ]
11        localTablesVersion = 1 [Unknown code table entry (grib2/tables/2/1.1.table) ]
12        significanceOfReferenceTime = 1 [Start of forecast (grib2/tables/2/1.2.table) ]
13-14     year = 2017
15        month = 1
16        day = 30
17        hour = 0
18        minute = 0
19        second = 0
20        productionStatusOfProcessedData = 0 [Operational products (grib2/tables/2/1.3.table) ]
21        typeOfProcessedData = 1 [Forecast products (grib2/tables/2/1.4.table) ]
======================   SECTION_3 ( length=72, padding=0 )    ======================
1-4       section3Length = 72
5         numberOfSection = 3
6         sourceOfGridDefinition = 0 [Specified in Code table 3.1 (grib2/tables/2/3.0.table) ]
7-10      numberOfDataPoints = 241920
11        numberOfOctectsForNumberOfPoints = 0
12        interpretationOfNumberOfPoints = 0 [There is no appended list (grib2/tables/2/3.11.table) ]
13-14     gridDefinitionTemplateNumber = 0 [Latitude/longitude. Also called equidistant cylindrical, or Plate Carree (grib2/tables/2/3.1.table) ]
15        shapeOfTheEarth = 6 [Earth assumed spherical with radius of 6,371,229.0 m (grib2/tables/2/3.2.table) ]
16        scaleFactorOfRadiusOfSphericalEarth = 0
17-20     scaledValueOfRadiusOfSphericalEarth = 0
21        scaleFactorOfEarthMajorAxis = 0
22-25     scaledValueOfEarthMajorAxis = 0
26        scaleFactorOfEarthMinorAxis = 0
27-30     scaledValueOfEarthMinorAxis = 0
31-34     Ni = 720
35-38     Nj = 336
39-42     basicAngleOfTheInitialProductionDomain = 0
43-46     subdivisionsOfBasicAngle = 0
47-50     latitudeOfFirstGridPoint = 90000000
51-54     longitudeOfFirstGridPoint = 0
55        resolutionAndComponentFlags = 48 [00110000]
56-59     latitudeOfLastGridPoint = -77500000
60-63     longitudeOfLastGridPoint = 359500000
64-67     iDirectionIncrement = 500000
68-71     jDirectionIncrement = 500000
72        scanningMode = 0 [00000000]
======================   SECTION_4 ( length=34, padding=0 )    ======================
1-4       section4Length = 34
5         numberOfSection = 4
6-7       NV = 0
8-9       productDefinitionTemplateNumber = 0 [Analysis or forecast at a horizontal level or in a horizontal layer at a point in time (grib2/tables/2/4.0.table) ]
10        parameterCategory = 2 [Momentum (grib2/tables/2/4.1.0.table) ]
11        parameterNumber = 3 [v-component of wind  (m s-1)  (grib2/tables/2/4.2.0.2.table) ]
12        typeOfGeneratingProcess = 2 [Forecast (grib2/tables/2/4.3.table) ]
13        backgroundProcess = 0
14        generatingProcessIdentifier = 11
15-16     hoursAfterDataCutoff = 0
17        minutesAfterDataCutoff = 0
18        indicatorOfUnitOfTimeRange = 1 [Hour (grib2/tables/2/4.4.table) ]
19-22     forecastTime = 0
23        typeOfFirstFixedSurface = 1 [Ground or water surface  (grib2/tables/2/4.5.table) ]
24        scaleFactorOfFirstFixedSurface = 0
25-28     scaledValueOfFirstFixedSurface = 1
29        typeOfSecondFixedSurface = 255 [Missing (grib2/tables/2/4.5.table) ]
30        scaleFactorOfSecondFixedSurface = 0
31-34     scaledValueOfSecondFixedSurface = 0
======================   SECTION_5 ( length=23, padding=0 )    ======================
1-4       section5Length = 23
5         numberOfSection = 5
6-9       numberOfValues = 145543
10-11     dataRepresentationTemplateNumber = 40 [JPEG2000 Packing (grib2/tables/2/5.0.table) ]
12-15     referenceValue = -2278
16-17     binaryScaleFactor = 0
18-19     decimalScaleFactor = 2
20        bitsPerValue = 13
21        typeOfOriginalFieldValues = 0 [Floating point (grib2/tables/2/5.1.table) ]
22        typeOfCompressionUsed = 0 [Lossless (grib2/tables/2/5.40.table) ]
23        targetCompressionRatio = 255
======================   SECTION_6 ( length=30246, padding=0 )   ======================
1-4       section6Length = 30246
5         numberOfSection = 6
6         bitMapIndicator = 0 [A bit map applies to this product and is specified in this Section (grib2/tables/2/6.0.table) ]
7-30246   bitmap = 30240 {
                        00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
                        00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
                        00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
                        00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
                        00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
                        00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
                        00, 00, 00, 00
                        ... 30140 more values
                     } # g2bitmap bitmap
======================   SECTION_7 ( length=149292, padding=0 )   ======================
1-4       section7Length = 149292
5         numberOfSection = 7
6-149292  codedValues = (145543,149287) {
-6.2600000000e+00, -6.3000000000e+00, -6.3300000000e+00, -6.3300000000e+00, -6.3500000000e+00, -6.4300000000e+00, -6.5300000000e+00, -6.6800000000e+00,
-6.8400000000e+00, -7.0500000000e+00, -7.3700000000e+00, -7.7800000000e+00, -8.1500000000e+00, -8.3800000000e+00, -8.4300000000e+00, -8.3400000000e+00,
-8.1600000000e+00, -7.9500000000e+00, -7.6900000000e+00, -7.4200000000e+00, -7.2200000000e+00, -7.0900000000e+00, -6.9800000000e+00, -6.8700000000e+00,
-6.7900000000e+00, -6.7500000000e+00, -6.7200000000e+00, -6.6900000000e+00, -6.6700000000e+00, -6.6800000000e+00, -6.7200000000e+00, -6.8000000000e+00,
-6.8800000000e+00, -6.9300000000e+00, -6.9500000000e+00, -6.9300000000e+00, -6.8400000000e+00, -6.6900000000e+00, -6.4800000000e+00, -6.2300000000e+00,
-5.9700000000e+00, -5.7400000000e+00, -5.5000000000e+00, -5.3200000000e+00, -5.2100000000e+00, -5.1700000000e+00, -5.2000000000e+00, -5.3100000000e+00,
-5.4800000000e+00, -5.6800000000e+00, -5.9100000000e+00, -6.0800000000e+00, -6.2500000000e+00, -6.3400000000e+00, -6.3200000000e+00, -6.2000000000e+00,
-5.9700000000e+00, -5.6000000000e+00, -5.1400000000e+00, -4.6200000000e+00, -4.1000000000e+00, -3.5600000000e+00, -3.1000000000e+00, -2.7100000000e+00,
-2.3900000000e+00, -2.1500000000e+00, -2.0400000000e+00, -2.1100000000e+00, -2.2800000000e+00, -2.4700000000e+00, -2.6200000000e+00, -2.6600000000e+00,
-2.5700000000e+00, -2.3100000000e+00, -1.9000000000e+00, -1.3600000000e+00, -7.8000000000e-01, -2.4000000000e-01, 2.1000000000e-01, 5.3000000000e-01,
6.7000000000e-01, 6.1000000000e-01, 4.0000000000e-01, 1.2000000000e-01, -2.0000000000e-01, -5.2000000000e-01, -8.1000000000e-01, -1.0700000000e+00,
-4.5700000000e+00, -1.5600000000e+00, -2.8500000000e+00, -2.8100000000e+00, -7.1000000000e-01, -5.9000000000e-01, -2.0800000000e+00, -2.9300000000e+00,
-5.9000000000e+00, -6.0100000000e+00, -6.1600000000e+00, -6.2800000000e+00
... 145443 more values
} # data_jpeg2000_packing codedValues
======================   SECTION_8 ( length=4, padding=0 )     ======================
1-4       7777 = 7777
 
 
                         

 

 

 

 

 

 

 

 

 

 

...