{
    "gribEdition":{
        "1":{
            "mandatory":[
                "identifier",
                "totalLength",
                "editionNumber",
                "section1Length",
                "table2Version",
                "centre",
                "generatingProcessIdentifier",
                "gridDefinition",
                "section1Flags",
                "IndicatorOfParameter",
                "indicatorOfTypeOfLevel",
                "yearOfCentury",
                "month",
                "day",
                "hour",
                "minute",
                "unitOfTimeRange",
                "P1",
                "P2",
                "timeRangeIndicator",
                "numberIncludedInAverage",
                "numberMissingFromAveragesOrAccumulations",
                "centuryOfReferenceTimeOfData",
                "subcentre",
                "decimalScaleFactor",
                "section4Length",
                "dataFlag",
                "binaryScaleFactor",
                "referenceValue",
                "bitsPerValue",
                "7777"
            ],
            "optional":[
                "section2Length",
                "numberOfVerticalCoordinateValues",
                "pvlLocation",
                "dataRepresentationType",
                "section3Length",
                "numberOfUnusedBitsAtEndOfSection3",
                "tableReference"
            ]
        },
        "2":{
            "mandatory":[
                "identifier",
                "reserved",
                "discipline",
                "editionNumber",
                "totalLength",
                "section1Length",
                "numberOfSection",
                "centre",
                "subCentre",
                "tablesVersion",
                "localTablesVersion",
                "significanceOfReferenceTime",
                "year",
                "month",
                "day",
                "hour",
                "minute",
                "second",
                "productionStatusOfProcessedData",
                "typeOfProcessedData",
                "section3Length",
                "sourceOfGridDefinition",
                "numberOfDataPoints",
                "numberOfOctetsForNumberOfPoints",
                "interpretationOfNumberOfPoints",
                "gridDefinitionTemplateNumber",
                "section4Length",
                "NV",
                "productDefinitionTemplateNumber",
                "section5Length",
                "numberOfValues",
                "dataRepresentationTemplateNumber",
                "section6Length",
                "bitMapIndicator",
                "section7Length",
                "7777"                
            ],
            "optional":[
                "section2Length",
                "numberOfSection"
            ]
        },
        "independent":{
            "centre":"",
            "paramId":"",
            "shortName":"",
            "units":"",
            "name":"",
            "dataDate":"",
            "endStep":"",
            "startStep":"",
            "StepRange":"",
            "stepUnits":[
                "s",
                "m",
                "h",
                "3h",
                "6h",
                "12h",
                "D",
                "M",
                "Y",
                "10Y",
                "30Y",
                "C"
            ],
            "dataTime":"",
            "validityDate":"",
            "validityTime":"",
            "stepType":[
                "instant",
                "avg",
                "accum",
                "max",
                "min",
                "diff",
                "rms",
                "sd",
                "cov",
                "ratio"
            ],
            "bottomLevel":"",
            "level":"",
            "pv":"",
            "topLevel":"",
            "typeOfLevel":[
                "surface",
                "cloudBase",
                "cloudTop",
                "isothermZero",
                "adiabaticCondensation",
                "maxWind",
                "tropopause",
                "nominalTop",
                "seaBottom",
                "isothermal",
                "isobaricInhPa",
                "isobaricInPa",
                "isobaricLayer",
                "meanSea",
                "heightAboveSea",
                "heightAboveSeaLayer",
                "heightAboveGround",
                "heightAboveGroundLayer",
                "sigma",
                "sigmaLayer",
                "hybrid",
                "hybridLayer",
                "depthBelowLand",
                "depthBelowLandLayer",
                "theta",
                "thetaLayer",
                "pressureFromGround",
                "pressureFromGroundLayer",
                "potentialVorticity",
                "eta",
                "depthBelowSea",
                "entireAtmosphere",
                "entireOcean"
            ]
        }
    }
}