Hello:
I downloaded mean sea level pressure from the new cds and I can see that there is a key named “pl”. As far as I know, “pl” means “pressure levels”, and denotes the type of levels in which the data exist. So, there is a grib key named “levtype” that tell us the kind of level of the data: “sfc” (surface), “ml” (model levels), “pl” (pressure levels), etc. So, “pl” is a value that the grib key “levtype” can take on. It is not (as far as I know) the name of a grib key.
However, “pl” appears in my data as the name of a grib key that stores an array with 373 values.
The “mean sea level pressure” is data of pressure on a single level, more precisely, at sea level (pressure on continents has been reduced to sea level). So there is only one level. The “pl” key that I get is an array of values.
My question is: What does “pl” mean here"?.
I have searched the documentation, but I only find information about “pl” as a value, not as the name of a grib key.
Here is the dump of the first grib message, where you can see some of the values (373 values) given to the “pl” key:
#============== MESSAGE 1 ( length=678614 ) ==============
GRIB {
editionNumber = 1;
table2Version = 128;
# European Centre for Medium-Range Weather Forecasts (common/c-1.table)
centre = 98;
generatingProcessIdentifier = 145;
# Mean sea level pressure (Pa) (grib1/2.98.128.table)
indicatorOfParameter = 151;
# Surface (of the Earth, which includes sea surface) (grib1/local/ecmf/3.table , grib1/3.table)
indicatorOfTypeOfLevel = 1;
level = 0;
# Forecast product valid at reference time + P1 (P1>0) (grib1/local/ecmf/5.table , grib1/5.table)
timeRangeIndicator = 0;
# Unknown code table entry (grib1/0.ecmf.table)
subCentre = 0;
paramId = 151;
#-READ ONLY- cfName = air_pressure_at_mean_sea_level;
#-READ ONLY- cfVarName = msl;
#-READ ONLY- units = Pa;
#-READ ONLY- name = Mean sea level pressure;
decimalScaleFactor = 0;
dataDate = 19790501;
dataTime = 0;
# Hour (stepUnits.table)
stepUnits = 1;
stepRange = 0;
startStep = 0;
endStep = 0;
#-READ ONLY- marsParam = 151.128;
# MARS labelling or ensemble forecast data (grib1/localDefinitionNumber.98.table)
localDefinitionNumber = 1;
# ERA5 (mars/class.table)
marsClass = 23;
# Analysis (mars/type.table)
marsType = 2;
# Atmospheric model (mars/stream.table)
marsStream = 1025;
experimentVersionNumber = 0001;
perturbationNumber = 0;
numberOfForecastsInEnsemble = 0;
shortName = msl;
GDSPresent = 1;
bitmapPresent = 0;
numberOfVerticalCoordinateValues = 0;
Ni = MISSING;
Nj = 373;
latitudeOfFirstGridPointInDegrees = 89.785;
longitudeOfFirstGridPointInDegrees = 0;
earthIsOblate = 0;
uvRelativeToGrid = 0;
latitudeOfLastGridPointInDegrees = -14.755;
longitudeOfLastGridPointInDegrees = 359.719;
iDirectionIncrement = MISSING;
iDirectionIncrementInDegrees = MISSING;
N = 320;
iScansNegatively = 0;
jScansPositively = 0;
jPointsAreConsecutive = 0;
#-READ ONLY- alternativeRowScanning = 0;
global = 0;
#-READ ONLY- numberOfDataPoints = 338880;
#-READ ONLY- numberOfDataPointsExpected = 338880;
#-READ ONLY- numberOfValues = 338880;
isOctahedral = 0;
pl(373) = {
18, 25, 36, 40, 45,
50, 60, 64, 72, 72,
75, 81, 90, 96, 100,
108, 120, 120, 125, 135,
144, 144, 150, 160, 180,
180, 180, 192, 192, 200,
216, 216, 216, 225, 240,
240, 240, 250, 256, 270,
270, 288, 288, 288, 300,
300, 320, 320, 320, 324,
360, 360, 360, 360, 360,
360, 375, 375, 384, 384,
400, 400, 405, 432, 432,
432, 432, 450, 450, 450,
480, 480, 480, 480, 480,
486, 500, 500, 500, 512,
512, 540, 540, 540, 540,
540, 576, 576, 576, 576,
576, 576, 600, 600, 600,
600, 640, 640, 640, 640
... 273 more values
}
missingValue = 9999;
#-READ ONLY- binaryScaleFactor = -3;
#-READ ONLY- referenceValue = 96983.2;
sphericalHarmonics = 0;
complexPacking = 0;
integerPointValues = 0;
additionalFlagPresent = 0;
packingType = grid_simple;
bitsPerValue = 16;
values(338880) = {
102996, 102977, 102952, 102924, 102896,
102871, 102854, 102846, 102849, 102862,
102883, 102908, 102936, 102963, 102985,
103001, 103009, 103007, 103079, 103051,
103016, 102973, 102926, 102878, 102834,
102796, 102766, 102746, 102739, 102745,
102764, 102792, 102828, 102869, 102914,
102960, 103004, 103041, 103069, 103091,
103105, 103108, 103099, 103162, 103136,
103104, 103064, 103019, 102970, 102918,
102865, 102814, 102765, 102722, 102685,
102656, 102636, 102626, 102628, 102638,
102656, 102683, 102718, 102760, 102807,
102855, 102905, 102956, 103005, 103049,
103088, 103124, 103153, 103174, 103190,
103200, 103203, 103196, 103183, 103245,
103216, 103179, 103132, 103081, 103025,
102964, 102899, 102833, 102769, 102708,
102650, 102602, 102563, 102533, 102513,
102507, 102513, 102528, 102553, 102588
... 338780 more values
}
#-READ ONLY- numberOfCodedValues = 338880;
#-READ ONLY- maximum = 104574;
#-READ ONLY- minimum = 96983.2;
#-READ ONLY- average = 101336;
#-READ ONLY- standardDeviation = 763.951;
#-READ ONLY- skewness = 0.39706;
#-READ ONLY- kurtosis = 3.60443;
#-READ ONLY- isConstant = 0;
#-READ ONLY- numberOfMissing = 0;
gridType = reduced_gg;
#-READ ONLY- getNumberOfValues = 338880;
}
Thanks in advance.