earthobservations / gribmagic

Generic weather forecast downloader
https://community.panodata.org/t/developing-gribmagic/233
MIT License
21 stars 2 forks source link

[unity] DWD ICON: Folder "aswdiff_s" missing #1

Open amotl opened 3 years ago

amotl commented 3 years ago

Hi there,

within model_variables_mapping.yml, diffuse_horizontal_irradiance is mapping to DWD ICON's aswdiff_s parameter field. However, there [1-4] are only folders called aswdifd_s and aswdifu_s.

With kind regards, Andreas.

[1] https://opendata.dwd.de/weather/nwp/icon/grib/00/ [2] https://opendata.dwd.de/weather/nwp/icon-d2/grib/00/ [3] https://opendata.dwd.de/weather/nwp/icon-eu/grib/00/ [4] https://opendata.dwd.de/weather/nwp/icon-eu-eps/grib/00/

mhaberler commented 3 years ago

that is another nit I found: one can not rely on the identity of directory name (eg hhl here: https://opendata.dwd.de/weather/nwp/icon-d2/grib/12/hhl/) containing files like https://opendata.dwd.de/weather/nwp/icon-d2/grib/12/hhl/icon-d2_germany_icosahedral_time-invariant_2020122012_000_10_hhl.grib2.bz2 being the variable name in the file proper

example:

directory suggests 'hhl', grib_dump says:

  shortNameECMF = h;
  shortName = HHL;
...
  cfVarNameECMF = h;
  cfVarName = h;
$ grib_dump icon-d2_germany_icosahedral_time-invariant_2020122012_000_10_hhl.grib2
***** FILE: icon-d2_germany_icosahedral_time-invariant_2020122012_000_10_hhl.grib2
#==============   MESSAGE 1 ( length=1118092 )             ==============
GRIB {
  # Meteorological products  (grib2/tables/19/0.0.table)
  discipline = 0;
  editionNumber = 2;
  # Offenbach  (RSMC)  (common/c-11.table)
  centre = 78;
  subCentre = 255;
  # Start of forecast  (grib2/tables/19/1.2.table)
  significanceOfReferenceTime = 1;
  dataDate = 20201220;
  dataTime = 1200;
  # Operational test products  (grib2/tables/19/1.3.table)
  productionStatusOfProcessedData = 1;
  # Forecast products  (grib2/tables/19/1.4.table , grib2/tables/local/edzw/1/1.4.table)
  typeOfProcessedData = 1;
  # Unknown code table entry ()
  grib2LocalSectionNumber = 65024;
  numberOfDataPoints = 542040;
  # There is no appended list  (grib2/tables/19/3.11.table)
  interpretationOfNumberOfPoints = 0;
  # General unstructured grid  (grib2/tables/19/3.1.table)
  gridDefinitionTemplateNumber = 101;
  # Earth assumed spherical with radius of 6 371 229.0 m  (grib2/tables/19/3.2.table)
  shapeOfTheEarth = 6;
  numberOfGridUsed = 47;
  numberOfGridInReference = 1;
  gridType = unstructured_grid;
  NV = 6;
  # Analysis or forecast at a horizontal level or in a horizontal layer at a point in time  (grib2/tables/19/4.0.table , grib2/tables/local/edzw/1/4.0.table)
  productDefinitionTemplateNumber = 0;
  # Mass  (grib2/tables/19/4.1.0.table , grib2/tables/local/edzw/1/4.1.0.table)
  parameterCategory = 3;
  # Geometric height  (m)  (grib2/tables/19/4.2.0.3.table , grib2/tables/local/edzw/1/4.2.0.3.table)
  parameterNumber = 6;
  #-READ ONLY- parameterUnits = m;
  #-READ ONLY- parameterName = Geometric height ;
  # Forecast  (grib2/tables/19/4.3.table , grib2/tables/local/edzw/1/4.3.table)
  typeOfGeneratingProcess = 2;
  generatingProcessIdentifier = 11;
  # Minute  (grib2/tables/19/4.4.table)
  indicatorOfUnitOfTimeRange = 0;
  # Minute (stepUnits.table)
  stepUnits = 0;
  forecastTime = 0;
  stepRange = 0;
  # Generalized vertical height coordinate  (grib2/tables/19/4.5.table , grib2/tables/local/edzw/1/4.5.table)
  typeOfFirstFixedSurface = 150;
  #-READ ONLY- unitsOfFirstFixedSurface = unknown;
  #-READ ONLY- nameOfFirstFixedSurface = Generalized vertical height coordinate ;
  scaleFactorOfFirstFixedSurface = 0;
  scaledValueOfFirstFixedSurface = 10;
  # Mean sea level  (grib2/tables/19/4.5.table , grib2/tables/local/edzw/1/4.5.table)
  typeOfSecondFixedSurface = 101;
  #-READ ONLY- unitsOfSecondFixedSurface = unknown;
  #-READ ONLY- nameOfSecondFixedSurface = Mean sea level ;
  scaleFactorOfSecondFixedSurface = 0;
  scaledValueOfSecondFixedSurface = 0;
  topLevel = 10;
  bottomLevel = 0;
  shortNameLegacyECMF = unknown;
  shortNameECMF = h;
  shortName = HHL;
  nameLegacyECMF = unknown;
  nameECMF = Geometrical height;
  name = Geometric Height of the layer limits above sea level(NN);
  cfNameLegacyECMF = unknown;
  cfNameECMF = unknown;
  cfName = unknown;
  cfVarNameLegacyECMF = unknown;
  cfVarNameECMF = h;
  cfVarName = h;
  #-READ ONLY- modelName = unknown;
  nlev = 66;
  numberOfVGridUsed = 4;
  numberOfValues = 525072;
  packingType = grid_simple;
  # A bit map applies to this product and is specified in this Section  (grib2/tables/19/6.0.table)
  bitMapIndicator = 0;
  bitmapPresent = 1;
  values(542040) =  {
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999,
  9999, 9999, 9999, 9999, 9999
  ... 541940 more values
  }
  #-READ ONLY- maximum = 12476.6;
  #-READ ONLY- minimum = 12414.4;
  #-READ ONLY- average = 12420;
  #-READ ONLY- numberOfMissing = 16968;
  #-READ ONLY- standardDeviation = 8.35194;
  #-READ ONLY- skewness = 2.77119;
  #-READ ONLY- kurtosis = 9.04588;
  #-READ ONLY- isConstant = 0;
  #-READ ONLY- getNumberOfValues = 542040;
}

I think 'w' vs 'wz' and 'p' vs 'pres' are more examples of that

then uppercase/lowercase difference comes in too..