diff --git a/definitions/grib2/combinationOfAttributesOfTileConcept.def b/definitions/grib2/combinationOfAttributesOfTileConcept.def new file mode 100644 index 000000000..465913ca8 --- /dev/null +++ b/definitions/grib2/combinationOfAttributesOfTileConcept.def @@ -0,0 +1,39 @@ +# Concept combinationOfAttributesOfTile + +'UNMOD' = {attributeOfTile = [1];} +'SNOW' = {attributeOfTile = [2];} +'FLOOD' = {attributeOfTile = [3];} +'ICE' = {attributeOfTile = [4];} +'ITCW' = {attributeOfTile = [5];} +'ITCS' = {attributeOfTile = [6];} +'AGG' = {attributeOfTile = [7];} + +'SNOW_FLOOD' = {attributeOfTile = [2,3];} +'SNOW_ICE' = {attributeOfTile = [2,4];} +'SNOW_ITCW' = {attributeOfTile = [2,5];} +'SNOW_ITCS' = {attributeOfTile = [2,6];} +'FLOOD_ICE' = {attributeOfTile = [3,4];} +'FLOOD_ITCW' = {attributeOfTile = [3,5];} +'FLOOD_ITCS' = {attributeOfTile = [3,6];} +'ICE_ITCW' = {attributeOfTile = [4,5];} +'ICE_ITCS' = {attributeOfTile = [4,6];} +'ITCW_ITCS' = {attributeOfTile = [5,6];} + +'SNOW_FLOOD_ICE' = {attributeOfTile = [2,3,4];} +'SNOW_FLOOD_ITCW' = {attributeOfTile = [2,3,5];} +'SNOW_FLOOD_ITCS' = {attributeOfTile = [2,3,6];} +'SNOW_ICE_ITCW' = {attributeOfTile = [2,4,5];} +'SNOW_ICE_ITCS' = {attributeOfTile = [2,4,6];} +'SNOW_ITCW_ITCS' = {attributeOfTile = [2,5,6];} +'FLOOD_ICE_ITCW' = {attributeOfTile = [3,4,5];} +'FLOOD_ICE_ITCS' = {attributeOfTile = [3,4,6];} +'FLOOD_ITCW_ITCS' = {attributeOfTile = [3,5,6];} +'ICE_ITCW_ITCS' = {attributeOfTile = [4,5,6];} + +'SNOW_FLOOD_ICE_ITCW' = {attributeOfTile = [2,3,4,5];} +'SNOW_FLOOD_ICE_ITCS' = {attributeOfTile = [2,3,4,6];} +'SNOW_FLOOD_ITCW_ITCS' = {attributeOfTile = [2,3,5,6];} +'SNOW_ICE_ITCW_ITCS' = {attributeOfTile = [2,4,5,6];} +'FLOOD_ICE_ITCW_ITCS' = {attributeOfTile = [3,4,5,6];} + +'SNOW_FLOOD_ICE_ITCW_ITCS' = {attributeOfTile = [2,3,4,5,6];} \ No newline at end of file diff --git a/definitions/grib2/tables/32/4.241.table b/definitions/grib2/tables/32/4.241.table index e57536560..743e5f6e2 100644 --- a/definitions/grib2/tables/32/4.241.table +++ b/definitions/grib2/tables/32/4.241.table @@ -1,12 +1,12 @@ # Code table 4.241 - Coverage attributes -0 0 Undefined -1 1 Unmodified -2 2 Snow covered -3 3 Flooded -4 4 Ice covered -5 5 With intercepted water -6 6 With intercepted snow -7 7 Aggregated +0 UNDEF Undefined +1 UNMOD Unmodified +2 SNOW Snow covered +3 FLOOD Flooded +4 ICE Ice covered +5 ITCW With intercepted water +6 ITCS With intercepted snow +7 AGG Aggregated # 8-191 Reserved # 192-254 Reserved for local use 255 255 Missing value diff --git a/definitions/grib2/tables/32/4.242.table b/definitions/grib2/tables/32/4.242.table index 68db26bbb..9574142da 100644 --- a/definitions/grib2/tables/32/4.242.table +++ b/definitions/grib2/tables/32/4.242.table @@ -1,10 +1,10 @@ # Code table 4.242 - Tile classification 0 0 Reserved -1 1 Land use classes according to ESA-GlobCover GCV2009 -2 2 Land use classes according to European Commission-Global Land Cover Project GLC2000 -3 3 Land use classes according to ECOCLIMAP -4 4 Land use classes according to ECOCLIMAP-SG -5 5 Land use classes according to USGS EROS Global Land Cover Characterization (GLCC) v2.0 BATS Classification +1 GCV2009 Land use classes according to ESA-GlobCover GCV2009 +2 GLC2000 Land use classes according to European Commission-Global Land Cover Project GLC2000 +3 ECOCLIMAP Land use classes according to ECOCLIMAP +4 ECOCLIMAP-SG Land use classes according to ECOCLIMAP-SG +5 GLCCv2BATS Land use classes according to USGS EROS Global Land Cover Characterization (GLCC) v2.0 BATS Classification # 6-191 Reserved # 192-254 Reserved for local use 255 255 Missing value diff --git a/definitions/grib2/tables/32/4.252.table b/definitions/grib2/tables/32/4.252.table index 7d837f3d6..f13d72689 100644 --- a/definitions/grib2/tables/32/4.252.table +++ b/definitions/grib2/tables/32/4.252.table @@ -1,162 +1,165 @@ # Code table 4.252 - Tile classes and groupings 0 0 Reserved -1 1 Seas and oceans -2 2 Inland water bodies -3 3 Bare areas -4 4 High vegetation -5 5 Low vegetation -6 6 Urban +1 SEOC Seas and oceans +2 INWB Inland water bodies +3 BARE Bare areas +4 HIV High vegetation +5 LOV Low vegetation +6 URBAN Urban # 7-1000 Reserved for intercomparison tile classes/groupings -1001 1001 Sea and oceans -1002 1002 Lakes -1003 1003 Rivers -1004 1004 Bare land -1005 1005 Bare rock -1006 1006 Permanent snow -1007 1007 Boreal broadleaf deciduous -1008 1008 Temperate broadleaf deciduous -1009 1009 Tropical broadleaf deciduous -1010 1010 Temperate broadleaf evergreen -1011 1011 Tropical broadleaf evergreen -1012 1012 Boreal needleleaf evergreen -1013 1013 Temperate needleleaf evergreen -1014 1014 Boreal needleleaf deciduous -1015 1015 Shrubs -1016 1016 Boreal grassland -1017 1017 Temperate grassland -1018 1018 Tropical grassland -1019 1019 Winter C3 crops -1020 1020 Summer C3 crops -1021 1021 C4 crops -1022 1022 Flooded trees -1023 1023 Flooded grassland -1024 1024 Local climate zone 1: compact high-rise (buildings) -1025 1025 Local climate zone 2: compact midrise (buildings) -1026 1026 Local climate zone 3: compact low-rise (buildings) -1027 1027 Local climate zone 4: open high-rise (buildings) -1028 1028 Local climate zone 5: open midrise (buildings) -1029 1029 Local climate zone 6: open low-rise (buildings) -1030 1030 Local climate zone 7: lightweight low-rise (buildings) -1031 1031 Local climate zone 8: large low-rise (buildings) -1032 1032 Local climate zone 9: sparsely built (buildings) -1033 1033 Local climate zone 10: heavy industry (buildings) -1034 1034 Urban temperate broadleaf deciduous -1035 1035 Urban tropical broadleaf deciduous -1036 1036 Urban temperate broadleaf evergreen -1037 1037 Urban tropical broadleaf evergreen -1038 1038 Urban boreal needleleaf evergreen -1039 1039 Urban temperate needleleaf evergreen -1040 1040 Urban boreal needleleaf deciduous +1001 SEAO Sea and oceans +1002 LAKE Lakes +1003 RIVE Rivers +1004 NO Bare land +1005 ROCK Bare rock +1006 SNOW Permanent snow +1007 BOBD Boreal broadleaf deciduous +1008 TEBD Temperate broadleaf deciduous +1009 TRBD Tropical broadleaf deciduous +1010 TEBE Temperate broadleaf evergreen +1011 TRBE Tropical broadleaf evergreen +1012 BONE Boreal needleleaf evergreen +1013 TENE Temperate needleleaf evergreen +1014 BOND Boreal needleleaf deciduous +1015 SHRB Shrubs +1016 BOGR Boreal grassland +1017 GRAS Temperate grassland +1018 TROG Tropical grassland +1019 C3W Winter C3 crops +1020 C3S Summer C3 crops +1021 C4 C4 crops +1022 FLTR Flooded trees +1023 FLGR Flooded grassland +1024 LCZ1 Local climate zone 1: compact high-rise (buildings) +1025 LCZ2 Local climate zone 2: compact midrise (buildings) +1026 LCZ3 Local climate zone 3: compact low-rise (buildings) +1027 LCZ4 Local climate zone 4: open high-rise (buildings) +1028 LCZ5 Local climate zone 5: open midrise (buildings) +1029 LCZ6 Local climate zone 6: open low-rise (buildings) +1030 LCZ7 Local climate zone 7: lightweight low-rise (buildings) +1031 LCZ8 Local climate zone 8: large low-rise (buildings) +1032 LCZ9 Local climate zone 9: sparsely built (buildings) +1033 LCZ10 Local climate zone 10: heavy industry (buildings) +1034 TEBDU Urban temperate broadleaf deciduous +1035 TRBDU Urban tropical broadleaf deciduous +1036 TEBEU Urban temperate broadleaf evergreen +1037 TRBEU Urban tropical broadleaf evergreen +1038 BONEU Urban boreal needleleaf evergreen +1039 TENEU Urban temperate needleleaf evergreen +1040 BONDU Urban boreal needleleaf deciduous # 1041-1500 Reserved for tile class entries for tile models using the ECOCLIMAP-SG land cover survey -1501 1501 Nature grouping (NO + ROCK + SNOW + BOBD + TEBD + TRBD + TEBE + TRBE + BONE + TENE + BOND + SHRB + BOGR + GRAS + TROG + C3W + C3S + C4 + FLTR + FLGR) -1502 1502 Non-forest grouping (NO + ROCK + SNOW + BOGR + GRAS + TROG + C3W + C3S + C4 + FLTR + FLGR) -1503 1503 Forest grouping (BOBD + TEBD + TRBD + TEBE + TRBE + BONE + TENE + BOND + SHRB) -1504 1504 Non-vegetated grouping (NO + ROCK + SNOW) -1505 1505 Trees grouping (BOBD + TEBD + TRBD + TEBE + TRBE + BONE + TENE + BOND + SHRB + FLTR) -1506 1506 Low vegetation grouping (BOGR + GRAS + TROG + C3W + C3S + C4 + FLGR) -1507 1507 Non-flooded low vegetation grouping (BOGR + GRAS + TROG + C3W + C3S + C4) -1508 1508 Crops grouping (C3W + C3S + C4) -1509 1509 Grassland grouping (BOGR + GRAS + TROG) -1510 1510 Bare and rock grouping (NO + ROCK) -1511 1511 C3 crops grouping (C3W + C3S) -1512 1512 Broadleaf forest grouping (BOBD + TEBD + TRBD + TEBE + TRBE + SHRB) -1513 1513 Needleleaf forest grouping (BONE + TENE + BOND) -1514 1514 Deciduous broadleaf forest grouping (BOBD + TEBD + TRBD + TEBE + SHRB) -1515 1515 Temperate grassland grouping (BOGR + GRAS) -1516 1516 Non-forest (no FLTR) grouping (NO + ROCK + SNOW + BOGR + GRAS + TROG + C3W + C3S + C4 + FLGR) -1517 1517 Broadleaf forest (with FLTR) grouping (BOBD + TEBD + TRBD + TEBE + TRBE + SHRB + FLTR) -1518 1518 Broadleaf trees grouping (BOBD + TEBD + TRBD + TEBE + TRBE + FLTR) -1519 1519 C3/C4 grasslands grouping (BOGR + GRAS + FLGR) -1520 1520 Broadleaf deciduous trees grouping (BOBD + TEBD + TRBD + FLTR) -1521 1521 Broadleaf evergreen trees grouping (TEBE + TRBE) -1522 1522 Needleleaf evergreen trees grouping (BONE + TENE) -1523 1523 LCZ or urban grouping (LCZ1 + LCZ2 + LCZ3 + LCZ4 + LCZ5 + LCZ6 + LCZ7 + LCZ8 + LCZ9 + LCZ10) -1524 1524 Inland water grouping (LAKE + RIVE) -1525 1525 Urban parks and gardens TEBD grouping (NO + GRAS + TEBDU) -1526 1526 Urban parks and gardens TRBD grouping (NO + GRAS + TRBDU) -1527 1527 Urban parks and gardens TEBE grouping (NO + GRAS + TEBEU) -1528 1528 Urban parks and gardens TRBE grouping (NO + GRAS + TRBEU) -1529 1529 Urban parks and gardens BONE grouping (NO + GRAS + BONEU) -1530 1530 Urban parks and gardens TENE grouping (NO + GRAS + TENEU) -1531 1531 Urban parks and gardens BOND grouping (NO + GRAS + BONDU) +# v8.1 groupings +1501 GNATU Nature grouping (NO + ROCK + SNOW + BOBD + TEBD + TRBD + TEBE + TRBE + BONE + TENE + BOND + SHRB + BOGR + GRAS + TROG + C3W + C3S + C4 + FLTR + FLGR) +1502 GNOFO Non-forest grouping (NO + ROCK + SNOW + BOGR + GRAS + TROG + C3W + C3S + C4 + FLTR + FLGR) +1503 GFORE Forest grouping (BOBD + TEBD + TRBD + TEBE + TRBE + BONE + TENE + BOND + SHRB) +1504 GNOVE Non-vegetated grouping (NO + ROCK + SNOW) +1505 GTREE Trees grouping (BOBD + TEBD + TRBD + TEBE + TRBE + BONE + TENE + BOND + SHRB + FLTR) +1506 GLVEG Low vegetation grouping (BOGR + GRAS + TROG + C3W + C3S + C4 + FLGR) +1507 GNFLV Non-flooded low vegetation grouping (BOGR + GRAS + TROG + C3W + C3S + C4) +1508 GCROP Crops grouping (C3W + C3S + C4) +1509 GGRAS Grassland grouping (BOGR + GRAS + TROG) +1510 GBARO Bare and rock grouping (NO + ROCK) +1511 GC3CR C3 crops grouping (C3W + C3S) +1512 GBFOR Broadleaf forest grouping (BOBD + TEBD + TRBD + TEBE + TRBE + SHRB) +1513 GNFOR Needleleaf forest grouping (BONE + TENE + BOND) +1514 GDBFO Deciduous broadleaf forest grouping (BOBD + TEBD + TRBD + TEBE + SHRB) +1515 GTGRA Temperate grassland grouping (BOGR + GRAS) +# v9.0 groupings +1516 GNFNF Non-forest (no FLTR) grouping (NO + ROCK + SNOW + BOGR + GRAS + TROG + C3W + C3S + C4 + FLGR) +1517 GBFFT Broadleaf forest (with FLTR) grouping (BOBD + TEBD + TRBD + TEBE + TRBE + SHRB + FLTR) +1518 GBTRE Broadleaf trees grouping (BOBD + TEBD + TRBD + TEBE + TRBE + FLTR) +1519 GCGRA C3/C4 grasslands grouping (BOGR + GRAS + FLGR) +1520 GBDTR Broadleaf deciduous trees grouping (BOBD + TEBD + TRBD + FLTR) +1521 GBETR Broadleaf evergreen trees grouping (TEBE + TRBE) +1522 GNETR Needleleaf evergreen trees grouping (BONE + TENE) +# Other groupings +1523 GLCZU LCZ or urban grouping (LCZ1 + LCZ2 + LCZ3 + LCZ4 + LCZ5 + LCZ6 + LCZ7 + LCZ8 + LCZ9 + LCZ10) +1524 GIWAT Inland water grouping (LAKE + RIVE) +1525 GPTEBD Urban parks and gardens TEBD grouping (NO + GRAS + TEBDU) +1526 GPTRBD Urban parks and gardens TRBD grouping (NO + GRAS + TRBDU) +1527 GPTEBE Urban parks and gardens TEBE grouping (NO + GRAS + TEBEU) +1528 GPTRBE Urban parks and gardens TRBE grouping (NO + GRAS + TRBEU) +1529 GPBONE Urban parks and gardens BONE grouping (NO + GRAS + BONEU) +1530 GPTENE Urban parks and gardens TENE grouping (NO + GRAS + TENEU) +1531 GPBOND Urban parks and gardens BOND grouping (NO + GRAS + BONDU) # 1532-2000 Reserved for tile grouping entries for tile models using the ECOCLIMAP-SG land cover survey -2001 2001 Crops, mixed farming -2002 2002 Short grass -2003 2003 Evergreen needleleaf trees -2004 2004 Deciduous needleleaf trees -2005 2005 Deciduous broadleaf trees -2006 2006 Evergreen broadleaf trees -2007 2007 Tall grass -2008 2008 Desert -2009 2009 Tundra -2010 2010 Irrigated crops -2011 2011 Semidesert -2012 2012 Ice caps and glaciers -2013 2013 Bogs and marshes -2014 2014 Inland water -2015 2015 Ocean -2016 2016 Evergreen shrubs -2017 2017 Deciduous shrubs -2018 2018 Mixed forest/woodland -2019 2019 Interrupted forest -2020 2020 Water and land mixtures -2021 2021 Bare soil -2022 2022 Urban -2023 2023 Low-rise building -2024 2024 High-rise building +2001 CRMF Crops, mixed farming +2002 SHGR Short grass +2003 EVNE Evergreen needleleaf trees +2004 DENE Deciduous needleleaf trees +2005 DEBR Deciduous broadleaf trees +2006 EVBR Evergreen broadleaf trees +2007 TAGR Tall grass +2008 DESE Desert +2009 TUND Tundra +2010 IRCR Irrigated crops +2011 SEDE Semidesert +2012 ICGL Ice caps and glaciers +2013 BOMA Bogs and marshes +2014 INWA Inland water +2015 OCEA Ocean +2016 EVSH Evergreen shrubs +2017 DESH Deciduous shrubs +2018 MFWO Mixed forest/woodland +2019 INFO Interrupted forest +2020 WLMI Water and land mixtures +2021 BASO Bare soil +2022 URBA Urban +2023 LORI Low-rise building +2024 HIRI High-rise building # 2025-2500 Reserved for tile class entries for tile models using the GLCC v2.0 BATS Classification survey -2501 2501 Low vegetation grouping (CRMF + SHGR + TAGR + TUND + IRCR + SEDE + BOMA + EVSH + DESH + WLMI) -2502 2502 High vegetation grouping (EVNE + DENE + DEBR + EVBR + MFWO + INFO) +2501 GLVE Low vegetation grouping (CRMF + SHGR + TAGR + TUND + IRCR + SEDE + BOMA + EVSH + DESH + WLMI) +2502 GHVE High vegetation grouping (EVNE + DENE + DEBR + EVBR + MFWO + INFO) # 2503-3000 Reserved for tile grouping entries for tile models using the GLCC v2.0 BATS Classification survey -3001 3001 Post-flooding or irrigated croplands -3002 3002 Rainfed croplands -3003 3003 Mosaic cropland (50-70%) / vegetation (grassland, shrubland, forest) (20-50%) -3004 3004 Mosaic vegetation (grassland, shrubland, forest) (50-70%) / cropland (20-50%) -3005 3005 Closed to open (>15%) broadleaved evergreen and/or semi-deciduous forest (>5m) -3006 3006 Closed (>40%) broadleaved deciduous forest (>5m) -3007 3007 Open (15-40%) broadleaved deciduous forest (>5m) -3008 3008 Closed (>40%) needleleaved evergreen forest (>5m) -3009 3009 Open (15-40%) needleleaved deciduous or evergreen forest (>5m) -3010 3010 Closed to open (>15%) mixed broadleaved and needleleaved forest (>5m) -3011 3011 Mosaic forest/shrubland (50-70%) / grassland (20-50%) -3012 3012 Mosaic grassland (50-70%) / forest / shrubland (20-50%) -3013 3013 Closed to open (>15%) shrubland (<5m) -3014 3014 Closed to open (>15%) herbaceous vegetation -3015 3015 Sparse (<15%) vegetation (woody vegetation, shrubs, grassland) -3016 3016 Closed to open (>15%) broadleaved forest regularly flooded (semi-permanently or temporarily) - fresh or brackish water -3017 3017 Closed (>40%) broadleaved forest or shrubland permanently flooded - saline or brackish water -3018 3018 Closed to open (>15%) vegetation (grassland, shrubland, woody vegetation) on regularly flooded or waterlogged soil - fresh, brackish or saline water -3019 3019 Artificial surfaces and associated areas (urban areas >50%) -3020 3020 Bare areas -3021 3021 Water bodies -3022 3022 Permanent snow and ice +3001 PFIC Post-flooding or irrigated croplands +3002 RACR Rainfed croplands +3003 MCVE Mosaic cropland (50-70%) / vegetation (grassland, shrubland, forest) (20-50%) +3004 MVCR Mosaic vegetation (grassland, shrubland, forest) (50-70%) / cropland (20-50%) +3005 COBS Closed to open (>15%) broadleaved evergreen and/or semi-deciduous forest (>5m) +3006 CLBD Closed (>40%) broadleaved deciduous forest (>5m) +3007 OPBD Open (15-40%) broadleaved deciduous forest (>5m) +3008 CLNE Closed (>40%) needleleaved evergreen forest (>5m) +3009 ONDE Open (15-40%) needleleaved deciduous or evergreen forest (>5m) +3010 COBN Closed to open (>15%) mixed broadleaved and needleleaved forest (>5m) +3011 MFSG Mosaic forest/shrubland (50-70%) / grassland (20-50%) +3012 MGFS Mosaic grassland (50-70%) / forest / shrubland (20-50%) +3013 COSH Closed to open (>15%) shrubland (<5m) +3014 COHV Closed to open (>15%) herbaceous vegetation +3015 SPVE Sparse (<15%) vegetation (woody vegetation, shrubs, grassland) +3016 COBFF Closed to open (>15%) broadleaved forest regularly flooded (semi-permanently or temporarily) - fresh or brackish water +3017 CLBFF Closed (>40%) broadleaved forest or shrubland permanently flooded - saline or brackish water +3018 COVEF Closed to open (>15%) vegetation (grassland, shrubland, woody vegetation) on regularly flooded or waterlogged soil - fresh, brackish or saline water +3019 ASAA Artificial surfaces and associated areas (urban areas >50%) +3020 BAAR Bare areas +3021 WABO Water bodies +3022 PESI Permanent snow and ice # 3023-3500 Reserved for tile class entries for tile models using the ESA-GlobCover GCV2009 survey -3501 3501 Grouping using the dominant tiles approach (dominant tile varies per gridbox) +3501 GRDT Grouping using the dominant tiles approach (dominant tile varies per gridbox) # 3502-4000 Reserved for tile grouping entries for tile models using the ESA-GlobCover GCV2009 survey -4001 4001 Tree cover, broadleaved evergreen, closed to open (>15%) -4002 4002 Tree cover, broadleaved deciduous, closed (>40%) -4003 4003 Tree cover, broadleaved deciduous, open (15-40%) -4004 4004 Tree cover, needleleaved evergreen, closed to open (>15%) -4005 4005 Tree cover, needleleaved decidous, closed to open (>15%) -4006 4006 Tree cover, mixed leaftype, closed to open (>15%) -4007 4007 Tree cover, closed to open (>15%), regularly flooded, fresh or brackish water: swamp forests -4008 4008 Tree cover, closed to open (>15%), regularly flooded, saline water: mangrove forests -4009 4009 Mosaic of tree cover and other natural vegetation (crop component possible) -4010 4010 Tree Cover, burnt (mainly boreal forests) -4011 4011 Shrubcover, closed to open (>15%), evergreen (broadleaved or needleleaved) -4012 4012 Shrubcover, closed to open (>15%), deciduous (broadleaved) -4013 4013 Herbaceous cover, closed to open (>15%) -4014 4014 Sparse herbaceous or sparse shrub cover -4015 4015 Regularly flooded (>2 month) shrub or herbaceous cover, closed to open -4016 4016 Cropland (upland crops or inundated/ flooded crops) -4017 4017 Mosaic of cropland / tree cover/ other natural vegetation -4018 4018 Mosaic of cropland / shrub or herbaceous cover -4019 4019 Bare areas -4020 4020 Water bodies (natural or artificial) -4021 4021 Snow or ice (natural or artificial) -4022 4022 Urban areas +4001 TBECO Tree cover, broadleaved evergreen, closed to open (>15%) +4002 TBDC Tree cover, broadleaved deciduous, closed (>40%) +4003 TBDO Tree cover, broadleaved deciduous, open (15-40%) +4004 TNECO Tree cover, needleleaved evergreen, closed to open (>15%) +4005 TNDCO Tree cover, needleleaved decidous, closed to open (>15%) +4006 TMLCO Tree cover, mixed leaftype, closed to open (>15%) +4007 TCOFF Tree cover, closed to open (>15%), regularly flooded, fresh or brackish water: swamp forests +4008 TCOFS Tree cover, closed to open (>15%), regularly flooded, saline water: mangrove forests +4009 MTVG Mosaic of tree cover and other natural vegetation (crop component possible) +4010 TBURN Tree Cover, burnt (mainly boreal forests) +4011 SCOE Shrubcover, closed to open (>15%) , evergreen (broadleaved or needleleaved) +4012 SCOD Shrubcover, closed to open (>15%), deciduous (broadleaved) +4013 HCCO Herbaceous cover, closed to open (>15%) +4014 SHSC Sparse herbaceous or sparse shrub cover +4015 FSHCO Regularly flooded (>2 month) shrub or herbaceous cover, closed to open +4016 CROP Cropland (upland crops or inundated/ flooded crops) +4017 MCTNV Mosaic of cropland / tree cover/ other natural vegetation +4018 MCSH Mosaic of cropland / shrub or herbaceous cover +4019 BAARE Bare areas +4020 WBNA Water bodies (natural or artificial) +4021 SINA Snow or ice (natural or artificial) +4022 URAR Urban areas # 4023-4500 Reserved for tile class entries for tile models using the European Commission-Global Land Cover Project GLC2000 survey # 4501-5000 Reserved for tile grouping entries for tile models using the European Commission-Global Land Cover Project GLC2000 survey # 5001-32767 Reserved for additional land cover surveys -# 32768-65534 Reserved for local use -65535 65535 Missing +# 32768-65534 Reserved for local use +65535 65535 Missing \ No newline at end of file diff --git a/definitions/grib2/template.4.113.def b/definitions/grib2/template.4.113.def index a95c4524b..52ecb5b61 100644 --- a/definitions/grib2/template.4.113.def +++ b/definitions/grib2/template.4.113.def @@ -1,3 +1,10 @@ # (C) Copyright 2005- ECMWF. -label "_WIP"; +# TEMPLATE 4.113, Generalised tiles at a horizontal level or horizontal layer at a point in time + +include "grib2/template.4.parameter.def" +include "grib2/template.4.generalised_tile.def" +include "grib2/template.4.generating_process.def" +include "grib2/template.4.forecast_time.def" +include "grib2/template.4.point_in_time.def" +include "grib2/template.4.horizontal.def" diff --git a/definitions/grib2/template.4.114.def b/definitions/grib2/template.4.114.def index a95c4524b..3c342dff1 100644 --- a/definitions/grib2/template.4.114.def +++ b/definitions/grib2/template.4.114.def @@ -1,3 +1,10 @@ # (C) Copyright 2005- ECMWF. -label "_WIP"; +# TEMPLATE 4.114, Average, accumulation, and/or extreme values or other statistically processed values on generalised tiles at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval + +include "grib2/template.4.parameter.def" +include "grib2/template.4.generalised_tile.def" +include "grib2/template.4.generating_process.def" +include "grib2/template.4.forecast_time.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.statistical.def" \ No newline at end of file diff --git a/definitions/grib2/template.4.115.def b/definitions/grib2/template.4.115.def index a95c4524b..5064401c5 100644 --- a/definitions/grib2/template.4.115.def +++ b/definitions/grib2/template.4.115.def @@ -1,3 +1,11 @@ # (C) Copyright 2005- ECMWF. -label "_WIP"; +# TEMPLATE 4.115, Individual ensemble forecast, control and perturbed on generalised tiles at a horizontal level or in a horizontal layer at a point in time + +include "grib2/template.4.parameter.def" +include "grib2/template.4.generalised_tile.def" +include "grib2/template.4.generating_process.def" +include "grib2/template.4.forecast_time.def" +include "grib2/template.4.point_in_time.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.leps.def" diff --git a/definitions/grib2/template.4.116.def b/definitions/grib2/template.4.116.def index a95c4524b..e035279ca 100644 --- a/definitions/grib2/template.4.116.def +++ b/definitions/grib2/template.4.116.def @@ -1,3 +1,11 @@ # (C) Copyright 2005- ECMWF. -label "_WIP"; +# TEMPLATE 4.116, Individual ensemble forecast, control and perturbed on generalised tiles at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval + +include "grib2/template.4.parameter.def" +include "grib2/template.4.generalised_tile.def" +include "grib2/template.4.generating_process.def" +include "grib2/template.4.forecast_time.def" +include "grib2/template.4.horizontal.def" +include "grib2/template.4.leps.def" +include "grib2/template.4.statistical.def" \ No newline at end of file diff --git a/definitions/grib2/template.4.generalised_tile.def b/definitions/grib2/template.4.generalised_tile.def new file mode 100644 index 000000000..e10f491c2 --- /dev/null +++ b/definitions/grib2/template.4.generalised_tile.def @@ -0,0 +1,45 @@ +# (C) Copyright 2005- ECMWF. + +# Generalised tile specifications +codetable[1] tileClassification ('4.242.table',masterDir,localDir) : dump, string_type; +codetable[2] typeOfTile ('4.252.table',masterDir,localDir) : dump, string_type; +unsigned[1] numberOfUsedSpatialTiles=1 : dump; # Maximum number of tiles used in the entire grid +unsigned[1] numberOfUsedTileAttributeCombinationsForTypeOfTile=1 : dump; # Number of tile attributes for a given tile in the gridbox +unsigned[1] numberOfUsedTileAttributesForTileAttributeCombination=1 : dump; # Number of used attributes in a given combination +listOfUsedTileAttributesInCombination list(numberOfUsedTileAttributesForTileAttributeCombination){ + codetable[1] attributeOfTile ('4.241.table',masterDir,localDir) : dump; +} +unsigned[1] totalNumberOfTileAttributeCombinations=1 : dump; # Sum over all tile-attribute pairs over whole grid. >= 1 +unsigned[1] tileIndex=1 : dump; # Local index of tile + +concept combinationOfAttributesOfTile (unknown,"combinationOfAttributesOfTileConcept.def",conceptsDir2,conceptsDir1): no_copy,dump; +byte[16] uuidOfDataGroup : dump; # UUID of data group + +# Extract long name (title) + part in brackets (grouping) +meta tileGrouping codetable_units(typeOfTile) : dump; +meta tileName codetable_title(typeOfTile) : dump; + +alias uuid=uuidOfDataGroup; + +alias ls.tile=typeOfTile; +alias ls.tileAttribute=combinationOfAttributesOfTile; + +alias tile.tileIndex=tileIndex; +alias tile=typeOfTile; +alias tile.tile=tile; +alias tile.tileName=tileName; +alias tileAttribute=combinationOfAttributesOfTile; +alias tile.tileAttribute=tileAttribute; +alias nTiles=numberOfUsedSpatialTiles; +alias tile.nTiles=nTiles; +alias totalTileAttCombo=totalNumberOfTileAttributeCombinations; +alias tile.totalTileAttCombo=totalTileAttCombo; +alias nTileAttCombo=numberOfUsedTileAttributeCombinationsForTypeOfTile; +alias tile.nTileAttCombo=nTileAttCombo; +alias nTileAtt=numberOfUsedTileAttributesForTileAttributeCombination; +alias tile.nTileAtt=nTileAtt; + +alias mars.tile=typeOfTile; +alias mars.tileAttribute=tileAttribute; +transient paramtype = "tile"; +alias mars.paramType=paramtype; diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 079da1a72..73d62b2ec 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -98,6 +98,7 @@ if( HAVE_BUILD_TOOLS ) grib_ecpoint grib_s2s grib_fire + grib_generalised_tiles # grib_true_imagery grib2_wave_spectra grib_element diff --git a/tests/grib_generalised_tiles.sh b/tests/grib_generalised_tiles.sh new file mode 100755 index 000000000..a76160bc5 --- /dev/null +++ b/tests/grib_generalised_tiles.sh @@ -0,0 +1,62 @@ +#!/bin/sh +# (C) Copyright 2005- ECMWF. +# +# This software is licensed under the terms of the Apache Licence Version 2.0 +# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. +# +# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by +# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. +# + +. ./include.ctest.sh + +label="grib_generalised_tiles_test" +temp_grib_a=temp.$label.a.grib +temp_grib_b=temp2.$label.b.grib +temp_dump=temp.$label.dump +sample_grib2=$ECCODES_SAMPLES_PATH/GRIB2.tmpl + +latest=`${tools_dir}/grib_get -p tablesVersionLatest $sample_grib2` + +${tools_dir}/grib_set -s productDefinitionTemplateNumber=113,tablesVersion=$latest ${sample_grib2} ${temp_grib_a} + +# Check tile related keys are present + +grib_check_key_exists ${temp_grib_a} tileClassification,typeOfTile,numberOfUsedSpatialTiles,numberOfUsedTileAttributeCombinationsForTypeOfTile + +grib_check_key_exists ${temp_grib_a} numberOfUsedTileAttributesForTileAttributeCombination,attributeOfTile,totalNumberOfTileAttributeCombinations + +grib_check_key_exists ${temp_grib_a} tileIndex,uuidOfDataGroup + +# Check list is working correctly and that associated concept is working correctly + +echo 'set numberOfUsedTileAttributesForTileAttributeCombination=2; set attributeOfTile={2, 4}; write;' | ${tools_dir}/grib_filter -o ${temp_grib_b} - ${temp_grib_a} +output=$(echo 'print "[attributeOfTile]";' | ${tools_dir}/grib_filter - ${temp_grib_b}) +[ "$output" = "2 4" ] +[ "$(${tools_dir}/grib_get -p tileAttribute ${temp_grib_b})" = "SNOW_ICE" ] + +# Check template is being picked up correctly + +${tools_dir}/grib_dump -O -p section_4 $temp_grib_a > $temp_dump +grep -q "Generalised tiles at a horizontal level or horizontal layer at a point in time" $temp_dump + +# Check StatisticalProcessing template also works + +${tools_dir}/grib_set -s productDefinitionTemplateNumber=114,tablesVersion=$latest ${sample_grib2} ${temp_grib_a} + +grib_check_key_exists ${temp_grib_a} typeOfTile,typeOfStatisticalProcessing + +# Check Ensemble template also works + +${tools_dir}/grib_set -s productDefinitionTemplateNumber=115,tablesVersion=$latest ${sample_grib2} ${temp_grib_a} + +grib_check_key_exists ${temp_grib_a} typeOfTile,perturbationNumber + +# Check Ensemble StatisticalProcessing template also works + +${tools_dir}/grib_set -s productDefinitionTemplateNumber=116,tablesVersion=$latest ${sample_grib2} ${temp_grib_a} + +grib_check_key_exists ${temp_grib_a} typeOfTile,perturbationNumber,typeOfStatisticalProcessing + +# Clean up +rm -f $temp_grib_a $temp_grib_b $temp_dump