diff --git a/docs/grib2io.html b/docs/grib2io.html index d832212..557a279 100644 --- a/docs/grib2io.html +++ b/docs/grib2io.html @@ -596,316 +596,331 @@

Tutorials

198 try: 199 # Read first 4 bytes and decode...looking for "GRIB" 200 pos = self._filehandle.tell() -201 header = struct.unpack('>i',self._filehandle.read(4))[0] -202 -203 # Test header. Then get information from GRIB2 Section 0: the discipline -204 # number, edition number (should always be 2), and GRIB2 message size. -205 # Then iterate to check for submessages. -206 if header.to_bytes(4,'big') == b'GRIB': -207 -208 _issubmessage = False -209 _submsgoffset = 0 -210 _submsgbegin = 0 -211 _bmapflag = None -212 -213 # Read the rest of Section 0 using struct. -214 section0 = np.concatenate(([header],list(struct.unpack('>HBBQ',self._filehandle.read(12)))),dtype=np.int64) -215 assert section0[3] == 2 -216 -217 # Read and unpack Section 1 -218 secsize = struct.unpack('>i',self._filehandle.read(4))[0] -219 secnum = struct.unpack('>B',self._filehandle.read(1))[0] -220 assert secnum == 1 -221 self._filehandle.seek(self._filehandle.tell()-5) -222 _grbmsg = self._filehandle.read(secsize) -223 _grbpos = 0 -224 section1,_grbpos = g2clib.unpack1(_grbmsg,_grbpos,np.empty) -225 secrange = range(2,8) -226 while 1: -227 section2 = b'' -228 for num in secrange: -229 secsize = struct.unpack('>i',self._filehandle.read(4))[0] -230 secnum = struct.unpack('>B',self._filehandle.read(1))[0] -231 if secnum == num: -232 if secnum == 2: -233 if secsize > 0: -234 section2 = self._filehandle.read(secsize-5) -235 elif secnum == 3: -236 self._filehandle.seek(self._filehandle.tell()-5) -237 _grbmsg = self._filehandle.read(secsize) -238 _grbpos = 0 -239 # Unpack Section 3 -240 _gds,_gdt,_deflist,_grbpos = g2clib.unpack3(_grbmsg,_grbpos,np.empty) -241 _gds = _gds.tolist() -242 _gdt = _gdt.tolist() -243 section3 = np.concatenate((_gds,_gdt)) -244 section3 = np.where(section3==4294967295,-1,section3) -245 elif secnum == 4: -246 self._filehandle.seek(self._filehandle.tell()-5) -247 _grbmsg = self._filehandle.read(secsize) -248 _grbpos = 0 -249 # Unpack Section 4 -250 _numcoord,_pdt,_pdtnum,_coordlist,_grbpos = g2clib.unpack4(_grbmsg,_grbpos,np.empty) -251 _pdt = _pdt.tolist() -252 section4 = np.concatenate((np.array((_numcoord,_pdtnum)),_pdt)) -253 elif secnum == 5: -254 self._filehandle.seek(self._filehandle.tell()-5) -255 _grbmsg = self._filehandle.read(secsize) -256 _grbpos = 0 -257 # Unpack Section 5 -258 _drt,_drtn,_npts,self._pos = g2clib.unpack5(_grbmsg,_grbpos,np.empty) -259 section5 = np.concatenate((np.array((_npts,_drtn)),_drt)) -260 section5 = np.where(section5==4294967295,-1,section5) -261 elif secnum == 6: -262 # Unpack Section 6. Not really...just get the flag value. -263 _bmapflag = struct.unpack('>B',self._filehandle.read(1))[0] -264 if _bmapflag == 0: -265 _bmappos = self._filehandle.tell()-6 -266 elif _bmapflag == 254: -267 pass # Do this to keep the previous position value -268 else: -269 _bmappos = None -270 self._filehandle.seek(self._filehandle.tell()+secsize-6) -271 elif secnum == 7: -272 # Unpack Section 7. No need to read it, just index the position in file. -273 _datapos = self._filehandle.tell()-5 -274 _datasize = secsize -275 self._filehandle.seek(self._filehandle.tell()+secsize-5) -276 else: -277 self._filehandle.seek(self._filehandle.tell()+secsize-5) -278 else: -279 if num == 2 and secnum == 3: -280 pass # Allow this. Just means no Local Use Section. -281 else: -282 _issubmessage = True -283 _submsgoffset = (self._filehandle.tell()-5)-(self._index['offset'][-1]) -284 _submsgbegin = secnum -285 self._filehandle.seek(self._filehandle.tell()-5) -286 continue -287 trailer = struct.unpack('>4s',self._filehandle.read(4))[0] -288 if trailer == b'7777': -289 self.messages += 1 -290 self._index['offset'].append(pos) -291 self._index['bitmap_offset'].append(_bmappos) -292 self._index['data_offset'].append(_datapos) -293 self._index['size'].append(section0[-1]) -294 self._index['data_size'].append(_datasize) -295 self._index['messageNumber'].append(self.messages) -296 self._index['isSubmessage'].append(_issubmessage) -297 if _issubmessage: -298 self._index['submessageOffset'].append(_submsgoffset) -299 self._index['submessageBeginSection'].append(_submsgbegin) -300 else: -301 self._index['submessageOffset'].append(0) -302 self._index['submessageBeginSection'].append(_submsgbegin) -303 -304 # Create Grib2Message with data. -305 msg = Grib2Message(section0,section1,section2,section3,section4,section5,_bmapflag) -306 msg._msgnum = self.messages-1 -307 msg._deflist = _deflist -308 msg._coordlist = _coordlist -309 if not no_data: -310 msg._data = Grib2MessageOnDiskArray((msg.ny,msg.nx), 2, -311 TYPE_OF_VALUES_DTYPE[msg.typeOfValues], -312 self._filehandle, -313 msg, pos, _bmappos, _datapos) -314 self._index['msg'].append(msg) -315 -316 break -317 else: -318 self._filehandle.seek(self._filehandle.tell()-4) -319 self.messages += 1 -320 self._index['offset'].append(pos) -321 self._index['bitmap_offset'].append(_bmappos) -322 self._index['data_offset'].append(_datapos) -323 self._index['size'].append(section0[-1]) -324 self._index['data_size'].append(_datasize) -325 self._index['messageNumber'].append(self.messages) -326 self._index['isSubmessage'].append(_issubmessage) -327 self._index['submessageOffset'].append(_submsgoffset) -328 self._index['submessageBeginSection'].append(_submsgbegin) -329 -330 # Create Grib2Message with data. -331 msg = Grib2Message(section0,section1,section2,section3,section4,section5,_bmapflag) -332 msg._msgnum = self.messages-1 -333 msg._deflist = _deflist -334 msg._coordlist = _coordlist -335 if not no_data: -336 msg._data = Grib2MessageOnDiskArray((msg.ny,msg.nx), 2, -337 TYPE_OF_VALUES_DTYPE[msg.typeOfValues], -338 self._filehandle, -339 msg, pos, _bmappos, _datapos) -340 self._index['msg'].append(msg) -341 -342 continue -343 -344 except(struct.error): -345 if 'r' in self.mode: -346 self._filehandle.seek(0) -347 break -348 -349 # Index at end of _build_index() -350 if self._hasindex and not no_data: -351 self.variables = tuple(sorted(set([msg.shortName for msg in self._index['msg']]))) -352 self.levels = tuple(sorted(set([msg.level for msg in self._index['msg']]))) -353 -354 -355 def close(self): -356 """ -357 Close the file handle -358 """ -359 if not self._filehandle.closed: -360 self.messages = 0 -361 self.current_message = 0 -362 self._filehandle.close() -363 self.closed = self._filehandle.closed -364 -365 -366 def read(self, size=None): -367 """ -368 Read size amount of GRIB2 messages from the current position. +201 +202 # Ignore headers (usually text) that are not part of the GRIB2 +203 # file. For example, NAVGEM files have a http header at the +204 # beginning that needs to be ignored. +205 +206 # Read a byte at a time until "GRIB" is found. Using +207 # "wgrib2" on a NAVGEM file, the header was 421 bytes and +208 # decided to go to 2048 bytes to be safe. For normal GRIB2 +209 # files this should be quick and break out of the first +210 # loop when "test_offset" is 0. +211 for test_offset in range(2048): +212 self._filehandle.seek(pos + test_offset) +213 header = struct.unpack(">i", self._filehandle.read(4))[0] +214 if header.to_bytes(4, "big") == b"GRIB": +215 pos = pos + test_offset +216 break +217 +218 # Test header. Then get information from GRIB2 Section 0: the discipline +219 # number, edition number (should always be 2), and GRIB2 message size. +220 # Then iterate to check for submessages. +221 if header.to_bytes(4,'big') == b'GRIB': +222 +223 _issubmessage = False +224 _submsgoffset = 0 +225 _submsgbegin = 0 +226 _bmapflag = None +227 +228 # Read the rest of Section 0 using struct. +229 section0 = np.concatenate(([header],list(struct.unpack('>HBBQ',self._filehandle.read(12)))),dtype=np.int64) +230 assert section0[3] == 2 +231 +232 # Read and unpack Section 1 +233 secsize = struct.unpack('>i',self._filehandle.read(4))[0] +234 secnum = struct.unpack('>B',self._filehandle.read(1))[0] +235 assert secnum == 1 +236 self._filehandle.seek(self._filehandle.tell()-5) +237 _grbmsg = self._filehandle.read(secsize) +238 _grbpos = 0 +239 section1,_grbpos = g2clib.unpack1(_grbmsg,_grbpos,np.empty) +240 secrange = range(2,8) +241 while 1: +242 section2 = b'' +243 for num in secrange: +244 secsize = struct.unpack('>i',self._filehandle.read(4))[0] +245 secnum = struct.unpack('>B',self._filehandle.read(1))[0] +246 if secnum == num: +247 if secnum == 2: +248 if secsize > 0: +249 section2 = self._filehandle.read(secsize-5) +250 elif secnum == 3: +251 self._filehandle.seek(self._filehandle.tell()-5) +252 _grbmsg = self._filehandle.read(secsize) +253 _grbpos = 0 +254 # Unpack Section 3 +255 _gds,_gdt,_deflist,_grbpos = g2clib.unpack3(_grbmsg,_grbpos,np.empty) +256 _gds = _gds.tolist() +257 _gdt = _gdt.tolist() +258 section3 = np.concatenate((_gds,_gdt)) +259 section3 = np.where(section3==4294967295,-1,section3) +260 elif secnum == 4: +261 self._filehandle.seek(self._filehandle.tell()-5) +262 _grbmsg = self._filehandle.read(secsize) +263 _grbpos = 0 +264 # Unpack Section 4 +265 _numcoord,_pdt,_pdtnum,_coordlist,_grbpos = g2clib.unpack4(_grbmsg,_grbpos,np.empty) +266 _pdt = _pdt.tolist() +267 section4 = np.concatenate((np.array((_numcoord,_pdtnum)),_pdt)) +268 elif secnum == 5: +269 self._filehandle.seek(self._filehandle.tell()-5) +270 _grbmsg = self._filehandle.read(secsize) +271 _grbpos = 0 +272 # Unpack Section 5 +273 _drt,_drtn,_npts,self._pos = g2clib.unpack5(_grbmsg,_grbpos,np.empty) +274 section5 = np.concatenate((np.array((_npts,_drtn)),_drt)) +275 section5 = np.where(section5==4294967295,-1,section5) +276 elif secnum == 6: +277 # Unpack Section 6. Not really...just get the flag value. +278 _bmapflag = struct.unpack('>B',self._filehandle.read(1))[0] +279 if _bmapflag == 0: +280 _bmappos = self._filehandle.tell()-6 +281 elif _bmapflag == 254: +282 pass # Do this to keep the previous position value +283 else: +284 _bmappos = None +285 self._filehandle.seek(self._filehandle.tell()+secsize-6) +286 elif secnum == 7: +287 # Unpack Section 7. No need to read it, just index the position in file. +288 _datapos = self._filehandle.tell()-5 +289 _datasize = secsize +290 self._filehandle.seek(self._filehandle.tell()+secsize-5) +291 else: +292 self._filehandle.seek(self._filehandle.tell()+secsize-5) +293 else: +294 if num == 2 and secnum == 3: +295 pass # Allow this. Just means no Local Use Section. +296 else: +297 _issubmessage = True +298 _submsgoffset = (self._filehandle.tell()-5)-(self._index['offset'][-1]) +299 _submsgbegin = secnum +300 self._filehandle.seek(self._filehandle.tell()-5) +301 continue +302 trailer = struct.unpack('>4s',self._filehandle.read(4))[0] +303 if trailer == b'7777': +304 self.messages += 1 +305 self._index['offset'].append(pos) +306 self._index['bitmap_offset'].append(_bmappos) +307 self._index['data_offset'].append(_datapos) +308 self._index['size'].append(section0[-1]) +309 self._index['data_size'].append(_datasize) +310 self._index['messageNumber'].append(self.messages) +311 self._index['isSubmessage'].append(_issubmessage) +312 if _issubmessage: +313 self._index['submessageOffset'].append(_submsgoffset) +314 self._index['submessageBeginSection'].append(_submsgbegin) +315 else: +316 self._index['submessageOffset'].append(0) +317 self._index['submessageBeginSection'].append(_submsgbegin) +318 +319 # Create Grib2Message with data. +320 msg = Grib2Message(section0,section1,section2,section3,section4,section5,_bmapflag) +321 msg._msgnum = self.messages-1 +322 msg._deflist = _deflist +323 msg._coordlist = _coordlist +324 if not no_data: +325 msg._data = Grib2MessageOnDiskArray((msg.ny,msg.nx), 2, +326 TYPE_OF_VALUES_DTYPE[msg.typeOfValues], +327 self._filehandle, +328 msg, pos, _bmappos, _datapos) +329 self._index['msg'].append(msg) +330 +331 break +332 else: +333 self._filehandle.seek(self._filehandle.tell()-4) +334 self.messages += 1 +335 self._index['offset'].append(pos) +336 self._index['bitmap_offset'].append(_bmappos) +337 self._index['data_offset'].append(_datapos) +338 self._index['size'].append(section0[-1]) +339 self._index['data_size'].append(_datasize) +340 self._index['messageNumber'].append(self.messages) +341 self._index['isSubmessage'].append(_issubmessage) +342 self._index['submessageOffset'].append(_submsgoffset) +343 self._index['submessageBeginSection'].append(_submsgbegin) +344 +345 # Create Grib2Message with data. +346 msg = Grib2Message(section0,section1,section2,section3,section4,section5,_bmapflag) +347 msg._msgnum = self.messages-1 +348 msg._deflist = _deflist +349 msg._coordlist = _coordlist +350 if not no_data: +351 msg._data = Grib2MessageOnDiskArray((msg.ny,msg.nx), 2, +352 TYPE_OF_VALUES_DTYPE[msg.typeOfValues], +353 self._filehandle, +354 msg, pos, _bmappos, _datapos) +355 self._index['msg'].append(msg) +356 +357 continue +358 +359 except(struct.error): +360 if 'r' in self.mode: +361 self._filehandle.seek(0) +362 break +363 +364 # Index at end of _build_index() +365 if self._hasindex and not no_data: +366 self.variables = tuple(sorted(set([msg.shortName for msg in self._index['msg']]))) +367 self.levels = tuple(sorted(set([msg.level for msg in self._index['msg']]))) +368 369 -370 If no argument is given, then size is None and all messages are returned from -371 the current position in the file. This read method follows the behavior of -372 Python's builtin open() function, but whereas that operates on units of bytes, -373 we operate on units of GRIB2 messages. -374 -375 Parameters -376 ---------- -377 **`size : int, optional`** -378 The number of GRIB2 messages to read from the current position. If no argument is -379 give, the default value is `None` and remainder of the file is read. +370 def close(self): +371 """ +372 Close the file handle +373 """ +374 if not self._filehandle.closed: +375 self.messages = 0 +376 self.current_message = 0 +377 self._filehandle.close() +378 self.closed = self._filehandle.closed +379 380 -381 Returns -382 ------- -383 `Grib2Message` object when size = 1 or a `list` of Grib2Messages when size > 1. -384 """ -385 if size is not None and size < 0: -386 size = None -387 if size is None or size > 1: -388 start = self.tell() -389 stop = self.messages if size is None else start+size -390 if size is None: -391 self.current_message = self.messages-1 -392 else: -393 self.current_message += size -394 return self._index['msg'][slice(start,stop,1)] -395 elif size == 1: -396 self.current_message += 1 -397 return self._index['msg'][self.current_message] -398 else: -399 None -400 -401 -402 def seek(self, pos): -403 """ -404 Set the position within the file in units of GRIB2 messages. -405 -406 Parameters -407 ---------- -408 **`pos : int`** -409 The GRIB2 Message number to set the file pointer to. -410 """ -411 if self._hasindex: -412 self._filehandle.seek(self._index['offset'][pos]) -413 self.current_message = pos -414 +381 def read(self, size=None): +382 """ +383 Read size amount of GRIB2 messages from the current position. +384 +385 If no argument is given, then size is None and all messages are returned from +386 the current position in the file. This read method follows the behavior of +387 Python's builtin open() function, but whereas that operates on units of bytes, +388 we operate on units of GRIB2 messages. +389 +390 Parameters +391 ---------- +392 **`size : int, optional`** +393 The number of GRIB2 messages to read from the current position. If no argument is +394 give, the default value is `None` and remainder of the file is read. +395 +396 Returns +397 ------- +398 `Grib2Message` object when size = 1 or a `list` of Grib2Messages when size > 1. +399 """ +400 if size is not None and size < 0: +401 size = None +402 if size is None or size > 1: +403 start = self.tell() +404 stop = self.messages if size is None else start+size +405 if size is None: +406 self.current_message = self.messages-1 +407 else: +408 self.current_message += size +409 return self._index['msg'][slice(start,stop,1)] +410 elif size == 1: +411 self.current_message += 1 +412 return self._index['msg'][self.current_message] +413 else: +414 None 415 -416 def tell(self): -417 """ -418 Returns the position of the file in units of GRIB2 Messages. -419 """ -420 return self.current_message -421 -422 -423 def select(self, **kwargs): -424 """ -425 Select GRIB2 messages by `Grib2Message` attributes. -426 """ -427 # TODO: Added ability to process multiple values for each keyword (attribute) -428 idxs = [] -429 nkeys = len(kwargs.keys()) -430 for k,v in kwargs.items(): -431 for m in self._index['msg']: -432 if hasattr(m,k) and getattr(m,k) == v: idxs.append(m._msgnum) -433 idxs = np.array(idxs,dtype=np.int32) -434 return [self._index['msg'][i] for i in [ii[0] for ii in collections.Counter(idxs).most_common() if ii[1] == nkeys]] -435 +416 +417 def seek(self, pos): +418 """ +419 Set the position within the file in units of GRIB2 messages. +420 +421 Parameters +422 ---------- +423 **`pos : int`** +424 The GRIB2 Message number to set the file pointer to. +425 """ +426 if self._hasindex: +427 self._filehandle.seek(self._index['offset'][pos]) +428 self.current_message = pos +429 +430 +431 def tell(self): +432 """ +433 Returns the position of the file in units of GRIB2 Messages. +434 """ +435 return self.current_message 436 -437 def write(self, msg): -438 """ -439 Writes GRIB2 message object to file. -440 -441 Parameters -442 ---------- -443 **`msg : Grib2Message or sequence of Grib2Messages`** -444 GRIB2 message objects to write to file. -445 """ -446 if isinstance(msg,list): -447 for m in msg: -448 self.write(m) -449 return +437 +438 def select(self, **kwargs): +439 """ +440 Select GRIB2 messages by `Grib2Message` attributes. +441 """ +442 # TODO: Added ability to process multiple values for each keyword (attribute) +443 idxs = [] +444 nkeys = len(kwargs.keys()) +445 for k,v in kwargs.items(): +446 for m in self._index['msg']: +447 if hasattr(m,k) and getattr(m,k) == v: idxs.append(m._msgnum) +448 idxs = np.array(idxs,dtype=np.int32) +449 return [self._index['msg'][i] for i in [ii[0] for ii in collections.Counter(idxs).most_common() if ii[1] == nkeys]] 450 -451 if issubclass(msg.__class__,_Grib2Message): -452 if hasattr(msg,'_msg'): -453 self._filehandle.write(msg._msg) -454 else: -455 if msg._signature != msg._generate_signature(): -456 msg.pack() -457 self._filehandle.write(msg._msg) -458 else: -459 if hasattr(msg._data,'filehandle'): -460 msg._data.filehandle.seek(msg._data.offset) -461 self._filehandle.write(msg._data.filehandle.read(msg.section0[-1])) -462 else: -463 msg.pack() -464 self._filehandle.write(msg._msg) -465 self.flush() -466 self.size = os.path.getsize(self.name) -467 self._filehandle.seek(self.size-msg.section0[-1]) -468 self._build_index() -469 else: -470 raise TypeError("msg must be a Grib2Message object.") -471 return -472 -473 -474 def flush(self): -475 """ -476 Flush the file object buffer. -477 """ -478 self._filehandle.flush() -479 -480 -481 def levels_by_var(self, name): -482 """ -483 Return a list of level strings given a variable shortName. -484 -485 Parameters -486 ---------- -487 **`name : str`** -488 Grib2Message variable shortName -489 -490 Returns -491 ------- -492 A list of strings of unique level strings. -493 """ -494 return list(sorted(set([msg.level for msg in self.select(shortName=name)]))) +451 +452 def write(self, msg): +453 """ +454 Writes GRIB2 message object to file. +455 +456 Parameters +457 ---------- +458 **`msg : Grib2Message or sequence of Grib2Messages`** +459 GRIB2 message objects to write to file. +460 """ +461 if isinstance(msg,list): +462 for m in msg: +463 self.write(m) +464 return +465 +466 if issubclass(msg.__class__,_Grib2Message): +467 if hasattr(msg,'_msg'): +468 self._filehandle.write(msg._msg) +469 else: +470 if msg._signature != msg._generate_signature(): +471 msg.pack() +472 self._filehandle.write(msg._msg) +473 else: +474 if hasattr(msg._data,'filehandle'): +475 msg._data.filehandle.seek(msg._data.offset) +476 self._filehandle.write(msg._data.filehandle.read(msg.section0[-1])) +477 else: +478 msg.pack() +479 self._filehandle.write(msg._msg) +480 self.flush() +481 self.size = os.path.getsize(self.name) +482 self._filehandle.seek(self.size-msg.section0[-1]) +483 self._build_index() +484 else: +485 raise TypeError("msg must be a Grib2Message object.") +486 return +487 +488 +489 def flush(self): +490 """ +491 Flush the file object buffer. +492 """ +493 self._filehandle.flush() +494 495 -496 -497 def vars_by_level(self, level): -498 """ -499 Return a list of variable shortName strings given a level. -500 -501 Parameters -502 ---------- -503 **`level : str`** -504 Grib2Message variable level -505 -506 Returns -507 ------- -508 A list of strings of variable shortName strings. -509 """ -510 return list(sorted(set([msg.shortName for msg in self.select(level=level)]))) +496 def levels_by_var(self, name): +497 """ +498 Return a list of level strings given a variable shortName. +499 +500 Parameters +501 ---------- +502 **`name : str`** +503 Grib2Message variable shortName +504 +505 Returns +506 ------- +507 A list of strings of unique level strings. +508 """ +509 return list(sorted(set([msg.level for msg in self.select(shortName=name)]))) +510 +511 +512 def vars_by_level(self, level): +513 """ +514 Return a list of variable shortName strings given a level. +515 +516 Parameters +517 ---------- +518 **`level : str`** +519 Grib2Message variable level +520 +521 Returns +522 ------- +523 A list of strings of variable shortName strings. +524 """ +525 return list(sorted(set([msg.shortName for msg in self.select(level=level)]))) @@ -1105,15 +1120,15 @@

Parameters

-
355    def close(self):
-356        """
-357        Close the file handle
-358        """
-359        if not self._filehandle.closed:
-360            self.messages = 0
-361            self.current_message = 0
-362            self._filehandle.close()
-363            self.closed = self._filehandle.closed
+            
370    def close(self):
+371        """
+372        Close the file handle
+373        """
+374        if not self._filehandle.closed:
+375            self.messages = 0
+376            self.current_message = 0
+377            self._filehandle.close()
+378            self.closed = self._filehandle.closed
 
@@ -1133,40 +1148,40 @@

Parameters

-
366    def read(self, size=None):
-367        """
-368        Read size amount of GRIB2 messages from the current position.
-369
-370        If no argument is given, then size is None and all messages are returned from 
-371        the current position in the file. This read method follows the behavior of 
-372        Python's builtin open() function, but whereas that operates on units of bytes, 
-373        we operate on units of GRIB2 messages.
-374
-375        Parameters
-376        ----------
-377        **`size : int, optional`**
-378            The number of GRIB2 messages to read from the current position. If no argument is
-379            give, the default value is `None` and remainder of the file is read.
-380
-381        Returns
-382        -------
-383        `Grib2Message` object when size = 1 or a `list` of Grib2Messages when size > 1.
-384        """
-385        if size is not None and size < 0:
-386            size = None
-387        if size is None or size > 1:
-388            start = self.tell()
-389            stop = self.messages if size is None else start+size
-390            if size is None:
-391                self.current_message = self.messages-1
-392            else:
-393                self.current_message += size
-394            return self._index['msg'][slice(start,stop,1)]
-395        elif size == 1:
-396            self.current_message += 1
-397            return self._index['msg'][self.current_message]
-398        else:
-399            None
+            
381    def read(self, size=None):
+382        """
+383        Read size amount of GRIB2 messages from the current position.
+384
+385        If no argument is given, then size is None and all messages are returned from 
+386        the current position in the file. This read method follows the behavior of 
+387        Python's builtin open() function, but whereas that operates on units of bytes, 
+388        we operate on units of GRIB2 messages.
+389
+390        Parameters
+391        ----------
+392        **`size : int, optional`**
+393            The number of GRIB2 messages to read from the current position. If no argument is
+394            give, the default value is `None` and remainder of the file is read.
+395
+396        Returns
+397        -------
+398        `Grib2Message` object when size = 1 or a `list` of Grib2Messages when size > 1.
+399        """
+400        if size is not None and size < 0:
+401            size = None
+402        if size is None or size > 1:
+403            start = self.tell()
+404            stop = self.messages if size is None else start+size
+405            if size is None:
+406                self.current_message = self.messages-1
+407            else:
+408                self.current_message += size
+409            return self._index['msg'][slice(start,stop,1)]
+410        elif size == 1:
+411            self.current_message += 1
+412            return self._index['msg'][self.current_message]
+413        else:
+414            None
 
@@ -1201,18 +1216,18 @@

Returns

-
402    def seek(self, pos):
-403        """
-404        Set the position within the file in units of GRIB2 messages.
-405
-406        Parameters
-407        ----------
-408        **`pos : int`**
-409            The GRIB2 Message number to set the file pointer to.
-410        """
-411        if self._hasindex:
-412            self._filehandle.seek(self._index['offset'][pos])
-413            self.current_message = pos
+            
417    def seek(self, pos):
+418        """
+419        Set the position within the file in units of GRIB2 messages.
+420
+421        Parameters
+422        ----------
+423        **`pos : int`**
+424            The GRIB2 Message number to set the file pointer to.
+425        """
+426        if self._hasindex:
+427            self._filehandle.seek(self._index['offset'][pos])
+428            self.current_message = pos
 
@@ -1237,11 +1252,11 @@

Parameters

-
416    def tell(self):
-417        """
-418        Returns the position of the file in units of GRIB2 Messages.
-419        """
-420        return self.current_message
+            
431    def tell(self):
+432        """
+433        Returns the position of the file in units of GRIB2 Messages.
+434        """
+435        return self.current_message
 
@@ -1261,18 +1276,18 @@

Parameters

-
423    def select(self, **kwargs):
-424        """
-425        Select GRIB2 messages by `Grib2Message` attributes.
-426        """
-427        # TODO: Added ability to process multiple values for each keyword (attribute)
-428        idxs = []
-429        nkeys = len(kwargs.keys())
-430        for k,v in kwargs.items():
-431            for m in self._index['msg']:
-432                if hasattr(m,k) and getattr(m,k) == v: idxs.append(m._msgnum)
-433        idxs = np.array(idxs,dtype=np.int32)
-434        return [self._index['msg'][i] for i in [ii[0] for ii in collections.Counter(idxs).most_common() if ii[1] == nkeys]]
+            
438    def select(self, **kwargs):
+439        """
+440        Select GRIB2 messages by `Grib2Message` attributes.
+441        """
+442        # TODO: Added ability to process multiple values for each keyword (attribute)
+443        idxs = []
+444        nkeys = len(kwargs.keys())
+445        for k,v in kwargs.items():
+446            for m in self._index['msg']:
+447                if hasattr(m,k) and getattr(m,k) == v: idxs.append(m._msgnum)
+448        idxs = np.array(idxs,dtype=np.int32)
+449        return [self._index['msg'][i] for i in [ii[0] for ii in collections.Counter(idxs).most_common() if ii[1] == nkeys]]
 
@@ -1292,41 +1307,41 @@

Parameters

-
437    def write(self, msg):
-438        """
-439        Writes GRIB2 message object to file.
-440
-441        Parameters
-442        ----------
-443        **`msg : Grib2Message or sequence of Grib2Messages`**
-444            GRIB2 message objects to write to file.
-445        """
-446        if isinstance(msg,list):
-447            for m in msg:
-448                self.write(m)
-449            return
-450
-451        if issubclass(msg.__class__,_Grib2Message):
-452            if hasattr(msg,'_msg'):
-453                self._filehandle.write(msg._msg)
-454            else:
-455                if msg._signature != msg._generate_signature():
-456                    msg.pack()
-457                    self._filehandle.write(msg._msg)
-458                else:
-459                    if hasattr(msg._data,'filehandle'):
-460                        msg._data.filehandle.seek(msg._data.offset)
-461                        self._filehandle.write(msg._data.filehandle.read(msg.section0[-1]))
-462                    else:
-463                        msg.pack()
-464                        self._filehandle.write(msg._msg)
-465            self.flush()
-466            self.size = os.path.getsize(self.name)
-467            self._filehandle.seek(self.size-msg.section0[-1])
-468            self._build_index()
-469        else:
-470            raise TypeError("msg must be a Grib2Message object.")
-471        return
+            
452    def write(self, msg):
+453        """
+454        Writes GRIB2 message object to file.
+455
+456        Parameters
+457        ----------
+458        **`msg : Grib2Message or sequence of Grib2Messages`**
+459            GRIB2 message objects to write to file.
+460        """
+461        if isinstance(msg,list):
+462            for m in msg:
+463                self.write(m)
+464            return
+465
+466        if issubclass(msg.__class__,_Grib2Message):
+467            if hasattr(msg,'_msg'):
+468                self._filehandle.write(msg._msg)
+469            else:
+470                if msg._signature != msg._generate_signature():
+471                    msg.pack()
+472                    self._filehandle.write(msg._msg)
+473                else:
+474                    if hasattr(msg._data,'filehandle'):
+475                        msg._data.filehandle.seek(msg._data.offset)
+476                        self._filehandle.write(msg._data.filehandle.read(msg.section0[-1]))
+477                    else:
+478                        msg.pack()
+479                        self._filehandle.write(msg._msg)
+480            self.flush()
+481            self.size = os.path.getsize(self.name)
+482            self._filehandle.seek(self.size-msg.section0[-1])
+483            self._build_index()
+484        else:
+485            raise TypeError("msg must be a Grib2Message object.")
+486        return
 
@@ -1351,11 +1366,11 @@

Parameters

-
474    def flush(self):
-475        """
-476        Flush the file object buffer.
-477        """
-478        self._filehandle.flush()
+            
489    def flush(self):
+490        """
+491        Flush the file object buffer.
+492        """
+493        self._filehandle.flush()
 
@@ -1375,20 +1390,20 @@

Parameters

-
481    def levels_by_var(self, name):
-482        """
-483        Return a list of level strings given a variable shortName.
-484
-485        Parameters
-486        ----------
-487        **`name : str`**
-488            Grib2Message variable shortName
-489
-490        Returns
-491        -------
-492        A list of strings of unique level strings.
-493        """
-494        return list(sorted(set([msg.level for msg in self.select(shortName=name)])))
+            
496    def levels_by_var(self, name):
+497        """
+498        Return a list of level strings given a variable shortName.
+499
+500        Parameters
+501        ----------
+502        **`name : str`**
+503            Grib2Message variable shortName
+504
+505        Returns
+506        -------
+507        A list of strings of unique level strings.
+508        """
+509        return list(sorted(set([msg.level for msg in self.select(shortName=name)])))
 
@@ -1417,20 +1432,20 @@

Returns

-
497    def vars_by_level(self, level):
-498        """
-499        Return a list of variable shortName strings given a level.
-500
-501        Parameters
-502        ----------
-503        **`level : str`**
-504            Grib2Message variable level
-505
-506        Returns
-507        -------
-508        A list of strings of variable shortName strings.
-509        """
-510        return list(sorted(set([msg.shortName for msg in self.select(level=level)])))
+            
512    def vars_by_level(self, level):
+513        """
+514        Return a list of variable shortName strings given a level.
+515
+516        Parameters
+517        ----------
+518        **`level : str`**
+519            Grib2Message variable level
+520
+521        Returns
+522        -------
+523        A list of strings of variable shortName strings.
+524        """
+525        return list(sorted(set([msg.shortName for msg in self.select(level=level)])))
 
@@ -1460,73 +1475,73 @@

Returns

-
513class Grib2Message:
-514    """
-515    Creation class for a GRIB2 message.
-516    """
-517    def __new__(self, section0: np.array = np.array([struct.unpack('>I',b'GRIB')[0],0,0,2,0]),
-518                      section1: np.array = np.zeros((13),dtype=np.int64),
-519                      section2: bytes = None,
-520                      section3: np.array = None,
-521                      section4: np.array = None,
-522                      section5: np.array = None, *args, **kwargs):
-523
-524        if np.all(section1==0):
-525            section1[5:11] = datetime.datetime.utcfromtimestamp(0).timetuple()[:6]
-526
-527        bases = list()
-528        if section3 is None:
-529            if 'gdtn' in kwargs.keys():
-530                gdtn = kwargs['gdtn']
-531                Gdt = templates.gdt_class_by_gdtn(gdtn)
-532                bases.append(Gdt)
-533                section3 = np.zeros((Gdt._len+5),dtype=np.int64)
-534                section3[4] = gdtn
-535            else:
-536                raise ValueError("Must provide GRIB2 Grid Definition Template Number or section 3 array")
-537        else:
-538            gdtn = section3[4]
-539            Gdt = templates.gdt_class_by_gdtn(gdtn)
-540            bases.append(Gdt)
+            
528class Grib2Message:
+529    """
+530    Creation class for a GRIB2 message.
+531    """
+532    def __new__(self, section0: np.array = np.array([struct.unpack('>I',b'GRIB')[0],0,0,2,0]),
+533                      section1: np.array = np.zeros((13),dtype=np.int64),
+534                      section2: bytes = None,
+535                      section3: np.array = None,
+536                      section4: np.array = None,
+537                      section5: np.array = None, *args, **kwargs):
+538
+539        if np.all(section1==0):
+540            section1[5:11] = datetime.datetime.utcfromtimestamp(0).timetuple()[:6]
 541
-542        if section4 is None:
-543            if 'pdtn' in kwargs.keys():
-544                pdtn = kwargs['pdtn']
-545                Pdt = templates.pdt_class_by_pdtn(pdtn)
-546                bases.append(Pdt)
-547                section4 = np.zeros((Pdt._len+2),dtype=np.int64)
-548                section4[1] = pdtn
-549            else:
-550                raise ValueError("Must provide GRIB2 Production Definition Template Number or section 4 array")
-551        else:
-552            pdtn = section4[1]
-553            Pdt = templates.pdt_class_by_pdtn(pdtn)
-554            bases.append(Pdt)
-555
-556        if section5 is None:
-557            if 'drtn' in kwargs.keys():
-558                drtn = kwargs['drtn']
-559                Drt = templates.drt_class_by_drtn(drtn)
-560                bases.append(Drt)
-561                section5 = np.zeros((Drt._len+2),dtype=np.int64)
-562                section5[1] = drtn
-563            else:
-564                raise ValueError("Must provide GRIB2 Data Representation Template Number or section 5 array")
-565        else:
-566            drtn = section5[1]
-567            Drt = templates.drt_class_by_drtn(drtn)
-568            bases.append(Drt)
-569
-570        # attempt to use existing Msg class if it has already been made with gdtn,pdtn,drtn combo
-571        try:
-572            Msg = _msg_class_store[f"{gdtn}:{pdtn}:{drtn}"]
-573        except KeyError:
-574            @dataclass(init=False, repr=False)
-575            class Msg(_Grib2Message, *bases):
-576                pass
-577            _msg_class_store[f"{gdtn}:{pdtn}:{drtn}"] = Msg
-578
-579        return Msg(section0, section1, section2, section3, section4, section5, *args)
+542        bases = list()
+543        if section3 is None:
+544            if 'gdtn' in kwargs.keys():
+545                gdtn = kwargs['gdtn']
+546                Gdt = templates.gdt_class_by_gdtn(gdtn)
+547                bases.append(Gdt)
+548                section3 = np.zeros((Gdt._len+5),dtype=np.int64)
+549                section3[4] = gdtn
+550            else:
+551                raise ValueError("Must provide GRIB2 Grid Definition Template Number or section 3 array")
+552        else:
+553            gdtn = section3[4]
+554            Gdt = templates.gdt_class_by_gdtn(gdtn)
+555            bases.append(Gdt)
+556
+557        if section4 is None:
+558            if 'pdtn' in kwargs.keys():
+559                pdtn = kwargs['pdtn']
+560                Pdt = templates.pdt_class_by_pdtn(pdtn)
+561                bases.append(Pdt)
+562                section4 = np.zeros((Pdt._len+2),dtype=np.int64)
+563                section4[1] = pdtn
+564            else:
+565                raise ValueError("Must provide GRIB2 Production Definition Template Number or section 4 array")
+566        else:
+567            pdtn = section4[1]
+568            Pdt = templates.pdt_class_by_pdtn(pdtn)
+569            bases.append(Pdt)
+570
+571        if section5 is None:
+572            if 'drtn' in kwargs.keys():
+573                drtn = kwargs['drtn']
+574                Drt = templates.drt_class_by_drtn(drtn)
+575                bases.append(Drt)
+576                section5 = np.zeros((Drt._len+2),dtype=np.int64)
+577                section5[1] = drtn
+578            else:
+579                raise ValueError("Must provide GRIB2 Data Representation Template Number or section 5 array")
+580        else:
+581            drtn = section5[1]
+582            Drt = templates.drt_class_by_drtn(drtn)
+583            bases.append(Drt)
+584
+585        # attempt to use existing Msg class if it has already been made with gdtn,pdtn,drtn combo
+586        try:
+587            Msg = _msg_class_store[f"{gdtn}:{pdtn}:{drtn}"]
+588        except KeyError:
+589            @dataclass(init=False, repr=False)
+590            class Msg(_Grib2Message, *bases):
+591                pass
+592            _msg_class_store[f"{gdtn}:{pdtn}:{drtn}"] = Msg
+593
+594        return Msg(section0, section1, section2, section3, section4, section5, *args)
 
@@ -1547,606 +1562,606 @@

Returns

-
 582@dataclass
- 583class _Grib2Message:
- 584    """GRIB2 Message base class"""
- 585    # GRIB2 Sections
- 586    section0: np.array = field(init=True,repr=False)
- 587    section1: np.array = field(init=True,repr=False)
- 588    section2: bytes = field(init=True,repr=False)
- 589    section3: np.array = field(init=True,repr=False)
- 590    section4: np.array = field(init=True,repr=False)
- 591    section5: np.array = field(init=True,repr=False)
- 592    bitMapFlag: templates.Grib2Metadata = field(init=True,repr=False,default=255)
- 593
- 594    # Section 0 looked up attributes
- 595    indicatorSection: np.array = field(init=False,repr=False,default=templates.IndicatorSection())
- 596    discipline: templates.Grib2Metadata = field(init=False,repr=False,default=templates.Discipline())
- 597
- 598    # Section 1 looked up attributes
- 599    identificationSection: np.array = field(init=False,repr=False,default=templates.IdentificationSection())
- 600    originatingCenter: templates.Grib2Metadata = field(init=False,repr=False,default=templates.OriginatingCenter())
- 601    originatingSubCenter: templates.Grib2Metadata = field(init=False,repr=False,default=templates.OriginatingSubCenter())
- 602    masterTableInfo: templates.Grib2Metadata = field(init=False,repr=False,default=templates.MasterTableInfo())
- 603    localTableInfo: templates.Grib2Metadata = field(init=False,repr=False,default=templates.LocalTableInfo())
- 604    significanceOfReferenceTime: templates.Grib2Metadata = field(init=False,repr=False,default=templates.SignificanceOfReferenceTime())
- 605    year: int = field(init=False,repr=False,default=templates.Year())
- 606    month: int = field(init=False,repr=False,default=templates.Month())
- 607    day: int = field(init=False,repr=False,default=templates.Day())
- 608    hour: int = field(init=False,repr=False,default=templates.Hour())
- 609    minute: int = field(init=False,repr=False,default=templates.Minute())
- 610    second: int = field(init=False,repr=False,default=templates.Second())
- 611    refDate: datetime.datetime = field(init=False,repr=False,default=templates.RefDate())
- 612    productionStatus: templates.Grib2Metadata = field(init=False,repr=False,default=templates.ProductionStatus())
- 613    typeOfData: templates.Grib2Metadata = field(init=False,repr=False,default=templates.TypeOfData())
- 614
- 615    @property
- 616    def _isNDFD(self):
- 617        """Check if GRIB2 message is from NWS NDFD"""
- 618        return np.all(self.section1[0:2]==[8,65535])
- 619
- 620    # Section 3 looked up common attributes.  Other looked up attributes are available according
- 621    # to the Grid Definition Template.
- 622    gridDefinitionSection: np.array = field(init=False,repr=False,default=templates.GridDefinitionSection())
- 623    sourceOfGridDefinition: int = field(init=False,repr=False,default=templates.SourceOfGridDefinition())
- 624    numberOfDataPoints: int = field(init=False,repr=False,default=templates.NumberOfDataPoints())
- 625    interpretationOfListOfNumbers: templates.Grib2Metadata = field(init=False,repr=False,default=templates.InterpretationOfListOfNumbers())
- 626    gridDefinitionTemplateNumber: templates.Grib2Metadata = field(init=False,repr=False,default=templates.GridDefinitionTemplateNumber())
- 627    gridDefinitionTemplate: list = field(init=False,repr=False,default=templates.GridDefinitionTemplate())
- 628    _earthparams: dict = field(init=False,repr=False,default=templates.EarthParams())
- 629    _dxsign: float = field(init=False,repr=False,default=templates.DxSign())
- 630    _dysign: float = field(init=False,repr=False,default=templates.DySign())
- 631    _llscalefactor: float = field(init=False,repr=False,default=templates.LLScaleFactor())
- 632    _lldivisor: float = field(init=False,repr=False,default=templates.LLDivisor())
- 633    _xydivisor: float = field(init=False,repr=False,default=templates.XYDivisor())
- 634    shapeOfEarth: templates.Grib2Metadata = field(init=False,repr=False,default=templates.ShapeOfEarth())
- 635    earthShape: str = field(init=False,repr=False,default=templates.EarthShape())
- 636    earthRadius: float = field(init=False,repr=False,default=templates.EarthRadius())
- 637    earthMajorAxis: float = field(init=False,repr=False,default=templates.EarthMajorAxis())
- 638    earthMinorAxis: float = field(init=False,repr=False,default=templates.EarthMinorAxis())
- 639    resolutionAndComponentFlags: list = field(init=False,repr=False,default=templates.ResolutionAndComponentFlags())
- 640    ny: int = field(init=False,repr=False,default=templates.Ny())
- 641    nx: int = field(init=False,repr=False,default=templates.Nx())
- 642    scanModeFlags: list = field(init=False,repr=False,default=templates.ScanModeFlags())
- 643    projParameters: dict = field(init=False,repr=False,default=templates.ProjParameters())
- 644
- 645    # Section 4 attributes. Listed here are "extra" or "helper" attrs that use metadata from
- 646    # the given PDT, but not a formal part of the PDT.
- 647    productDefinitionTemplateNumber: templates.Grib2Metadata = field(init=False,repr=False,default=templates.ProductDefinitionTemplateNumber())
- 648    productDefinitionTemplate: np.array = field(init=False,repr=False,default=templates.ProductDefinitionTemplate())
- 649    _varinfo: list = field(init=False, repr=False, default=templates.VarInfo())
- 650    _fixedsfc1info: list = field(init=False, repr=False, default=templates.FixedSfc1Info())
- 651    _fixedsfc2info: list = field(init=False, repr=False, default=templates.FixedSfc2Info())
- 652    fullName: str = field(init=False, repr=False, default=templates.FullName())
- 653    units: str = field(init=False, repr=False, default=templates.Units())
- 654    shortName: str = field(init=False, repr=False, default=templates.ShortName())
- 655    leadTime: datetime.timedelta = field(init=False,repr=False,default=templates.LeadTime())
- 656    unitOfFirstFixedSurface: str = field(init=False,repr=False,default=templates.UnitOfFirstFixedSurface())
- 657    valueOfFirstFixedSurface: int = field(init=False,repr=False,default=templates.ValueOfFirstFixedSurface())
- 658    unitOfSecondFixedSurface: str = field(init=False,repr=False,default=templates.UnitOfSecondFixedSurface())
- 659    valueOfSecondFixedSurface: int = field(init=False,repr=False,default=templates.ValueOfSecondFixedSurface())
- 660    level: str = field(init=False, repr=False, default=templates.Level())
- 661    duration: datetime.timedelta = field(init=False,repr=False,default=templates.Duration())
- 662    validDate: datetime.datetime = field(init=False,repr=False,default=templates.ValidDate())
- 663
- 664    # Section 5 looked up common attributes.  Other looked up attributes are available according
- 665    # to the Data Representation Template.
- 666    numberOfPackedValues: int = field(init=False,repr=False,default=templates.NumberOfPackedValues())
- 667    dataRepresentationTemplateNumber: templates.Grib2Metadata = field(init=False,repr=False,default=templates.DataRepresentationTemplateNumber())
- 668    dataRepresentationTemplate: list = field(init=False,repr=False,default=templates.DataRepresentationTemplate())
- 669    typeOfValues: templates.Grib2Metadata = field(init=False,repr=False,default=templates.TypeOfValues())
- 670
- 671
- 672    def __post_init__(self):
- 673        """Set some attributes after init"""
- 674        self._msgnum = -1
- 675        self._deflist = None
- 676        self._coordlist = None
- 677        self._signature = self._generate_signature()
- 678        try:
- 679            self._sha1_section3 = hashlib.sha1(self.section3).hexdigest()
- 680        except(TypeError):
- 681            pass
- 682        self.bitMapFlag = templates.Grib2Metadata(self.bitMapFlag,table='6.0')
- 683
- 684
- 685    @property
- 686    def gdtn(self):
- 687        """Return Grid Definition Template Number"""
- 688        return self.section3[4]
- 689
- 690
- 691    @property
- 692    def gdt(self):
- 693        """Return Grid Definition Template"""
- 694        return self.gridDefinitionTemplate
- 695
- 696
- 697    @property
- 698    def pdtn(self):
- 699        """Return Product Definition Template Number"""
- 700        return self.section4[1]
- 701
- 702
- 703    @property
- 704    def pdt(self):
- 705        """Return Product Definition Template"""
- 706        return self.productDefinitionTemplate
- 707
- 708
- 709    @property
- 710    def drtn(self):
- 711        """Return Data Representation Template Number"""
- 712        return self.section5[1]
- 713
- 714
- 715    @property
- 716    def drt(self):
- 717        """Return Data Representation Template"""
- 718        return self.dataRepresentationTemplate
- 719
- 720
- 721    @property
- 722    def pdy(self):
- 723        """Return the PDY ('YYYYMMDD')"""
- 724        return ''.join([str(i) for i in self.section1[5:8]])
- 725
- 726
- 727    @property
- 728    def griddef(self):
- 729        """Return a Grib2GridDef instance for a GRIB2 message"""
- 730        return Grib2GridDef.from_section3(self.section3)
- 731
- 732
- 733    def __repr__(self):
- 734        info = ''
- 735        for sect in [0,1,3,4,5,6]:
- 736            for k,v in self.attrs_by_section(sect,values=True).items():
- 737                info += f'Section {sect}: {k} = {v}\n'
- 738        return info
- 739
+            
 597@dataclass
+ 598class _Grib2Message:
+ 599    """GRIB2 Message base class"""
+ 600    # GRIB2 Sections
+ 601    section0: np.array = field(init=True,repr=False)
+ 602    section1: np.array = field(init=True,repr=False)
+ 603    section2: bytes = field(init=True,repr=False)
+ 604    section3: np.array = field(init=True,repr=False)
+ 605    section4: np.array = field(init=True,repr=False)
+ 606    section5: np.array = field(init=True,repr=False)
+ 607    bitMapFlag: templates.Grib2Metadata = field(init=True,repr=False,default=255)
+ 608
+ 609    # Section 0 looked up attributes
+ 610    indicatorSection: np.array = field(init=False,repr=False,default=templates.IndicatorSection())
+ 611    discipline: templates.Grib2Metadata = field(init=False,repr=False,default=templates.Discipline())
+ 612
+ 613    # Section 1 looked up attributes
+ 614    identificationSection: np.array = field(init=False,repr=False,default=templates.IdentificationSection())
+ 615    originatingCenter: templates.Grib2Metadata = field(init=False,repr=False,default=templates.OriginatingCenter())
+ 616    originatingSubCenter: templates.Grib2Metadata = field(init=False,repr=False,default=templates.OriginatingSubCenter())
+ 617    masterTableInfo: templates.Grib2Metadata = field(init=False,repr=False,default=templates.MasterTableInfo())
+ 618    localTableInfo: templates.Grib2Metadata = field(init=False,repr=False,default=templates.LocalTableInfo())
+ 619    significanceOfReferenceTime: templates.Grib2Metadata = field(init=False,repr=False,default=templates.SignificanceOfReferenceTime())
+ 620    year: int = field(init=False,repr=False,default=templates.Year())
+ 621    month: int = field(init=False,repr=False,default=templates.Month())
+ 622    day: int = field(init=False,repr=False,default=templates.Day())
+ 623    hour: int = field(init=False,repr=False,default=templates.Hour())
+ 624    minute: int = field(init=False,repr=False,default=templates.Minute())
+ 625    second: int = field(init=False,repr=False,default=templates.Second())
+ 626    refDate: datetime.datetime = field(init=False,repr=False,default=templates.RefDate())
+ 627    productionStatus: templates.Grib2Metadata = field(init=False,repr=False,default=templates.ProductionStatus())
+ 628    typeOfData: templates.Grib2Metadata = field(init=False,repr=False,default=templates.TypeOfData())
+ 629
+ 630    @property
+ 631    def _isNDFD(self):
+ 632        """Check if GRIB2 message is from NWS NDFD"""
+ 633        return np.all(self.section1[0:2]==[8,65535])
+ 634
+ 635    # Section 3 looked up common attributes.  Other looked up attributes are available according
+ 636    # to the Grid Definition Template.
+ 637    gridDefinitionSection: np.array = field(init=False,repr=False,default=templates.GridDefinitionSection())
+ 638    sourceOfGridDefinition: int = field(init=False,repr=False,default=templates.SourceOfGridDefinition())
+ 639    numberOfDataPoints: int = field(init=False,repr=False,default=templates.NumberOfDataPoints())
+ 640    interpretationOfListOfNumbers: templates.Grib2Metadata = field(init=False,repr=False,default=templates.InterpretationOfListOfNumbers())
+ 641    gridDefinitionTemplateNumber: templates.Grib2Metadata = field(init=False,repr=False,default=templates.GridDefinitionTemplateNumber())
+ 642    gridDefinitionTemplate: list = field(init=False,repr=False,default=templates.GridDefinitionTemplate())
+ 643    _earthparams: dict = field(init=False,repr=False,default=templates.EarthParams())
+ 644    _dxsign: float = field(init=False,repr=False,default=templates.DxSign())
+ 645    _dysign: float = field(init=False,repr=False,default=templates.DySign())
+ 646    _llscalefactor: float = field(init=False,repr=False,default=templates.LLScaleFactor())
+ 647    _lldivisor: float = field(init=False,repr=False,default=templates.LLDivisor())
+ 648    _xydivisor: float = field(init=False,repr=False,default=templates.XYDivisor())
+ 649    shapeOfEarth: templates.Grib2Metadata = field(init=False,repr=False,default=templates.ShapeOfEarth())
+ 650    earthShape: str = field(init=False,repr=False,default=templates.EarthShape())
+ 651    earthRadius: float = field(init=False,repr=False,default=templates.EarthRadius())
+ 652    earthMajorAxis: float = field(init=False,repr=False,default=templates.EarthMajorAxis())
+ 653    earthMinorAxis: float = field(init=False,repr=False,default=templates.EarthMinorAxis())
+ 654    resolutionAndComponentFlags: list = field(init=False,repr=False,default=templates.ResolutionAndComponentFlags())
+ 655    ny: int = field(init=False,repr=False,default=templates.Ny())
+ 656    nx: int = field(init=False,repr=False,default=templates.Nx())
+ 657    scanModeFlags: list = field(init=False,repr=False,default=templates.ScanModeFlags())
+ 658    projParameters: dict = field(init=False,repr=False,default=templates.ProjParameters())
+ 659
+ 660    # Section 4 attributes. Listed here are "extra" or "helper" attrs that use metadata from
+ 661    # the given PDT, but not a formal part of the PDT.
+ 662    productDefinitionTemplateNumber: templates.Grib2Metadata = field(init=False,repr=False,default=templates.ProductDefinitionTemplateNumber())
+ 663    productDefinitionTemplate: np.array = field(init=False,repr=False,default=templates.ProductDefinitionTemplate())
+ 664    _varinfo: list = field(init=False, repr=False, default=templates.VarInfo())
+ 665    _fixedsfc1info: list = field(init=False, repr=False, default=templates.FixedSfc1Info())
+ 666    _fixedsfc2info: list = field(init=False, repr=False, default=templates.FixedSfc2Info())
+ 667    fullName: str = field(init=False, repr=False, default=templates.FullName())
+ 668    units: str = field(init=False, repr=False, default=templates.Units())
+ 669    shortName: str = field(init=False, repr=False, default=templates.ShortName())
+ 670    leadTime: datetime.timedelta = field(init=False,repr=False,default=templates.LeadTime())
+ 671    unitOfFirstFixedSurface: str = field(init=False,repr=False,default=templates.UnitOfFirstFixedSurface())
+ 672    valueOfFirstFixedSurface: int = field(init=False,repr=False,default=templates.ValueOfFirstFixedSurface())
+ 673    unitOfSecondFixedSurface: str = field(init=False,repr=False,default=templates.UnitOfSecondFixedSurface())
+ 674    valueOfSecondFixedSurface: int = field(init=False,repr=False,default=templates.ValueOfSecondFixedSurface())
+ 675    level: str = field(init=False, repr=False, default=templates.Level())
+ 676    duration: datetime.timedelta = field(init=False,repr=False,default=templates.Duration())
+ 677    validDate: datetime.datetime = field(init=False,repr=False,default=templates.ValidDate())
+ 678
+ 679    # Section 5 looked up common attributes.  Other looked up attributes are available according
+ 680    # to the Data Representation Template.
+ 681    numberOfPackedValues: int = field(init=False,repr=False,default=templates.NumberOfPackedValues())
+ 682    dataRepresentationTemplateNumber: templates.Grib2Metadata = field(init=False,repr=False,default=templates.DataRepresentationTemplateNumber())
+ 683    dataRepresentationTemplate: list = field(init=False,repr=False,default=templates.DataRepresentationTemplate())
+ 684    typeOfValues: templates.Grib2Metadata = field(init=False,repr=False,default=templates.TypeOfValues())
+ 685
+ 686
+ 687    def __post_init__(self):
+ 688        """Set some attributes after init"""
+ 689        self._msgnum = -1
+ 690        self._deflist = None
+ 691        self._coordlist = None
+ 692        self._signature = self._generate_signature()
+ 693        try:
+ 694            self._sha1_section3 = hashlib.sha1(self.section3).hexdigest()
+ 695        except(TypeError):
+ 696            pass
+ 697        self.bitMapFlag = templates.Grib2Metadata(self.bitMapFlag,table='6.0')
+ 698
+ 699
+ 700    @property
+ 701    def gdtn(self):
+ 702        """Return Grid Definition Template Number"""
+ 703        return self.section3[4]
+ 704
+ 705
+ 706    @property
+ 707    def gdt(self):
+ 708        """Return Grid Definition Template"""
+ 709        return self.gridDefinitionTemplate
+ 710
+ 711
+ 712    @property
+ 713    def pdtn(self):
+ 714        """Return Product Definition Template Number"""
+ 715        return self.section4[1]
+ 716
+ 717
+ 718    @property
+ 719    def pdt(self):
+ 720        """Return Product Definition Template"""
+ 721        return self.productDefinitionTemplate
+ 722
+ 723
+ 724    @property
+ 725    def drtn(self):
+ 726        """Return Data Representation Template Number"""
+ 727        return self.section5[1]
+ 728
+ 729
+ 730    @property
+ 731    def drt(self):
+ 732        """Return Data Representation Template"""
+ 733        return self.dataRepresentationTemplate
+ 734
+ 735
+ 736    @property
+ 737    def pdy(self):
+ 738        """Return the PDY ('YYYYMMDD')"""
+ 739        return ''.join([str(i) for i in self.section1[5:8]])
  740
- 741    def __str__(self):
- 742        return (f'{self._msgnum}:d={self.refDate}:{self.shortName}:'
- 743                f'{self.fullName} ({self.units}):{self.level}:'
- 744                f'{self.leadTime}')
- 745
+ 741
+ 742    @property
+ 743    def griddef(self):
+ 744        """Return a Grib2GridDef instance for a GRIB2 message"""
+ 745        return Grib2GridDef.from_section3(self.section3)
  746
- 747    def _generate_signature(self):
- 748        """Generature SHA-1 hash string from GRIB2 integer sections"""
- 749        return hashlib.sha1(np.concatenate((self.section0,self.section1,
- 750                                            self.section3,self.section4,
- 751                                            self.section5))).hexdigest()
- 752
- 753
- 754    def attrs_by_section(self, sect, values=False):
- 755        """
- 756        Provide a tuple of attribute names for the given GRIB2 section.
- 757
- 758        Parameters
- 759        ----------
- 760        **`sect : int`**
- 761            The GRIB2 section number.
- 762
- 763        **`values : bool, optional`**
- 764            Optional (default is `False`) arugment to return attributes values.
- 765
- 766        Returns
- 767        -------
- 768        A List attribute names or Dict if `values = True`.
- 769        """
- 770        if sect in {0,1,6}:
- 771            attrs = templates._section_attrs[sect]
- 772        elif sect in {3,4,5}:
- 773            def _find_class_index(n):
- 774                _key = {3:'Grid', 4:'Product', 5:'Data'}
- 775                for i,c in enumerate(self.__class__.__mro__):
- 776                    if _key[n] in c.__name__:
- 777                        return i
- 778                else:
- 779                    return []
- 780            if sys.version_info.minor <= 8:
- 781                attrs = templates._section_attrs[sect]+\
- 782                        [a for a in dir(self.__class__.__mro__[_find_class_index(sect)]) if not a.startswith('_')]
- 783            else:
- 784                attrs = templates._section_attrs[sect]+\
- 785                        self.__class__.__mro__[_find_class_index(sect)]._attrs
- 786        else:
- 787            attrs = []
- 788        if values:
- 789            return {k:getattr(self,k) for k in attrs}
- 790        else:
- 791            return attrs
- 792
- 793
- 794    def pack(self):
- 795        """
- 796        Packs GRIB2 section data into a binary message.  It is the user's responsibility
- 797        to populate the GRIB2 section information with appropriate metadata.
- 798        """
- 799        # Create beginning of packed binary message with section 0 and 1 data.
- 800        self._sections = []
- 801        self._msg,self._pos = g2clib.grib2_create(self.indicatorSection[2:4],self.identificationSection)
- 802        self._sections += [0,1]
- 803
- 804        # Add section 2 if present.
- 805        if isinstance(self.section2,bytes) and len(self.section2) > 0:
- 806            self._msg,self._pos = g2clib.grib2_addlocal(self._msg,self.section2)
- 807            self._sections.append(2)
+ 747
+ 748    def __repr__(self):
+ 749        info = ''
+ 750        for sect in [0,1,3,4,5,6]:
+ 751            for k,v in self.attrs_by_section(sect,values=True).items():
+ 752                info += f'Section {sect}: {k} = {v}\n'
+ 753        return info
+ 754
+ 755
+ 756    def __str__(self):
+ 757        return (f'{self._msgnum}:d={self.refDate}:{self.shortName}:'
+ 758                f'{self.fullName} ({self.units}):{self.level}:'
+ 759                f'{self.leadTime}')
+ 760
+ 761
+ 762    def _generate_signature(self):
+ 763        """Generature SHA-1 hash string from GRIB2 integer sections"""
+ 764        return hashlib.sha1(np.concatenate((self.section0,self.section1,
+ 765                                            self.section3,self.section4,
+ 766                                            self.section5))).hexdigest()
+ 767
+ 768
+ 769    def attrs_by_section(self, sect, values=False):
+ 770        """
+ 771        Provide a tuple of attribute names for the given GRIB2 section.
+ 772
+ 773        Parameters
+ 774        ----------
+ 775        **`sect : int`**
+ 776            The GRIB2 section number.
+ 777
+ 778        **`values : bool, optional`**
+ 779            Optional (default is `False`) arugment to return attributes values.
+ 780
+ 781        Returns
+ 782        -------
+ 783        A List attribute names or Dict if `values = True`.
+ 784        """
+ 785        if sect in {0,1,6}:
+ 786            attrs = templates._section_attrs[sect]
+ 787        elif sect in {3,4,5}:
+ 788            def _find_class_index(n):
+ 789                _key = {3:'Grid', 4:'Product', 5:'Data'}
+ 790                for i,c in enumerate(self.__class__.__mro__):
+ 791                    if _key[n] in c.__name__:
+ 792                        return i
+ 793                else:
+ 794                    return []
+ 795            if sys.version_info.minor <= 8:
+ 796                attrs = templates._section_attrs[sect]+\
+ 797                        [a for a in dir(self.__class__.__mro__[_find_class_index(sect)]) if not a.startswith('_')]
+ 798            else:
+ 799                attrs = templates._section_attrs[sect]+\
+ 800                        self.__class__.__mro__[_find_class_index(sect)]._attrs
+ 801        else:
+ 802            attrs = []
+ 803        if values:
+ 804            return {k:getattr(self,k) for k in attrs}
+ 805        else:
+ 806            return attrs
+ 807
  808
- 809        # Add section 3.
- 810        self.section3[1] = self.nx * self.ny
- 811        self._msg,self._pos = g2clib.grib2_addgrid(self._msg,self.gridDefinitionSection,
- 812                                                   self.gridDefinitionTemplate,
- 813                                                   self._deflist)
- 814        self._sections.append(3)
- 815
- 816        # Prepare data.
- 817        field = np.copy(self.data)
- 818        if self.scanModeFlags is not None:
- 819            if self.scanModeFlags[3]:
- 820                fieldsave = field.astype('f') # Casting makes a copy
- 821                field[1::2,:] = fieldsave[1::2,::-1]
- 822        fld = field.astype('f')
+ 809    def pack(self):
+ 810        """
+ 811        Packs GRIB2 section data into a binary message.  It is the user's responsibility
+ 812        to populate the GRIB2 section information with appropriate metadata.
+ 813        """
+ 814        # Create beginning of packed binary message with section 0 and 1 data.
+ 815        self._sections = []
+ 816        self._msg,self._pos = g2clib.grib2_create(self.indicatorSection[2:4],self.identificationSection)
+ 817        self._sections += [0,1]
+ 818
+ 819        # Add section 2 if present.
+ 820        if isinstance(self.section2,bytes) and len(self.section2) > 0:
+ 821            self._msg,self._pos = g2clib.grib2_addlocal(self._msg,self.section2)
+ 822            self._sections.append(2)
  823
- 824        # Prepare bitmap, if necessary
- 825        bitmapflag = self.bitMapFlag.value
- 826        if bitmapflag == 0:
- 827            bmap = np.ravel(np.where(np.isnan(fld),0,1)).astype(DEFAULT_NUMPY_INT)
- 828        else:
- 829            bmap = None
+ 824        # Add section 3.
+ 825        self.section3[1] = self.nx * self.ny
+ 826        self._msg,self._pos = g2clib.grib2_addgrid(self._msg,self.gridDefinitionSection,
+ 827                                                   self.gridDefinitionTemplate,
+ 828                                                   self._deflist)
+ 829        self._sections.append(3)
  830
- 831        # Prepare optional coordinate list
- 832        if self._coordlist is not None:
- 833            crdlist = np.array(self._coordlist,'f')
- 834        else:
- 835            crdlist = None
- 836
- 837        # Prepare data for packing if nans are present
- 838        fld = np.ravel(fld)
- 839        if np.isnan(fld).any() and hasattr(self,'_missvalmap'):
- 840            fld = np.where(self._missvalmap==1,self.priMissingValue,fld)
- 841            fld = np.where(self._missvalmap==2,self.secMissingValue,fld)
- 842
- 843        # Add sections 4, 5, 6 (if present), and 7.
- 844        self._msg,self._pos = g2clib.grib2_addfield(self._msg,self.pdtn,
- 845                                                    self.productDefinitionTemplate,
- 846                                                    crdlist,
- 847                                                    self.drtn,
- 848                                                    self.dataRepresentationTemplate,
- 849                                                    fld,
- 850                                                    bitmapflag,
- 851                                                    bmap)
- 852        self._sections.append(4)
- 853        self._sections.append(5)
- 854        if bmap is not None: self._sections.append(6)
- 855        self._sections.append(7)
- 856
- 857        # Finalize GRIB2 message with section 8.
- 858        self._msg, self._pos = g2clib.grib2_end(self._msg)
- 859        self._sections.append(8)
- 860        self.section0[-1] = len(self._msg)
- 861
- 862
- 863    @property
- 864    def data(self) -> np.array:
- 865        """
- 866        Accessing the data attribute loads data into memmory
- 867        """
- 868        if not hasattr(self,'_auto_nans'): self._auto_nans = _AUTO_NANS
- 869        if hasattr(self,'_data'):
- 870            if self._auto_nans != _AUTO_NANS:
- 871                self._data = self._ondiskarray
- 872            if isinstance(self._data, Grib2MessageOnDiskArray):
- 873                self._ondiskarray = self._data
- 874                self._data = np.asarray(self._data)
- 875            return self._data
- 876        raise ValueError
+ 831        # Prepare data.
+ 832        field = np.copy(self.data)
+ 833        if self.scanModeFlags is not None:
+ 834            if self.scanModeFlags[3]:
+ 835                fieldsave = field.astype('f') # Casting makes a copy
+ 836                field[1::2,:] = fieldsave[1::2,::-1]
+ 837        fld = field.astype('f')
+ 838
+ 839        # Prepare bitmap, if necessary
+ 840        bitmapflag = self.bitMapFlag.value
+ 841        if bitmapflag == 0:
+ 842            bmap = np.ravel(np.where(np.isnan(fld),0,1)).astype(DEFAULT_NUMPY_INT)
+ 843        else:
+ 844            bmap = None
+ 845
+ 846        # Prepare optional coordinate list
+ 847        if self._coordlist is not None:
+ 848            crdlist = np.array(self._coordlist,'f')
+ 849        else:
+ 850            crdlist = None
+ 851
+ 852        # Prepare data for packing if nans are present
+ 853        fld = np.ravel(fld)
+ 854        if np.isnan(fld).any() and hasattr(self,'_missvalmap'):
+ 855            fld = np.where(self._missvalmap==1,self.priMissingValue,fld)
+ 856            fld = np.where(self._missvalmap==2,self.secMissingValue,fld)
+ 857
+ 858        # Add sections 4, 5, 6 (if present), and 7.
+ 859        self._msg,self._pos = g2clib.grib2_addfield(self._msg,self.pdtn,
+ 860                                                    self.productDefinitionTemplate,
+ 861                                                    crdlist,
+ 862                                                    self.drtn,
+ 863                                                    self.dataRepresentationTemplate,
+ 864                                                    fld,
+ 865                                                    bitmapflag,
+ 866                                                    bmap)
+ 867        self._sections.append(4)
+ 868        self._sections.append(5)
+ 869        if bmap is not None: self._sections.append(6)
+ 870        self._sections.append(7)
+ 871
+ 872        # Finalize GRIB2 message with section 8.
+ 873        self._msg, self._pos = g2clib.grib2_end(self._msg)
+ 874        self._sections.append(8)
+ 875        self.section0[-1] = len(self._msg)
+ 876
  877
- 878    @data.setter
- 879    def data(self, data):
- 880        if not isinstance(data, np.ndarray):
- 881            raise ValueError('Grib2Message data only supports numpy arrays')
- 882        self._data = data
- 883
- 884
- 885    def __getitem__(self, item):
- 886        return self.data[item]
- 887
- 888
- 889    def __setitem__(self, item):
- 890        raise NotImplementedError('assignment of data not supported via setitem')
- 891
+ 878    @property
+ 879    def data(self) -> np.array:
+ 880        """
+ 881        Accessing the data attribute loads data into memmory
+ 882        """
+ 883        if not hasattr(self,'_auto_nans'): self._auto_nans = _AUTO_NANS
+ 884        if hasattr(self,'_data'):
+ 885            if self._auto_nans != _AUTO_NANS:
+ 886                self._data = self._ondiskarray
+ 887            if isinstance(self._data, Grib2MessageOnDiskArray):
+ 888                self._ondiskarray = self._data
+ 889                self._data = np.asarray(self._data)
+ 890            return self._data
+ 891        raise ValueError
  892
- 893    def latlons(self, *args, **kwrgs):
- 894        """Alias for `grib2io.Grib2Message.grid` method"""
- 895        return self.grid(*args, **kwrgs)
- 896
- 897
- 898    def grid(self, unrotate=True):
- 899        """
- 900        Return lats,lons (in degrees) of grid.
- 901
- 902        Currently can handle reg. lat/lon,cglobal Gaussian, mercator, stereographic, 
- 903        lambert conformal, albers equal-area, space-view and azimuthal equidistant grids.
- 904
- 905        Parameters
- 906        ----------
- 907        **`unrotate : bool`**
- 908            If `True` [DEFAULT], and grid is rotated lat/lon, then unrotate the grid,
- 909            otherwise `False`, do not.
- 910
- 911        Returns
- 912        -------
- 913        **`lats, lons : numpy.ndarray`**
- 914            Returns two numpy.ndarrays with dtype=numpy.float32 of grid latitudes and
- 915            longitudes in units of degrees.
- 916        """
- 917        if self._sha1_section3 in _latlon_datastore.keys():
- 918            return (_latlon_datastore[self._sha1_section3]['latitude'],
- 919                    _latlon_datastore[self._sha1_section3]['longitude'])
- 920        else:
- 921            _latlon_datastore[self._sha1_section3] = {}
- 922        gdtn = self.gridDefinitionTemplateNumber.value
- 923        gdtmpl = self.gridDefinitionTemplate
- 924        reggrid = self.gridDefinitionSection[2] == 0 # This means regular 2-d grid
- 925        if gdtn == 0:
- 926            # Regular lat/lon grid
- 927            lon1, lat1 = self.longitudeFirstGridpoint, self.latitudeFirstGridpoint
- 928            lon2, lat2 = self.longitudeLastGridpoint, self.latitudeLastGridpoint
- 929            dlon = self.gridlengthXDirection
- 930            dlat = self.gridlengthYDirection
- 931            if lon2 < lon1 and dlon < 0: lon1 = -lon1
- 932            lats = np.linspace(lat1,lat2,self.ny)
- 933            if reggrid:
- 934                lons = np.linspace(lon1,lon2,self.nx)
- 935            else:
- 936                lons = np.linspace(lon1,lon2,self.ny*2)
- 937            lons,lats = np.meshgrid(lons,lats) # Make 2-d arrays.
- 938        elif gdtn == 1: # Rotated Lat/Lon grid
- 939            pj = pyproj.Proj(self.projParameters)
- 940            lat1,lon1 = self.latitudeFirstGridpoint,self.longitudeFirstGridpoint
- 941            lat2,lon2 = self.latitudeLastGridpoint,self.longitudeLastGridpoint
- 942            if lon1 > 180.0: lon1 -= 360.0
- 943            if lon2 > 180.0: lon2 -= 360.0
- 944            lats = np.linspace(lat1,lat2,self.ny)
- 945            lons = np.linspace(lon1,lon2,self.nx)
- 946            lons,lats = np.meshgrid(lons,lats) # Make 2-d arrays.
- 947            if unrotate:
- 948                from grib2io.utils import rotated_grid
- 949                lats,lons = rotated_grid.unrotate(lats,lons,self.anglePoleRotation,
- 950                                                  self.latitudeSouthernPole,
- 951                                                  self.longitudeSouthernPole)
- 952        elif gdtn == 40: # Gaussian grid (only works for global!)
- 953            from utils.gauss_grids import gaussian_latitudes
- 954            lon1, lat1 = self.longitudeFirstGridpoint, self.latitudeFirstGridpoint
- 955            lon2, lat2 = self.longitudeLastGridpoint, self.latitudeLastGridpoint
- 956            nlats = self.ny
- 957            if not reggrid: # Reduced Gaussian grid.
- 958                nlons = 2*nlats
- 959                dlon = 360./nlons
- 960            else:
- 961                nlons = self.nx
- 962                dlon = self.gridlengthXDirection
- 963            lons = np.arange(lon1,lon2+dlon,dlon)
- 964            # Compute Gaussian lats (north to south)
- 965            lats = gaussian_latitudes(nlats)
- 966            if lat1 < lat2:  # reverse them if necessary
- 967                lats = lats[::-1]
- 968            lons,lats = np.meshgrid(lons,lats)
- 969        elif gdtn in {10,20,30,31,110}:
- 970            # Mercator, Lambert Conformal, Stereographic, Albers Equal Area, Azimuthal Equidistant
- 971            dx,dy = self.gridlengthXDirection, self.gridlengthYDirection
- 972            lon1,lat1 = self.longitudeFirstGridpoint, self.latitudeFirstGridpoint
- 973            pj = pyproj.Proj(self.projParameters)
- 974            llcrnrx, llcrnry = pj(lon1,lat1)
- 975            x = llcrnrx+dx*np.arange(self.nx)
- 976            y = llcrnry+dy*np.arange(self.ny)
- 977            x,y = np.meshgrid(x, y)
- 978            lons,lats = pj(x, y, inverse=True)
- 979        elif gdtn == 90:
- 980            # Satellite Projection
- 981            dx = self.gridlengthXDirection
- 982            dy = self.gridlengthYDirection
- 983            pj = pyproj.Proj(self.projParameters)
- 984            x = dx*np.indices((self.ny,self.nx),'f')[1,:,:]
- 985            x -= 0.5*x.max()
- 986            y = dy*np.indices((self.ny,self.nx),'f')[0,:,:]
- 987            y -= 0.5*y.max()
- 988            lons,lats = pj(x,y,inverse=True)
- 989            # Set lons,lats to 1.e30 where undefined
- 990            abslons = np.fabs(lons)
- 991            abslats = np.fabs(lats)
- 992            lons = np.where(abslons < 1.e20, lons, 1.e30)
- 993            lats = np.where(abslats < 1.e20, lats, 1.e30)
- 994        elif gdtn == 32769:
- 995            # Special NCEP Grid, Rotated Lat/Lon, Arakawa E-Grid (Non-Staggered)
- 996            from grib2io.utils import arakawa_rotated_grid
- 997            from grib2io.utils.rotated_grid import DEG2RAD
- 998            di, dj = 0.0, 0.0
- 999            do_180 = False
-1000            idir = 1 if self.scanModeFlags[0] == 0 else -1
-1001            jdir = -1 if self.scanModeFlags[1] == 0 else 1
-1002            grid_oriented = 0 if self.resolutionAndComponentFlags[4] == 0 else 1
-1003            do_rot = 1 if grid_oriented == 1 else 0
-1004            la1 = self.latitudeFirstGridpoint
-1005            lo1 = self.longitudeFirstGridpoint
-1006            clon = self.longitudeCenterGridpoint
-1007            clat = self.latitudeCenterGridpoint
-1008            lasp = clat - 90.0
-1009            losp = clon
-1010            llat, llon = arakawa_rotated_grid.ll2rot(la1,lo1,lasp,losp)
-1011            la2, lo2 = arakawa_rotated_grid.rot2ll(-llat,-llon,lasp,losp)
-1012            rlat = -llat
-1013            rlon = -llon
-1014            if self.nx == 1:
-1015                di = 0.0
-1016            elif idir == 1:
-1017                ti = rlon
-1018                while ti < llon:
-1019                    ti += 360.0
-1020                di = (ti - llon)/float(self.nx-1)
-1021            else:
-1022                ti = llon
-1023                while ti < rlon:
-1024                    ti += 360.0
-1025                di = (ti - rlon)/float(self.nx-1)
-1026            if self.ny == 1:
-1027               dj = 0.0
-1028            else:
-1029                dj = (rlat - llat)/float(self.ny-1)
-1030                if dj < 0.0:
-1031                    dj = -dj
-1032            if idir == 1:
-1033                if llon > rlon:
-1034                    llon -= 360.0
-1035                if llon < 0 and rlon > 0:
-1036                    do_180 = True
-1037            else:
-1038                if rlon > llon:
-1039                    rlon -= 360.0
-1040                if rlon < 0 and llon > 0:
-1041                    do_180 = True
-1042            xlat1d = llat + (np.arange(self.ny)*jdir*dj)
-1043            xlon1d = llon + (np.arange(self.nx)*idir*di)
-1044            xlons, xlats = np.meshgrid(xlon1d,xlat1d)
-1045            rot2ll_vectorized = np.vectorize(arakawa_rotated_grid.rot2ll)
-1046            lats, lons = rot2ll_vectorized(xlats,xlons,lasp,losp)
-1047            if do_180:
-1048                lons = np.where(lons>180.0,lons-360.0,lons)
-1049            vector_rotation_angles_vectorized = np.vectorize(arakawa_rotated_grid.vector_rotation_angles)
-1050            rots = vector_rotation_angles_vectorized(lats, lons, clat, losp, xlats)
-1051            _latlon_datastore[self._sha1_section3]['vector_rotation_angles'] = rots
-1052            del xlat1d, xlon1d, xlats, xlons
-1053        else:
-1054            raise ValueError('Unsupported grid')
-1055
-1056        _latlon_datastore[self._sha1_section3]['latitude'] = lats
-1057        _latlon_datastore[self._sha1_section3]['longitude'] = lons
-1058
-1059        return lats, lons
-1060
-1061
-1062    def map_keys(self):
-1063        """
-1064        Returns an unpacked data grid where integer grid values are replaced with
-1065        a string.in which the numeric value is a representation of.
-1066
-1067        These types of fields are cateogrical or classifications where data values 
-1068        do not represent an observable or predictable physical quantity. An example 
-1069        of such a field field would be [Dominant Precipitation Type -
-1070        DPTYPE](https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-201.shtml)
-1071
-1072        Returns
-1073        -------
-1074        **`numpy.ndarray`** of string values per element.
-1075        """
-1076        hold_auto_nans = _AUTO_NANS
-1077        set_auto_nans(False)
-1078        if (np.all(self.section1[0:2]==[7,14]) and self.shortName == 'PWTHER') or \
-1079        (np.all(self.section1[0:2]==[8,65535]) and self.shortName == 'WX'):
-1080            keys = utils.decode_wx_strings(self.section2)
-1081            if hasattr(self,'priMissingValue') and self.priMissingValue not in [None,0]:
-1082                keys[int(self.priMissingValue)] = 'Missing'
-1083            if hasattr(self,'secMissingValue') and self.secMissingValue not in [None,0]:
-1084                keys[int(self.secMissingValue)] = 'Missing'
-1085            u,inv = np.unique(self.data,return_inverse=True)
-1086            fld = np.array([keys[x] for x in u])[inv].reshape(self.data.shape)
-1087        else:
-1088            # For data whose units are defined in a code table (i.e. classification or mask)
-1089            tblname = re.findall(r'\d\.\d+',self.units,re.IGNORECASE)[0]
-1090            fld = self.data.astype(np.int32).astype(str)
-1091            tbl = tables.get_table(tblname,expand=True)
-1092            for val in np.unique(fld):
-1093                fld = np.where(fld==val,tbl[val],fld)
-1094        set_auto_nans(hold_auto_nans)
-1095        return fld
-1096
-1097
-1098    def to_bytes(self, validate=True):
-1099        """
-1100        Return packed GRIB2 message in bytes format.
-1101
-1102        This will be Useful for exporting data in non-file formats. For example, 
-1103        can be used to output grib data directly to S3 using the boto3 client 
-1104        without the need to write a temporary file to upload first.
-1105
-1106        Parameters
-1107        ----------
-1108        **`validate : bool, optional`**
-1109            If `True` (DEFAULT), validates first/last four bytes for proper
-1110            formatting, else returns None. If `False`, message is output as is.
+ 893    @data.setter
+ 894    def data(self, data):
+ 895        if not isinstance(data, np.ndarray):
+ 896            raise ValueError('Grib2Message data only supports numpy arrays')
+ 897        self._data = data
+ 898
+ 899
+ 900    def __getitem__(self, item):
+ 901        return self.data[item]
+ 902
+ 903
+ 904    def __setitem__(self, item):
+ 905        raise NotImplementedError('assignment of data not supported via setitem')
+ 906
+ 907
+ 908    def latlons(self, *args, **kwrgs):
+ 909        """Alias for `grib2io.Grib2Message.grid` method"""
+ 910        return self.grid(*args, **kwrgs)
+ 911
+ 912
+ 913    def grid(self, unrotate=True):
+ 914        """
+ 915        Return lats,lons (in degrees) of grid.
+ 916
+ 917        Currently can handle reg. lat/lon,cglobal Gaussian, mercator, stereographic, 
+ 918        lambert conformal, albers equal-area, space-view and azimuthal equidistant grids.
+ 919
+ 920        Parameters
+ 921        ----------
+ 922        **`unrotate : bool`**
+ 923            If `True` [DEFAULT], and grid is rotated lat/lon, then unrotate the grid,
+ 924            otherwise `False`, do not.
+ 925
+ 926        Returns
+ 927        -------
+ 928        **`lats, lons : numpy.ndarray`**
+ 929            Returns two numpy.ndarrays with dtype=numpy.float32 of grid latitudes and
+ 930            longitudes in units of degrees.
+ 931        """
+ 932        if self._sha1_section3 in _latlon_datastore.keys():
+ 933            return (_latlon_datastore[self._sha1_section3]['latitude'],
+ 934                    _latlon_datastore[self._sha1_section3]['longitude'])
+ 935        gdtn = self.gridDefinitionTemplateNumber.value
+ 936        gdtmpl = self.gridDefinitionTemplate
+ 937        reggrid = self.gridDefinitionSection[2] == 0 # This means regular 2-d grid
+ 938        if gdtn == 0:
+ 939            # Regular lat/lon grid
+ 940            lon1, lat1 = self.longitudeFirstGridpoint, self.latitudeFirstGridpoint
+ 941            lon2, lat2 = self.longitudeLastGridpoint, self.latitudeLastGridpoint
+ 942            dlon = self.gridlengthXDirection
+ 943            dlat = self.gridlengthYDirection
+ 944            if lon2 < lon1 and dlon < 0: lon1 = -lon1
+ 945            lats = np.linspace(lat1,lat2,self.ny)
+ 946            if reggrid:
+ 947                lons = np.linspace(lon1,lon2,self.nx)
+ 948            else:
+ 949                lons = np.linspace(lon1,lon2,self.ny*2)
+ 950            lons,lats = np.meshgrid(lons,lats) # Make 2-d arrays.
+ 951        elif gdtn == 1: # Rotated Lat/Lon grid
+ 952            pj = pyproj.Proj(self.projParameters)
+ 953            lat1,lon1 = self.latitudeFirstGridpoint,self.longitudeFirstGridpoint
+ 954            lat2,lon2 = self.latitudeLastGridpoint,self.longitudeLastGridpoint
+ 955            if lon1 > 180.0: lon1 -= 360.0
+ 956            if lon2 > 180.0: lon2 -= 360.0
+ 957            lats = np.linspace(lat1,lat2,self.ny)
+ 958            lons = np.linspace(lon1,lon2,self.nx)
+ 959            lons,lats = np.meshgrid(lons,lats) # Make 2-d arrays.
+ 960            if unrotate:
+ 961                from grib2io.utils import rotated_grid
+ 962                lats,lons = rotated_grid.unrotate(lats,lons,self.anglePoleRotation,
+ 963                                                  self.latitudeSouthernPole,
+ 964                                                  self.longitudeSouthernPole)
+ 965        elif gdtn == 40: # Gaussian grid (only works for global!)
+ 966            from grib2io.utils.gauss_grid import gaussian_latitudes
+ 967            lon1, lat1 = self.longitudeFirstGridpoint, self.latitudeFirstGridpoint
+ 968            lon2, lat2 = self.longitudeLastGridpoint, self.latitudeLastGridpoint
+ 969            nlats = self.ny
+ 970            if not reggrid: # Reduced Gaussian grid.
+ 971                nlons = 2*nlats
+ 972                dlon = 360./nlons
+ 973            else:
+ 974                nlons = self.nx
+ 975                dlon = self.gridlengthXDirection
+ 976            lons = np.arange(lon1,lon2+dlon,dlon)
+ 977            # Compute Gaussian lats (north to south)
+ 978            lats = gaussian_latitudes(nlats)
+ 979            if lat1 < lat2:  # reverse them if necessary
+ 980                lats = lats[::-1]
+ 981            lons,lats = np.meshgrid(lons,lats)
+ 982        elif gdtn in {10,20,30,31,110}:
+ 983            # Mercator, Lambert Conformal, Stereographic, Albers Equal Area, Azimuthal Equidistant
+ 984            dx,dy = self.gridlengthXDirection, self.gridlengthYDirection
+ 985            lon1,lat1 = self.longitudeFirstGridpoint, self.latitudeFirstGridpoint
+ 986            pj = pyproj.Proj(self.projParameters)
+ 987            llcrnrx, llcrnry = pj(lon1,lat1)
+ 988            x = llcrnrx+dx*np.arange(self.nx)
+ 989            y = llcrnry+dy*np.arange(self.ny)
+ 990            x,y = np.meshgrid(x, y)
+ 991            lons,lats = pj(x, y, inverse=True)
+ 992        elif gdtn == 90:
+ 993            # Satellite Projection
+ 994            dx = self.gridlengthXDirection
+ 995            dy = self.gridlengthYDirection
+ 996            pj = pyproj.Proj(self.projParameters)
+ 997            x = dx*np.indices((self.ny,self.nx),'f')[1,:,:]
+ 998            x -= 0.5*x.max()
+ 999            y = dy*np.indices((self.ny,self.nx),'f')[0,:,:]
+1000            y -= 0.5*y.max()
+1001            lons,lats = pj(x,y,inverse=True)
+1002            # Set lons,lats to 1.e30 where undefined
+1003            abslons = np.fabs(lons)
+1004            abslats = np.fabs(lats)
+1005            lons = np.where(abslons < 1.e20, lons, 1.e30)
+1006            lats = np.where(abslats < 1.e20, lats, 1.e30)
+1007        elif gdtn == 32769:
+1008            # Special NCEP Grid, Rotated Lat/Lon, Arakawa E-Grid (Non-Staggered)
+1009            from grib2io.utils import arakawa_rotated_grid
+1010            from grib2io.utils.rotated_grid import DEG2RAD
+1011            di, dj = 0.0, 0.0
+1012            do_180 = False
+1013            idir = 1 if self.scanModeFlags[0] == 0 else -1
+1014            jdir = -1 if self.scanModeFlags[1] == 0 else 1
+1015            grid_oriented = 0 if self.resolutionAndComponentFlags[4] == 0 else 1
+1016            do_rot = 1 if grid_oriented == 1 else 0
+1017            la1 = self.latitudeFirstGridpoint
+1018            lo1 = self.longitudeFirstGridpoint
+1019            clon = self.longitudeCenterGridpoint
+1020            clat = self.latitudeCenterGridpoint
+1021            lasp = clat - 90.0
+1022            losp = clon
+1023            llat, llon = arakawa_rotated_grid.ll2rot(la1,lo1,lasp,losp)
+1024            la2, lo2 = arakawa_rotated_grid.rot2ll(-llat,-llon,lasp,losp)
+1025            rlat = -llat
+1026            rlon = -llon
+1027            if self.nx == 1:
+1028                di = 0.0
+1029            elif idir == 1:
+1030                ti = rlon
+1031                while ti < llon:
+1032                    ti += 360.0
+1033                di = (ti - llon)/float(self.nx-1)
+1034            else:
+1035                ti = llon
+1036                while ti < rlon:
+1037                    ti += 360.0
+1038                di = (ti - rlon)/float(self.nx-1)
+1039            if self.ny == 1:
+1040               dj = 0.0
+1041            else:
+1042                dj = (rlat - llat)/float(self.ny-1)
+1043                if dj < 0.0:
+1044                    dj = -dj
+1045            if idir == 1:
+1046                if llon > rlon:
+1047                    llon -= 360.0
+1048                if llon < 0 and rlon > 0:
+1049                    do_180 = True
+1050            else:
+1051                if rlon > llon:
+1052                    rlon -= 360.0
+1053                if rlon < 0 and llon > 0:
+1054                    do_180 = True
+1055            xlat1d = llat + (np.arange(self.ny)*jdir*dj)
+1056            xlon1d = llon + (np.arange(self.nx)*idir*di)
+1057            xlons, xlats = np.meshgrid(xlon1d,xlat1d)
+1058            rot2ll_vectorized = np.vectorize(arakawa_rotated_grid.rot2ll)
+1059            lats, lons = rot2ll_vectorized(xlats,xlons,lasp,losp)
+1060            if do_180:
+1061                lons = np.where(lons>180.0,lons-360.0,lons)
+1062            vector_rotation_angles_vectorized = np.vectorize(arakawa_rotated_grid.vector_rotation_angles)
+1063            rots = vector_rotation_angles_vectorized(lats, lons, clat, losp, xlats)
+1064            del xlat1d, xlon1d, xlats, xlons
+1065        else:
+1066            raise ValueError('Unsupported grid')
+1067
+1068        _latlon_datastore[self._sha1_section3] = dict(latitude=lats,longitude=lons)
+1069        try:
+1070            _latlon_datastore[self._sha1_section3]['vector_rotation_angles'] = rots
+1071        except(NameError):
+1072            pass
+1073
+1074        return lats, lons
+1075
+1076
+1077    def map_keys(self):
+1078        """
+1079        Returns an unpacked data grid where integer grid values are replaced with
+1080        a string.in which the numeric value is a representation of.
+1081
+1082        These types of fields are cateogrical or classifications where data values 
+1083        do not represent an observable or predictable physical quantity. An example 
+1084        of such a field field would be [Dominant Precipitation Type -
+1085        DPTYPE](https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-201.shtml)
+1086
+1087        Returns
+1088        -------
+1089        **`numpy.ndarray`** of string values per element.
+1090        """
+1091        hold_auto_nans = _AUTO_NANS
+1092        set_auto_nans(False)
+1093        if (np.all(self.section1[0:2]==[7,14]) and self.shortName == 'PWTHER') or \
+1094        (np.all(self.section1[0:2]==[8,65535]) and self.shortName == 'WX'):
+1095            keys = utils.decode_wx_strings(self.section2)
+1096            if hasattr(self,'priMissingValue') and self.priMissingValue not in [None,0]:
+1097                keys[int(self.priMissingValue)] = 'Missing'
+1098            if hasattr(self,'secMissingValue') and self.secMissingValue not in [None,0]:
+1099                keys[int(self.secMissingValue)] = 'Missing'
+1100            u,inv = np.unique(self.data,return_inverse=True)
+1101            fld = np.array([keys[x] for x in u])[inv].reshape(self.data.shape)
+1102        else:
+1103            # For data whose units are defined in a code table (i.e. classification or mask)
+1104            tblname = re.findall(r'\d\.\d+',self.units,re.IGNORECASE)[0]
+1105            fld = self.data.astype(np.int32).astype(str)
+1106            tbl = tables.get_table(tblname,expand=True)
+1107            for val in np.unique(fld):
+1108                fld = np.where(fld==val,tbl[val],fld)
+1109        set_auto_nans(hold_auto_nans)
+1110        return fld
 1111
-1112        Returns
-1113        -------
-1114        Returns GRIB2 formatted message as bytes.
-1115        """
-1116        if validate:
-1117            if self._msg[0:4]+self._msg[-4:] == b'GRIB7777':
-1118                return self._msg
-1119            else:
-1120                return None
-1121        else:
-1122            return self._msg
-1123
-1124
-1125    def interpolate(self, method, grid_def_out, method_options=None):
-1126        """
-1127        Perform grid spatial interpolation via the [NCEPLIBS-ip library](https://github.com/NOAA-EMC/NCEPLIBS-ip).
-1128
-1129        **IMPORTANT:**  This interpolate method only supports scalar interpolation. If you
-1130        need to perform vector interpolation, use the module-level `grib2io.interpolate` function.
-1131
-1132        Parameters
-1133        ----------
-1134        **`method : int or str`**
-1135            Interpolate method to use. This can either be an integer or string using
-1136            the following mapping:
-1137
-1138        | Interpolate Scheme | Integer Value |
-1139        | :---:              | :---:         |
-1140        | 'bilinear'         | 0             |
-1141        | 'bicubic'          | 1             |
-1142        | 'neighbor'         | 2             |
-1143        | 'budget'           | 3             |
-1144        | 'spectral'         | 4             |
-1145        | 'neighbor-budget'  | 6             |
+1112
+1113    def to_bytes(self, validate=True):
+1114        """
+1115        Return packed GRIB2 message in bytes format.
+1116
+1117        This will be Useful for exporting data in non-file formats. For example, 
+1118        can be used to output grib data directly to S3 using the boto3 client 
+1119        without the need to write a temporary file to upload first.
+1120
+1121        Parameters
+1122        ----------
+1123        **`validate : bool, optional`**
+1124            If `True` (DEFAULT), validates first/last four bytes for proper
+1125            formatting, else returns None. If `False`, message is output as is.
+1126
+1127        Returns
+1128        -------
+1129        Returns GRIB2 formatted message as bytes.
+1130        """
+1131        if validate:
+1132            if self._msg[0:4]+self._msg[-4:] == b'GRIB7777':
+1133                return self._msg
+1134            else:
+1135                return None
+1136        else:
+1137            return self._msg
+1138
+1139
+1140    def interpolate(self, method, grid_def_out, method_options=None):
+1141        """
+1142        Perform grid spatial interpolation via the [NCEPLIBS-ip library](https://github.com/NOAA-EMC/NCEPLIBS-ip).
+1143
+1144        **IMPORTANT:**  This interpolate method only supports scalar interpolation. If you
+1145        need to perform vector interpolation, use the module-level `grib2io.interpolate` function.
 1146
-1147        **`grid_def_out : grib2io.Grib2GridDef`**
-1148            Grib2GridDef object of the output grid.
-1149
-1150        **`method_options : list of ints, optional`**
-1151            Interpolation options. See the NCEPLIBS-ip doucmentation for
-1152            more information on how these are used.
-1153
-1154        Returns
-1155        -------
-1156        If interpolating to a grid, a new Grib2Message object is returned.  The GRIB2 metadata of
-1157        the new Grib2Message object is indentical to the input except where required to be different
-1158        because of the new grid specs.
-1159
-1160        If interpolating to station points, the interpolated data values are returned as a numpy.ndarray.
-1161        """
-1162        section0 = self.section0
-1163        section0[-1] = 0
-1164        gds = [0, grid_def_out.npoints, 0, 255, grid_def_out.gdtn]
-1165        section3 = np.concatenate((gds,grid_def_out.gdt))
-1166
-1167        msg = Grib2Message(section0,self.section1,self.section2,section3,
-1168                           self.section4,self.section5,self.bitMapFlag.value)
-1169
-1170        msg._msgnum = -1
-1171        msg._deflist = self._deflist
-1172        msg._coordlist = self._coordlist
-1173        shape = (msg.ny,msg.nx)
-1174        ndim = 2
-1175        if msg.typeOfValues == 0:
-1176            dtype = 'float32'
-1177        elif msg.typeOfValues == 1:
-1178            dtype = 'int32'
-1179        msg._data = interpolate(self.data,method,Grib2GridDef.from_section3(self.section3),grid_def_out,
-1180                                method_options=method_options).reshape(msg.ny,msg.nx)
-1181        return msg
+1147        Parameters
+1148        ----------
+1149        **`method : int or str`**
+1150            Interpolate method to use. This can either be an integer or string using
+1151            the following mapping:
+1152
+1153        | Interpolate Scheme | Integer Value |
+1154        | :---:              | :---:         |
+1155        | 'bilinear'         | 0             |
+1156        | 'bicubic'          | 1             |
+1157        | 'neighbor'         | 2             |
+1158        | 'budget'           | 3             |
+1159        | 'spectral'         | 4             |
+1160        | 'neighbor-budget'  | 6             |
+1161
+1162        **`grid_def_out : grib2io.Grib2GridDef`**
+1163            Grib2GridDef object of the output grid.
+1164
+1165        **`method_options : list of ints, optional`**
+1166            Interpolation options. See the NCEPLIBS-ip doucmentation for
+1167            more information on how these are used.
+1168
+1169        Returns
+1170        -------
+1171        If interpolating to a grid, a new Grib2Message object is returned.  The GRIB2 metadata of
+1172        the new Grib2Message object is indentical to the input except where required to be different
+1173        because of the new grid specs.
+1174
+1175        If interpolating to station points, the interpolated data values are returned as a numpy.ndarray.
+1176        """
+1177        section0 = self.section0
+1178        section0[-1] = 0
+1179        gds = [0, grid_def_out.npoints, 0, 255, grid_def_out.gdtn]
+1180        section3 = np.concatenate((gds,grid_def_out.gdt))
+1181
+1182        msg = Grib2Message(section0,self.section1,self.section2,section3,
+1183                           self.section4,self.section5,self.bitMapFlag.value)
+1184
+1185        msg._msgnum = -1
+1186        msg._deflist = self._deflist
+1187        msg._coordlist = self._coordlist
+1188        shape = (msg.ny,msg.nx)
+1189        ndim = 2
+1190        if msg.typeOfValues == 0:
+1191            dtype = 'float32'
+1192        elif msg.typeOfValues == 1:
+1193            dtype = 'int32'
+1194        msg._data = interpolate(self.data,method,Grib2GridDef.from_section3(self.section3),grid_def_out,
+1195                                method_options=method_options).reshape(msg.ny,msg.nx)
+1196        return msg
 
@@ -2903,10 +2918,10 @@

Returns

-
685    @property
-686    def gdtn(self):
-687        """Return Grid Definition Template Number"""
-688        return self.section3[4]
+            
700    @property
+701    def gdtn(self):
+702        """Return Grid Definition Template Number"""
+703        return self.section3[4]
 
@@ -2924,10 +2939,10 @@

Returns

-
691    @property
-692    def gdt(self):
-693        """Return Grid Definition Template"""
-694        return self.gridDefinitionTemplate
+            
706    @property
+707    def gdt(self):
+708        """Return Grid Definition Template"""
+709        return self.gridDefinitionTemplate
 
@@ -2945,10 +2960,10 @@

Returns

-
697    @property
-698    def pdtn(self):
-699        """Return Product Definition Template Number"""
-700        return self.section4[1]
+            
712    @property
+713    def pdtn(self):
+714        """Return Product Definition Template Number"""
+715        return self.section4[1]
 
@@ -2966,10 +2981,10 @@

Returns

-
703    @property
-704    def pdt(self):
-705        """Return Product Definition Template"""
-706        return self.productDefinitionTemplate
+            
718    @property
+719    def pdt(self):
+720        """Return Product Definition Template"""
+721        return self.productDefinitionTemplate
 
@@ -2987,10 +3002,10 @@

Returns

-
709    @property
-710    def drtn(self):
-711        """Return Data Representation Template Number"""
-712        return self.section5[1]
+            
724    @property
+725    def drtn(self):
+726        """Return Data Representation Template Number"""
+727        return self.section5[1]
 
@@ -3008,10 +3023,10 @@

Returns

-
715    @property
-716    def drt(self):
-717        """Return Data Representation Template"""
-718        return self.dataRepresentationTemplate
+            
730    @property
+731    def drt(self):
+732        """Return Data Representation Template"""
+733        return self.dataRepresentationTemplate
 
@@ -3029,10 +3044,10 @@

Returns

-
721    @property
-722    def pdy(self):
-723        """Return the PDY ('YYYYMMDD')"""
-724        return ''.join([str(i) for i in self.section1[5:8]])
+            
736    @property
+737    def pdy(self):
+738        """Return the PDY ('YYYYMMDD')"""
+739        return ''.join([str(i) for i in self.section1[5:8]])
 
@@ -3050,10 +3065,10 @@

Returns

-
727    @property
-728    def griddef(self):
-729        """Return a Grib2GridDef instance for a GRIB2 message"""
-730        return Grib2GridDef.from_section3(self.section3)
+            
742    @property
+743    def griddef(self):
+744        """Return a Grib2GridDef instance for a GRIB2 message"""
+745        return Grib2GridDef.from_section3(self.section3)
 
@@ -3073,44 +3088,44 @@

Returns

-
754    def attrs_by_section(self, sect, values=False):
-755        """
-756        Provide a tuple of attribute names for the given GRIB2 section.
-757
-758        Parameters
-759        ----------
-760        **`sect : int`**
-761            The GRIB2 section number.
-762
-763        **`values : bool, optional`**
-764            Optional (default is `False`) arugment to return attributes values.
-765
-766        Returns
-767        -------
-768        A List attribute names or Dict if `values = True`.
-769        """
-770        if sect in {0,1,6}:
-771            attrs = templates._section_attrs[sect]
-772        elif sect in {3,4,5}:
-773            def _find_class_index(n):
-774                _key = {3:'Grid', 4:'Product', 5:'Data'}
-775                for i,c in enumerate(self.__class__.__mro__):
-776                    if _key[n] in c.__name__:
-777                        return i
-778                else:
-779                    return []
-780            if sys.version_info.minor <= 8:
-781                attrs = templates._section_attrs[sect]+\
-782                        [a for a in dir(self.__class__.__mro__[_find_class_index(sect)]) if not a.startswith('_')]
-783            else:
-784                attrs = templates._section_attrs[sect]+\
-785                        self.__class__.__mro__[_find_class_index(sect)]._attrs
-786        else:
-787            attrs = []
-788        if values:
-789            return {k:getattr(self,k) for k in attrs}
-790        else:
-791            return attrs
+            
769    def attrs_by_section(self, sect, values=False):
+770        """
+771        Provide a tuple of attribute names for the given GRIB2 section.
+772
+773        Parameters
+774        ----------
+775        **`sect : int`**
+776            The GRIB2 section number.
+777
+778        **`values : bool, optional`**
+779            Optional (default is `False`) arugment to return attributes values.
+780
+781        Returns
+782        -------
+783        A List attribute names or Dict if `values = True`.
+784        """
+785        if sect in {0,1,6}:
+786            attrs = templates._section_attrs[sect]
+787        elif sect in {3,4,5}:
+788            def _find_class_index(n):
+789                _key = {3:'Grid', 4:'Product', 5:'Data'}
+790                for i,c in enumerate(self.__class__.__mro__):
+791                    if _key[n] in c.__name__:
+792                        return i
+793                else:
+794                    return []
+795            if sys.version_info.minor <= 8:
+796                attrs = templates._section_attrs[sect]+\
+797                        [a for a in dir(self.__class__.__mro__[_find_class_index(sect)]) if not a.startswith('_')]
+798            else:
+799                attrs = templates._section_attrs[sect]+\
+800                        self.__class__.__mro__[_find_class_index(sect)]._attrs
+801        else:
+802            attrs = []
+803        if values:
+804            return {k:getattr(self,k) for k in attrs}
+805        else:
+806            return attrs
 
@@ -3142,73 +3157,73 @@

Returns

-
794    def pack(self):
-795        """
-796        Packs GRIB2 section data into a binary message.  It is the user's responsibility
-797        to populate the GRIB2 section information with appropriate metadata.
-798        """
-799        # Create beginning of packed binary message with section 0 and 1 data.
-800        self._sections = []
-801        self._msg,self._pos = g2clib.grib2_create(self.indicatorSection[2:4],self.identificationSection)
-802        self._sections += [0,1]
-803
-804        # Add section 2 if present.
-805        if isinstance(self.section2,bytes) and len(self.section2) > 0:
-806            self._msg,self._pos = g2clib.grib2_addlocal(self._msg,self.section2)
-807            self._sections.append(2)
-808
-809        # Add section 3.
-810        self.section3[1] = self.nx * self.ny
-811        self._msg,self._pos = g2clib.grib2_addgrid(self._msg,self.gridDefinitionSection,
-812                                                   self.gridDefinitionTemplate,
-813                                                   self._deflist)
-814        self._sections.append(3)
-815
-816        # Prepare data.
-817        field = np.copy(self.data)
-818        if self.scanModeFlags is not None:
-819            if self.scanModeFlags[3]:
-820                fieldsave = field.astype('f') # Casting makes a copy
-821                field[1::2,:] = fieldsave[1::2,::-1]
-822        fld = field.astype('f')
+            
809    def pack(self):
+810        """
+811        Packs GRIB2 section data into a binary message.  It is the user's responsibility
+812        to populate the GRIB2 section information with appropriate metadata.
+813        """
+814        # Create beginning of packed binary message with section 0 and 1 data.
+815        self._sections = []
+816        self._msg,self._pos = g2clib.grib2_create(self.indicatorSection[2:4],self.identificationSection)
+817        self._sections += [0,1]
+818
+819        # Add section 2 if present.
+820        if isinstance(self.section2,bytes) and len(self.section2) > 0:
+821            self._msg,self._pos = g2clib.grib2_addlocal(self._msg,self.section2)
+822            self._sections.append(2)
 823
-824        # Prepare bitmap, if necessary
-825        bitmapflag = self.bitMapFlag.value
-826        if bitmapflag == 0:
-827            bmap = np.ravel(np.where(np.isnan(fld),0,1)).astype(DEFAULT_NUMPY_INT)
-828        else:
-829            bmap = None
+824        # Add section 3.
+825        self.section3[1] = self.nx * self.ny
+826        self._msg,self._pos = g2clib.grib2_addgrid(self._msg,self.gridDefinitionSection,
+827                                                   self.gridDefinitionTemplate,
+828                                                   self._deflist)
+829        self._sections.append(3)
 830
-831        # Prepare optional coordinate list
-832        if self._coordlist is not None:
-833            crdlist = np.array(self._coordlist,'f')
-834        else:
-835            crdlist = None
-836
-837        # Prepare data for packing if nans are present
-838        fld = np.ravel(fld)
-839        if np.isnan(fld).any() and hasattr(self,'_missvalmap'):
-840            fld = np.where(self._missvalmap==1,self.priMissingValue,fld)
-841            fld = np.where(self._missvalmap==2,self.secMissingValue,fld)
-842
-843        # Add sections 4, 5, 6 (if present), and 7.
-844        self._msg,self._pos = g2clib.grib2_addfield(self._msg,self.pdtn,
-845                                                    self.productDefinitionTemplate,
-846                                                    crdlist,
-847                                                    self.drtn,
-848                                                    self.dataRepresentationTemplate,
-849                                                    fld,
-850                                                    bitmapflag,
-851                                                    bmap)
-852        self._sections.append(4)
-853        self._sections.append(5)
-854        if bmap is not None: self._sections.append(6)
-855        self._sections.append(7)
-856
-857        # Finalize GRIB2 message with section 8.
-858        self._msg, self._pos = g2clib.grib2_end(self._msg)
-859        self._sections.append(8)
-860        self.section0[-1] = len(self._msg)
+831        # Prepare data.
+832        field = np.copy(self.data)
+833        if self.scanModeFlags is not None:
+834            if self.scanModeFlags[3]:
+835                fieldsave = field.astype('f') # Casting makes a copy
+836                field[1::2,:] = fieldsave[1::2,::-1]
+837        fld = field.astype('f')
+838
+839        # Prepare bitmap, if necessary
+840        bitmapflag = self.bitMapFlag.value
+841        if bitmapflag == 0:
+842            bmap = np.ravel(np.where(np.isnan(fld),0,1)).astype(DEFAULT_NUMPY_INT)
+843        else:
+844            bmap = None
+845
+846        # Prepare optional coordinate list
+847        if self._coordlist is not None:
+848            crdlist = np.array(self._coordlist,'f')
+849        else:
+850            crdlist = None
+851
+852        # Prepare data for packing if nans are present
+853        fld = np.ravel(fld)
+854        if np.isnan(fld).any() and hasattr(self,'_missvalmap'):
+855            fld = np.where(self._missvalmap==1,self.priMissingValue,fld)
+856            fld = np.where(self._missvalmap==2,self.secMissingValue,fld)
+857
+858        # Add sections 4, 5, 6 (if present), and 7.
+859        self._msg,self._pos = g2clib.grib2_addfield(self._msg,self.pdtn,
+860                                                    self.productDefinitionTemplate,
+861                                                    crdlist,
+862                                                    self.drtn,
+863                                                    self.dataRepresentationTemplate,
+864                                                    fld,
+865                                                    bitmapflag,
+866                                                    bmap)
+867        self._sections.append(4)
+868        self._sections.append(5)
+869        if bmap is not None: self._sections.append(6)
+870        self._sections.append(7)
+871
+872        # Finalize GRIB2 message with section 8.
+873        self._msg, self._pos = g2clib.grib2_end(self._msg)
+874        self._sections.append(8)
+875        self.section0[-1] = len(self._msg)
 
@@ -3227,20 +3242,20 @@

Returns

-
863    @property
-864    def data(self) -> np.array:
-865        """
-866        Accessing the data attribute loads data into memmory
-867        """
-868        if not hasattr(self,'_auto_nans'): self._auto_nans = _AUTO_NANS
-869        if hasattr(self,'_data'):
-870            if self._auto_nans != _AUTO_NANS:
-871                self._data = self._ondiskarray
-872            if isinstance(self._data, Grib2MessageOnDiskArray):
-873                self._ondiskarray = self._data
-874                self._data = np.asarray(self._data)
-875            return self._data
-876        raise ValueError
+            
878    @property
+879    def data(self) -> np.array:
+880        """
+881        Accessing the data attribute loads data into memmory
+882        """
+883        if not hasattr(self,'_auto_nans'): self._auto_nans = _AUTO_NANS
+884        if hasattr(self,'_data'):
+885            if self._auto_nans != _AUTO_NANS:
+886                self._data = self._ondiskarray
+887            if isinstance(self._data, Grib2MessageOnDiskArray):
+888                self._ondiskarray = self._data
+889                self._data = np.asarray(self._data)
+890            return self._data
+891        raise ValueError
 
@@ -3260,9 +3275,9 @@

Returns

-
893    def latlons(self, *args, **kwrgs):
-894        """Alias for `grib2io.Grib2Message.grid` method"""
-895        return self.grid(*args, **kwrgs)
+            
908    def latlons(self, *args, **kwrgs):
+909        """Alias for `grib2io.Grib2Message.grid` method"""
+910        return self.grid(*args, **kwrgs)
 
@@ -3282,168 +3297,168 @@

Returns

-
 898    def grid(self, unrotate=True):
- 899        """
- 900        Return lats,lons (in degrees) of grid.
- 901
- 902        Currently can handle reg. lat/lon,cglobal Gaussian, mercator, stereographic, 
- 903        lambert conformal, albers equal-area, space-view and azimuthal equidistant grids.
- 904
- 905        Parameters
- 906        ----------
- 907        **`unrotate : bool`**
- 908            If `True` [DEFAULT], and grid is rotated lat/lon, then unrotate the grid,
- 909            otherwise `False`, do not.
- 910
- 911        Returns
- 912        -------
- 913        **`lats, lons : numpy.ndarray`**
- 914            Returns two numpy.ndarrays with dtype=numpy.float32 of grid latitudes and
- 915            longitudes in units of degrees.
- 916        """
- 917        if self._sha1_section3 in _latlon_datastore.keys():
- 918            return (_latlon_datastore[self._sha1_section3]['latitude'],
- 919                    _latlon_datastore[self._sha1_section3]['longitude'])
- 920        else:
- 921            _latlon_datastore[self._sha1_section3] = {}
- 922        gdtn = self.gridDefinitionTemplateNumber.value
- 923        gdtmpl = self.gridDefinitionTemplate
- 924        reggrid = self.gridDefinitionSection[2] == 0 # This means regular 2-d grid
- 925        if gdtn == 0:
- 926            # Regular lat/lon grid
- 927            lon1, lat1 = self.longitudeFirstGridpoint, self.latitudeFirstGridpoint
- 928            lon2, lat2 = self.longitudeLastGridpoint, self.latitudeLastGridpoint
- 929            dlon = self.gridlengthXDirection
- 930            dlat = self.gridlengthYDirection
- 931            if lon2 < lon1 and dlon < 0: lon1 = -lon1
- 932            lats = np.linspace(lat1,lat2,self.ny)
- 933            if reggrid:
- 934                lons = np.linspace(lon1,lon2,self.nx)
- 935            else:
- 936                lons = np.linspace(lon1,lon2,self.ny*2)
- 937            lons,lats = np.meshgrid(lons,lats) # Make 2-d arrays.
- 938        elif gdtn == 1: # Rotated Lat/Lon grid
- 939            pj = pyproj.Proj(self.projParameters)
- 940            lat1,lon1 = self.latitudeFirstGridpoint,self.longitudeFirstGridpoint
- 941            lat2,lon2 = self.latitudeLastGridpoint,self.longitudeLastGridpoint
- 942            if lon1 > 180.0: lon1 -= 360.0
- 943            if lon2 > 180.0: lon2 -= 360.0
- 944            lats = np.linspace(lat1,lat2,self.ny)
- 945            lons = np.linspace(lon1,lon2,self.nx)
- 946            lons,lats = np.meshgrid(lons,lats) # Make 2-d arrays.
- 947            if unrotate:
- 948                from grib2io.utils import rotated_grid
- 949                lats,lons = rotated_grid.unrotate(lats,lons,self.anglePoleRotation,
- 950                                                  self.latitudeSouthernPole,
- 951                                                  self.longitudeSouthernPole)
- 952        elif gdtn == 40: # Gaussian grid (only works for global!)
- 953            from utils.gauss_grids import gaussian_latitudes
- 954            lon1, lat1 = self.longitudeFirstGridpoint, self.latitudeFirstGridpoint
- 955            lon2, lat2 = self.longitudeLastGridpoint, self.latitudeLastGridpoint
- 956            nlats = self.ny
- 957            if not reggrid: # Reduced Gaussian grid.
- 958                nlons = 2*nlats
- 959                dlon = 360./nlons
- 960            else:
- 961                nlons = self.nx
- 962                dlon = self.gridlengthXDirection
- 963            lons = np.arange(lon1,lon2+dlon,dlon)
- 964            # Compute Gaussian lats (north to south)
- 965            lats = gaussian_latitudes(nlats)
- 966            if lat1 < lat2:  # reverse them if necessary
- 967                lats = lats[::-1]
- 968            lons,lats = np.meshgrid(lons,lats)
- 969        elif gdtn in {10,20,30,31,110}:
- 970            # Mercator, Lambert Conformal, Stereographic, Albers Equal Area, Azimuthal Equidistant
- 971            dx,dy = self.gridlengthXDirection, self.gridlengthYDirection
- 972            lon1,lat1 = self.longitudeFirstGridpoint, self.latitudeFirstGridpoint
- 973            pj = pyproj.Proj(self.projParameters)
- 974            llcrnrx, llcrnry = pj(lon1,lat1)
- 975            x = llcrnrx+dx*np.arange(self.nx)
- 976            y = llcrnry+dy*np.arange(self.ny)
- 977            x,y = np.meshgrid(x, y)
- 978            lons,lats = pj(x, y, inverse=True)
- 979        elif gdtn == 90:
- 980            # Satellite Projection
- 981            dx = self.gridlengthXDirection
- 982            dy = self.gridlengthYDirection
- 983            pj = pyproj.Proj(self.projParameters)
- 984            x = dx*np.indices((self.ny,self.nx),'f')[1,:,:]
- 985            x -= 0.5*x.max()
- 986            y = dy*np.indices((self.ny,self.nx),'f')[0,:,:]
- 987            y -= 0.5*y.max()
- 988            lons,lats = pj(x,y,inverse=True)
- 989            # Set lons,lats to 1.e30 where undefined
- 990            abslons = np.fabs(lons)
- 991            abslats = np.fabs(lats)
- 992            lons = np.where(abslons < 1.e20, lons, 1.e30)
- 993            lats = np.where(abslats < 1.e20, lats, 1.e30)
- 994        elif gdtn == 32769:
- 995            # Special NCEP Grid, Rotated Lat/Lon, Arakawa E-Grid (Non-Staggered)
- 996            from grib2io.utils import arakawa_rotated_grid
- 997            from grib2io.utils.rotated_grid import DEG2RAD
- 998            di, dj = 0.0, 0.0
- 999            do_180 = False
-1000            idir = 1 if self.scanModeFlags[0] == 0 else -1
-1001            jdir = -1 if self.scanModeFlags[1] == 0 else 1
-1002            grid_oriented = 0 if self.resolutionAndComponentFlags[4] == 0 else 1
-1003            do_rot = 1 if grid_oriented == 1 else 0
-1004            la1 = self.latitudeFirstGridpoint
-1005            lo1 = self.longitudeFirstGridpoint
-1006            clon = self.longitudeCenterGridpoint
-1007            clat = self.latitudeCenterGridpoint
-1008            lasp = clat - 90.0
-1009            losp = clon
-1010            llat, llon = arakawa_rotated_grid.ll2rot(la1,lo1,lasp,losp)
-1011            la2, lo2 = arakawa_rotated_grid.rot2ll(-llat,-llon,lasp,losp)
-1012            rlat = -llat
-1013            rlon = -llon
-1014            if self.nx == 1:
-1015                di = 0.0
-1016            elif idir == 1:
-1017                ti = rlon
-1018                while ti < llon:
-1019                    ti += 360.0
-1020                di = (ti - llon)/float(self.nx-1)
-1021            else:
-1022                ti = llon
-1023                while ti < rlon:
-1024                    ti += 360.0
-1025                di = (ti - rlon)/float(self.nx-1)
-1026            if self.ny == 1:
-1027               dj = 0.0
-1028            else:
-1029                dj = (rlat - llat)/float(self.ny-1)
-1030                if dj < 0.0:
-1031                    dj = -dj
-1032            if idir == 1:
-1033                if llon > rlon:
-1034                    llon -= 360.0
-1035                if llon < 0 and rlon > 0:
-1036                    do_180 = True
-1037            else:
-1038                if rlon > llon:
-1039                    rlon -= 360.0
-1040                if rlon < 0 and llon > 0:
-1041                    do_180 = True
-1042            xlat1d = llat + (np.arange(self.ny)*jdir*dj)
-1043            xlon1d = llon + (np.arange(self.nx)*idir*di)
-1044            xlons, xlats = np.meshgrid(xlon1d,xlat1d)
-1045            rot2ll_vectorized = np.vectorize(arakawa_rotated_grid.rot2ll)
-1046            lats, lons = rot2ll_vectorized(xlats,xlons,lasp,losp)
-1047            if do_180:
-1048                lons = np.where(lons>180.0,lons-360.0,lons)
-1049            vector_rotation_angles_vectorized = np.vectorize(arakawa_rotated_grid.vector_rotation_angles)
-1050            rots = vector_rotation_angles_vectorized(lats, lons, clat, losp, xlats)
-1051            _latlon_datastore[self._sha1_section3]['vector_rotation_angles'] = rots
-1052            del xlat1d, xlon1d, xlats, xlons
-1053        else:
-1054            raise ValueError('Unsupported grid')
-1055
-1056        _latlon_datastore[self._sha1_section3]['latitude'] = lats
-1057        _latlon_datastore[self._sha1_section3]['longitude'] = lons
-1058
-1059        return lats, lons
+            
 913    def grid(self, unrotate=True):
+ 914        """
+ 915        Return lats,lons (in degrees) of grid.
+ 916
+ 917        Currently can handle reg. lat/lon,cglobal Gaussian, mercator, stereographic, 
+ 918        lambert conformal, albers equal-area, space-view and azimuthal equidistant grids.
+ 919
+ 920        Parameters
+ 921        ----------
+ 922        **`unrotate : bool`**
+ 923            If `True` [DEFAULT], and grid is rotated lat/lon, then unrotate the grid,
+ 924            otherwise `False`, do not.
+ 925
+ 926        Returns
+ 927        -------
+ 928        **`lats, lons : numpy.ndarray`**
+ 929            Returns two numpy.ndarrays with dtype=numpy.float32 of grid latitudes and
+ 930            longitudes in units of degrees.
+ 931        """
+ 932        if self._sha1_section3 in _latlon_datastore.keys():
+ 933            return (_latlon_datastore[self._sha1_section3]['latitude'],
+ 934                    _latlon_datastore[self._sha1_section3]['longitude'])
+ 935        gdtn = self.gridDefinitionTemplateNumber.value
+ 936        gdtmpl = self.gridDefinitionTemplate
+ 937        reggrid = self.gridDefinitionSection[2] == 0 # This means regular 2-d grid
+ 938        if gdtn == 0:
+ 939            # Regular lat/lon grid
+ 940            lon1, lat1 = self.longitudeFirstGridpoint, self.latitudeFirstGridpoint
+ 941            lon2, lat2 = self.longitudeLastGridpoint, self.latitudeLastGridpoint
+ 942            dlon = self.gridlengthXDirection
+ 943            dlat = self.gridlengthYDirection
+ 944            if lon2 < lon1 and dlon < 0: lon1 = -lon1
+ 945            lats = np.linspace(lat1,lat2,self.ny)
+ 946            if reggrid:
+ 947                lons = np.linspace(lon1,lon2,self.nx)
+ 948            else:
+ 949                lons = np.linspace(lon1,lon2,self.ny*2)
+ 950            lons,lats = np.meshgrid(lons,lats) # Make 2-d arrays.
+ 951        elif gdtn == 1: # Rotated Lat/Lon grid
+ 952            pj = pyproj.Proj(self.projParameters)
+ 953            lat1,lon1 = self.latitudeFirstGridpoint,self.longitudeFirstGridpoint
+ 954            lat2,lon2 = self.latitudeLastGridpoint,self.longitudeLastGridpoint
+ 955            if lon1 > 180.0: lon1 -= 360.0
+ 956            if lon2 > 180.0: lon2 -= 360.0
+ 957            lats = np.linspace(lat1,lat2,self.ny)
+ 958            lons = np.linspace(lon1,lon2,self.nx)
+ 959            lons,lats = np.meshgrid(lons,lats) # Make 2-d arrays.
+ 960            if unrotate:
+ 961                from grib2io.utils import rotated_grid
+ 962                lats,lons = rotated_grid.unrotate(lats,lons,self.anglePoleRotation,
+ 963                                                  self.latitudeSouthernPole,
+ 964                                                  self.longitudeSouthernPole)
+ 965        elif gdtn == 40: # Gaussian grid (only works for global!)
+ 966            from grib2io.utils.gauss_grid import gaussian_latitudes
+ 967            lon1, lat1 = self.longitudeFirstGridpoint, self.latitudeFirstGridpoint
+ 968            lon2, lat2 = self.longitudeLastGridpoint, self.latitudeLastGridpoint
+ 969            nlats = self.ny
+ 970            if not reggrid: # Reduced Gaussian grid.
+ 971                nlons = 2*nlats
+ 972                dlon = 360./nlons
+ 973            else:
+ 974                nlons = self.nx
+ 975                dlon = self.gridlengthXDirection
+ 976            lons = np.arange(lon1,lon2+dlon,dlon)
+ 977            # Compute Gaussian lats (north to south)
+ 978            lats = gaussian_latitudes(nlats)
+ 979            if lat1 < lat2:  # reverse them if necessary
+ 980                lats = lats[::-1]
+ 981            lons,lats = np.meshgrid(lons,lats)
+ 982        elif gdtn in {10,20,30,31,110}:
+ 983            # Mercator, Lambert Conformal, Stereographic, Albers Equal Area, Azimuthal Equidistant
+ 984            dx,dy = self.gridlengthXDirection, self.gridlengthYDirection
+ 985            lon1,lat1 = self.longitudeFirstGridpoint, self.latitudeFirstGridpoint
+ 986            pj = pyproj.Proj(self.projParameters)
+ 987            llcrnrx, llcrnry = pj(lon1,lat1)
+ 988            x = llcrnrx+dx*np.arange(self.nx)
+ 989            y = llcrnry+dy*np.arange(self.ny)
+ 990            x,y = np.meshgrid(x, y)
+ 991            lons,lats = pj(x, y, inverse=True)
+ 992        elif gdtn == 90:
+ 993            # Satellite Projection
+ 994            dx = self.gridlengthXDirection
+ 995            dy = self.gridlengthYDirection
+ 996            pj = pyproj.Proj(self.projParameters)
+ 997            x = dx*np.indices((self.ny,self.nx),'f')[1,:,:]
+ 998            x -= 0.5*x.max()
+ 999            y = dy*np.indices((self.ny,self.nx),'f')[0,:,:]
+1000            y -= 0.5*y.max()
+1001            lons,lats = pj(x,y,inverse=True)
+1002            # Set lons,lats to 1.e30 where undefined
+1003            abslons = np.fabs(lons)
+1004            abslats = np.fabs(lats)
+1005            lons = np.where(abslons < 1.e20, lons, 1.e30)
+1006            lats = np.where(abslats < 1.e20, lats, 1.e30)
+1007        elif gdtn == 32769:
+1008            # Special NCEP Grid, Rotated Lat/Lon, Arakawa E-Grid (Non-Staggered)
+1009            from grib2io.utils import arakawa_rotated_grid
+1010            from grib2io.utils.rotated_grid import DEG2RAD
+1011            di, dj = 0.0, 0.0
+1012            do_180 = False
+1013            idir = 1 if self.scanModeFlags[0] == 0 else -1
+1014            jdir = -1 if self.scanModeFlags[1] == 0 else 1
+1015            grid_oriented = 0 if self.resolutionAndComponentFlags[4] == 0 else 1
+1016            do_rot = 1 if grid_oriented == 1 else 0
+1017            la1 = self.latitudeFirstGridpoint
+1018            lo1 = self.longitudeFirstGridpoint
+1019            clon = self.longitudeCenterGridpoint
+1020            clat = self.latitudeCenterGridpoint
+1021            lasp = clat - 90.0
+1022            losp = clon
+1023            llat, llon = arakawa_rotated_grid.ll2rot(la1,lo1,lasp,losp)
+1024            la2, lo2 = arakawa_rotated_grid.rot2ll(-llat,-llon,lasp,losp)
+1025            rlat = -llat
+1026            rlon = -llon
+1027            if self.nx == 1:
+1028                di = 0.0
+1029            elif idir == 1:
+1030                ti = rlon
+1031                while ti < llon:
+1032                    ti += 360.0
+1033                di = (ti - llon)/float(self.nx-1)
+1034            else:
+1035                ti = llon
+1036                while ti < rlon:
+1037                    ti += 360.0
+1038                di = (ti - rlon)/float(self.nx-1)
+1039            if self.ny == 1:
+1040               dj = 0.0
+1041            else:
+1042                dj = (rlat - llat)/float(self.ny-1)
+1043                if dj < 0.0:
+1044                    dj = -dj
+1045            if idir == 1:
+1046                if llon > rlon:
+1047                    llon -= 360.0
+1048                if llon < 0 and rlon > 0:
+1049                    do_180 = True
+1050            else:
+1051                if rlon > llon:
+1052                    rlon -= 360.0
+1053                if rlon < 0 and llon > 0:
+1054                    do_180 = True
+1055            xlat1d = llat + (np.arange(self.ny)*jdir*dj)
+1056            xlon1d = llon + (np.arange(self.nx)*idir*di)
+1057            xlons, xlats = np.meshgrid(xlon1d,xlat1d)
+1058            rot2ll_vectorized = np.vectorize(arakawa_rotated_grid.rot2ll)
+1059            lats, lons = rot2ll_vectorized(xlats,xlons,lasp,losp)
+1060            if do_180:
+1061                lons = np.where(lons>180.0,lons-360.0,lons)
+1062            vector_rotation_angles_vectorized = np.vectorize(arakawa_rotated_grid.vector_rotation_angles)
+1063            rots = vector_rotation_angles_vectorized(lats, lons, clat, losp, xlats)
+1064            del xlat1d, xlon1d, xlats, xlons
+1065        else:
+1066            raise ValueError('Unsupported grid')
+1067
+1068        _latlon_datastore[self._sha1_section3] = dict(latitude=lats,longitude=lons)
+1069        try:
+1070            _latlon_datastore[self._sha1_section3]['vector_rotation_angles'] = rots
+1071        except(NameError):
+1072            pass
+1073
+1074        return lats, lons
 
@@ -3478,40 +3493,40 @@

Returns

-
1062    def map_keys(self):
-1063        """
-1064        Returns an unpacked data grid where integer grid values are replaced with
-1065        a string.in which the numeric value is a representation of.
-1066
-1067        These types of fields are cateogrical or classifications where data values 
-1068        do not represent an observable or predictable physical quantity. An example 
-1069        of such a field field would be [Dominant Precipitation Type -
-1070        DPTYPE](https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-201.shtml)
-1071
-1072        Returns
-1073        -------
-1074        **`numpy.ndarray`** of string values per element.
-1075        """
-1076        hold_auto_nans = _AUTO_NANS
-1077        set_auto_nans(False)
-1078        if (np.all(self.section1[0:2]==[7,14]) and self.shortName == 'PWTHER') or \
-1079        (np.all(self.section1[0:2]==[8,65535]) and self.shortName == 'WX'):
-1080            keys = utils.decode_wx_strings(self.section2)
-1081            if hasattr(self,'priMissingValue') and self.priMissingValue not in [None,0]:
-1082                keys[int(self.priMissingValue)] = 'Missing'
-1083            if hasattr(self,'secMissingValue') and self.secMissingValue not in [None,0]:
-1084                keys[int(self.secMissingValue)] = 'Missing'
-1085            u,inv = np.unique(self.data,return_inverse=True)
-1086            fld = np.array([keys[x] for x in u])[inv].reshape(self.data.shape)
-1087        else:
-1088            # For data whose units are defined in a code table (i.e. classification or mask)
-1089            tblname = re.findall(r'\d\.\d+',self.units,re.IGNORECASE)[0]
-1090            fld = self.data.astype(np.int32).astype(str)
-1091            tbl = tables.get_table(tblname,expand=True)
-1092            for val in np.unique(fld):
-1093                fld = np.where(fld==val,tbl[val],fld)
-1094        set_auto_nans(hold_auto_nans)
-1095        return fld
+            
1077    def map_keys(self):
+1078        """
+1079        Returns an unpacked data grid where integer grid values are replaced with
+1080        a string.in which the numeric value is a representation of.
+1081
+1082        These types of fields are cateogrical or classifications where data values 
+1083        do not represent an observable or predictable physical quantity. An example 
+1084        of such a field field would be [Dominant Precipitation Type -
+1085        DPTYPE](https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-201.shtml)
+1086
+1087        Returns
+1088        -------
+1089        **`numpy.ndarray`** of string values per element.
+1090        """
+1091        hold_auto_nans = _AUTO_NANS
+1092        set_auto_nans(False)
+1093        if (np.all(self.section1[0:2]==[7,14]) and self.shortName == 'PWTHER') or \
+1094        (np.all(self.section1[0:2]==[8,65535]) and self.shortName == 'WX'):
+1095            keys = utils.decode_wx_strings(self.section2)
+1096            if hasattr(self,'priMissingValue') and self.priMissingValue not in [None,0]:
+1097                keys[int(self.priMissingValue)] = 'Missing'
+1098            if hasattr(self,'secMissingValue') and self.secMissingValue not in [None,0]:
+1099                keys[int(self.secMissingValue)] = 'Missing'
+1100            u,inv = np.unique(self.data,return_inverse=True)
+1101            fld = np.array([keys[x] for x in u])[inv].reshape(self.data.shape)
+1102        else:
+1103            # For data whose units are defined in a code table (i.e. classification or mask)
+1104            tblname = re.findall(r'\d\.\d+',self.units,re.IGNORECASE)[0]
+1105            fld = self.data.astype(np.int32).astype(str)
+1106            tbl = tables.get_table(tblname,expand=True)
+1107            for val in np.unique(fld):
+1108                fld = np.where(fld==val,tbl[val],fld)
+1109        set_auto_nans(hold_auto_nans)
+1110        return fld
 
@@ -3541,31 +3556,31 @@

Returns

-
1098    def to_bytes(self, validate=True):
-1099        """
-1100        Return packed GRIB2 message in bytes format.
-1101
-1102        This will be Useful for exporting data in non-file formats. For example, 
-1103        can be used to output grib data directly to S3 using the boto3 client 
-1104        without the need to write a temporary file to upload first.
-1105
-1106        Parameters
-1107        ----------
-1108        **`validate : bool, optional`**
-1109            If `True` (DEFAULT), validates first/last four bytes for proper
-1110            formatting, else returns None. If `False`, message is output as is.
-1111
-1112        Returns
-1113        -------
-1114        Returns GRIB2 formatted message as bytes.
-1115        """
-1116        if validate:
-1117            if self._msg[0:4]+self._msg[-4:] == b'GRIB7777':
-1118                return self._msg
-1119            else:
-1120                return None
-1121        else:
-1122            return self._msg
+            
1113    def to_bytes(self, validate=True):
+1114        """
+1115        Return packed GRIB2 message in bytes format.
+1116
+1117        This will be Useful for exporting data in non-file formats. For example, 
+1118        can be used to output grib data directly to S3 using the boto3 client 
+1119        without the need to write a temporary file to upload first.
+1120
+1121        Parameters
+1122        ----------
+1123        **`validate : bool, optional`**
+1124            If `True` (DEFAULT), validates first/last four bytes for proper
+1125            formatting, else returns None. If `False`, message is output as is.
+1126
+1127        Returns
+1128        -------
+1129        Returns GRIB2 formatted message as bytes.
+1130        """
+1131        if validate:
+1132            if self._msg[0:4]+self._msg[-4:] == b'GRIB7777':
+1133                return self._msg
+1134            else:
+1135                return None
+1136        else:
+1137            return self._msg
 
@@ -3599,63 +3614,63 @@

Returns

-
1125    def interpolate(self, method, grid_def_out, method_options=None):
-1126        """
-1127        Perform grid spatial interpolation via the [NCEPLIBS-ip library](https://github.com/NOAA-EMC/NCEPLIBS-ip).
-1128
-1129        **IMPORTANT:**  This interpolate method only supports scalar interpolation. If you
-1130        need to perform vector interpolation, use the module-level `grib2io.interpolate` function.
-1131
-1132        Parameters
-1133        ----------
-1134        **`method : int or str`**
-1135            Interpolate method to use. This can either be an integer or string using
-1136            the following mapping:
-1137
-1138        | Interpolate Scheme | Integer Value |
-1139        | :---:              | :---:         |
-1140        | 'bilinear'         | 0             |
-1141        | 'bicubic'          | 1             |
-1142        | 'neighbor'         | 2             |
-1143        | 'budget'           | 3             |
-1144        | 'spectral'         | 4             |
-1145        | 'neighbor-budget'  | 6             |
+            
1140    def interpolate(self, method, grid_def_out, method_options=None):
+1141        """
+1142        Perform grid spatial interpolation via the [NCEPLIBS-ip library](https://github.com/NOAA-EMC/NCEPLIBS-ip).
+1143
+1144        **IMPORTANT:**  This interpolate method only supports scalar interpolation. If you
+1145        need to perform vector interpolation, use the module-level `grib2io.interpolate` function.
 1146
-1147        **`grid_def_out : grib2io.Grib2GridDef`**
-1148            Grib2GridDef object of the output grid.
-1149
-1150        **`method_options : list of ints, optional`**
-1151            Interpolation options. See the NCEPLIBS-ip doucmentation for
-1152            more information on how these are used.
-1153
-1154        Returns
-1155        -------
-1156        If interpolating to a grid, a new Grib2Message object is returned.  The GRIB2 metadata of
-1157        the new Grib2Message object is indentical to the input except where required to be different
-1158        because of the new grid specs.
-1159
-1160        If interpolating to station points, the interpolated data values are returned as a numpy.ndarray.
-1161        """
-1162        section0 = self.section0
-1163        section0[-1] = 0
-1164        gds = [0, grid_def_out.npoints, 0, 255, grid_def_out.gdtn]
-1165        section3 = np.concatenate((gds,grid_def_out.gdt))
-1166
-1167        msg = Grib2Message(section0,self.section1,self.section2,section3,
-1168                           self.section4,self.section5,self.bitMapFlag.value)
-1169
-1170        msg._msgnum = -1
-1171        msg._deflist = self._deflist
-1172        msg._coordlist = self._coordlist
-1173        shape = (msg.ny,msg.nx)
-1174        ndim = 2
-1175        if msg.typeOfValues == 0:
-1176            dtype = 'float32'
-1177        elif msg.typeOfValues == 1:
-1178            dtype = 'int32'
-1179        msg._data = interpolate(self.data,method,Grib2GridDef.from_section3(self.section3),grid_def_out,
-1180                                method_options=method_options).reshape(msg.ny,msg.nx)
-1181        return msg
+1147        Parameters
+1148        ----------
+1149        **`method : int or str`**
+1150            Interpolate method to use. This can either be an integer or string using
+1151            the following mapping:
+1152
+1153        | Interpolate Scheme | Integer Value |
+1154        | :---:              | :---:         |
+1155        | 'bilinear'         | 0             |
+1156        | 'bicubic'          | 1             |
+1157        | 'neighbor'         | 2             |
+1158        | 'budget'           | 3             |
+1159        | 'spectral'         | 4             |
+1160        | 'neighbor-budget'  | 6             |
+1161
+1162        **`grid_def_out : grib2io.Grib2GridDef`**
+1163            Grib2GridDef object of the output grid.
+1164
+1165        **`method_options : list of ints, optional`**
+1166            Interpolation options. See the NCEPLIBS-ip doucmentation for
+1167            more information on how these are used.
+1168
+1169        Returns
+1170        -------
+1171        If interpolating to a grid, a new Grib2Message object is returned.  The GRIB2 metadata of
+1172        the new Grib2Message object is indentical to the input except where required to be different
+1173        because of the new grid specs.
+1174
+1175        If interpolating to station points, the interpolated data values are returned as a numpy.ndarray.
+1176        """
+1177        section0 = self.section0
+1178        section0[-1] = 0
+1179        gds = [0, grid_def_out.npoints, 0, 255, grid_def_out.gdtn]
+1180        section3 = np.concatenate((gds,grid_def_out.gdt))
+1181
+1182        msg = Grib2Message(section0,self.section1,self.section2,section3,
+1183                           self.section4,self.section5,self.bitMapFlag.value)
+1184
+1185        msg._msgnum = -1
+1186        msg._deflist = self._deflist
+1187        msg._coordlist = self._coordlist
+1188        shape = (msg.ny,msg.nx)
+1189        ndim = 2
+1190        if msg.typeOfValues == 0:
+1191            dtype = 'float32'
+1192        elif msg.typeOfValues == 1:
+1193            dtype = 'int32'
+1194        msg._data = interpolate(self.data,method,Grib2GridDef.from_section3(self.section3),grid_def_out,
+1195                                method_options=method_options).reshape(msg.ny,msg.nx)
+1196        return msg
 
@@ -3761,115 +3776,115 @@

Returns

-
1317def interpolate(a, method, grid_def_in, grid_def_out, method_options=None):
-1318    """
-1319    This is the module-level interpolation function that interfaces with the grib2io_interp
-1320    component pakcage that interfaces to the [NCEPLIBS-ip library](https://github.com/NOAA-EMC/NCEPLIBS-ip).
-1321
-1322    Parameters
-1323    ----------
-1324
-1325    **`a : numpy.ndarray or tuple`**
-1326        Input data.  If `a` is a `numpy.ndarray`, scalar interpolation will be
-1327        performed.  If `a` is a `tuple`, then vector interpolation will be performed
-1328        with the assumption that u = a[0] and v = a[1] and are both `numpy.ndarray`.
-1329
-1330        These data are expected to be in 2-dimensional form with shape (ny, nx) or
-1331        3-dimensional (:, ny, nx) where the 1st dimension represents another spatial,
-1332        temporal, or classification (i.e. ensemble members) dimension. The function will
-1333        properly flatten the (ny,nx) dimensions into (nx * ny) acceptable for input into
-1334        the interpolation subroutines.
-1335
-1336    **`method : int or str`**
-1337        Interpolate method to use. This can either be an integer or string using
-1338        the following mapping:
+            
1332def interpolate(a, method, grid_def_in, grid_def_out, method_options=None):
+1333    """
+1334    This is the module-level interpolation function that interfaces with the grib2io_interp
+1335    component pakcage that interfaces to the [NCEPLIBS-ip library](https://github.com/NOAA-EMC/NCEPLIBS-ip).
+1336
+1337    Parameters
+1338    ----------
 1339
-1340    | Interpolate Scheme | Integer Value |
-1341    | :---:              | :---:         |
-1342    | 'bilinear'         | 0             |
-1343    | 'bicubic'          | 1             |
-1344    | 'neighbor'         | 2             |
-1345    | 'budget'           | 3             |
-1346    | 'spectral'         | 4             |
-1347    | 'neighbor-budget'  | 6             |
-1348
-1349    **`grid_def_in : grib2io.Grib2GridDef`**
-1350        Grib2GridDef object for the input grid.
-1351
-1352    **`grid_def_out : grib2io.Grib2GridDef`**
-1353        Grib2GridDef object for the output grid or station points.
+1340    **`a : numpy.ndarray or tuple`**
+1341        Input data.  If `a` is a `numpy.ndarray`, scalar interpolation will be
+1342        performed.  If `a` is a `tuple`, then vector interpolation will be performed
+1343        with the assumption that u = a[0] and v = a[1] and are both `numpy.ndarray`.
+1344
+1345        These data are expected to be in 2-dimensional form with shape (ny, nx) or
+1346        3-dimensional (:, ny, nx) where the 1st dimension represents another spatial,
+1347        temporal, or classification (i.e. ensemble members) dimension. The function will
+1348        properly flatten the (ny,nx) dimensions into (nx * ny) acceptable for input into
+1349        the interpolation subroutines.
+1350
+1351    **`method : int or str`**
+1352        Interpolate method to use. This can either be an integer or string using
+1353        the following mapping:
 1354
-1355    **`method_options : list of ints, optional`**
-1356        Interpolation options. See the NCEPLIBS-ip doucmentation for
-1357        more information on how these are used.
-1358
-1359    Returns
-1360    -------
-1361    Returns a `numpy.ndarray` when scalar interpolation is performed or
-1362    a `tuple` of `numpy.ndarray`s when vector interpolation is performed
-1363    with the assumptions that 0-index is the interpolated u and 1-index
-1364    is the interpolated v.
-1365    """
-1366    from grib2io_interp import interpolate
-1367
-1368    if isinstance(method,int) and method not in _interp_schemes.values():
-1369        raise ValueError('Invalid interpolation method.')
-1370    elif isinstance(method,str):
-1371        if method in _interp_schemes.keys():
-1372            method = _interp_schemes[method]
-1373        else:
-1374            raise ValueError('Invalid interpolation method.')
-1375
-1376    if method_options is None:
-1377        method_options = np.zeros((20),dtype=np.int32)
-1378        if method in {3,6}:
-1379            method_options[0:2] = -1
-1380
-1381    ni = grid_def_in.npoints
-1382    no = grid_def_out.npoints
-1383
-1384    # Adjust shape of input array(s)
-1385    a,newshp = _adjust_array_shape_for_interp(a,grid_def_in,grid_def_out)
-1386
-1387    # Set lats and lons if stations, else create array for grids.
-1388    if grid_def_out.gdtn == -1:
-1389        rlat = np.array(grid_def_out.lats,dtype=np.float32)
-1390        rlon = np.array(grid_def_out.lons,dtype=np.float32)
-1391    else:
-1392        rlat = np.zeros((no),dtype=np.float32)
-1393        rlon = np.zeros((no),dtype=np.float32)
-1394
-1395    # Call interpolation subroutines according to type of a.
-1396    if isinstance(a,np.ndarray):
-1397        # Scalar
-1398        ibi = np.zeros((a.shape[0]),dtype=np.int32)
-1399        li = np.zeros(a.shape,dtype=np.int32)
-1400        go = np.zeros((a.shape[0],no),dtype=np.float32)
-1401        no,ibo,lo,iret = interpolate.interpolate_scalar(method,method_options,
-1402                                                 grid_def_in.gdtn,grid_def_in.gdt,
-1403                                                 grid_def_out.gdtn,grid_def_out.gdt,
-1404                                                 ibi,li.T,a.T,go.T,rlat,rlon)
-1405        out = go.reshape(newshp)
-1406    elif isinstance(a,tuple):
-1407        # Vector
-1408        ibi = np.zeros((a[0].shape[0]),dtype=np.int32)
-1409        li = np.zeros(a[0].shape,dtype=np.int32)
-1410        uo = np.zeros((a[0].shape[0],no),dtype=np.float32)
-1411        vo = np.zeros((a[1].shape[0],no),dtype=np.float32)
-1412        crot = np.ones((no),dtype=np.float32)
-1413        srot = np.zeros((no),dtype=np.float32)
-1414        no,ibo,lo,iret = interpolate.interpolate_vector(method,method_options,
-1415                                                 grid_def_in.gdtn,grid_def_in.gdt,
-1416                                                 grid_def_out.gdtn,grid_def_out.gdt,
-1417                                                 ibi,li.T,a[0].T,a[1].T,uo.T,vo.T,
-1418                                                 rlat,rlon,crot,srot)
-1419        del crot
-1420        del srot
-1421        out = (uo.reshape(newshp),vo.reshape(newshp))
-1422
-1423    del rlat
-1424    del rlon
-1425    return out
+1355    | Interpolate Scheme | Integer Value |
+1356    | :---:              | :---:         |
+1357    | 'bilinear'         | 0             |
+1358    | 'bicubic'          | 1             |
+1359    | 'neighbor'         | 2             |
+1360    | 'budget'           | 3             |
+1361    | 'spectral'         | 4             |
+1362    | 'neighbor-budget'  | 6             |
+1363
+1364    **`grid_def_in : grib2io.Grib2GridDef`**
+1365        Grib2GridDef object for the input grid.
+1366
+1367    **`grid_def_out : grib2io.Grib2GridDef`**
+1368        Grib2GridDef object for the output grid or station points.
+1369
+1370    **`method_options : list of ints, optional`**
+1371        Interpolation options. See the NCEPLIBS-ip doucmentation for
+1372        more information on how these are used.
+1373
+1374    Returns
+1375    -------
+1376    Returns a `numpy.ndarray` when scalar interpolation is performed or
+1377    a `tuple` of `numpy.ndarray`s when vector interpolation is performed
+1378    with the assumptions that 0-index is the interpolated u and 1-index
+1379    is the interpolated v.
+1380    """
+1381    from grib2io_interp import interpolate
+1382
+1383    if isinstance(method,int) and method not in _interp_schemes.values():
+1384        raise ValueError('Invalid interpolation method.')
+1385    elif isinstance(method,str):
+1386        if method in _interp_schemes.keys():
+1387            method = _interp_schemes[method]
+1388        else:
+1389            raise ValueError('Invalid interpolation method.')
+1390
+1391    if method_options is None:
+1392        method_options = np.zeros((20),dtype=np.int32)
+1393        if method in {3,6}:
+1394            method_options[0:2] = -1
+1395
+1396    ni = grid_def_in.npoints
+1397    no = grid_def_out.npoints
+1398
+1399    # Adjust shape of input array(s)
+1400    a,newshp = _adjust_array_shape_for_interp(a,grid_def_in,grid_def_out)
+1401
+1402    # Set lats and lons if stations, else create array for grids.
+1403    if grid_def_out.gdtn == -1:
+1404        rlat = np.array(grid_def_out.lats,dtype=np.float32)
+1405        rlon = np.array(grid_def_out.lons,dtype=np.float32)
+1406    else:
+1407        rlat = np.zeros((no),dtype=np.float32)
+1408        rlon = np.zeros((no),dtype=np.float32)
+1409
+1410    # Call interpolation subroutines according to type of a.
+1411    if isinstance(a,np.ndarray):
+1412        # Scalar
+1413        ibi = np.zeros((a.shape[0]),dtype=np.int32)
+1414        li = np.zeros(a.shape,dtype=np.int32)
+1415        go = np.zeros((a.shape[0],no),dtype=np.float32)
+1416        no,ibo,lo,iret = interpolate.interpolate_scalar(method,method_options,
+1417                                                 grid_def_in.gdtn,grid_def_in.gdt,
+1418                                                 grid_def_out.gdtn,grid_def_out.gdt,
+1419                                                 ibi,li.T,a.T,go.T,rlat,rlon)
+1420        out = go.reshape(newshp)
+1421    elif isinstance(a,tuple):
+1422        # Vector
+1423        ibi = np.zeros((a[0].shape[0]),dtype=np.int32)
+1424        li = np.zeros(a[0].shape,dtype=np.int32)
+1425        uo = np.zeros((a[0].shape[0],no),dtype=np.float32)
+1426        vo = np.zeros((a[1].shape[0],no),dtype=np.float32)
+1427        crot = np.ones((no),dtype=np.float32)
+1428        srot = np.zeros((no),dtype=np.float32)
+1429        no,ibo,lo,iret = interpolate.interpolate_vector(method,method_options,
+1430                                                 grid_def_in.gdtn,grid_def_in.gdt,
+1431                                                 grid_def_out.gdtn,grid_def_out.gdt,
+1432                                                 ibi,li.T,a[0].T,a[1].T,uo.T,vo.T,
+1433                                                 rlat,rlon,crot,srot)
+1434        del crot
+1435        del srot
+1436        out = (uo.reshape(newshp),vo.reshape(newshp))
+1437
+1438    del rlat
+1439    del rlon
+1440    return out
 
@@ -3960,135 +3975,135 @@

Returns

-
1428def interpolate_to_stations(a, method, grid_def_in, lats, lons, method_options=None):
-1429    """
-1430    This is the module-level interpolation function **for interpolation to stations**
-1431    that interfaces with the grib2io_interp component pakcage that interfaces to
-1432    the [NCEPLIBS-ip library](https://github.com/NOAA-EMC/NCEPLIBS-ip). It supports
-1433    scalar and vector interpolation according to the type of object a.
-1434
-1435    Parameters
-1436    ----------
-1437    **`a : numpy.ndarray or tuple`**
-1438        Input data.  If `a` is a `numpy.ndarray`, scalar interpolation will be
-1439        performed.  If `a` is a `tuple`, then vector interpolation will be performed
-1440        with the assumption that u = a[0] and v = a[1] and are both `numpy.ndarray`.
-1441
-1442        These data are expected to be in 2-dimensional form with shape (ny, nx) or
-1443        3-dimensional (:, ny, nx) where the 1st dimension represents another spatial,
-1444        temporal, or classification (i.e. ensemble members) dimension. The function will
-1445        properly flatten the (ny,nx) dimensions into (nx * ny) acceptable for input into
-1446        the interpolation subroutines.
-1447
-1448    **`method : int or str`**
-1449        Interpolate method to use. This can either be an integer or string using
-1450        the following mapping:
-1451
-1452    | Interpolate Scheme | Integer Value |
-1453    | :---:              | :---:         |
-1454    | 'bilinear'         | 0             |
-1455    | 'bicubic'          | 1             |
-1456    | 'neighbor'         | 2             |
-1457    | 'budget'           | 3             |
-1458    | 'spectral'         | 4             |
-1459    | 'neighbor-budget'  | 6             |
-1460
-1461    **`grid_def_in : grib2io.Grib2GridDef`**
-1462        Grib2GridDef object for the input grid.
-1463
-1464    **`lats : numpy.ndarray or list`**
-1465        Latitudes for station points
+            
1443def interpolate_to_stations(a, method, grid_def_in, lats, lons, method_options=None):
+1444    """
+1445    This is the module-level interpolation function **for interpolation to stations**
+1446    that interfaces with the grib2io_interp component pakcage that interfaces to
+1447    the [NCEPLIBS-ip library](https://github.com/NOAA-EMC/NCEPLIBS-ip). It supports
+1448    scalar and vector interpolation according to the type of object a.
+1449
+1450    Parameters
+1451    ----------
+1452    **`a : numpy.ndarray or tuple`**
+1453        Input data.  If `a` is a `numpy.ndarray`, scalar interpolation will be
+1454        performed.  If `a` is a `tuple`, then vector interpolation will be performed
+1455        with the assumption that u = a[0] and v = a[1] and are both `numpy.ndarray`.
+1456
+1457        These data are expected to be in 2-dimensional form with shape (ny, nx) or
+1458        3-dimensional (:, ny, nx) where the 1st dimension represents another spatial,
+1459        temporal, or classification (i.e. ensemble members) dimension. The function will
+1460        properly flatten the (ny,nx) dimensions into (nx * ny) acceptable for input into
+1461        the interpolation subroutines.
+1462
+1463    **`method : int or str`**
+1464        Interpolate method to use. This can either be an integer or string using
+1465        the following mapping:
 1466
-1467    **`lons : numpy.ndarray or list`**
-1468        Longitudes for station points
-1469
-1470    **`method_options : list of ints, optional`**
-1471        Interpolation options. See the NCEPLIBS-ip doucmentation for
-1472        more information on how these are used.
-1473
-1474    Returns
-1475    -------
-1476    Returns a `numpy.ndarray` when scalar interpolation is performed or
-1477    a `tuple` of `numpy.ndarray`s when vector interpolation is performed
-1478    with the assumptions that 0-index is the interpolated u and 1-index
-1479    is the interpolated v.
-1480    """
-1481    from grib2io_interp import interpolate
-1482
-1483    if isinstance(method,int) and method not in _interp_schemes.values():
-1484        raise ValueError('Invalid interpolation method.')
-1485    elif isinstance(method,str):
-1486        if method in _interp_schemes.keys():
-1487            method = _interp_schemes[method]
-1488        else:
-1489            raise ValueError('Invalid interpolation method.')
-1490
-1491    if method_options is None:
-1492        method_options = np.zeros((20),dtype=np.int32)
-1493        if method in {3,6}:
-1494            method_options[0:2] = -1
-1495
-1496    # Check lats and lons
-1497    if isinstance(lats,list):
-1498        nlats = len(lats)
-1499    elif isinstance(lats,np.ndarray) and len(lats.shape) == 1:
-1500        nlats = lats.shape[0]
-1501    else:
-1502        raise ValueError('Station latitudes must be a list or 1-D NumPy array.')
-1503    if isinstance(lons,list):
-1504        nlons = len(lons)
-1505    elif isinstance(lons,np.ndarray) and len(lons.shape) == 1:
-1506        nlons = lons.shape[0]
-1507    else:
-1508        raise ValueError('Station longitudes must be a list or 1-D NumPy array.')
-1509    if nlats != nlons:
-1510        raise ValueError('Station lats and lons must be same size.')
-1511
-1512    ni = grid_def_in.npoints
-1513    no = nlats
-1514
-1515    # Adjust shape of input array(s)
-1516    a,newshp = _adjust_array_shape_for_interp_stations(a,grid_def_in,no)
-1517
-1518    # Set lats and lons if stations
-1519    rlat = np.array(lats,dtype=np.float32)
-1520    rlon = np.array(lons,dtype=np.float32)
-1521
-1522    # Use gdtn = -1 for stations and an empty template array
-1523    gdtn = -1
-1524    gdt = np.zeros((200),dtype=np.int32)
-1525
-1526    # Call interpolation subroutines according to type of a.
-1527    if isinstance(a,np.ndarray):
-1528        # Scalar
-1529        ibi = np.zeros((a.shape[0]),dtype=np.int32)
-1530        li = np.zeros(a.shape,dtype=np.int32)
-1531        go = np.zeros((a.shape[0],no),dtype=np.float32)
-1532        no,ibo,lo,iret = interpolate.interpolate_scalar(method,method_options,
-1533                                                 grid_def_in.gdtn,grid_def_in.gdt,
-1534                                                 gdtn,gdt,
-1535                                                 ibi,li.T,a.T,go.T,rlat,rlon)
-1536        out = go.reshape(newshp)
-1537    elif isinstance(a,tuple):
-1538        # Vector
-1539        ibi = np.zeros((a[0].shape[0]),dtype=np.int32)
-1540        li = np.zeros(a[0].shape,dtype=np.int32)
-1541        uo = np.zeros((a[0].shape[0],no),dtype=np.float32)
-1542        vo = np.zeros((a[1].shape[0],no),dtype=np.float32)
-1543        crot = np.ones((no),dtype=np.float32)
-1544        srot = np.zeros((no),dtype=np.float32)
-1545        no,ibo,lo,iret = interpolate.interpolate_vector(method,method_options,
-1546                                                 grid_def_in.gdtn,grid_def_in.gdt,
-1547                                                 gdtn,gdt,
-1548                                                 ibi,li.T,a[0].T,a[1].T,uo.T,vo.T,
-1549                                                 rlat,rlon,crot,srot)
-1550        del crot
-1551        del srot
-1552        out = (uo.reshape(newshp),vo.reshape(newshp))
-1553
-1554    del rlat
-1555    del rlon
-1556    return out
+1467    | Interpolate Scheme | Integer Value |
+1468    | :---:              | :---:         |
+1469    | 'bilinear'         | 0             |
+1470    | 'bicubic'          | 1             |
+1471    | 'neighbor'         | 2             |
+1472    | 'budget'           | 3             |
+1473    | 'spectral'         | 4             |
+1474    | 'neighbor-budget'  | 6             |
+1475
+1476    **`grid_def_in : grib2io.Grib2GridDef`**
+1477        Grib2GridDef object for the input grid.
+1478
+1479    **`lats : numpy.ndarray or list`**
+1480        Latitudes for station points
+1481
+1482    **`lons : numpy.ndarray or list`**
+1483        Longitudes for station points
+1484
+1485    **`method_options : list of ints, optional`**
+1486        Interpolation options. See the NCEPLIBS-ip doucmentation for
+1487        more information on how these are used.
+1488
+1489    Returns
+1490    -------
+1491    Returns a `numpy.ndarray` when scalar interpolation is performed or
+1492    a `tuple` of `numpy.ndarray`s when vector interpolation is performed
+1493    with the assumptions that 0-index is the interpolated u and 1-index
+1494    is the interpolated v.
+1495    """
+1496    from grib2io_interp import interpolate
+1497
+1498    if isinstance(method,int) and method not in _interp_schemes.values():
+1499        raise ValueError('Invalid interpolation method.')
+1500    elif isinstance(method,str):
+1501        if method in _interp_schemes.keys():
+1502            method = _interp_schemes[method]
+1503        else:
+1504            raise ValueError('Invalid interpolation method.')
+1505
+1506    if method_options is None:
+1507        method_options = np.zeros((20),dtype=np.int32)
+1508        if method in {3,6}:
+1509            method_options[0:2] = -1
+1510
+1511    # Check lats and lons
+1512    if isinstance(lats,list):
+1513        nlats = len(lats)
+1514    elif isinstance(lats,np.ndarray) and len(lats.shape) == 1:
+1515        nlats = lats.shape[0]
+1516    else:
+1517        raise ValueError('Station latitudes must be a list or 1-D NumPy array.')
+1518    if isinstance(lons,list):
+1519        nlons = len(lons)
+1520    elif isinstance(lons,np.ndarray) and len(lons.shape) == 1:
+1521        nlons = lons.shape[0]
+1522    else:
+1523        raise ValueError('Station longitudes must be a list or 1-D NumPy array.')
+1524    if nlats != nlons:
+1525        raise ValueError('Station lats and lons must be same size.')
+1526
+1527    ni = grid_def_in.npoints
+1528    no = nlats
+1529
+1530    # Adjust shape of input array(s)
+1531    a,newshp = _adjust_array_shape_for_interp_stations(a,grid_def_in,no)
+1532
+1533    # Set lats and lons if stations
+1534    rlat = np.array(lats,dtype=np.float32)
+1535    rlon = np.array(lons,dtype=np.float32)
+1536
+1537    # Use gdtn = -1 for stations and an empty template array
+1538    gdtn = -1
+1539    gdt = np.zeros((200),dtype=np.int32)
+1540
+1541    # Call interpolation subroutines according to type of a.
+1542    if isinstance(a,np.ndarray):
+1543        # Scalar
+1544        ibi = np.zeros((a.shape[0]),dtype=np.int32)
+1545        li = np.zeros(a.shape,dtype=np.int32)
+1546        go = np.zeros((a.shape[0],no),dtype=np.float32)
+1547        no,ibo,lo,iret = interpolate.interpolate_scalar(method,method_options,
+1548                                                 grid_def_in.gdtn,grid_def_in.gdt,
+1549                                                 gdtn,gdt,
+1550                                                 ibi,li.T,a.T,go.T,rlat,rlon)
+1551        out = go.reshape(newshp)
+1552    elif isinstance(a,tuple):
+1553        # Vector
+1554        ibi = np.zeros((a[0].shape[0]),dtype=np.int32)
+1555        li = np.zeros(a[0].shape,dtype=np.int32)
+1556        uo = np.zeros((a[0].shape[0],no),dtype=np.float32)
+1557        vo = np.zeros((a[1].shape[0],no),dtype=np.float32)
+1558        crot = np.ones((no),dtype=np.float32)
+1559        srot = np.zeros((no),dtype=np.float32)
+1560        no,ibo,lo,iret = interpolate.interpolate_vector(method,method_options,
+1561                                                 grid_def_in.gdtn,grid_def_in.gdt,
+1562                                                 gdtn,gdt,
+1563                                                 ibi,li.T,a[0].T,a[1].T,uo.T,vo.T,
+1564                                                 rlat,rlon,crot,srot)
+1565        del crot
+1566        del srot
+1567        out = (uo.reshape(newshp),vo.reshape(newshp))
+1568
+1569    del rlat
+1570    del rlon
+1571    return out
 
@@ -4185,36 +4200,36 @@

Returns

-
1559@dataclass
-1560class Grib2GridDef:
-1561    """
-1562    Class to hold GRIB2 Grid Definition Template Number and Template as
-1563    class attributes. This allows for cleaner looking code when passing these
-1564    metadata around.  For example, the `grib2io._Grib2Message.interpolate`
-1565    method and `grib2io.interpolate` function accepts these objects.
-1566    """
-1567    gdtn: int
-1568    gdt: np.array
-1569
-1570    @classmethod
-1571    def from_section3(cls, section3):
-1572        return cls(section3[4],section3[5:])
-1573
-1574    @property
-1575    def nx(self):
-1576        return self.gdt[7]
-1577
-1578    @property
-1579    def ny(self):
-1580        return self.gdt[8]
-1581
-1582    @property
-1583    def npoints(self):
-1584        return self.gdt[7] * self.gdt[8]
-1585
-1586    @property
-1587    def shape(self):
-1588        return (self.ny, self.nx)
+            
1574@dataclass
+1575class Grib2GridDef:
+1576    """
+1577    Class to hold GRIB2 Grid Definition Template Number and Template as
+1578    class attributes. This allows for cleaner looking code when passing these
+1579    metadata around.  For example, the `grib2io._Grib2Message.interpolate`
+1580    method and `grib2io.interpolate` function accepts these objects.
+1581    """
+1582    gdtn: int
+1583    gdt: np.array
+1584
+1585    @classmethod
+1586    def from_section3(cls, section3):
+1587        return cls(section3[4],section3[5:])
+1588
+1589    @property
+1590    def nx(self):
+1591        return self.gdt[7]
+1592
+1593    @property
+1594    def ny(self):
+1595        return self.gdt[8]
+1596
+1597    @property
+1598    def npoints(self):
+1599        return self.gdt[7] * self.gdt[8]
+1600
+1601    @property
+1602    def shape(self):
+1603        return (self.ny, self.nx)
 
@@ -4271,9 +4286,9 @@

Returns

-
1570    @classmethod
-1571    def from_section3(cls, section3):
-1572        return cls(section3[4],section3[5:])
+            
1585    @classmethod
+1586    def from_section3(cls, section3):
+1587        return cls(section3[4],section3[5:])
 
@@ -4289,9 +4304,9 @@

Returns

-
1574    @property
-1575    def nx(self):
-1576        return self.gdt[7]
+            
1589    @property
+1590    def nx(self):
+1591        return self.gdt[7]
 
@@ -4307,9 +4322,9 @@

Returns

-
1578    @property
-1579    def ny(self):
-1580        return self.gdt[8]
+            
1593    @property
+1594    def ny(self):
+1595        return self.gdt[8]
 
@@ -4325,9 +4340,9 @@

Returns

-
1582    @property
-1583    def npoints(self):
-1584        return self.gdt[7] * self.gdt[8]
+            
1597    @property
+1598    def npoints(self):
+1599        return self.gdt[7] * self.gdt[8]
 
@@ -4343,9 +4358,9 @@

Returns

-
1586    @property
-1587    def shape(self):
-1588        return (self.ny, self.nx)
+            
1601    @property
+1602    def shape(self):
+1603        return (self.ny, self.nx)
 
diff --git a/docs/grib2io/tables/section4_discipline2.html b/docs/grib2io/tables/section4_discipline2.html index db43f1a..9bd30e3 100644 --- a/docs/grib2io/tables/section4_discipline2.html +++ b/docs/grib2io/tables/section4_discipline2.html @@ -219,7 +219,7 @@

151'26':['Soil Heat Flux','W m-2','SHFLX'], 152'27':['Soil Depth','m','SOILDEP'], 153'28':['Snow Temperature','K','SNOWTMP'], -154'29':['Ice Temperature','K','ICETEMP'], +154'29':['Ice Temperature','K','ICETMP'], 155'30':['Soil wetness index','Numeric','SWET'], 156'31-191':['Reserved','unknown','unknown'], 157'192-254':['Reserved for Local Use','unknown','unknown'], @@ -321,7 +321,7 @@

table_4_2_2_3 = - {'0': ['Soil Type', 'See Table 4.213', 'SOTYP'], '1': ['Upper Layer Soil Temperature', 'K', 'UPLST'], '2': ['Upper Layer Soil Moisture', 'kg m-3', 'UPLSM'], '3': ['Lower Layer Soil Moisture', 'kg m-3', 'LOWLSM'], '4': ['Bottom Layer Soil Temperature', 'K', 'BOTLST'], '5': ['Liquid Volumetric Soil Moisture(non-frozen)', 'Proportion', 'SOILL'], '6': ['Number of Soil Layers in Root Zone', 'Numeric', 'RLYRS'], '7': ['Transpiration Stress-onset (soil moisture)', 'Proportion', 'SMREF'], '8': ['Direct Evaporation Cease (soil moisture)', 'Proportion', 'SMDRY'], '9': ['Soil Porosity', 'Proportion', 'POROS'], '10': ['Liquid Volumetric Soil Moisture (Non-Frozen)', 'm3 m-3', 'LIQVSM'], '11': ['Volumetric Transpiration Stree-Onset(Soil Moisture)', 'm3 m-3', 'VOLTSO'], '12': ['Transpiration Stree-Onset(Soil Moisture)', 'kg m-3', 'TRANSO'], '13': ['Volumetric Direct Evaporation Cease(Soil Moisture)', 'm3 m-3', 'VOLDEC'], '14': ['Direct Evaporation Cease(Soil Moisture)', 'kg m-3', 'DIREC'], '15': ['Soil Porosity', 'm3 m-3', 'SOILP'], '16': ['Volumetric Saturation Of Soil Moisture', 'm3 m-3', 'VSOSM'], '17': ['Saturation Of Soil Moisture', 'kg m-3', 'SATOSM'], '18': ['Soil Temperature', 'K', 'SOILTMP'], '19': ['Soil Moisture', 'kg m-3', 'SOILMOI'], '20': ['Column-Integrated Soil Moisture', 'kg m-2', 'CISOILM'], '21': ['Soil Ice', 'kg m-3', 'SOILICE'], '22': ['Column-Integrated Soil Ice', 'kg m-2', 'CISICE'], '23': ['Liquid Water in Snow Pack', 'kg m-2', 'LWSNWP'], '24': ['Frost Index', 'kg day-1', 'FRSTINX'], '25': ['Snow Depth at Elevation Bands', 'kg m-2', 'SNWDEB'], '26': ['Soil Heat Flux', 'W m-2', 'SHFLX'], '27': ['Soil Depth', 'm', 'SOILDEP'], '28': ['Snow Temperature', 'K', 'SNOWTMP'], '29': ['Ice Temperature', 'K', 'ICETEMP'], '30': ['Soil wetness index', 'Numeric', 'SWET'], '31-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Liquid Volumetric Soil Moisture (non Frozen)', 'Proportion', 'SOILL'], '193': ['Number of Soil Layers in Root Zone', 'non-dim', 'RLYRS'], '194': ['Surface Slope Type', 'Index', 'SLTYP'], '195': ['Transpiration Stress-onset (soil moisture)', 'Proportion', 'SMREF'], '196': ['Direct Evaporation Cease (soil moisture)', 'Proportion', 'SMDRY'], '197': ['Soil Porosity', 'Proportion', 'POROS'], '198': ['Direct Evaporation from Bare Soil', 'W m-2', 'EVBS'], '199': ['Land Surface Precipitation Accumulation', 'kg m-2', 'LSPA'], '200': ['Bare Soil Surface Skin temperature', 'K', 'BARET'], '201': ['Average Surface Skin Temperature', 'K', 'AVSFT'], '202': ['Effective Radiative Skin Temperature', 'K', 'RADT'], '203': ['Field Capacity', 'Fraction', 'FLDCP'], '204': ['Soil Moisture Availability In The Top Soil Layer', '%', 'MSTAV'], '255': ['Missing', 'unknown', 'unknown']} + {'0': ['Soil Type', 'See Table 4.213', 'SOTYP'], '1': ['Upper Layer Soil Temperature', 'K', 'UPLST'], '2': ['Upper Layer Soil Moisture', 'kg m-3', 'UPLSM'], '3': ['Lower Layer Soil Moisture', 'kg m-3', 'LOWLSM'], '4': ['Bottom Layer Soil Temperature', 'K', 'BOTLST'], '5': ['Liquid Volumetric Soil Moisture(non-frozen)', 'Proportion', 'SOILL'], '6': ['Number of Soil Layers in Root Zone', 'Numeric', 'RLYRS'], '7': ['Transpiration Stress-onset (soil moisture)', 'Proportion', 'SMREF'], '8': ['Direct Evaporation Cease (soil moisture)', 'Proportion', 'SMDRY'], '9': ['Soil Porosity', 'Proportion', 'POROS'], '10': ['Liquid Volumetric Soil Moisture (Non-Frozen)', 'm3 m-3', 'LIQVSM'], '11': ['Volumetric Transpiration Stree-Onset(Soil Moisture)', 'm3 m-3', 'VOLTSO'], '12': ['Transpiration Stree-Onset(Soil Moisture)', 'kg m-3', 'TRANSO'], '13': ['Volumetric Direct Evaporation Cease(Soil Moisture)', 'm3 m-3', 'VOLDEC'], '14': ['Direct Evaporation Cease(Soil Moisture)', 'kg m-3', 'DIREC'], '15': ['Soil Porosity', 'm3 m-3', 'SOILP'], '16': ['Volumetric Saturation Of Soil Moisture', 'm3 m-3', 'VSOSM'], '17': ['Saturation Of Soil Moisture', 'kg m-3', 'SATOSM'], '18': ['Soil Temperature', 'K', 'SOILTMP'], '19': ['Soil Moisture', 'kg m-3', 'SOILMOI'], '20': ['Column-Integrated Soil Moisture', 'kg m-2', 'CISOILM'], '21': ['Soil Ice', 'kg m-3', 'SOILICE'], '22': ['Column-Integrated Soil Ice', 'kg m-2', 'CISICE'], '23': ['Liquid Water in Snow Pack', 'kg m-2', 'LWSNWP'], '24': ['Frost Index', 'kg day-1', 'FRSTINX'], '25': ['Snow Depth at Elevation Bands', 'kg m-2', 'SNWDEB'], '26': ['Soil Heat Flux', 'W m-2', 'SHFLX'], '27': ['Soil Depth', 'm', 'SOILDEP'], '28': ['Snow Temperature', 'K', 'SNOWTMP'], '29': ['Ice Temperature', 'K', 'ICETMP'], '30': ['Soil wetness index', 'Numeric', 'SWET'], '31-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Liquid Volumetric Soil Moisture (non Frozen)', 'Proportion', 'SOILL'], '193': ['Number of Soil Layers in Root Zone', 'non-dim', 'RLYRS'], '194': ['Surface Slope Type', 'Index', 'SLTYP'], '195': ['Transpiration Stress-onset (soil moisture)', 'Proportion', 'SMREF'], '196': ['Direct Evaporation Cease (soil moisture)', 'Proportion', 'SMDRY'], '197': ['Soil Porosity', 'Proportion', 'POROS'], '198': ['Direct Evaporation from Bare Soil', 'W m-2', 'EVBS'], '199': ['Land Surface Precipitation Accumulation', 'kg m-2', 'LSPA'], '200': ['Bare Soil Surface Skin temperature', 'K', 'BARET'], '201': ['Average Surface Skin Temperature', 'K', 'AVSFT'], '202': ['Effective Radiative Skin Temperature', 'K', 'RADT'], '203': ['Field Capacity', 'Fraction', 'FLDCP'], '204': ['Soil Moisture Availability In The Top Soil Layer', '%', 'MSTAV'], '255': ['Missing', 'unknown', 'unknown']}
diff --git a/docs/grib2io/templates.html b/docs/grib2io/templates.html index 735e75b..9d2cc76 100644 --- a/docs/grib2io/templates.html +++ b/docs/grib2io/templates.html @@ -3,7 +3,7 @@ - + grib2io.templates API documentation @@ -4335,13 +4335,20 @@

Attributes

-
+ +
definition - + +
- +
74    @property
+75    def definition(self):
+76        return tables.get_value_from_table(self.value,self.table)
+
+ +
diff --git a/docs/grib2io/utils.html b/docs/grib2io/utils.html index 69b18ee..8a4bbeb 100644 --- a/docs/grib2io/utils.html +++ b/docs/grib2io/utils.html @@ -3,7 +3,7 @@ - + grib2io.utils API documentation diff --git a/docs/grib2io/utils/arakawa_rotated_grid.html b/docs/grib2io/utils/arakawa_rotated_grid.html index ebbbab4..eb5b28b 100644 --- a/docs/grib2io/utils/arakawa_rotated_grid.html +++ b/docs/grib2io/utils/arakawa_rotated_grid.html @@ -3,7 +3,7 @@ - + grib2io.utils.arakawa_rotated_grid API documentation diff --git a/docs/grib2io/utils/gauss_grid.html b/docs/grib2io/utils/gauss_grid.html index a215947..d6ac0a4 100644 --- a/docs/grib2io/utils/gauss_grid.html +++ b/docs/grib2io/utils/gauss_grid.html @@ -3,7 +3,7 @@ - + grib2io.utils.gauss_grid API documentation diff --git a/docs/grib2io/utils/rotated_grid.html b/docs/grib2io/utils/rotated_grid.html index df86ab4..5a4ddce 100644 --- a/docs/grib2io/utils/rotated_grid.html +++ b/docs/grib2io/utils/rotated_grid.html @@ -3,7 +3,7 @@ - + grib2io.utils.rotated_grid API documentation diff --git a/docs/search.js b/docs/search.js index 8e973a0..ed89667 100644 --- a/docs/search.js +++ b/docs/search.js @@ -1,6 +1,6 @@ window.pdocSearch = (function(){ /** elasticlunr - http://weixsong.github.io * Copyright (C) 2017 Oliver Nightingale * Copyright (C) 2017 Wei Song * MIT Licensed */!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();oIntroduction\n\n

grib2io is a Python package that provides an interface to the NCEP GRIB2 C (g2c)\nlibrary for the purpose of reading and writing WMO GRIdded Binary, Edition 2 (GRIB2) messages. A physical file can contain one\nor more GRIB2 messages.

\n\n

GRIB2 file IO is performed directly in Python. The unpacking/packing of GRIB2 integer, coded metadata and data sections is performed\nby the g2c library functions via the g2clib Cython wrapper module. The decoding/encoding of GRIB2 metadata is translated into more\ndescriptive, plain language metadata by looking up the integer code values against the appropriate GRIB2 code tables. These code tables\nare a part of the grib2io module.

\n\n

Tutorials

\n\n

The following Jupyter Notebooks are available as tutorials:

\n\n\n"}, {"fullname": "grib2io.open", "modulename": "grib2io", "qualname": "open", "kind": "class", "doc": "

GRIB2 File Object.

\n\n

A physical file can contain one or more GRIB2 messages. When instantiated, class grib2io.open, \nthe file named filename is opened for reading (mode = 'r') and is automatically indexed.
\nThe indexing procedure reads some of the GRIB2 metadata for all GRIB2 Messages. A GRIB2 Message \nmay contain submessages whereby Section 2-7 can be repeated. grib2io accommodates for this by \nflattening any GRIB2 submessages into multiple individual messages.

\n\n

Attributes

\n\n

mode : str\n File IO mode of opening the file.

\n\n

name : str\n Full path name of the GRIB2 file.

\n\n

messages : int\n Count of GRIB2 Messages contained in the file.

\n\n

current_message : int\n Current position of the file in units of GRIB2 Messages.

\n\n

size : int\n Size of the file in units of bytes.

\n\n

closed : bool\n True is file handle is close; False otherwise.

\n\n

variables : tuple\n Tuple containing a unique list of variable short names (i.e. GRIB2 abbreviation names).

\n\n

levels : tuple\n Tuple containing a unique list of wgrib2-formatted level/layer strings.

\n"}, {"fullname": "grib2io.open.__init__", "modulename": "grib2io", "qualname": "open.__init__", "kind": "function", "doc": "

Initialize GRIB2 File object instance.

\n\n

Parameters

\n\n

filename : str\n File name containing GRIB2 messages.

\n\n

mode : str, optional\n File access mode where r opens the files for reading only; w opens the file for writing.

\n", "signature": "(filename, mode='r', **kwargs)"}, {"fullname": "grib2io.open.mode", "modulename": "grib2io", "qualname": "open.mode", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.open.name", "modulename": "grib2io", "qualname": "open.name", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.open.messages", "modulename": "grib2io", "qualname": "open.messages", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.open.current_message", "modulename": "grib2io", "qualname": "open.current_message", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.open.size", "modulename": "grib2io", "qualname": "open.size", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.open.closed", "modulename": "grib2io", "qualname": "open.closed", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.open.levels", "modulename": "grib2io", "qualname": "open.levels", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.open.variables", "modulename": "grib2io", "qualname": "open.variables", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.open.close", "modulename": "grib2io", "qualname": "open.close", "kind": "function", "doc": "

Close the file handle

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "grib2io.open.read", "modulename": "grib2io", "qualname": "open.read", "kind": "function", "doc": "

Read size amount of GRIB2 messages from the current position.

\n\n

If no argument is given, then size is None and all messages are returned from \nthe current position in the file. This read method follows the behavior of \nPython's builtin open() function, but whereas that operates on units of bytes, \nwe operate on units of GRIB2 messages.

\n\n

Parameters

\n\n

size : int, optional\n The number of GRIB2 messages to read from the current position. If no argument is\n give, the default value is None and remainder of the file is read.

\n\n

Returns

\n\n

Grib2Message object when size = 1 or a list of Grib2Messages when size > 1.

\n", "signature": "(self, size=None):", "funcdef": "def"}, {"fullname": "grib2io.open.seek", "modulename": "grib2io", "qualname": "open.seek", "kind": "function", "doc": "

Set the position within the file in units of GRIB2 messages.

\n\n

Parameters

\n\n

pos : int\n The GRIB2 Message number to set the file pointer to.

\n", "signature": "(self, pos):", "funcdef": "def"}, {"fullname": "grib2io.open.tell", "modulename": "grib2io", "qualname": "open.tell", "kind": "function", "doc": "

Returns the position of the file in units of GRIB2 Messages.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "grib2io.open.select", "modulename": "grib2io", "qualname": "open.select", "kind": "function", "doc": "

Select GRIB2 messages by Grib2Message attributes.

\n", "signature": "(self, **kwargs):", "funcdef": "def"}, {"fullname": "grib2io.open.write", "modulename": "grib2io", "qualname": "open.write", "kind": "function", "doc": "

Writes GRIB2 message object to file.

\n\n

Parameters

\n\n

msg : Grib2Message or sequence of Grib2Messages\n GRIB2 message objects to write to file.

\n", "signature": "(self, msg):", "funcdef": "def"}, {"fullname": "grib2io.open.flush", "modulename": "grib2io", "qualname": "open.flush", "kind": "function", "doc": "

Flush the file object buffer.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "grib2io.open.levels_by_var", "modulename": "grib2io", "qualname": "open.levels_by_var", "kind": "function", "doc": "

Return a list of level strings given a variable shortName.

\n\n

Parameters

\n\n

name : str\n Grib2Message variable shortName

\n\n

Returns

\n\n

A list of strings of unique level strings.

\n", "signature": "(self, name):", "funcdef": "def"}, {"fullname": "grib2io.open.vars_by_level", "modulename": "grib2io", "qualname": "open.vars_by_level", "kind": "function", "doc": "

Return a list of variable shortName strings given a level.

\n\n

Parameters

\n\n

level : str\n Grib2Message variable level

\n\n

Returns

\n\n

A list of strings of variable shortName strings.

\n", "signature": "(self, level):", "funcdef": "def"}, {"fullname": "grib2io.Grib2Message", "modulename": "grib2io", "qualname": "Grib2Message", "kind": "class", "doc": "

Creation class for a GRIB2 message.

\n"}, {"fullname": "grib2io.show_config", "modulename": "grib2io", "qualname": "show_config", "kind": "function", "doc": "

Print grib2io build configuration information.

\n", "signature": "():", "funcdef": "def"}, {"fullname": "grib2io.interpolate", "modulename": "grib2io", "qualname": "interpolate", "kind": "function", "doc": "

This is the module-level interpolation function that interfaces with the grib2io_interp\ncomponent pakcage that interfaces to the NCEPLIBS-ip library.

\n\n

Parameters

\n\n

a : numpy.ndarray or tuple\n Input data. If a is a numpy.ndarray, scalar interpolation will be\n performed. If a is a tuple, then vector interpolation will be performed\n with the assumption that u = a[0] and v = a[1] and are both numpy.ndarray.

\n\n
These data are expected to be in 2-dimensional form with shape (ny, nx) or\n3-dimensional (:, ny, nx) where the 1st dimension represents another spatial,\ntemporal, or classification (i.e. ensemble members) dimension. The function will\nproperly flatten the (ny,nx) dimensions into (nx * ny) acceptable for input into\nthe interpolation subroutines.\n
\n\n

method : int or str\n Interpolate method to use. This can either be an integer or string using\n the following mapping:

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n
Interpolate SchemeInteger Value
'bilinear'0
'bicubic'1
'neighbor'2
'budget'3
'spectral'4
'neighbor-budget'6
\n\n

grid_def_in : grib2io.Grib2GridDef\n Grib2GridDef object for the input grid.

\n\n

grid_def_out : grib2io.Grib2GridDef\n Grib2GridDef object for the output grid or station points.

\n\n

method_options : list of ints, optional\n Interpolation options. See the NCEPLIBS-ip doucmentation for\n more information on how these are used.

\n\n

Returns

\n\n

Returns a numpy.ndarray when scalar interpolation is performed or\na tuple of numpy.ndarrays when vector interpolation is performed\nwith the assumptions that 0-index is the interpolated u and 1-index\nis the interpolated v.

\n", "signature": "(a, method, grid_def_in, grid_def_out, method_options=None):", "funcdef": "def"}, {"fullname": "grib2io.interpolate_to_stations", "modulename": "grib2io", "qualname": "interpolate_to_stations", "kind": "function", "doc": "

This is the module-level interpolation function for interpolation to stations\nthat interfaces with the grib2io_interp component pakcage that interfaces to\nthe NCEPLIBS-ip library. It supports\nscalar and vector interpolation according to the type of object a.

\n\n

Parameters

\n\n

a : numpy.ndarray or tuple\n Input data. If a is a numpy.ndarray, scalar interpolation will be\n performed. If a is a tuple, then vector interpolation will be performed\n with the assumption that u = a[0] and v = a[1] and are both numpy.ndarray.

\n\n
These data are expected to be in 2-dimensional form with shape (ny, nx) or\n3-dimensional (:, ny, nx) where the 1st dimension represents another spatial,\ntemporal, or classification (i.e. ensemble members) dimension. The function will\nproperly flatten the (ny,nx) dimensions into (nx * ny) acceptable for input into\nthe interpolation subroutines.\n
\n\n

method : int or str\n Interpolate method to use. This can either be an integer or string using\n the following mapping:

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n
Interpolate SchemeInteger Value
'bilinear'0
'bicubic'1
'neighbor'2
'budget'3
'spectral'4
'neighbor-budget'6
\n\n

grid_def_in : grib2io.Grib2GridDef\n Grib2GridDef object for the input grid.

\n\n

lats : numpy.ndarray or list\n Latitudes for station points

\n\n

lons : numpy.ndarray or list\n Longitudes for station points

\n\n

method_options : list of ints, optional\n Interpolation options. See the NCEPLIBS-ip doucmentation for\n more information on how these are used.

\n\n

Returns

\n\n

Returns a numpy.ndarray when scalar interpolation is performed or\na tuple of numpy.ndarrays when vector interpolation is performed\nwith the assumptions that 0-index is the interpolated u and 1-index\nis the interpolated v.

\n", "signature": "(a, method, grid_def_in, lats, lons, method_options=None):", "funcdef": "def"}, {"fullname": "grib2io.Grib2GridDef", "modulename": "grib2io", "qualname": "Grib2GridDef", "kind": "class", "doc": "

Class to hold GRIB2 Grid Definition Template Number and Template as\nclass attributes. This allows for cleaner looking code when passing these\nmetadata around. For example, the grib2io._Grib2Message.interpolate\nmethod and grib2io.interpolate function accepts these objects.

\n"}, {"fullname": "grib2io.Grib2GridDef.__init__", "modulename": "grib2io", "qualname": "Grib2GridDef.__init__", "kind": "function", "doc": "

\n", "signature": "(gdtn: int, gdt: <built-in function array>)"}, {"fullname": "grib2io.Grib2GridDef.gdtn", "modulename": "grib2io", "qualname": "Grib2GridDef.gdtn", "kind": "variable", "doc": "

\n", "annotation": ": int"}, {"fullname": "grib2io.Grib2GridDef.gdt", "modulename": "grib2io", "qualname": "Grib2GridDef.gdt", "kind": "variable", "doc": "

\n", "annotation": ": <built-in function array>"}, {"fullname": "grib2io.Grib2GridDef.from_section3", "modulename": "grib2io", "qualname": "Grib2GridDef.from_section3", "kind": "function", "doc": "

\n", "signature": "(cls, section3):", "funcdef": "def"}, {"fullname": "grib2io.Grib2GridDef.nx", "modulename": "grib2io", "qualname": "Grib2GridDef.nx", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.Grib2GridDef.ny", "modulename": "grib2io", "qualname": "Grib2GridDef.ny", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.Grib2GridDef.npoints", "modulename": "grib2io", "qualname": "Grib2GridDef.npoints", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.Grib2GridDef.shape", "modulename": "grib2io", "qualname": "Grib2GridDef.shape", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.tables", "modulename": "grib2io.tables", "kind": "module", "doc": "

Functions for retreiving data from NCEP GRIB2 Tables.

\n"}, {"fullname": "grib2io.tables.GRIB2_DISCIPLINES", "modulename": "grib2io.tables", "qualname": "GRIB2_DISCIPLINES", "kind": "variable", "doc": "

\n", "default_value": "[0, 1, 2, 3, 4, 10, 20]"}, {"fullname": "grib2io.tables.get_table", "modulename": "grib2io.tables", "qualname": "get_table", "kind": "function", "doc": "

Return GRIB2 code table as a dictionary.

\n\n

Parameters

\n\n

table : str\n Code table number (e.g. '1.0'). NOTE: Code table '4.1' requires a 3rd value\n representing the product discipline (e.g. '4.1.0').

\n\n

expand : bool, optional\n If True, expand output dictionary where keys are a range.

\n\n

Returns

\n\n

Table as a dict.

\n", "signature": "(table, expand=False):", "funcdef": "def"}, {"fullname": "grib2io.tables.get_value_from_table", "modulename": "grib2io.tables", "qualname": "get_value_from_table", "kind": "function", "doc": "

Return the definition given a GRIB2 code table.

\n\n

Parameters

\n\n

value : int or str\n Code table value.

\n\n

table : str\n Code table number.

\n\n

expand : bool, optional\n If True, expand output dictionary where keys are a range.

\n\n

Returns

\n\n

Table value or None if not found.

\n", "signature": "(value, table, expand=False):", "funcdef": "def"}, {"fullname": "grib2io.tables.get_varinfo_from_table", "modulename": "grib2io.tables", "qualname": "get_varinfo_from_table", "kind": "function", "doc": "

Return the GRIB2 variable information given values of discipline,\nparmcat, and parmnum. NOTE: This functions allows for all arguments\nto be converted to a string type if arguments are integer.

\n\n

Parameters

\n\n

discipline : int or str\n Discipline code value of a GRIB2 message.

\n\n

parmcat : int or str\n Parameter Category value of a GRIB2 message.

\n\n

parmnum : int or str\n Parameter Number value of a GRIB2 message.

\n\n

isNDFD : bool, optional\n If True, signals function to try to get variable information from \n the supplemental NDFD tables.

\n\n

Returns

\n\n

list containing variable information. \"Unknown\" is given for item of\ninformation if variable is not found.\n - list[0] = full name\n - list[1] = units\n - list[2] = short name (abbreviated name)

\n", "signature": "(discipline, parmcat, parmnum, isNDFD=False):", "funcdef": "def"}, {"fullname": "grib2io.tables.get_shortnames", "modulename": "grib2io.tables", "qualname": "get_shortnames", "kind": "function", "doc": "

Returns a list of variable shortNames given GRIB2 discipline, parameter\ncategory, and parameter number. If all 3 args are None, then shortNames\nfrom all disciplines, parameter categories, and numbers will be returned.

\n\n

Parameters

\n\n

discipline : int\n GRIB2 discipline code value.

\n\n

parmcat : int\n GRIB2 parameter category value.

\n\n

parmnum : int or str\n Parameter Number value of a GRIB2 message.

\n\n

Returns

\n\n

list of GRIB2 shortNames.

\n", "signature": "(discipline=None, parmcat=None, parmnum=None, isNDFD=False):", "funcdef": "def"}, {"fullname": "grib2io.tables.get_metadata_from_shortname", "modulename": "grib2io.tables", "qualname": "get_metadata_from_shortname", "kind": "function", "doc": "

Provide GRIB2 variable metadata attributes given a GRIB2 shortName.

\n\n

Parameters

\n\n

shortname : str\n GRIB2 variable shortName.

\n\n

Returns

\n\n

list of dictionary items where each dictionary items contains the variable\nmetadata key:value pairs. NOTE: Some variable shortNames will exist in multiple\nparameter category/number tables according to the GRIB2 discipline.

\n", "signature": "(shortname):", "funcdef": "def"}, {"fullname": "grib2io.tables.get_wgrib2_level_string", "modulename": "grib2io.tables", "qualname": "get_wgrib2_level_string", "kind": "function", "doc": "

Return a string that describes the level or layer of the GRIB2 message. The\nformat and language of the string is an exact replica of how wgrib2 produces\nthe level/layer string in its inventory output.

\n\n

Contents of wgrib2 source, Level.c,\nwere converted into a Python dictionary and stored in grib2io as table\n'wgrib2_level_string'.

\n\n

Parameters

\n\n

pdtn : int\n GRIB2 Product Definition Template Number

\n\n

pdt : list or array_like\n Sequence containing GRIB2 Product Definition Template (Section 4).

\n\n

Returns

\n\n

wgrib2-formatted level/layer string.

\n", "signature": "(pdtn, pdt):", "funcdef": "def"}, {"fullname": "grib2io.tables.originating_centers", "modulename": "grib2io.tables.originating_centers", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.originating_centers.table_originating_centers", "modulename": "grib2io.tables.originating_centers", "qualname": "table_originating_centers", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'Melbourne (WMC)', '2': 'Melbourne (WMC)', '3': 'Melbourne (WMC)', '4': 'Moscow (WMC)', '5': 'Moscow (WMC)', '6': 'Moscow (WMC)', '7': 'US National Weather Service - NCEP (WMC)', '8': 'US National Weather Service - NWSTG (WMC)', '9': 'US National Weather Service - Other (WMC)', '10': 'Cairo (RSMC/RAFC)', '11': 'Cairo (RSMC/RAFC)', '12': 'Dakar (RSMC/RAFC)', '13': 'Dakar (RSMC/RAFC)', '14': 'Nairobi (RSMC/RAFC)', '15': 'Nairobi (RSMC/RAFC)', '16': 'Casablanca (RSMC)', '17': 'Tunis (RSMC)', '18': 'Tunis-Casablanca (RSMC)', '19': 'Tunis-Casablanca (RSMC)', '20': 'Las Palmas (RAFC)', '21': 'Algiers (RSMC)', '22': 'ACMAD', '23': 'Mozambique (NMC)', '24': 'Pretoria (RSMC)', '25': 'La Reunion (RSMC)', '26': 'Khabarovsk (RSMC)', '27': 'Khabarovsk (RSMC)', '28': 'New Delhi (RSMC/RAFC)', '29': 'New Delhi (RSMC/RAFC)', '30': 'Novosibirsk (RSMC)', '31': 'Novosibirsk (RSMC)', '32': 'Tashkent (RSMC)', '33': 'Jeddah (RSMC)', '34': 'Tokyo (RSMC), Japanese Meteorological Agency', '35': 'Tokyo (RSMC), Japanese Meteorological Agency', '36': 'Bankok', '37': 'Ulan Bator', '38': 'Beijing (RSMC)', '39': 'Beijing (RSMC)', '40': 'Seoul', '41': 'Buenos Aires (RSMC/RAFC)', '42': 'Buenos Aires (RSMC/RAFC)', '43': 'Brasilia (RSMC/RAFC)', '44': 'Brasilia (RSMC/RAFC)', '45': 'Santiago', '46': 'Brazilian Space Agency - INPE', '47': 'Columbia (NMC)', '48': 'Ecuador (NMC)', '49': 'Peru (NMC)', '50': 'Venezuela (NMC)', '51': 'Miami (RSMC/RAFC)', '52': 'Miami (RSMC), National Hurricane Center', '53': 'Canadian Meteorological Service - Montreal (RSMC)', '54': 'Canadian Meteorological Service - Montreal (RSMC)', '55': 'San Francisco', '56': 'ARINC Center', '57': 'US Air Force - Air Force Global Weather Center', '58': 'Fleet Numerical Meteorology and Oceanography Center,Monterey,CA,USA', '59': 'The NOAA Forecast Systems Lab, Boulder, CO, USA', '60': 'National Center for Atmospheric Research (NCAR), Boulder, CO', '61': 'Service ARGOS - Landover, MD, USA', '62': 'US Naval Oceanographic Office', '63': 'International Research Institude for Climate and Society', '64': 'Honolulu', '65': 'Darwin (RSMC)', '66': 'Darwin (RSMC)', '67': 'Melbourne (RSMC)', '68': 'Reserved', '69': 'Wellington (RSMC/RAFC)', '70': 'Wellington (RSMC/RAFC)', '71': 'Nadi (RSMC)', '72': 'Singapore', '73': 'Malaysia (NMC)', '74': 'U.K. Met Office - Exeter (RSMC)', '75': 'U.K. Met Office - Exeter (RSMC)', '76': 'Moscow (RSMC/RAFC)', '77': 'Reserved', '78': 'Offenbach (RSMC)', '79': 'Offenbach (RSMC)', '80': 'Rome (RSMC)', '81': 'Rome (RSMC)', '82': 'Norrkoping', '83': 'Norrkoping', '84': 'French Weather Service - Toulouse', '85': 'French Weather Service - Toulouse', '86': 'Helsinki', '87': 'Belgrade', '88': 'Oslo', '89': 'Prague', '90': 'Episkopi', '91': 'Ankara', '92': 'Frankfurt/Main (RAFC)', '93': 'London (WAFC)', '94': 'Copenhagen', '95': 'Rota', '96': 'Athens', '97': 'European Space Agency (ESA)', '98': 'European Center for Medium-Range Weather Forecasts (RSMC)', '99': 'De Bilt, Netherlands', '100': 'Brazzaville', '101': 'Abidjan', '102': 'Libyan Arab Jamahiriya (NMC)', '103': 'Madagascar (NMC)', '104': 'Mauritius (NMC)', '105': 'Niger (NMC)', '106': 'Seychelles (NMC)', '107': 'Uganda (NMC)', '108': 'United Republic of Tanzania (NMC)', '109': 'Zimbabwe (NMC)', '110': 'Hong-Kong', '111': 'Afghanistan (NMC)', '112': 'Bahrain (NMC)', '113': 'Bangladesh (NMC)', '114': 'Bhutan (NMC)', '115': 'Cambodia (NMC)', '116': 'Democratic Peoples Republic of Korea (NMC)', '117': 'Islamic Republic of Iran (NMC)', '118': 'Iraq (NMC)', '119': 'Kazakhstan (NMC)', '120': 'Kuwait (NMC)', '121': 'Kyrgyz Republic (NMC)', '122': 'Lao Peoples Democratic Republic (NMC)', '123': 'Macao, China', '124': 'Maldives (NMC)', '125': 'Myanmar (NMC)', '126': 'Nepal (NMC)', '127': 'Oman (NMC)', '128': 'Pakistan (NMC)', '129': 'Qatar (NMC)', '130': 'Yemen (NMC)', '131': 'Sri Lanka (NMC)', '132': 'Tajikistan (NMC)', '133': 'Turkmenistan (NMC)', '134': 'United Arab Emirates (NMC)', '135': 'Uzbekistan (NMC)', '136': 'Viet Nam (NMC)', '137-139': 'Reserved', '140': 'Bolivia (NMC)', '141': 'Guyana (NMC)', '142': 'Paraguay (NMC)', '143': 'Suriname (NMC)', '144': 'Uruguay (NMC)', '145': 'French Guyana', '146': 'Brazilian Navy Hydrographic Center', '147': 'National Commission on Space Activities - Argentina', '148': 'Brazilian Department of Airspace Control - DECEA', '149': 'Reserved', '150': 'Antigua and Barbuda (NMC)', '151': 'Bahamas (NMC)', '152': 'Barbados (NMC)', '153': 'Belize (NMC)', '154': 'British Caribbean Territories Center', '155': 'San Jose', '156': 'Cuba (NMC)', '157': 'Dominica (NMC)', '158': 'Dominican Republic (NMC)', '159': 'El Salvador (NMC)', '160': 'US NOAA/NESDIS', '161': 'US NOAA Office of Oceanic and Atmospheric Research', '162': 'Guatemala (NMC)', '163': 'Haiti (NMC)', '164': 'Honduras (NMC)', '165': 'Jamaica (NMC)', '166': 'Mexico City', '167': 'Netherlands Antilles and Aruba (NMC)', '168': 'Nicaragua (NMC)', '169': 'Panama (NMC)', '170': 'Saint Lucia (NMC)', '171': 'Trinidad and Tobago (NMC)', '172': 'French Departments in RA IV', '173': 'US National Aeronautics and Space Administration (NASA)', '174': 'Integrated System Data Management/Marine Environmental Data Service (ISDM/MEDS) - Canada', '175': 'Reserved', '176': 'US Cooperative Institude for Meteorological Satellite Studies', '177-189': 'Reserved', '190': 'Cook Islands (NMC)', '191': 'French Polynesia (NMC)', '192': 'Tonga (NMC)', '193': 'Vanuatu (NMC)', '194': 'Brunei (NMC)', '195': 'Indonesia (NMC)', '196': 'Kiribati (NMC)', '197': 'Federated States of Micronesia (NMC)', '198': 'New Caledonia (NMC)', '199': 'Niue', '200': 'Papua New Guinea (NMC)', '201': 'Philippines (NMC)', '202': 'Samoa (NMC)', '203': 'Solomon Islands (NMC)', '204': 'Narional Institude of Water and Atmospheric Research - New Zealand', '205-209': 'Reserved', '210': 'Frascati (ESA/ESRIN)', '211': 'Lanion', '212': 'Lisbon', '213': 'Reykjavik', '214': 'Madrid', '215': 'Zurich', '216': 'Service ARGOS - Toulouse', '217': 'Bratislava', '218': 'Budapest', '219': 'Ljubljana', '220': 'Warsaw', '221': 'Zagreb', '222': 'Albania (NMC)', '223': 'Armenia (NMC)', '224': 'Austria (NMC)', '225': 'Azerbaijan (NMC)', '226': 'Belarus (NMC)', '227': 'Belgium (NMC)', '228': 'Bosnia and Herzegovina (NMC)', '229': 'Bulgaria (NMC)', '230': 'Cyprus (NMC)', '231': 'Estonia (NMC)', '232': 'Georgia (NMC)', '233': 'Dublin', '234': 'Israel (NMC)', '235': 'Jordan (NMC)', '236': 'Latvia (NMC)', '237': 'Lebanon (NMC)', '238': 'Lithuania (NMC)', '239': 'Luxembourg', '240': 'Malta (NMC)', '241': 'Monaco', '242': 'Romania (NMC)', '243': 'Syrian Arab Republic (NMC)', '244': 'The former Yugoslav Republic of Macedonia (NMC)', '245': 'Ukraine (NMC)', '246': 'Republic of Moldova (NMC)', '247': 'Operational Programme for the Exchange of Weather RAdar Information (OPERA) - EUMETNET', '248-249': 'Reserved', '250': 'COnsortium for Small scale MOdelling (COSMO)', '251-253': 'Reserved', '254': 'EUMETSAT Operations Center', '255': 'Missing Value'}"}, {"fullname": "grib2io.tables.originating_centers.table_originating_subcenters", "modulename": "grib2io.tables.originating_centers", "qualname": "table_originating_subcenters", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'NCEP Re-Analysis Project', '2': 'NCEP Ensemble Products', '3': 'NCEP Central Operations', '4': 'Environmental Modeling Center', '5': 'Weather Prediction Center', '6': 'Ocean Prediction Center', '7': 'Climate Prediction Center', '8': 'Aviation Weather Center', '9': 'Storm Prediction Center', '10': 'National Hurricane Center', '11': 'NWS Techniques Development Laboratory', '12': 'NESDIS Office of Research and Applications', '13': 'Federal Aviation Administration', '14': 'NWS Meteorological Development Laboratory', '15': 'North American Regional Reanalysis Project', '16': 'Space Weather Prediction Center', '17': 'ESRL Global Systems Division'}"}, {"fullname": "grib2io.tables.originating_centers.table_generating_process", "modulename": "grib2io.tables.originating_centers", "qualname": "table_generating_process", "kind": "variable", "doc": "

\n", "default_value": "{'0-1': 'Reserved', '2': 'Ultra Violet Index Model', '3': 'NCEP/ARL Transport and Dispersion Model', '4': 'NCEP/ARL Smoke Model', '5': 'Satellite Derived Precipitation and temperatures, from IR (See PDS Octet 41 ... for specific satellite ID)', '6': 'NCEP/ARL Dust Model', '7-9': 'Reserved', '10': 'Global Wind-Wave Forecast Model', '11': 'Global Multi-Grid Wave Model (Static Grids)', '12': 'Probabilistic Storm Surge (P-Surge)', '13': 'Hurricane Multi-Grid Wave Model', '14': 'Extra-tropical Storm Surge Atlantic Domain', '15': 'Nearshore Wave Prediction System (NWPS)', '16': 'Extra-Tropical Storm Surge (ETSS)', '17': 'Extra-tropical Storm Surge Pacific Domain', '18': 'Probabilistic Extra-Tropical Storm Surge (P-ETSS)', '19': 'Reserved', '20': 'Extra-tropical Storm Surge Micronesia Domain', '21': 'Extra-tropical Storm Surge Atlantic Domain (3D)', '22': 'Extra-tropical Storm Surge Pacific Domain (3D)', '23': 'Extra-tropical Storm Surge Micronesia Domain (3D)', '24': 'Reserved', '25': 'Snow Cover Analysis', '26-29': 'Reserved', '30': 'Forecaster generated field', '31': 'Value added post processed field', '32-41': 'Reserved', '42': 'Global Optimum Interpolation Analysis (GOI) from GFS model', '43': 'Global Optimum Interpolation Analysis (GOI) from "Final" run', '44': 'Sea Surface Temperature Analysis', '45': 'Coastal Ocean Circulation Model', '46': 'HYCOM - Global', '47': 'HYCOM - North Pacific basin', '48': 'HYCOM - North Atlantic basin', '49': 'Ozone Analysis from TIROS Observations', '50-51': 'Reserved', '52': 'Ozone Analysis from Nimbus 7 Observations', '53-63': 'Reserved', '64': 'Regional Optimum Interpolation Analysis (ROI)', '65-67': 'Reserved', '68': '80 wave triangular, 18-layer Spectral model from GFS model', '69': '80 wave triangular, 18 layer Spectral model from "Medium Range Forecast" run', '70': 'Quasi-Lagrangian Hurricane Model (QLM)', '71': 'Hurricane Weather Research and Forecasting (HWRF)', '72': 'Hurricane Non-Hydrostatic Multiscale Model on the B Grid (HNMMB)', '73': 'Fog Forecast model - Ocean Prod. Center', '74': 'Gulf of Mexico Wind/Wave', '75': 'Gulf of Alaska Wind/Wave', '76': 'Bias corrected Medium Range Forecast', '77': '126 wave triangular, 28 layer Spectral model from GFS model', '78': '126 wave triangular, 28 layer Spectral model from "Medium Range Forecast" run', '79': 'Reserved', '80': '62 wave triangular, 28 layer Spectral model from "Medium Range Forecast" run', '81': 'Analysis from GFS (Global Forecast System)', '82': 'Analysis from GDAS (Global Data Assimilation System)', '83': 'High Resolution Rapid Refresh (HRRR)', '84': 'MESO NAM Model (currently 12 km)', '85': 'Real Time Ocean Forecast System (RTOFS)', '86': 'Early Hurricane Wind Speed Probability Model', '87': 'CAC Ensemble Forecasts from Spectral (ENSMB)', '88': 'NOAA Wave Watch III (NWW3) Ocean Wave Model', '89': 'Non-hydrostatic Meso Model (NMM) (Currently 8 km)', '90': '62 wave triangular, 28 layer spectral model extension of the "Medium Range Forecast" run', '91': '62 wave triangular, 28 layer spectral model extension of the GFS model', '92': '62 wave triangular, 28 layer spectral model run from the "Medium Range Forecast" final analysis', '93': '62 wave triangular, 28 layer spectral model run from the T62 GDAS analysis of the "Medium Range Forecast" run', '94': 'T170/L42 Global Spectral Model from MRF run', '95': 'T126/L42 Global Spectral Model from MRF run', '96': 'Global Forecast System Model T1534 - Forecast hours 00-384 T574 - Forecast hours 00-192 T190 - Forecast hours 204-384', '97': 'Reserved', '98': 'Climate Forecast System Model -- Atmospheric model (GFS) coupled to a multi level ocean model . Currently GFS spectral model at T62, 64 levels coupled to 40 level MOM3 ocean model.', '99': 'Miscellaneous Test ID', '100': 'Miscellaneous Test ID', '101': 'Conventional Observation Re-Analysis (CORE)', '102-103': 'Reserved', '104': 'National Blend GRIB', '105': 'Rapid Refresh (RAP)', '106': 'Reserved', '107': 'Global Ensemble Forecast System (GEFS)', '108': 'Localized Aviation MOS Program (LAMP)', '109': 'Real Time Mesoscale Analysis (RTMA)', '110': 'NAM Model - 15km version', '111': 'NAM model, generic resolution (Used in SREF processing)', '112': 'WRF-NMM model, generic resolution (Used in various runs) NMM=Nondydrostatic Mesoscale Model (NCEP)', '113': 'Products from NCEP SREF processing', '114': 'NAEFS Products from joined NCEP, CMC global ensembles', '115': 'Downscaled GFS from NAM eXtension', '116': 'WRF-EM model, generic resolution (Used in various runs) EM - Eulerian Mass-core (NCAR - aka Advanced Research WRF)', '117': 'NEMS GFS Aerosol Component', '118': 'UnRestricted Mesoscale Analysis (URMA)', '119': 'WAM (Whole Atmosphere Model)', '120': 'Ice Concentration Analysis', '121': 'Western North Atlantic Regional Wave Model', '122': 'Alaska Waters Regional Wave Model', '123': 'North Atlantic Hurricane Wave Model', '124': 'Eastern North Pacific Regional Wave Model', '125': 'North Pacific Hurricane Wave Model', '126': 'Sea Ice Forecast Model', '127': 'Lake Ice Forecast Model', '128': 'Global Ocean Forecast Model', '129': 'Global Ocean Data Analysis System (GODAS)', '130': 'Merge of fields from the RUC, NAM, and Spectral Model', '131': 'Great Lakes Wave Model', '132': 'High Resolution Ensemble Forecast (HREF)', '133': 'Great Lakes Short Range Wave Model', '134': 'Rapid Refresh Forecast System (RRFS)', '135': 'Hurricane Analysis and Forecast System (HAFS)', '136-139': 'Reserved', '140': 'North American Regional Reanalysis (NARR)', '141': 'Land Data Assimilation and Forecast System', '142-149': 'Reserved', '150': 'NWS River Forecast System (NWSRFS)', '151': 'NWS Flash Flood Guidance System (NWSFFGS)', '152': 'WSR-88D Stage II Precipitation Analysis', '153': 'WSR-88D Stage III Precipitation Analysis', '154-179': 'Reserved', '180': 'Quantitative Precipitation Forecast generated by NCEP', '181': 'River Forecast Center Quantitative Precipitation Forecast mosaic generated by NCEP', '182': 'River Forecast Center Quantitative Precipitation estimate mosaic generated by NCEP', '183': 'NDFD product generated by NCEP/HPC', '184': 'Climatological Calibrated Precipitation Analysis (CCPA)', '185-189': 'Reserved', '190': 'National Convective Weather Diagnostic generated by NCEP/AWC', '191': 'Current Icing Potential automated product genterated by NCEP/AWC', '192': 'Analysis product from NCEP/AWC', '193': 'Forecast product from NCEP/AWC', '194': 'Reserved', '195': 'Climate Data Assimilation System 2 (CDAS2)', '196': 'Climate Data Assimilation System 2 (CDAS2) - used for regeneration runs', '197': 'Climate Data Assimilation System (CDAS)', '198': 'Climate Data Assimilation System (CDAS) - used for regeneration runs', '199': 'Climate Forecast System Reanalysis (CFSR) -- Atmospheric model (GFS) coupled to a multi level ocean, land and seaice model. GFS spectral model at T382, 64 levels coupled to 40 level MOM4 ocean model.', '200': 'CPC Manual Forecast Product', '201': 'CPC Automated Product', '202-209': 'Reserved', '210': 'EPA Air Quality Forecast - Currently North East US domain', '211': 'EPA Air Quality Forecast - Currently Eastern US domain', '212-214': 'Reserved', '215': 'SPC Manual Forecast Product', '216-219': 'Reserved', '220': 'NCEP/OPC automated product', '221-230': 'Reserved for WPC products', '231-254': 'Reserved', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section0", "modulename": "grib2io.tables.section0", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section0.table_0_0", "modulename": "grib2io.tables.section0", "qualname": "table_0_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Meteorological Products', '1': 'Hydrological Products', '2': 'Land Surface Products', '3': 'Satellite Remote Sensing Products', '4': 'Space Weather Products', '5-9': 'Reserved', '10': 'Oceanographic Products', '11-19': 'Reserved', '20': 'Health and Socioeconomic Impacts', '21-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section1", "modulename": "grib2io.tables.section1", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section1.table_1_0", "modulename": "grib2io.tables.section1", "qualname": "table_1_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Experimental', '1': 'Version Implemented on 7 November 2001', '2': 'Version Implemented on 4 November 2003', '3': 'Version Implemented on 2 November 2005', '4': 'Version Implemented on 7 November 2007', '5': 'Version Implemented on 4 November 2009', '6': 'Version Implemented on 15 September 2010', '7': 'Version Implemented on 4 May 2011', '8': 'Version Implemented on 8 November 2011', '9': 'Version Implemented on 2 May 2012', '10': 'Version Implemented on 7 November 2012', '11': 'Version Implemented on 8 May 2013', '12': 'Version Implemented on 14 November 2013', '13': 'Version Implemented on 7 May 2014', '14': 'Version Implemented on 5 November 2014', '16': 'Version Implemented on 11 November 2015', '17': 'Version Implemented on 4 May 2016', '18': 'Version Implemented on 2 November 2016', '19': 'Version Implemented on 3 May 2017', '20': 'Version Implemented on 8 November 2017', '21': 'Version Implemented on 2 May 2018', '22': 'Version Implemented on 7 November 2018', '23': 'Version Implemented on 15 May 2019', '24': 'Version Implemented on 06 November 2019', '25': 'Version Implemented on 06 May 2020', '26': 'Version Implemented on 16 November 2020', '27': 'Version Implemented on 16 June 2021', '28': 'Version Implemented on 15 November 2021', '29': 'Version Implemented on 15 May 2022', '30': 'Version Implemented on 15 November 2022', '31': 'Version Implemented on 15 June 2023', '32': 'Version Implemented on 30 November 2023', '33': 'Pre-operational to be implemented by next amendment', '34-254': 'Future Version', '255': 'Missing"'}"}, {"fullname": "grib2io.tables.section1.table_1_1", "modulename": "grib2io.tables.section1", "qualname": "table_1_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Local tables not used. Only table entries and templates from the current master table are valid.', '1-254': 'Number of local table version used.', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section1.table_1_2", "modulename": "grib2io.tables.section1", "qualname": "table_1_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Analysis', '1': 'Start of Forecast', '2': 'Verifying Time of Forecast', '3': 'Observation Time', '4': 'Local Time', '5-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section1.table_1_3", "modulename": "grib2io.tables.section1", "qualname": "table_1_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Operational Products', '1': 'Operational Test Products', '2': 'Research Products', '3': 'Re-Analysis Products', '4': 'THORPEX Interactive Grand Global Ensemble (TIGGE)', '5': 'THORPEX Interactive Grand Global Ensemble (TIGGE) test', '6': 'S2S Operational Products', '7': 'S2S Test Products', '8': 'Uncertainties in ensembles of regional reanalysis project (UERRA)', '9': 'Uncertainties in ensembles of regional reanalysis project (UERRA) Test', '10': 'Copernicus Regional Reanalysis', '11': 'Copernicus Regional Reanalysis Test', '12': 'Destination Earth', '13': 'Destination Earth test', '12-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section1.table_1_4", "modulename": "grib2io.tables.section1", "qualname": "table_1_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Analysis Products', '1': 'Forecast Products', '2': 'Analysis and Forecast Products', '3': 'Control Forecast Products', '4': 'Perturbed Forecast Products', '5': 'Control and Perturbed Forecast Products', '6': 'Processed Satellite Observations', '7': 'Processed Radar Observations', '8': 'Event Probability', '9-191': 'Reserved', '192-254': 'Reserved for Local Use', '192': 'Experimental Products', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section1.table_1_5", "modulename": "grib2io.tables.section1", "qualname": "table_1_5", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Calendar Definition', '1': 'Paleontological Offset', '2': 'Calendar Definition and Paleontological Offset', '3-32767': 'Reserved', '32768-65534': 'Reserved for Local Use', '65535': 'Missing'}"}, {"fullname": "grib2io.tables.section1.table_1_6", "modulename": "grib2io.tables.section1", "qualname": "table_1_6", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Gregorian', '1': '360-day', '2': '365-day', '3': 'Proleptic Gregorian', '4-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section3", "modulename": "grib2io.tables.section3", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section3.table_3_0", "modulename": "grib2io.tables.section3", "qualname": "table_3_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Specified in Code Table 3.1', '1': 'Predetermined Grid Definition - Defined by Originating Center', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'A grid definition does not apply to this product.'}"}, {"fullname": "grib2io.tables.section3.table_3_1", "modulename": "grib2io.tables.section3", "qualname": "table_3_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Latitude/Longitude', '1': 'Rotated Latitude/Longitude', '2': 'Stretched Latitude/Longitude', '3': 'Rotated and Stretched Latitude/Longitude', '4': 'Variable Resolution Latitude/longitude ', '5': 'Variable Resolution Rotated Latitude/longitude ', '6-9': 'Reserved', '10': 'Mercator', '11': 'Reserved', '12': 'Transverse Mercator ', '13': 'Mercator with modelling subdomains definition ', '14-19': 'Reserved', '20': 'Polar Stereographic Projection (Can be North or South)', '21-22': 'Reserved', '23': 'Polar Stereographic with modelling subdomains definition ', '24-29': 'Reserved', '30': 'Lambert Conformal (Can be Secant, Tangent, Conical, or Bipolar)', '31': 'Albers Equal Area', '32': 'Reserved', '33': 'Lambert conformal with modelling subdomains definition ', '34-39': 'Reserved', '40': 'Gaussian Latitude/Longitude', '41': 'Rotated Gaussian Latitude/Longitude', '42': 'Stretched Gaussian Latitude/Longitude', '43': 'Rotated and Stretched Gaussian Latitude/Longitude', '44-49': 'Reserved', '50': 'Spherical Harmonic Coefficients', '51': 'Rotated Spherical Harmonic Coefficients', '52': 'Stretched Spherical Harmonic Coefficients', '53': 'Rotated and Stretched Spherical Harmonic Coefficients', '54-59': 'Reserved', '60': 'Cubed-Sphere Gnomonic ', '61': 'Spectral Mercator with modelling subdomains definition ', '62': 'Spectral Polar Stereographic with modelling subdomains definition ', '63': 'Spectral Lambert conformal with modelling subdomains definition ', '64-89': 'Reserved', '90': 'Space View Perspective or Orthographic', '91-99': 'Reserved', '100': 'Triangular Grid Based on an Icosahedron', '101': 'General Unstructured Grid (see Template 3.101)', '102-109': 'Reserved', '110': 'Equatorial Azimuthal Equidistant Projection', '111-119': 'Reserved', '120': 'Azimuth-Range Projection', '121-139': 'Reserved', '140': 'Lambert Azimuthal Equal Area Projection ', '141-149': 'Reserved', '150': 'Hierarchical Equal Area isoLatitude Pixelization grid (HEALPix)', '151-203': 'Reserved', '204': 'Curvilinear Orthogonal Grids', '205-999': 'Reserved', '1000': 'Cross Section Grid with Points Equally Spaced on the Horizontal', '1001-1099': 'Reserved', '1100': 'Hovmoller Diagram with Points Equally Spaced on the Horizontal', '1101-1199': 'Reserved', '1200': 'Time Section Grid', '1201-32767': 'Reserved', '32768-65534': 'Reserved for Local Use', '32768': 'Rotated Latitude/Longitude (Arakawa Staggeblack E-Grid)', '32769': 'Rotated Latitude/Longitude (Arakawa Non-E Staggeblack Grid)', '65535': 'Missing'}"}, {"fullname": "grib2io.tables.section3.table_3_2", "modulename": "grib2io.tables.section3", "qualname": "table_3_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Earth assumed spherical with radius = 6,367,470.0 m', '1': 'Earth assumed spherical with radius specified (in m) by data producer', '2': 'Earth assumed oblate spheriod with size as determined by IAU in 1965 (major axis = 6,378,160.0 m, minor axis = 6,356,775.0 m, f = 1/297.0)', '3': 'Earth assumed oblate spheriod with major and minor axes specified (in km) by data producer', '4': 'Earth assumed oblate spheriod as defined in IAG-GRS80 model (major axis = 6,378,137.0 m, minor axis = 6,356,752.314 m, f = 1/298.257222101)', '5': 'Earth assumed represented by WGS84 (as used by ICAO since 1998) (Uses IAG-GRS80 as a basis)', '6': 'Earth assumed spherical with radius = 6,371,229.0 m', '7': 'Earth assumed oblate spheroid with major and minor axes specified (in m) by data producer', '8': 'Earth model assumed spherical with radius 6,371,200 m, but the horizontal datum of the resulting Latitude/Longitude field is the WGS84 reference frame', '9': 'Earth represented by the OSGB 1936 Datum, using the Airy_1830 Spheroid, the Greenwich meridian as 0 Longitude, the Newlyn datum as mean sea level, 0 height.', '10': 'Earth model assumed WGS84 with corrected geomagnetic coordinates (latitude and longitude) defined by Gustafsson et al., 1992".', '11': 'Sun assumed spherical with radius = 695 990 000 m (Allen, C.W., Astrophysical Quantities, 3rd ed.; Athlone: London, 1976) and Stonyhurst latitude and longitude system with origin at the intersection of the solar central meridian (as seen from Earth) and the solar equator (Thompson, W., Coordinate systems for solar image data, Astron. Astrophys. 2006, 449, 791-803)', '12-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section3.table_3_11", "modulename": "grib2io.tables.section3", "qualname": "table_3_11", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'There is no appended list', '1': 'Numbers define number of points corresponding to full coordinate circles (i.e. parallels). Coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition may not be reached in all rows.', '2': 'Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition which are present in each row.', '3': 'Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scale by 106) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the "scanning mode flag" (bit no. 2)', '4-254': 'Reserved', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section3.table_earth_params", "modulename": "grib2io.tables.section3", "qualname": "table_earth_params", "kind": "variable", "doc": "

\n", "default_value": "{'0': {'shape': 'spherical', 'radius': 6367470.0}, '1': {'shape': 'spherical', 'radius': None}, '2': {'shape': 'oblateSpheriod', 'major_axis': 6378160.0, 'minor_axis': 6356775.0, 'flattening': 0.003367003367003367}, '3': {'shape': 'oblateSpheriod', 'major_axis': None, 'minor_axis': None, 'flattening': None}, '4': {'shape': 'oblateSpheriod', 'major_axis': 6378137.0, 'minor_axis': 6356752.314, 'flattening': 0.003352810681182319}, '5': {'shape': 'ellipsoid', 'major_axis': 6378137.0, 'minor_axis': 6356752.3142, 'flattening': 0.003352810681182319}, '6': {'shape': 'spherical', 'radius': 6371229.0}, '7': {'shape': 'oblateSpheriod', 'major_axis': None, 'minor_axis': None, 'flattening': None}, '8': {'shape': 'spherical', 'radius': 6371200.0}, '9': {'shape': 'unknown', 'radius': None}, '10': {'shape': 'unknown', 'radius': None}, '11': {'shape': 'unknown', 'radius': None}, '12': {'shape': 'unknown', 'radius': None}, '13': {'shape': 'unknown', 'radius': None}, '14': {'shape': 'unknown', 'radius': None}, '15': {'shape': 'unknown', 'radius': None}, '16': {'shape': 'unknown', 'radius': None}, '17': {'shape': 'unknown', 'radius': None}, '18': {'shape': 'unknown', 'radius': None}, '19': {'shape': 'unknown', 'radius': None}, '20': {'shape': 'unknown', 'radius': None}, '21': {'shape': 'unknown', 'radius': None}, '22': {'shape': 'unknown', 'radius': None}, '23': {'shape': 'unknown', 'radius': None}, '24': {'shape': 'unknown', 'radius': None}, '25': {'shape': 'unknown', 'radius': None}, '26': {'shape': 'unknown', 'radius': None}, '27': {'shape': 'unknown', 'radius': None}, '28': {'shape': 'unknown', 'radius': None}, '29': {'shape': 'unknown', 'radius': None}, '30': {'shape': 'unknown', 'radius': None}, '31': {'shape': 'unknown', 'radius': None}, '32': {'shape': 'unknown', 'radius': None}, '33': {'shape': 'unknown', 'radius': None}, '34': {'shape': 'unknown', 'radius': None}, '35': {'shape': 'unknown', 'radius': None}, '36': {'shape': 'unknown', 'radius': None}, '37': {'shape': 'unknown', 'radius': None}, '38': {'shape': 'unknown', 'radius': None}, '39': {'shape': 'unknown', 'radius': None}, '40': {'shape': 'unknown', 'radius': None}, '41': {'shape': 'unknown', 'radius': None}, '42': {'shape': 'unknown', 'radius': None}, '43': {'shape': 'unknown', 'radius': None}, '44': {'shape': 'unknown', 'radius': None}, '45': {'shape': 'unknown', 'radius': None}, '46': {'shape': 'unknown', 'radius': None}, '47': {'shape': 'unknown', 'radius': None}, '48': {'shape': 'unknown', 'radius': None}, '49': {'shape': 'unknown', 'radius': None}, '50': {'shape': 'unknown', 'radius': None}, '51': {'shape': 'unknown', 'radius': None}, '52': {'shape': 'unknown', 'radius': None}, '53': {'shape': 'unknown', 'radius': None}, '54': {'shape': 'unknown', 'radius': None}, '55': {'shape': 'unknown', 'radius': None}, '56': {'shape': 'unknown', 'radius': None}, '57': {'shape': 'unknown', 'radius': None}, '58': {'shape': 'unknown', 'radius': None}, '59': {'shape': 'unknown', 'radius': None}, '60': {'shape': 'unknown', 'radius': None}, '61': {'shape': 'unknown', 'radius': None}, '62': {'shape': 'unknown', 'radius': None}, '63': {'shape': 'unknown', 'radius': None}, '64': {'shape': 'unknown', 'radius': None}, '65': {'shape': 'unknown', 'radius': None}, '66': {'shape': 'unknown', 'radius': None}, '67': {'shape': 'unknown', 'radius': None}, '68': {'shape': 'unknown', 'radius': None}, '69': {'shape': 'unknown', 'radius': None}, '70': {'shape': 'unknown', 'radius': None}, '71': {'shape': 'unknown', 'radius': None}, '72': {'shape': 'unknown', 'radius': None}, '73': {'shape': 'unknown', 'radius': None}, '74': {'shape': 'unknown', 'radius': None}, '75': {'shape': 'unknown', 'radius': None}, '76': {'shape': 'unknown', 'radius': None}, '77': {'shape': 'unknown', 'radius': None}, '78': {'shape': 'unknown', 'radius': None}, '79': {'shape': 'unknown', 'radius': None}, '80': {'shape': 'unknown', 'radius': None}, '81': {'shape': 'unknown', 'radius': None}, '82': {'shape': 'unknown', 'radius': None}, '83': {'shape': 'unknown', 'radius': None}, '84': {'shape': 'unknown', 'radius': None}, '85': {'shape': 'unknown', 'radius': None}, '86': {'shape': 'unknown', 'radius': None}, '87': {'shape': 'unknown', 'radius': None}, '88': {'shape': 'unknown', 'radius': None}, '89': {'shape': 'unknown', 'radius': None}, '90': {'shape': 'unknown', 'radius': None}, '91': {'shape': 'unknown', 'radius': None}, '92': {'shape': 'unknown', 'radius': None}, '93': {'shape': 'unknown', 'radius': None}, '94': {'shape': 'unknown', 'radius': None}, '95': {'shape': 'unknown', 'radius': None}, '96': {'shape': 'unknown', 'radius': None}, '97': {'shape': 'unknown', 'radius': None}, '98': {'shape': 'unknown', 'radius': None}, '99': {'shape': 'unknown', 'radius': None}, '100': {'shape': 'unknown', 'radius': None}, '101': {'shape': 'unknown', 'radius': None}, '102': {'shape': 'unknown', 'radius': None}, '103': {'shape': 'unknown', 'radius': None}, '104': {'shape': 'unknown', 'radius': None}, '105': {'shape': 'unknown', 'radius': None}, '106': {'shape': 'unknown', 'radius': None}, '107': {'shape': 'unknown', 'radius': None}, '108': {'shape': 'unknown', 'radius': None}, '109': {'shape': 'unknown', 'radius': None}, '110': {'shape': 'unknown', 'radius': None}, '111': {'shape': 'unknown', 'radius': None}, '112': {'shape': 'unknown', 'radius': None}, '113': {'shape': 'unknown', 'radius': None}, '114': {'shape': 'unknown', 'radius': None}, '115': {'shape': 'unknown', 'radius': None}, '116': {'shape': 'unknown', 'radius': None}, '117': {'shape': 'unknown', 'radius': None}, '118': {'shape': 'unknown', 'radius': None}, '119': {'shape': 'unknown', 'radius': None}, '120': {'shape': 'unknown', 'radius': None}, '121': {'shape': 'unknown', 'radius': None}, '122': {'shape': 'unknown', 'radius': None}, '123': {'shape': 'unknown', 'radius': None}, '124': {'shape': 'unknown', 'radius': None}, '125': {'shape': 'unknown', 'radius': None}, '126': {'shape': 'unknown', 'radius': None}, '127': {'shape': 'unknown', 'radius': None}, '128': {'shape': 'unknown', 'radius': None}, '129': {'shape': 'unknown', 'radius': None}, '130': {'shape': 'unknown', 'radius': None}, '131': {'shape': 'unknown', 'radius': None}, '132': {'shape': 'unknown', 'radius': None}, '133': {'shape': 'unknown', 'radius': None}, '134': {'shape': 'unknown', 'radius': None}, '135': {'shape': 'unknown', 'radius': None}, '136': {'shape': 'unknown', 'radius': None}, '137': {'shape': 'unknown', 'radius': None}, '138': {'shape': 'unknown', 'radius': None}, '139': {'shape': 'unknown', 'radius': None}, '140': {'shape': 'unknown', 'radius': None}, '141': {'shape': 'unknown', 'radius': None}, '142': {'shape': 'unknown', 'radius': None}, '143': {'shape': 'unknown', 'radius': None}, '144': {'shape': 'unknown', 'radius': None}, '145': {'shape': 'unknown', 'radius': None}, '146': {'shape': 'unknown', 'radius': None}, '147': {'shape': 'unknown', 'radius': None}, '148': {'shape': 'unknown', 'radius': None}, '149': {'shape': 'unknown', 'radius': None}, '150': {'shape': 'unknown', 'radius': None}, '151': {'shape': 'unknown', 'radius': None}, '152': {'shape': 'unknown', 'radius': None}, '153': {'shape': 'unknown', 'radius': None}, '154': {'shape': 'unknown', 'radius': None}, '155': {'shape': 'unknown', 'radius': None}, '156': {'shape': 'unknown', 'radius': None}, '157': {'shape': 'unknown', 'radius': None}, '158': {'shape': 'unknown', 'radius': None}, '159': {'shape': 'unknown', 'radius': None}, '160': {'shape': 'unknown', 'radius': None}, '161': {'shape': 'unknown', 'radius': None}, '162': {'shape': 'unknown', 'radius': None}, '163': {'shape': 'unknown', 'radius': None}, '164': {'shape': 'unknown', 'radius': None}, '165': {'shape': 'unknown', 'radius': None}, '166': {'shape': 'unknown', 'radius': None}, '167': {'shape': 'unknown', 'radius': None}, '168': {'shape': 'unknown', 'radius': None}, '169': {'shape': 'unknown', 'radius': None}, '170': {'shape': 'unknown', 'radius': None}, '171': {'shape': 'unknown', 'radius': None}, '172': {'shape': 'unknown', 'radius': None}, '173': {'shape': 'unknown', 'radius': None}, '174': {'shape': 'unknown', 'radius': None}, '175': {'shape': 'unknown', 'radius': None}, '176': {'shape': 'unknown', 'radius': None}, '177': {'shape': 'unknown', 'radius': None}, '178': {'shape': 'unknown', 'radius': None}, '179': {'shape': 'unknown', 'radius': None}, '180': {'shape': 'unknown', 'radius': None}, '181': {'shape': 'unknown', 'radius': None}, '182': {'shape': 'unknown', 'radius': None}, '183': {'shape': 'unknown', 'radius': None}, '184': {'shape': 'unknown', 'radius': None}, '185': {'shape': 'unknown', 'radius': None}, '186': {'shape': 'unknown', 'radius': None}, '187': {'shape': 'unknown', 'radius': None}, '188': {'shape': 'unknown', 'radius': None}, '189': {'shape': 'unknown', 'radius': None}, '190': {'shape': 'unknown', 'radius': None}, '191': {'shape': 'unknown', 'radius': None}, '192': {'shape': 'unknown', 'radius': None}, '193': {'shape': 'unknown', 'radius': None}, '194': {'shape': 'unknown', 'radius': None}, '195': {'shape': 'unknown', 'radius': None}, '196': {'shape': 'unknown', 'radius': None}, '197': {'shape': 'unknown', 'radius': None}, '198': {'shape': 'unknown', 'radius': None}, '199': {'shape': 'unknown', 'radius': None}, '200': {'shape': 'unknown', 'radius': None}, '201': {'shape': 'unknown', 'radius': None}, '202': {'shape': 'unknown', 'radius': None}, '203': {'shape': 'unknown', 'radius': None}, '204': {'shape': 'unknown', 'radius': None}, '205': {'shape': 'unknown', 'radius': None}, '206': {'shape': 'unknown', 'radius': None}, '207': {'shape': 'unknown', 'radius': None}, '208': {'shape': 'unknown', 'radius': None}, '209': {'shape': 'unknown', 'radius': None}, '210': {'shape': 'unknown', 'radius': None}, '211': {'shape': 'unknown', 'radius': None}, '212': {'shape': 'unknown', 'radius': None}, '213': {'shape': 'unknown', 'radius': None}, '214': {'shape': 'unknown', 'radius': None}, '215': {'shape': 'unknown', 'radius': None}, '216': {'shape': 'unknown', 'radius': None}, '217': {'shape': 'unknown', 'radius': None}, '218': {'shape': 'unknown', 'radius': None}, '219': {'shape': 'unknown', 'radius': None}, '220': {'shape': 'unknown', 'radius': None}, '221': {'shape': 'unknown', 'radius': None}, '222': {'shape': 'unknown', 'radius': None}, '223': {'shape': 'unknown', 'radius': None}, '224': {'shape': 'unknown', 'radius': None}, '225': {'shape': 'unknown', 'radius': None}, '226': {'shape': 'unknown', 'radius': None}, '227': {'shape': 'unknown', 'radius': None}, '228': {'shape': 'unknown', 'radius': None}, '229': {'shape': 'unknown', 'radius': None}, '230': {'shape': 'unknown', 'radius': None}, '231': {'shape': 'unknown', 'radius': None}, '232': {'shape': 'unknown', 'radius': None}, '233': {'shape': 'unknown', 'radius': None}, '234': {'shape': 'unknown', 'radius': None}, '235': {'shape': 'unknown', 'radius': None}, '236': {'shape': 'unknown', 'radius': None}, '237': {'shape': 'unknown', 'radius': None}, '238': {'shape': 'unknown', 'radius': None}, '239': {'shape': 'unknown', 'radius': None}, '240': {'shape': 'unknown', 'radius': None}, '241': {'shape': 'unknown', 'radius': None}, '242': {'shape': 'unknown', 'radius': None}, '243': {'shape': 'unknown', 'radius': None}, '244': {'shape': 'unknown', 'radius': None}, '245': {'shape': 'unknown', 'radius': None}, '246': {'shape': 'unknown', 'radius': None}, '247': {'shape': 'unknown', 'radius': None}, '248': {'shape': 'unknown', 'radius': None}, '249': {'shape': 'unknown', 'radius': None}, '250': {'shape': 'unknown', 'radius': None}, '251': {'shape': 'unknown', 'radius': None}, '252': {'shape': 'unknown', 'radius': None}, '253': {'shape': 'unknown', 'radius': None}, '254': {'shape': 'unknown', 'radius': None}, '255': {'shape': 'unknown', 'radius': None}}"}, {"fullname": "grib2io.tables.section4", "modulename": "grib2io.tables.section4", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section4.table_4_1_0", "modulename": "grib2io.tables.section4", "qualname": "table_4_1_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Temperature', '1': 'Moisture', '2': 'Momentum', '3': 'Mass', '4': 'Short-wave radiation', '5': 'Long-wave radiation', '6': 'Cloud', '7': 'Thermodynamic Stability indicies', '8': 'Kinematic Stability indicies', '9': 'Temperature Probabilities*', '10': 'Moisture Probabilities*', '11': 'Momentum Probabilities*', '12': 'Mass Probabilities*', '13': 'Aerosols', '14': 'Trace gases', '15': 'Radar', '16': 'Forecast Radar Imagery', '17': 'Electrodynamics', '18': 'Nuclear/radiology', '19': 'Physical atmospheric properties', '20': 'Atmospheric chemical Constituents', '21': 'Thermodynamic Properties', '22-189': 'Reserved', '190': 'CCITT IA5 string', '191': 'Miscellaneous', '192-254': 'Reserved for Local Use', '192': 'Covariance', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_1_1", "modulename": "grib2io.tables.section4", "qualname": "table_4_1_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Hydrology basic products', '1': 'Hydrology probabilities', '2': 'Inland water and sediment properties', '3-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_1_2", "modulename": "grib2io.tables.section4", "qualname": "table_4_1_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Vegetation/Biomass', '1': 'Agricultural/Aquacultural Special Products', '2': 'Transportation-related Products', '3': 'Soil Products', '4': 'Fire Weather Products', '5': 'Land Surface Products', '6': 'Urban areas', '7-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_1_3", "modulename": "grib2io.tables.section4", "qualname": "table_4_1_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Image format products', '1': 'Quantitative products', '2': 'Cloud Properties', '3': 'Flight Rules Conditions', '4': 'Volcanic Ash', '5': 'Sea-surface Temperature', '6': 'Solar Radiation', '7-191': 'Reserved', '192-254': 'Reserved for Local Use', '192': 'Forecast Satellite Imagery', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_1_4", "modulename": "grib2io.tables.section4", "qualname": "table_4_1_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Temperature', '1': 'Momentum', '2': 'Charged Particle Mass and Number', '3': 'Electric and Magnetic Fields', '4': 'Energetic Particles', '5': 'Waves', '6': 'Solar Electromagnetic Emissions', '7': 'Terrestrial Electromagnetic Emissions', '8': 'Imagery', '9': 'Ion-Neutral Coupling', '10': 'Space Weather Indices', '11-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_1_10", "modulename": "grib2io.tables.section4", "qualname": "table_4_1_10", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Waves', '1': 'Currents', '2': 'Ice', '3': 'Surface Properties', '4': 'Sub-surface Properties', '5-190': 'Reserved', '191': 'Miscellaneous', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_1_20", "modulename": "grib2io.tables.section4", "qualname": "table_4_1_20", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Health Indicators', '1': 'Epidemiology', '2': 'Socioeconomic indicators', '3': 'Renewable energy sector', '4-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_0", "modulename": "grib2io.tables.section4", "qualname": "table_4_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time. (see Template 4.0)', '1': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time. (see Template 4.1)', '2': 'Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time. (see Template 4.2)', '3': 'Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time. (see Template 4.3)', '4': 'Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time. (see Template 4.4)', '5': 'Probability forecasts at a horizontal level or in a horizontal layer at a point in time. (see Template 4.5)', '6': 'Percentile forecasts at a horizontal level or in a horizontal layer at a point in time. (see Template 4.6)', '7': 'Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time. (see Template 4.7)', '8': 'Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.8)', '9': 'Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.9)', '10': 'Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.10)', '11': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. (see Template 4.11)', '12': 'Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. (see Template 4.12)', '13': 'Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. (see Template 4.13)', '14': 'Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. (see Template 4.14)', '15': 'Average, accumulation, extreme values or other statistically-processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time. (see Template 4.15)', '16-19': 'Reserved', '20': 'Radar product (see Template 4.20)', '21-29': 'Reserved', '30': 'Satellite product (see Template 4.30) NOTE: This template is deprecated. Template 4.31 should be used instead.', '31': 'Satellite product (see Template 4.31)', '32': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulate (synthetic) satellite data (see Template 4.32)', '33': 'Individual Ensemble Forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data (see Template 4.33)', '34': 'Individual Ensemble Forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data(see Template 4.34)', '35': 'Satellite product with or without associated quality values (see Template 4.35)', '36-39': 'Reserved', '40': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents. (see Template 4.40)', '41': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents. (see Template 4.41)', '42': 'Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents. (see Template 4.42)', '43': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval for atmospheric chemical constituents. (see Template 4.43)', '44': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol. (see Template 4.44)', '45': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval for aerosol. (see Template 4.45)', '46': 'Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol. (see Template 4.46)', '47': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval for aerosol. (see Template 4.47)', '48': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol. (see Template 4.48)', '49': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol. (see Template 4.49)', '50': 'Reserved', '51': 'Categorical forecast at a horizontal level or in a horizontal layer at a point in time. (see Template 4.51)', '52': 'Reserved', '53': 'Partitioned parameters at a horizontal level or horizontal layer at a point in time. (see Template 4.53)', '54': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters. (see Template 4.54)', '55': 'Spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time (see Template 4.55)', '56': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters (DEPRECATED) (see Template 4.56)', '57': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function (see Template 4.57)', '58': 'Individual Ensemble Forecast, Control and Perturbed, at a horizontal level or in a horizontal layer at a point in time interval for Atmospheric Chemical Constituents based on a distribution function (see Template 4.58)', '59': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters (corrected version of template 4.56 - See Template 4.59)', '60': 'Individual Ensemble Reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time. (see Template 4.60)', '61': 'Individual Ensemble Reforecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval (see Template 4.61)', '62': 'Average, Accumulation and/or Extreme values or other Statistically-processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time (see Template 4.62)', '63': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for spatio-temporal changing tiles (see Template 4.63)', '64-66': 'Reserved', '67': 'Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents based on a distribution function (see Template 4.67)', '68': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents based on a distribution function. (see Template 4.68)', '69': 'Reserved', '70': 'Post-processing analysis or forecast at a horizontal level or in a horizontal layer at a point in time. (see Template 4.70)', '71': 'Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time. (see Template 4.71)', '72': 'Post-processing average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.72)', '73': 'Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. (see Template 4.73)', '74-75': 'Reserved', '76': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents with source or sink. (see Template 4.76)', '77': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents with source or sink. (see Template 4.77)', '78': 'Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents with source or sink. (see Template 4.78)', '79': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents with source or sink. (see Template 4.79)', '80': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol with source or sink. (see Template 4.80)', '81': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol with source or sink. (see Template 4.81)', '82': 'Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol with source or sink. (see Template 4.82)', '83': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol with source or sink. (see Template 4.83)', '84': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol with source or sink. (see Template 4.84)', '85': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol. (see Template 4.85)', '86': 'Quantile forecasts at a horizontal level or in a horizontal layer at a point in time. (see Template 4.86)', '87': 'Quantile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.87)', '88': 'Analysis or forecast at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.88)', '89-90': 'Reserved', '91': 'Categorical forecast at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.91)', '92': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.92)', '93': 'Post-processing analysis or forecast at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.93)', '94': 'Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.94)', '95': 'Average, accumulation, extreme values or other statiscally processed value at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.95)', '96': 'Average, accumulation, extreme values or other statistically processed values of an individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.96)', '97': 'Average, accumulation, extreme values or other statistically processed values of post-processing analysis or forecast at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.97)', '98': 'Average, accumulation, extreme values or other statistically processed values of a post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.98)', '99': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for wave 2D spectra with explicit list of frequencies and directions (see Template 4.99)', '100': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for wave 2D spectra with explicit list of frequencies and directions (see Template 4.100)', '101': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for wave 2D spectra with frequencies and directions defined by formulae (see Template 4.101)', '102': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for wave 2D spectra with frequencies and directions defined by formulae (see Template 4.102)', '103': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for waves selected by period range (see Template 4.103)', '104': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for waves selected by period range (see Template 4.104)', '105': 'Anomalies, significance and other derived products from an analysis or forecast in relation to a reference period at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval (see Template 4.105)', '106': 'Anomalies, significance and other derived products from an individual ensemble forecast, control and perturbed in relation to a reference period at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval (see Template 4.106)', '107': 'Anomalies, significance and other derived products from derived forecasts based on all ensemble members in relation to a reference period at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval (see Template 4.107)', '108': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for generic optical products (see Template 4.108)', '109': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for generic optical products (see Template 4.109)', '110': 'Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for generic optical products (see Template 4.110)', '111': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for generic optical products (see Template 4.111)', '112': 'Anomalies, significance and other derived products as probability forecasts in relation to a reference period at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval (see Template 4.112)', '113-253': 'Reserved', '254': 'CCITT IA5 character string (see Template 4.254)', '255-999': 'Reserved', '1000': 'Cross-section of analysis and forecast at a point in time. (see Template 4.1000)', '1001': 'Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time. (see Template 4.1001)', '1002': 'Cross-section of analysis and forecast, averaged or otherwise statistically-processed over latitude or longitude. (see Template 4.1002)', '1003-1099': 'Reserved', '1100': 'Hovmoller-type grid with no averaging or other statistical processing (see Template 4.1100)', '1101': 'Hovmoller-type grid with averaging or other statistical processing (see Template 4.1101)', '1102-32767': 'Reserved', '32768-65534': 'Reserved for Local Use', '65535': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_3", "modulename": "grib2io.tables.section4", "qualname": "table_4_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Analysis', '1': 'Initialization', '2': 'Forecast', '3': 'Bias Corrected Forecast', '4': 'Ensemble Forecast', '5': 'Probability Forecast', '6': 'Forecast Error', '7': 'Analysis Error', '8': 'Observation', '9': 'Climatological', '10': 'Probability-Weighted Forecast', '11': 'Bias-Corrected Ensemble Forecast', '12': 'Post-processed Analysis (See Note)', '13': 'Post-processed Forecast (See Note)', '14': 'Nowcast', '15': 'Hindcast', '16': 'Physical Retrieval', '17': 'Regression Analysis', '18': 'Difference Between Two Forecasts', '19': 'First guess', '20': 'Analysis increment', '21': 'Initialization increment for analysis', '22-191': 'Reserved', '192-254': 'Reserved for Local Use', '192': 'Forecast Confidence Indicator', '193': 'Probability-matched Mean', '194': 'Neighborhood Probability', '195': 'Bias-Corrected and Downscaled Ensemble Forecast', '196': 'Perturbed Analysis for Ensemble Initialization', '197': 'Ensemble Agreement Scale Probability', '198': 'Post-Processed Deterministic-Expert-Weighted Forecast', '199': 'Ensemble Forecast Based on Counting', '200': 'Local Probability-matched Mean', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_4", "modulename": "grib2io.tables.section4", "qualname": "table_4_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Minute', '1': 'Hour', '2': 'Day', '3': 'Month', '4': 'Year', '5': 'Decade (10 Years)', '6': 'Normal (30 Years)', '7': 'Century (100 Years)', '8': 'Reserved', '9': 'Reserved', '10': '3 Hours', '11': '6 Hours', '12': '12 Hours', '13': 'Second', '14-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_5", "modulename": "grib2io.tables.section4", "qualname": "table_4_5", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Reserved', 'unknown'], '1': ['Ground or Water Surface', 'unknown'], '2': ['Cloud Base Level', 'unknown'], '3': ['Level of Cloud Tops', 'unknown'], '4': ['Level of 0o C Isotherm', 'unknown'], '5': ['Level of Adiabatic Condensation Lifted from the Surface', 'unknown'], '6': ['Maximum Wind Level', 'unknown'], '7': ['Tropopause', 'unknown'], '8': ['Nominal Top of the Atmosphere', 'unknown'], '9': ['Sea Bottom', 'unknown'], '10': ['Entire Atmosphere', 'unknown'], '11': ['Cumulonimbus Base (CB)', 'm'], '12': ['Cumulonimbus Top (CT)', 'm'], '13': ['Lowest level where vertically integrated cloud cover exceeds the specified percentage (cloud base for a given percentage cloud cover)', '%'], '14': ['Level of free convection (LFC)', 'unknown'], '15': ['Convection condensation level (CCL)', 'unknown'], '16': ['Level of neutral buoyancy or equilibrium (LNB)', 'unknown'], '17': ['Departure level of the most unstable parcel of air (MUDL)', 'unknown'], '18': ['Departure level of a mixed layer parcel of air with specified layer depth', 'Pa'], '19': ['Reserved', 'unknown'], '20': ['Isothermal Level', 'K'], '21': ['Lowest level where mass density exceeds the specified value (base for a given threshold of mass density)', 'kg m-3'], '22': ['Highest level where mass density exceeds the specified value (top for a given threshold of mass density)', 'kg m-3'], '23': ['Lowest level where air concentration exceeds the specified value (base for a given threshold of air concentration', 'Bq m-3'], '24': ['Highest level where air concentration exceeds the specified value (top for a given threshold of air concentration)', 'Bq m-3'], '25': ['Highest level where radar reflectivity exceeds the specified value (echo top for a given threshold of reflectivity)', 'dBZ'], '26': ['Convective cloud layer base', 'm'], '27': ['Convective cloud layer top', 'm'], '28-29': ['Reserved', 'unknown'], '30': ['Specified radius from the centre of the Sun', 'm'], '31': ['Solar photosphere', 'unknown'], '32': ['Ionospheric D-region level', 'unknown'], '33': ['Ionospheric E-region level', 'unknown'], '34': ['Ionospheric F1-region level', 'unknown'], '35': ['Ionospheric F2-region level', 'unknown'], '36-99': ['Reserved', 'unknown'], '100': ['Isobaric Surface', 'Pa'], '101': ['Mean Sea Level', 'unknown'], '102': ['Specific Altitude Above Mean Sea Level', 'm'], '103': ['Specified Height Level Above Ground', 'm'], '104': ['Sigma Level', 'unknown'], '105': ['Hybrid Level', 'unknown'], '106': ['Depth Below Land Surface', 'm'], '107': ['Isentropic (theta) Level', 'K'], '108': ['Level at Specified Pressure Difference from Ground to Level', 'Pa'], '109': ['Potential Vorticity Surface', 'K m2 kg-1 s-1'], '110': ['Reserved', 'unknown'], '111': ['Eta Level', 'unknown'], '112': ['Reserved', 'unknown'], '113': ['Logarithmic Hybrid Level', 'unknown'], '114': ['Snow Level', 'Numeric'], '115': ['Sigma height level', 'unknown'], '116': ['Reserved', 'unknown'], '117': ['Mixed Layer Depth', 'm'], '118': ['Hybrid Height Level', 'unknown'], '119': ['Hybrid Pressure Level', 'unknown'], '120-149': ['Reserved', 'unknown'], '150': ['Generalized Vertical Height Coordinate', 'unknown'], '151': ['Soil level', 'Numeric'], '152': ['Sea-ice level,(see Note 8)', 'Numeric'], '153-159': ['Reserved', 'unknown'], '160': ['Depth Below Sea Level', 'm'], '161': ['Depth Below Water Surface', 'm'], '162': ['Lake or River Bottom', 'unknown'], '163': ['Bottom Of Sediment Layer', 'unknown'], '164': ['Bottom Of Thermally Active Sediment Layer', 'unknown'], '165': ['Bottom Of Sediment Layer Penetrated By Thermal Wave', 'unknown'], '166': ['Mixing Layer', 'unknown'], '167': ['Bottom of Root Zone', 'unknown'], '168': ['Ocean Model Level', 'Numeric'], '169': ['Ocean level defined by water density (sigma-theta) difference from near-surface to level', 'kg m-3'], '170': ['Ocean level defined by water potential temperature difference from near-surface to level', 'K'], '171': ['Ocean level defined by vertical eddy diffusivity difference from near-surface to level', 'm2 s-1'], '172': ['Ocean level defined by water density (rho) difference from near-surface to level (*Tentatively accepted)', 'kg m-3'], '173': ['Top of Snow Over Sea Ice on Sea, Lake or River', 'unknown'], '174': ['Top Surface of Ice on Sea, Lake or River', 'unknown'], '175': ['Top Surface of Ice, under Snow, on Sea, Lake or River', 'unknown'], '176': ['Bottom Surface (underside) Ice on Sea, Lake or River', 'unknown'], '177': ['Deep Soil (of indefinite depth)', 'unknown'], '178': ['Reserved', 'unknown'], '179': ['Top Surface of Glacier Ice and Inland Ice', 'unknown'], '180': ['Deep Inland or Glacier Ice (of indefinite depth)', 'unknown'], '181': ['Grid Tile Land Fraction as a Model Surface', 'unknown'], '182': ['Grid Tile Water Fraction as a Model Surface', 'unknown'], '183': ['Grid Tile Ice Fraction on Sea, Lake or River as a Model Surface', 'unknown'], '184': ['Grid Tile Glacier Ice and Inland Ice Fraction as a Model Surface', 'unknown'], '185': ['Roof Level', 'unknown'], '186': ['Wall level', 'unknown'], '187': ['Road Level', 'unknown'], '188': ['Melt pond Top Surface', 'unknown'], '189': ['Melt Pond Bottom Surface', 'unknown'], '190-191': ['Reserved', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown'], '200': ['Entire atmosphere (considered as a single layer)', 'unknown'], '201': ['Entire ocean (considered as a single layer)', 'unknown'], '204': ['Highest tropospheric freezing level', 'unknown'], '206': ['Grid scale cloud bottom level', 'unknown'], '207': ['Grid scale cloud top level', 'unknown'], '209': ['Boundary layer cloud bottom level', 'unknown'], '210': ['Boundary layer cloud top level', 'unknown'], '211': ['Boundary layer cloud layer', 'unknown'], '212': ['Low cloud bottom level', 'unknown'], '213': ['Low cloud top level', 'unknown'], '214': ['Low cloud layer', 'unknown'], '215': ['Cloud ceiling', 'unknown'], '216': ['Effective Layer Top Level', 'm'], '217': ['Effective Layer Bottom Level', 'm'], '218': ['Effective Layer', 'm'], '220': ['Planetary Boundary Layer', 'unknown'], '221': ['Layer Between Two Hybrid Levels', 'unknown'], '222': ['Middle cloud bottom level', 'unknown'], '223': ['Middle cloud top level', 'unknown'], '224': ['Middle cloud layer', 'unknown'], '232': ['High cloud bottom level', 'unknown'], '233': ['High cloud top level', 'unknown'], '234': ['High cloud layer', 'unknown'], '235': ['Ocean Isotherm Level (1/10 \u00b0 C)', 'unknown'], '236': ['Layer between two depths below ocean surface', 'unknown'], '237': ['Bottom of Ocean Mixed Layer (m)', 'unknown'], '238': ['Bottom of Ocean Isothermal Layer (m)', 'unknown'], '239': ['Layer Ocean Surface and 26C Ocean Isothermal Level', 'unknown'], '240': ['Ocean Mixed Layer', 'unknown'], '241': ['Ordered Sequence of Data', 'unknown'], '242': ['Convective cloud bottom level', 'unknown'], '243': ['Convective cloud top level', 'unknown'], '244': ['Convective cloud layer', 'unknown'], '245': ['Lowest level of the wet bulb zero', 'unknown'], '246': ['Maximum equivalent potential temperature level', 'unknown'], '247': ['Equilibrium level', 'unknown'], '248': ['Shallow convective cloud bottom level', 'unknown'], '249': ['Shallow convective cloud top level', 'unknown'], '251': ['Deep convective cloud bottom level', 'unknown'], '252': ['Deep convective cloud top level', 'unknown'], '253': ['Lowest bottom level of supercooled liquid water layer', 'unknown'], '254': ['Highest top level of supercooled liquid water layer', 'unknown'], '255': ['Missing', 'unknown']}"}, {"fullname": "grib2io.tables.section4.table_4_6", "modulename": "grib2io.tables.section4", "qualname": "table_4_6", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Unperturbed High-Resolution Control Forecast', '1': 'Unperturbed Low-Resolution Control Forecast', '2': 'Negatively Perturbed Forecast', '3': 'Positively Perturbed Forecast', '4': 'Multi-Model Forecast', '5-191': 'Reserved', '192-254': 'Reserved for Local Use', '192': 'Perturbed Ensemble Member', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_7", "modulename": "grib2io.tables.section4", "qualname": "table_4_7", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Unweighted Mean of All Members', '1': 'Weighted Mean of All Members', '2': 'Standard Deviation with respect to Cluster Mean', '3': 'Standard Deviation with respect to Cluster Mean, Normalized', '4': 'Spread of All Members', '5': 'Large Anomaly Index of All Members', '6': 'Unweighted Mean of the Cluster Members', '7': 'Interquartile Range (Range between the 25th and 75th quantile)', '8': 'Minimum Of All Ensemble Members', '9': 'Maximum Of All Ensemble Members', '10-191': 'Reserved', '192-254': 'Reserved for Local Use', '192': 'Unweighted Mode of All Members', '193': 'Percentile value (10%) of All Members', '194': 'Percentile value (50%) of All Members', '195': 'Percentile value (90%) of All Members', '196': 'Statistically decided weights for each ensemble member', '197': 'Climate Percentile (percentile values from climate distribution)', '198': 'Deviation of Ensemble Mean from Daily Climatology', '199': 'Extreme Forecast Index', '200': 'Equally Weighted Mean', '201': 'Percentile value (5%) of All Members', '202': 'Percentile value (25%) of All Members', '203': 'Percentile value (75%) of All Members', '204': 'Percentile value (95%) of All Members', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_8", "modulename": "grib2io.tables.section4", "qualname": "table_4_8", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Anomoly Correlation', '1': 'Root Mean Square', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_9", "modulename": "grib2io.tables.section4", "qualname": "table_4_9", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Probability of event below lower limit', '1': 'Probability of event above upper limit', '2': 'Probability of event between upper and lower limits (the range includes lower limit but no the upper limit)', '3': 'Probability of event above lower limit', '4': 'Probability of event below upper limit', '5': 'Probability of event equal to lower limit', '6': 'Probability of event in above normal category (see Notes 1 and 2)', '9-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_10", "modulename": "grib2io.tables.section4", "qualname": "table_4_10", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Average', '1': 'Accumulation', '2': 'Maximum', '3': 'Minimum', '4': 'Difference (value at the end of the time range minus value at the beginning)', '5': 'Root Mean Square', '6': 'Standard Deviation', '7': 'Covariance (temporal variance)', '8': 'Difference ( value at the beginning of the time range minus value at the end)', '9': 'Ratio', '10': 'Standardized Anomaly', '11': 'Summation', '12': 'Return period', '13-99': 'Reserved', '100': 'Severity', '101': 'Mode', '102-191': 'Reserved', '192-254': 'Reserved for Local Use', '192': 'Climatological Mean Value: multiple year averages of quantities which are themselves means over some period of time (P2) less than a year. The reference time (R) indicates the date and time of the start of a period of time, given by R to R + P2, over which a mean is formed; N indicates the number of such period-means that are averaged together to form the climatological value, assuming that the N period-mean fields are separated by one year. The reference time indicates the start of the N-year climatology. N is given in octets 22-23 of the PDS. If P1 = 0 then the data averaged in the basic interval P2 are assumed to be continuous, i.e., all available data are simply averaged together. If P1 = 1 (the units of time - octet 18, code table 4 - are not relevant here) then the data averaged together in the basic interval P2 are valid only at the time (hour, minute) given in the reference time, for all the days included in the P2 period. The units of P2 are given by the contents of octet 18 and Table 4.', '193': 'Average of N forecasts (or initialized analyses); each product has forecast period of P1 (P1=0 for initialized analyses); products have reference times at intervals of P2, beginning at the given reference time.', '194': 'Average of N uninitialized analyses, starting at reference time, at intervals of P2.', '195': 'Average of forecast accumulations. P1 = start of accumulation period. P2 = end of accumulation period. Reference time is the start time of the first forecast, other forecasts at 24-hour intervals. Number in Ave = number of forecasts used.', '196': 'Average of successive forecast accumulations. P1 = start of accumulation period. P2 = end of accumulation period. Reference time is the start time of the first forecast, other forecasts at (P2 - P1) intervals. Number in Ave = number of forecasts used', '197': 'Average of forecast averages. P1 = start of averaging period. P2 = end of averaging period. Reference time is the start time of the first forecast, other forecasts at 24-hour intervals. Number in Ave = number of forecast used', '198': 'Average of successive forecast averages. P1 = start of averaging period. P2 = end of averaging period. Reference time is the start time of the first forecast, other forecasts at (P2 - P1) intervals. Number in Ave = number of forecasts used', '199': 'Climatological Average of N analyses, each a year apart, starting from initial time R and for the period from R+P1 to R+P2.', '200': 'Climatological Average of N forecasts, each a year apart, starting from initial time R and for the period from R+P1 to R+P2.', '201': 'Climatological Root Mean Square difference between N forecasts and their verifying analyses, each a year apart, starting with initial time R and for the period from R+P1 to R+P2.', '202': 'Climatological Standard Deviation of N forecasts from the mean of the same N forecasts, for forecasts one year apart. The first forecast starts wtih initial time R and is for the period from R+P1 to R+P2.', '203': 'Climatological Standard Deviation of N analyses from the mean of the same N analyses, for analyses one year apart. The first analyses is valid for period R+P1 to R+P2.', '204': 'Average of forecast accumulations. P1 = start of accumulation period. P2 = end of accumulation period. Reference time is the start time of the first forecast, other forecasts at 6-hour intervals. Number in Ave = number of forecast used', '205': 'Average of forecast averages. P1 = start of averaging period. P2 = end of averaging period. Reference time is the start time of the first forecast, other forecasts at 6-hour intervals. Number in Ave = number of forecast used', '206': 'Average of forecast accumulations. P1 = start of accumulation period. P2 = end of accumulation period. Reference time is the start time of the first forecast, other forecasts at 12-hour intervals. Number in Ave = number of forecast used', '207': 'Average of forecast averages. P1 = start of averaging period. P2 = end of averaging period. Reference time is the start time of the first forecast, other forecasts at 12-hour intervals. Number in Ave = number of forecast used', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_11", "modulename": "grib2io.tables.section4", "qualname": "table_4_11", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Successive times processed have same forecast time, start time of forecast is incremented.', '2': 'Successive times processed have same start time of forecast, forecast time is incremented.', '3': 'Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant.', '4': 'Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant.', '5': 'Floating subinterval of time between forecast time and end of overall time interval.(see Note 1)', '6-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_12", "modulename": "grib2io.tables.section4", "qualname": "table_4_12", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Mainteunknownce Mode', '1': 'Clear Air', '2': 'Precipitation', '3-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_13", "modulename": "grib2io.tables.section4", "qualname": "table_4_13", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No Quality Control Applied', '1': 'Quality Control Applied', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_14", "modulename": "grib2io.tables.section4", "qualname": "table_4_14", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No Clutter Filter Used', '1': 'Clutter Filter Used', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_15", "modulename": "grib2io.tables.section4", "qualname": "table_4_15", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Data is calculated directly from the source grid with no interpolation', '1': 'Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point', '2': 'Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point', '3': 'Using the value from the source grid grid-point which is nearest to the nominal grid-point', '4': 'Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point', '5': 'Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point', '6': 'Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point', '7-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_91", "modulename": "grib2io.tables.section4", "qualname": "table_4_91", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Smaller than first limit', '1': 'Greater than second limit', '2': 'Between first and second limit. The range includes the first limit but not the second limit.', '3': 'Greater than first limit', '4': 'Smaller than second limit', '5': 'Smaller or equal first limit', '6': 'Greater or equal second limit', '7': 'Between first and second limit. The range includes the first limit and the second limit.', '8': 'Greater or equal first limit', '9': 'Smaller or equal second limit', '10': 'Between first and second limit. The range includes the second limit but not the first limit.', '11': 'Equal to first limit', '12-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_201", "modulename": "grib2io.tables.section4", "qualname": "table_4_201", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Rain', '2': 'Thunderstorm', '3': 'Freezing Rain', '4': 'Mixed/Ice', '5': 'Snow', '6': 'Wet Snow', '7': 'Mixture of Rain and Snow', '8': 'Ice Pellets', '9': 'Graupel', '10': 'Hail', '11': 'Drizzle', '12': 'Freezing Drizzle', '13-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_202", "modulename": "grib2io.tables.section4", "qualname": "table_4_202", "kind": "variable", "doc": "

\n", "default_value": "{'0-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_203", "modulename": "grib2io.tables.section4", "qualname": "table_4_203", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Clear', '1': 'Cumulonimbus', '2': 'Stratus', '3': 'Stratocumulus', '4': 'Cumulus', '5': 'Altostratus', '6': 'Nimbostratus', '7': 'Altocumulus', '8': 'Cirrostratus', '9': 'Cirrorcumulus', '10': 'Cirrus', '11': 'Cumulonimbus - ground-based fog beneath the lowest layer', '12': 'Stratus - ground-based fog beneath the lowest layer', '13': 'Stratocumulus - ground-based fog beneath the lowest layer', '14': 'Cumulus - ground-based fog beneath the lowest layer', '15': 'Altostratus - ground-based fog beneath the lowest layer', '16': 'Nimbostratus - ground-based fog beneath the lowest layer', '17': 'Altocumulus - ground-based fog beneath the lowest layer', '18': 'Cirrostratus - ground-based fog beneath the lowest layer', '19': 'Cirrorcumulus - ground-based fog beneath the lowest layer', '20': 'Cirrus - ground-based fog beneath the lowest layer', '21-190': 'Reserved', '191': 'Unknown', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_204", "modulename": "grib2io.tables.section4", "qualname": "table_4_204", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'Isolated (1-2%)', '2': 'Few (3-5%)', '3': 'Scattered (16-45%)', '4': 'Numerous (>45%)', '5-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_205", "modulename": "grib2io.tables.section4", "qualname": "table_4_205", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Aerosol not present', '1': 'Aerosol present', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_206", "modulename": "grib2io.tables.section4", "qualname": "table_4_206", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Not Present', '1': 'Present', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_207", "modulename": "grib2io.tables.section4", "qualname": "table_4_207", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'Light', '2': 'Moderate', '3': 'Severe', '4': 'Trace', '5': 'Heavy', '6-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_208", "modulename": "grib2io.tables.section4", "qualname": "table_4_208", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'Light', '2': 'Moderate', '3': 'Severe', '4': 'Extreme', '5-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_209", "modulename": "grib2io.tables.section4", "qualname": "table_4_209", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Stable', '2': 'Mechanically-Driven Turbulence', '3': 'Force Convection', '4': 'Free Convection', '5-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_210", "modulename": "grib2io.tables.section4", "qualname": "table_4_210", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Contrail Not Present', '1': 'Contrail Present', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_211", "modulename": "grib2io.tables.section4", "qualname": "table_4_211", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Low Bypass', '1': 'High Bypass', '2': 'Non-Bypass', '3-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_212", "modulename": "grib2io.tables.section4", "qualname": "table_4_212", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Urban Land', '2': 'Agricultural', '3': 'Range Land', '4': 'Deciduous Forest', '5': 'Coniferous Forest', '6': 'Forest/Wetland', '7': 'Water', '8': 'Wetlands', '9': 'Desert', '10': 'Tundra', '11': 'Ice', '12': 'Tropical Forest', '13': 'Savannah', '14-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_213", "modulename": "grib2io.tables.section4", "qualname": "table_4_213", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Sand', '2': 'Loamy Sand', '3': 'Sandy Loam', '4': 'Silt Loam', '5': 'Organic', '6': 'Sandy Clay Loam', '7': 'Silt Clay Loam', '8': 'Clay Loam', '9': 'Sandy Clay', '10': 'Silty Clay', '11': 'Clay', '12-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_215", "modulename": "grib2io.tables.section4", "qualname": "table_4_215", "kind": "variable", "doc": "

\n", "default_value": "{'0-49': 'Reserved', '50': 'No-Snow/No-Cloud', '51-99': 'Reserved', '100': 'Clouds', '101-249': 'Reserved', '250': 'Snow', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_216", "modulename": "grib2io.tables.section4", "qualname": "table_4_216", "kind": "variable", "doc": "

\n", "default_value": "{'0-90': 'Elevation in increments of 100 m', '91-253': 'Reserved', '254': 'Clouds', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_217", "modulename": "grib2io.tables.section4", "qualname": "table_4_217", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Clear over water', '1': 'Clear over land', '2': 'Cloud', '3': 'No data', '4-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_218", "modulename": "grib2io.tables.section4", "qualname": "table_4_218", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No Scene Identified', '1': 'Green Needle-Leafed Forest', '2': 'Green Broad-Leafed Forest', '3': 'Deciduous Needle-Leafed Forest', '4': 'Deciduous Broad-Leafed Forest', '5': 'Deciduous Mixed Forest', '6': 'Closed Shrub-Land', '7': 'Open Shrub-Land', '8': 'Woody Savannah', '9': 'Savannah', '10': 'Grassland', '11': 'Permanent Wetland', '12': 'Cropland', '13': 'Urban', '14': 'Vegetation / Crops', '15': 'Permanent Snow / Ice', '16': 'Barren Desert', '17': 'Water Bodies', '18': 'Tundra', '19': 'Warm Liquid Water Cloud', '20': 'Supercooled Liquid Water Cloud', '21': 'Mixed Phase Cloud', '22': 'Optically Thin Ice Cloud', '23': 'Optically Thick Ice Cloud', '24': 'Multi-Layeblack Cloud', '25-96': 'Reserved', '97': 'Snow / Ice on Land', '98': 'Snow / Ice on Water', '99': 'Sun-Glint', '100': 'General Cloud', '101': 'Low Cloud / Fog / Stratus', '102': 'Low Cloud / Stratocumulus', '103': 'Low Cloud / Unknown Type', '104': 'Medium Cloud / Nimbostratus', '105': 'Medium Cloud / Altostratus', '106': 'Medium Cloud / Unknown Type', '107': 'High Cloud / Cumulus', '108': 'High Cloud / Cirrus', '109': 'High Cloud / Unknown Type', '110': 'Unknown Cloud Type', '111': 'Single layer water cloud', '112': 'Single layer ice cloud', '113-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_222", "modulename": "grib2io.tables.section4", "qualname": "table_4_222", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No', '1': 'Yes', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_223", "modulename": "grib2io.tables.section4", "qualname": "table_4_223", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No Fire Detected', '1': 'Possible Fire Detected', '2': 'Probable Fire Detected', '3': 'Missing', '4-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_224", "modulename": "grib2io.tables.section4", "qualname": "table_4_224", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No Risk Area', '1': 'Reserved', '2': 'General Thunderstorm Risk Area', '3': 'Reserved', '4': 'Slight Risk Area', '5': 'Reserved', '6': 'Moderate Risk Area', '7': 'Reserved', '8': 'High Risk Area', '9-10': 'Reserved', '11': 'Dry Thunderstorm (Dry Lightning) Risk Area', '12-13': 'Reserved', '14': 'Critical Risk Area', '15-17': 'Reserved', '18': 'Extreamly Critical Risk Area', '19-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_227", "modulename": "grib2io.tables.section4", "qualname": "table_4_227", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'General', '2': 'Convective', '3': 'Stratiform', '4': 'Freezing', '5-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_228", "modulename": "grib2io.tables.section4", "qualname": "table_4_228", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'Trace', '2': 'Light', '3': 'Moderate', '4': 'Severe', '6-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_233", "modulename": "grib2io.tables.section4", "qualname": "table_4_233", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Ozone', 'O3'], '1': ['Water Vapour', 'H2O'], '2': ['Methane', 'CH4'], '3': ['Carbon Dioxide', 'CO2'], '4': ['Carbon Monoxide', 'CO'], '5': ['Nitrogen Dioxide', 'NO2'], '6': ['Nitrous Oxide', 'N2O'], '7': ['Formaldehyde', 'HCHO'], '8': ['Sulphur Dioxide', 'SO2'], '9': ['Ammonia', 'NH3'], '10': ['Ammonium', 'NH4+'], '11': ['Nitrogen Monoxide', 'NO'], '12': ['Atomic Oxygen', 'O'], '13': ['Nitrate Radical', 'NO3'], '14': ['Hydroperoxyl Radical', 'HO2'], '15': ['Dinitrogen Pentoxide', 'H2O5'], '16': ['Nitrous Acid', 'HONO'], '17': ['Nitric Acid', 'HNO3'], '18': ['Peroxynitric Acid', 'HO2NO2'], '19': ['Hydrogen Peroxide', 'H2O2'], '20': ['Molecular Hydrogen', 'H'], '21': ['Atomic Nitrogen', 'N'], '22': ['Sulphate', 'SO42-'], '23': ['Radon', 'Rn'], '24': ['Elemental Mercury', 'Hg(O)'], '25': ['Divalent Mercury', 'Hg2+'], '26': ['Atomic Chlorine', 'Cl'], '27': ['Chlorine Monoxide', 'ClO'], '28': ['Dichlorine Peroxide', 'Cl2O2'], '29': ['Hypochlorous Acid', 'HClO'], '30': ['Chlorine Nitrate', 'ClONO2'], '31': ['Chlorine Dioxide', 'ClO2'], '32': ['Atomic Bromide', 'Br'], '33': ['Bromine Monoxide', 'BrO'], '34': ['Bromine Chloride', 'BrCl'], '35': ['Hydrogen Bromide', 'HBr'], '36': ['Hypobromous Acid', 'HBrO'], '37': ['Bromine Nitrate', 'BrONO2'], '38': ['Oxygen', 'O2'], '39-9999': ['Reserved', 'unknown'], '10000': ['Hydroxyl Radical', 'OH'], '10001': ['Methyl Peroxy Radical', 'CH3O2'], '10002': ['Methyl Hydroperoxide', 'CH3O2H'], '10003': ['Reserved', 'unknown'], '10004': ['Methanol', 'CH3OH'], '10005': ['Formic Acid', 'CH3OOH'], '10006': ['Hydrogen Cyanide', 'HCN'], '10007': ['Aceto Nitrile', 'CH3CN'], '10008': ['Ethane', 'C2H6'], '10009': ['Ethene (= Ethylene)', 'C2H4'], '10010': ['Ethyne (= Acetylene)', 'C2H2'], '10011': ['Ethanol', 'C2H5OH'], '10012': ['Acetic Acid', 'C2H5OOH'], '10013': ['Peroxyacetyl Nitrate', 'CH3C(O)OONO2'], '10014': ['Propane', 'C3H8'], '10015': ['Propene', 'C3H6'], '10016': ['Butanes', 'C4H10'], '10017': ['Isoprene', 'C5H10'], '10018': ['Alpha Pinene', 'C10H16'], '10019': ['Beta Pinene', 'C10H16'], '10020': ['Limonene', 'C10H16'], '10021': ['Benzene', 'C6H6'], '10022': ['Toluene', 'C7H8'], '10023': ['Xylene', 'C8H10'], '10024-10499': ['Reserved', 'unknown'], '10500': ['Dimethyl Sulphide', 'CH3SCH3'], '10501-20000': ['Reserved', 'unknown'], '20001': ['Hydrogen Chloride', 'HCL'], '20002': ['CFC-11', 'unknown'], '20003': ['CFC-12', 'unknown'], '20004': ['CFC-113', 'unknown'], '20005': ['CFC-113a', 'unknown'], '20006': ['CFC-114', 'unknown'], '20007': ['CFC-115', 'unknown'], '20008': ['HCFC-22', 'unknown'], '20009': ['HCFC-141b', 'unknown'], '20010': ['HCFC-142b', 'unknown'], '20011': ['Halon-1202', 'unknown'], '20012': ['Halon-1211', 'unknown'], '20013': ['Halon-1301', 'unknown'], '20014': ['Halon-2402', 'unknown'], '20015': ['Methyl Chloride (HCC-40)', 'unknown'], '20016': ['Carbon Tetrachloride (HCC-10)', 'unknown'], '20017': ['HCC-140a', 'CH3CCl3'], '20018': ['Methyl Bromide (HBC-40B1)', 'unknown'], '20019': ['Hexachlorocyclohexane (HCH)', 'unknown'], '20020': ['Alpha Hexachlorocyclohexane', 'unknown'], '20021': ['Hexachlorobiphenyl (PCB-153)', 'unknown'], '20022-29999': ['Reserved', 'unknown'], '30000': ['Radioactive Pollutant (Tracer, defined by originating centre)', 'unknown'], '30001-50000': ['Reserved', 'unknown'], '60000': ['HOx Radical (OH+HO2)', 'unknown'], '60001': ['Total Inorganic and Organic Peroxy Radicals (HO2+RO2)', 'RO2'], '60002': ['Passive Ozone', 'unknown'], '60003': ['NOx Expressed As Nitrogen', 'NOx'], '60004': ['All Nitrogen Oxides (NOy) Expressed As Nitrogen', 'NOy'], '60005': ['Total Inorganic Chlorine', 'Clx'], '60006': ['Total Inorganic Bromine', 'Brx'], '60007': ['Total Inorganic Chlorine Except HCl, ClONO2: ClOx', 'unknown'], '60008': ['Total Inorganic Bromine Except Hbr, BrONO2:BrOx', 'unknown'], '60009': ['Lumped Alkanes', 'unknown'], '60010': ['Lumped Alkenes', 'unknown'], '60011': ['Lumped Aromatic Coumpounds', 'unknown'], '60012': ['Lumped Terpenes', 'unknown'], '60013': ['Non-Methane Volatile Organic Compounds Expressed as Carbon', 'NMVOC'], '60014': ['Anthropogenic Non-Methane Volatile Organic Compounds Expressed as Carbon', 'aNMVOC'], '60015': ['Biogenic Non-Methane Volatile Organic Compounds Expressed as Carbon', 'bNMVOC'], '60016': ['Lumped Oxygenated Hydrocarbons', 'OVOC'], '60017-61999': ['Reserved', 'unknown'], '62000': ['Total Aerosol', 'unknown'], '62001': ['Dust Dry', 'unknown'], '62002': ['water In Ambient', 'unknown'], '62003': ['Ammonium Dry', 'unknown'], '62004': ['Nitrate Dry', 'unknown'], '62005': ['Nitric Acid Trihydrate', 'unknown'], '62006': ['Sulphate Dry', 'unknown'], '62007': ['Mercury Dry', 'unknown'], '62008': ['Sea Salt Dry', 'unknown'], '62009': ['Black Carbon Dry', 'unknown'], '62010': ['Particulate Organic Matter Dry', 'unknown'], '62011': ['Primary Particulate Organic Matter Dry', 'unknown'], '62012': ['Secondary Particulate Organic Matter Dry', 'unknown'], '62013': ['Black carbon hydrophilic dry', 'unknown'], '62014': ['Black carbon hydrophobic dry', 'unknown'], '62015': ['Particulate organic matter hydrophilic dry', 'unknown'], '62016': ['Particulate organic matter hydrophobic dry', 'unknown'], '62017': ['Nitrate hydrophilic dry', 'unknown'], '62018': ['Nitrate hydrophobic dry', 'unknown'], '62019': ['Reserved', 'unknown'], '62020': ['Smoke - high absorption', 'unknown'], '62021': ['Smoke - low absorption', 'unknown'], '62022': ['Aerosol - high absorption', 'unknown'], '62023': ['Aerosol - low absorption', 'unknown'], '62024': ['Reserved', 'unknown'], '62025': ['Volcanic ash', 'unknown'], '62036': ['Brown Carbon Dry', 'unknown'], '62037-65534': ['Reserved', 'unknown'], '65535': ['Missing', 'unknown']}"}, {"fullname": "grib2io.tables.section4.table_4_234", "modulename": "grib2io.tables.section4", "qualname": "table_4_234", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'Crops, mixed farming', '2': 'Short grass', '3': 'Evergreen needleleaf trees', '4': 'Deciduous needleleaf trees', '5': 'Deciduous broadleaf trees', '6': 'Evergreen broadleaf trees', '7': 'Tall grass', '8': 'Desert', '9': 'Tundra', '10': 'Irrigated corps', '11': 'Semidesert', '12': 'Ice caps and glaciers', '13': 'Bogs and marshes', '14': 'Inland water', '15': 'Ocean', '16': 'Evergreen shrubs', '17': 'Deciduous shrubs', '18': 'Mixed forest', '19': 'Interrupted forest', '20': 'Water and land mixtures', '21-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_235", "modulename": "grib2io.tables.section4", "qualname": "table_4_235", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Total Wave Spectrum (combined wind waves and swell)', '1': 'Generalized Partition', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_236", "modulename": "grib2io.tables.section4", "qualname": "table_4_236", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'Coarse', '2': 'Medium', '3': 'Medium-fine', '4': 'Fine', '5': 'Very-fine', '6': 'Organic', '7': 'Tropical-organic', '8-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_238", "modulename": "grib2io.tables.section4", "qualname": "table_4_238", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Aviation', '2': 'Lightning', '3': 'Biogenic Sources', '4': 'Anthropogenic sources', '5': 'Wild fires', '6': 'Natural sources', '7': 'Bio-fuel', '8': 'Volcanoes', '9': 'Fossil-fuel', '10': 'Wetlands', '11': 'Oceans', '12': 'Elevated anthropogenic sources', '13': 'Surface anthropogenic sources', '14': 'Agriculture livestock', '15': 'Agriculture soils', '16': 'Agriculture waste burning', '17': 'Agriculture (all)', '18': 'Residential, commercial and other combustion', '19': 'Power generation', '20': 'Super power stations', '21': 'Fugitives', '22': 'Industrial process', '23': 'Solvents', '24': 'Ships', '25': 'Wastes', '26': 'Road transportation', '27': 'Off-road transportation', '28-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_239", "modulename": "grib2io.tables.section4", "qualname": "table_4_239", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Bog', '2': 'Drained', '3': 'Fen', '4': 'Floodplain', '5': 'Mangrove', '6': 'Marsh', '7': 'Rice', '8': 'Riverine', '9': 'Salt Marsh', '10': 'Swamp', '11': 'Upland', '12': 'Wet tundra', '13-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_243", "modulename": "grib2io.tables.section4", "qualname": "table_4_243", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Evergreen broadleaved forest', '2': 'Deciduous broadleaved closed forest', '3': 'Deciduous broadleaved open forest', '4': 'Evergreen needle-leaf forest', '5': 'Deciduous needle-leaf forest', '6': 'Mixed leaf trees', '7': 'Fresh water flooded trees', '8': 'Saline water flooded trees', '9': 'Mosaic tree/natural vegetation', '10': 'Burnt tree cover', '11': 'Evergreen shurbs closed-open', '12': 'Deciduous shurbs closed-open', '13': 'Herbaceous vegetation closed-open', '14': 'Sparse herbaceous or grass', '15': 'Flooded shurbs or herbaceous', '16': 'Cultivated and managed areas', '17': 'Mosaic crop/tree/natural vegetation', '18': 'Mosaic crop/shrub/grass', '19': 'Bare areas', '20': 'Water', '21': 'Snow and ice', '22': 'Artificial surface', '23': 'Ocean', '24': 'Irrigated croplands', '25': 'Rain fed croplands', '26': 'Mosaic cropland (50-70%)-vegetation (20-50%)', '27': 'Mosaic vegetation (50-70%)-cropland (20-50%)', '28': 'Closed broadleaved evergreen forest', '29': 'Closed needle-leaved evergreen forest', '30': 'Open needle-leaved deciduous forest', '31': 'Mixed broadleaved and needle-leave forest', '32': 'Mosaic shrubland (50-70%)-grassland (20-50%)', '33': 'Mosaic grassland (50-70%)-shrubland (20-50%)', '34': 'Closed to open shrubland', '35': 'Sparse vegetation', '36': 'Closed to open forest regularly flooded', '37': 'Closed forest or shrubland permanently flooded', '38': 'Closed to open grassland regularly flooded', '39': 'Undefined', '40-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_244", "modulename": "grib2io.tables.section4", "qualname": "table_4_244", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No Quality Information Available', '1': 'Failed', '2': 'Passed', '3-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_246", "modulename": "grib2io.tables.section4", "qualname": "table_4_246", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No thunderstorm occurrence', '1': 'Weak thunderstorm', '2': 'Moderate thunderstorm', '3': 'Severe thunderstorm', '4-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_247", "modulename": "grib2io.tables.section4", "qualname": "table_4_247", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No precipitation occurrence', '1': 'Light precipitation', '2': 'Moderate precipitation', '3': 'Heavy precipitation', '4-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_248", "modulename": "grib2io.tables.section4", "qualname": "table_4_248", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Nearest forecast or analysis time to specified local time', '1': 'Interpolated to be valid at the specified local time', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_249", "modulename": "grib2io.tables.section4", "qualname": "table_4_249", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'Showers', '2': 'Intermittent', '3': 'Continuous', '4-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_250", "modulename": "grib2io.tables.section4", "qualname": "table_4_250", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'South-West', '2': 'South', '3': 'South-East', '4': 'West', '5': 'No direction', '6': 'East', '7': 'North-West', '8': 'North', '9': 'North-East', '10-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_251", "modulename": "grib2io.tables.section4", "qualname": "table_4_251", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Undefined Sequence', '1': 'Geometric sequence,(see Note 1)', '2': 'Arithmetic sequence,(see Note 2)', '3-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_scale_time_hours", "modulename": "grib2io.tables.section4", "qualname": "table_scale_time_hours", "kind": "variable", "doc": "

\n", "default_value": "{'0': 60.0, '1': 1.0, '2': 0.041666666666666664, '3': 0.001388888888888889, '4': 0.00011415525114155251, '5': 1.1415525114155251e-05, '6': 3.80517503805175e-06, '7': 1.1415525114155251e-06, '8': 1.0, '9': 1.0, '10': 3.0, '11': 6.0, '12': 12.0, '13': 3600.0, '14-255': 1.0}"}, {"fullname": "grib2io.tables.section4.table_wgrib2_level_string", "modulename": "grib2io.tables.section4", "qualname": "table_wgrib2_level_string", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['reserved', 'reserved'], '1': ['surface', 'reserved'], '2': ['cloud base', 'reserved'], '3': ['cloud top', 'reserved'], '4': ['0C isotherm', 'reserved'], '5': ['level of adiabatic condensation from sfc', 'reserved'], '6': ['max wind', 'reserved'], '7': ['tropopause', 'reserved'], '8': ['top of atmosphere', 'reserved'], '9': ['sea bottom', 'reserved'], '10': ['entire atmosphere', 'reserved'], '11': ['cumulonimbus base', 'reserved'], '12': ['cumulonimbus top', 'reserved'], '13': ['lowest level %g%% integrated cloud cover', 'reserved'], '14': ['level of free convection', 'reserved'], '15': ['convection condensation level', 'reserved'], '16': ['level of neutral buoyancy', 'reserved'], '17': ['reserved', 'reserved'], '18': ['reserved', 'reserved'], '19': ['reserved', 'reserved'], '20': ['%g K level', 'reserved'], '21': ['lowest level > %g kg/m^3', 'reserved'], '22': ['highest level > %g kg/m^3', 'reserved'], '23': ['lowest level > %g Bq/m^3', 'reserved'], '24': ['highest level > %g Bg/m^3', 'reserved'], '25': ['reserved', 'reserved'], '26': ['reserved', 'reserved'], '27': ['reserved', 'reserved'], '28': ['reserved', 'reserved'], '29': ['reserved', 'reserved'], '30': ['reserved', 'reserved'], '31': ['reserved', 'reserved'], '32': ['reserved', 'reserved'], '33': ['reserved', 'reserved'], '34': ['reserved', 'reserved'], '35': ['reserved', 'reserved'], '36': ['reserved', 'reserved'], '37': ['reserved', 'reserved'], '38': ['reserved', 'reserved'], '39': ['reserved', 'reserved'], '40': ['reserved', 'reserved'], '41': ['reserved', 'reserved'], '42': ['reserved', 'reserved'], '43': ['reserved', 'reserved'], '44': ['reserved', 'reserved'], '45': ['reserved', 'reserved'], '46': ['reserved', 'reserved'], '47': ['reserved', 'reserved'], '48': ['reserved', 'reserved'], '49': ['reserved', 'reserved'], '50': ['reserved', 'reserved'], '51': ['reserved', 'reserved'], '52': ['reserved', 'reserved'], '53': ['reserved', 'reserved'], '54': ['reserved', 'reserved'], '55': ['reserved', 'reserved'], '56': ['reserved', 'reserved'], '57': ['reserved', 'reserved'], '58': ['reserved', 'reserved'], '59': ['reserved', 'reserved'], '60': ['reserved', 'reserved'], '61': ['reserved', 'reserved'], '62': ['reserved', 'reserved'], '63': ['reserved', 'reserved'], '64': ['reserved', 'reserved'], '65': ['reserved', 'reserved'], '66': ['reserved', 'reserved'], '67': ['reserved', 'reserved'], '68': ['reserved', 'reserved'], '69': ['reserved', 'reserved'], '70': ['reserved', 'reserved'], '71': ['reserved', 'reserved'], '72': ['reserved', 'reserved'], '73': ['reserved', 'reserved'], '74': ['reserved', 'reserved'], '75': ['reserved', 'reserved'], '76': ['reserved', 'reserved'], '77': ['reserved', 'reserved'], '78': ['reserved', 'reserved'], '79': ['reserved', 'reserved'], '80': ['reserved', 'reserved'], '81': ['reserved', 'reserved'], '82': ['reserved', 'reserved'], '83': ['reserved', 'reserved'], '84': ['reserved', 'reserved'], '85': ['reserved', 'reserved'], '86': ['reserved', 'reserved'], '87': ['reserved', 'reserved'], '88': ['reserved', 'reserved'], '89': ['reserved', 'reserved'], '90': ['reserved', 'reserved'], '91': ['reserved', 'reserved'], '92': ['reserved', 'reserved'], '93': ['reserved', 'reserved'], '94': ['reserved', 'reserved'], '95': ['reserved', 'reserved'], '96': ['reserved', 'reserved'], '97': ['reserved', 'reserved'], '98': ['reserved', 'reserved'], '99': ['reserved', 'reserved'], '100': ['%g mb', '%g-%g mb'], '101': ['mean sea level', 'reserved'], '102': ['%g m above mean sea level', '%g-%g m above mean sea level'], '103': ['%g m above ground', '%g-%g m above ground'], '104': ['%g sigma level', '%g-%g sigma layer'], '105': ['%g hybrid level', '%g-%g hybrid layer'], '106': ['%g m underground', '%g-%g m underground'], '107': ['%g K isentropic level', '%g-%g K isentropic layer'], '108': ['%g mb above ground', '%g-%g mb above ground'], '109': ['PV=%g (Km^2/kg/s) surface', 'reserved'], '110': ['reserved', 'reserved'], '111': ['%g Eta level', '%g-%g Eta layer'], '112': ['reserved', 'reserved'], '113': ['%g logarithmic hybrid level', 'reserved'], '114': ['snow level', 'reserved'], '115': ['%g sigma height level', '%g-%g sigma heigh layer'], '116': ['reserved', 'reserved'], '117': ['mixed layer depth', 'reserved'], '118': ['%g hybrid height level', '%g-%g hybrid height layer'], '119': ['%g hybrid pressure level', '%g-%g hybrid pressure layer'], '120': ['reserved', 'reserved'], '121': ['reserved', 'reserved'], '122': ['reserved', 'reserved'], '123': ['reserved', 'reserved'], '124': ['reserved', 'reserved'], '125': ['reserved', 'reserved'], '126': ['reserved', 'reserved'], '127': ['reserved', 'reserved'], '128': ['reserved', 'reserved'], '129': ['reserved', 'reserved'], '130': ['reserved', 'reserved'], '131': ['reserved', 'reserved'], '132': ['reserved', 'reserved'], '133': ['reserved', 'reserved'], '134': ['reserved', 'reserved'], '135': ['reserved', 'reserved'], '136': ['reserved', 'reserved'], '137': ['reserved', 'reserved'], '138': ['reserved', 'reserved'], '139': ['reserved', 'reserved'], '140': ['reserved', 'reserved'], '141': ['reserved', 'reserved'], '142': ['reserved', 'reserved'], '143': ['reserved', 'reserved'], '144': ['reserved', 'reserved'], '145': ['reserved', 'reserved'], '146': ['reserved', 'reserved'], '147': ['reserved', 'reserved'], '148': ['reserved', 'reserved'], '149': ['reserved', 'reserved'], '150': ['%g generalized vertical height coordinate', 'reserved'], '151': ['soil level %g', 'reserved'], '152': ['reserved', 'reserved'], '153': ['reserved', 'reserved'], '154': ['reserved', 'reserved'], '155': ['reserved', 'reserved'], '156': ['reserved', 'reserved'], '157': ['reserved', 'reserved'], '158': ['reserved', 'reserved'], '159': ['reserved', 'reserved'], '160': ['%g m below sea level', '%g-%g m below sea level'], '161': ['%g m below water surface', '%g-%g m ocean layer'], '162': ['lake or river bottom', 'reserved'], '163': ['bottom of sediment layer', 'reserved'], '164': ['bottom of thermally active sediment layer', 'reserved'], '165': ['bottom of sediment layer penetrated by thermal wave', 'reserved'], '166': ['maxing layer', 'reserved'], '167': ['bottom of root zone', 'reserved'], '168': ['reserved', 'reserved'], '169': ['reserved', 'reserved'], '170': ['reserved', 'reserved'], '171': ['reserved', 'reserved'], '172': ['reserved', 'reserved'], '173': ['reserved', 'reserved'], '174': ['top surface of ice on sea, lake or river', 'reserved'], '175': ['top surface of ice, und snow on sea, lake or river', 'reserved'], '176': ['bottom surface ice on sea, lake or river', 'reserved'], '177': ['deep soil', 'reserved'], '178': ['reserved', 'reserved'], '179': ['top surface of glacier ice and inland ice', 'reserved'], '180': ['deep inland or glacier ice', 'reserved'], '181': ['grid tile land fraction as a model surface', 'reserved'], '182': ['grid tile water fraction as a model surface', 'reserved'], '183': ['grid tile ice fraction on sea, lake or river as a model surface', 'reserved'], '184': ['grid tile glacier ice and inland ice fraction as a model surface', 'reserved'], '185': ['reserved', 'reserved'], '186': ['reserved', 'reserved'], '187': ['reserved', 'reserved'], '188': ['reserved', 'reserved'], '189': ['reserved', 'reserved'], '190': ['reserved', 'reserved'], '191': ['reserved', 'reserved'], '192': ['reserved', 'reserved'], '193': ['reserved', 'reserved'], '194': ['reserved', 'reserved'], '195': ['reserved', 'reserved'], '196': ['reserved', 'reserved'], '197': ['reserved', 'reserved'], '198': ['reserved', 'reserved'], '199': ['reserved', 'reserved'], '200': ['entire atmosphere (considered as a single layer)', 'reserved'], '201': ['entire ocean (considered as a single layer)', 'reserved'], '202': ['reserved', 'reserved'], '203': ['reserved', 'reserved'], '204': ['highest tropospheric freezing level', 'reserved'], '205': ['reserved', 'reserved'], '206': ['grid scale cloud bottom level', 'reserved'], '207': ['grid scale cloud top level', 'reserved'], '208': ['reserved', 'reserved'], '209': ['boundary layer cloud bottom level', 'reserved'], '210': ['boundary layer cloud top level', 'reserved'], '211': ['boundary layer cloud layer', 'reserved'], '212': ['low cloud bottom level', 'reserved'], '213': ['low cloud top level', 'reserved'], '214': ['low cloud layer', 'reserved'], '215': ['cloud ceiling', 'reserved'], '216': ['reserved', 'reserved'], '217': ['reserved', 'reserved'], '218': ['reserved', 'reserved'], '219': ['reserved', 'reserved'], '220': ['planetary boundary layer', 'reserved'], '221': ['layer between two hybrid levels', 'reserved'], '222': ['middle cloud bottom level', 'reserved'], '223': ['middle cloud top level', 'reserved'], '224': ['middle cloud layer', 'reserved'], '225': ['reserved', 'reserved'], '226': ['reserved', 'reserved'], '227': ['reserved', 'reserved'], '228': ['reserved', 'reserved'], '229': ['reserved', 'reserved'], '230': ['reserved', 'reserved'], '231': ['reserved', 'reserved'], '232': ['high cloud bottom level', 'reserved'], '233': ['high cloud top level', 'reserved'], '234': ['high cloud layer', 'reserved'], '235': ['%gC ocean isotherm', '%g-%gC ocean isotherm layer'], '236': ['layer between two depths below ocean surface', '%g-%g m ocean layer'], '237': ['bottom of ocean mixed layer', 'reserved'], '238': ['bottom of ocean isothermal layer', 'reserved'], '239': ['layer ocean surface and 26C ocean isothermal level', 'reserved'], '240': ['ocean mixed layer', 'reserved'], '241': ['%g in sequence', 'reserved'], '242': ['convective cloud bottom level', 'reserved'], '243': ['convective cloud top level', 'reserved'], '244': ['convective cloud layer', 'reserved'], '245': ['lowest level of the wet bulb zero', 'reserved'], '246': ['maximum equivalent potential temperature level', 'reserved'], '247': ['equilibrium level', 'reserved'], '248': ['shallow convective cloud bottom level', 'reserved'], '249': ['shallow convective cloud top level', 'reserved'], '250': ['reserved', 'reserved'], '251': ['deep convective cloud bottom level', 'reserved'], '252': ['deep convective cloud top level', 'reserved'], '253': ['lowest bottom level of supercooled liquid water layer', 'reserved'], '254': ['highest top level of supercooled liquid water layer', 'reserved'], '255': ['missing', 'reserved']}"}, {"fullname": "grib2io.tables.section4_discipline0", "modulename": "grib2io.tables.section4_discipline0", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_0", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Temperature', 'K', 'TMP'], '1': ['Virtual Temperature', 'K', 'VTMP'], '2': ['Potential Temperature', 'K', 'POT'], '3': ['Pseudo-Adiabatic Potential Temperature (or Equivalent Potential Temperature)', 'K', 'EPOT'], '4': ['Maximum Temperature', 'K', 'TMAX'], '5': ['Minimum Temperature', 'K', 'TMIN'], '6': ['Dew Point Temperature', 'K', 'DPT'], '7': ['Dew Point Depression (or Deficit)', 'K', 'DEPR'], '8': ['Lapse Rate', 'K m-1', 'LAPR'], '9': ['Temperature Anomaly', 'K', 'TMPA'], '10': ['Latent Heat Net Flux', 'W m-2', 'LHTFL'], '11': ['Sensible Heat Net Flux', 'W m-2', 'SHTFL'], '12': ['Heat Index', 'K', 'HEATX'], '13': ['Wind Chill Factor', 'K', 'WCF'], '14': ['Minimum Dew Point Depression', 'K', 'MINDPD'], '15': ['Virtual Potential Temperature', 'K', 'VPTMP'], '16': ['Snow Phase Change Heat Flux', 'W m-2', 'SNOHF'], '17': ['Skin Temperature', 'K', 'SKINT'], '18': ['Snow Temperature (top of snow)', 'K', 'SNOT'], '19': ['Turbulent Transfer Coefficient for Heat', 'Numeric', 'TTCHT'], '20': ['Turbulent Diffusion Coefficient for Heat', 'm2s-1', 'TDCHT'], '21': ['Apparent Temperature', 'K', 'APTMP'], '22': ['Temperature Tendency due to Short-Wave Radiation', 'K s-1', 'TTSWR'], '23': ['Temperature Tendency due to Long-Wave Radiation', 'K s-1', 'TTLWR'], '24': ['Temperature Tendency due to Short-Wave Radiation, Clear Sky', 'K s-1', 'TTSWRCS'], '25': ['Temperature Tendency due to Long-Wave Radiation, Clear Sky', 'K s-1', 'TTLWRCS'], '26': ['Temperature Tendency due to parameterizations', 'K s-1', 'TTPARM'], '27': ['Wet Bulb Temperature', 'K', 'WETBT'], '28': ['Unbalanced Component of Temperature', 'K', 'UCTMP'], '29': ['Temperature Advection', 'K s-1', 'TMPADV'], '30': ['Latent Heat Net Flux Due to Evaporation', 'W m-2', 'LHFLXE'], '31': ['Latent Heat Net Flux Due to Sublimation', 'W m-2', 'LHFLXS'], '32': ['Wet-Bulb Potential Temperature', 'K', 'WETBPT'], '33-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Snow Phase Change Heat Flux', 'W m-2', 'SNOHF'], '193': ['Temperature Tendency by All Radiation', 'K s-1', 'TTRAD'], '194': ['Relative Error Variance', 'unknown', 'REV'], '195': ['Large Scale Condensate Heating Rate', 'K s-1', 'LRGHR'], '196': ['Deep Convective Heating Rate', 'K s-1', 'CNVHR'], '197': ['Total Downward Heat Flux at Surface', 'W m-2', 'THFLX'], '198': ['Temperature Tendency by All Physics', 'K s-1', 'TTDIA'], '199': ['Temperature Tendency by Non-radiation Physics', 'K s-1', 'TTPHY'], '200': ['Standard Dev. of IR Temp. over 1x1 deg. area', 'K', 'TSD1D'], '201': ['Shallow Convective Heating Rate', 'K s-1', 'SHAHR'], '202': ['Vertical Diffusion Heating rate', 'K s-1', 'VDFHR'], '203': ['Potential Temperature at Top of Viscous Sublayer', 'K', 'THZ0'], '204': ['Tropical Cyclone Heat Potential', 'J m-2 K', 'TCHP'], '205': ['Effective Layer (EL) Temperature', 'C', 'ELMELT'], '206': ['Wet Bulb Globe Temperature', 'K', 'WETGLBT'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_1", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Specific Humidity', 'kg kg-1', 'SPFH'], '1': ['Relative Humidity', '%', 'RH'], '2': ['Humidity Mixing Ratio', 'kg kg-1', 'MIXR'], '3': ['Precipitable Water', 'kg m-2', 'PWAT'], '4': ['Vapour Pressure', 'Pa', 'VAPP'], '5': ['Saturation Deficit', 'Pa', 'SATD'], '6': ['Evaporation', 'kg m-2', 'EVP'], '7': ['Precipitation Rate', 'kg m-2 s-1', 'PRATE'], '8': ['Total Precipitation', 'kg m-2', 'APCP'], '9': ['Large-Scale Precipitation (non-convective)', 'kg m-2', 'NCPCP'], '10': ['Convective Precipitation', 'kg m-2', 'ACPCP'], '11': ['Snow Depth', 'm', 'SNOD'], '12': ['Snowfall Rate Water Equivalent', 'kg m-2 s-1', 'SRWEQ'], '13': ['Water Equivalent of Accumulated Snow Depth', 'kg m-2', 'WEASD'], '14': ['Convective Snow', 'kg m-2', 'SNOC'], '15': ['Large-Scale Snow', 'kg m-2', 'SNOL'], '16': ['Snow Melt', 'kg m-2', 'SNOM'], '17': ['Snow Age', 'day', 'SNOAG'], '18': ['Absolute Humidity', 'kg m-3', 'ABSH'], '19': ['Precipitation Type', 'See Table 4.201', 'PTYPE'], '20': ['Integrated Liquid Water', 'kg m-2', 'ILIQW'], '21': ['Condensate', 'kg kg-1', 'TCOND'], '22': ['Cloud Mixing Ratio', 'kg kg-1', 'CLMR'], '23': ['Ice Water Mixing Ratio', 'kg kg-1', 'ICMR'], '24': ['Rain Mixing Ratio', 'kg kg-1', 'RWMR'], '25': ['Snow Mixing Ratio', 'kg kg-1', 'SNMR'], '26': ['Horizontal Moisture Convergence', 'kg kg-1 s-1', 'MCONV'], '27': ['Maximum Relative Humidity', '%', 'MAXRH'], '28': ['Maximum Absolute Humidity', 'kg m-3', 'MAXAH'], '29': ['Total Snowfall', 'm', 'ASNOW'], '30': ['Precipitable Water Category', 'See Table 4.202', 'PWCAT'], '31': ['Hail', 'm', 'HAIL'], '32': ['Graupel', 'kg kg-1', 'GRLE'], '33': ['Categorical Rain', 'Code table 4.222', 'CRAIN'], '34': ['Categorical Freezing Rain', 'Code table 4.222', 'CFRZR'], '35': ['Categorical Ice Pellets', 'Code table 4.222', 'CICEP'], '36': ['Categorical Snow', 'Code table 4.222', 'CSNOW'], '37': ['Convective Precipitation Rate', 'kg m-2 s-1', 'CPRAT'], '38': ['Horizontal Moisture Divergence', 'kg kg-1 s-1', 'MDIVER'], '39': ['Percent frozen precipitation', '%', 'CPOFP'], '40': ['Potential Evaporation', 'kg m-2', 'PEVAP'], '41': ['Potential Evaporation Rate', 'W m-2', 'PEVPR'], '42': ['Snow Cover', '%', 'SNOWC'], '43': ['Rain Fraction of Total Cloud Water', 'Proportion', 'FRAIN'], '44': ['Rime Factor', 'Numeric', 'RIME'], '45': ['Total Column Integrated Rain', 'kg m-2', 'TCOLR'], '46': ['Total Column Integrated Snow', 'kg m-2', 'TCOLS'], '47': ['Large Scale Water Precipitation (Non-Convective)', 'kg m-2', 'LSWP'], '48': ['Convective Water Precipitation', 'kg m-2', 'CWP'], '49': ['Total Water Precipitation', 'kg m-2', 'TWATP'], '50': ['Total Snow Precipitation', 'kg m-2', 'TSNOWP'], '51': ['Total Column Water (Vertically integrated total water (vapour+cloud water/ice)', 'kg m-2', 'TCWAT'], '52': ['Total Precipitation Rate', 'kg m-2 s-1', 'TPRATE'], '53': ['Total Snowfall Rate Water Equivalent', 'kg m-2 s-1', 'TSRWE'], '54': ['Large Scale Precipitation Rate', 'kg m-2 s-1', 'LSPRATE'], '55': ['Convective Snowfall Rate Water Equivalent', 'kg m-2 s-1', 'CSRWE'], '56': ['Large Scale Snowfall Rate Water Equivalent', 'kg m-2 s-1', 'LSSRWE'], '57': ['Total Snowfall Rate', 'm s-1', 'TSRATE'], '58': ['Convective Snowfall Rate', 'm s-1', 'CSRATE'], '59': ['Large Scale Snowfall Rate', 'm s-1', 'LSSRATE'], '60': ['Snow Depth Water Equivalent', 'kg m-2', 'SDWE'], '61': ['Snow Density', 'kg m-3', 'SDEN'], '62': ['Snow Evaporation', 'kg m-2', 'SEVAP'], '63': ['Reserved', 'unknown', 'unknown'], '64': ['Total Column Integrated Water Vapour', 'kg m-2', 'TCIWV'], '65': ['Rain Precipitation Rate', 'kg m-2 s-1', 'RPRATE'], '66': ['Snow Precipitation Rate', 'kg m-2 s-1', 'SPRATE'], '67': ['Freezing Rain Precipitation Rate', 'kg m-2 s-1', 'FPRATE'], '68': ['Ice Pellets Precipitation Rate', 'kg m-2 s-1', 'IPRATE'], '69': ['Total Column Integrate Cloud Water', 'kg m-2', 'TCOLW'], '70': ['Total Column Integrate Cloud Ice', 'kg m-2', 'TCOLI'], '71': ['Hail Mixing Ratio', 'kg kg-1', 'HAILMXR'], '72': ['Total Column Integrate Hail', 'kg m-2', 'TCOLH'], '73': ['Hail Prepitation Rate', 'kg m-2 s-1', 'HAILPR'], '74': ['Total Column Integrate Graupel', 'kg m-2', 'TCOLG'], '75': ['Graupel (Snow Pellets) Prepitation Rate', 'kg m-2 s-1', 'GPRATE'], '76': ['Convective Rain Rate', 'kg m-2 s-1', 'CRRATE'], '77': ['Large Scale Rain Rate', 'kg m-2 s-1', 'LSRRATE'], '78': ['Total Column Integrate Water (All components including precipitation)', 'kg m-2', 'TCOLWA'], '79': ['Evaporation Rate', 'kg m-2 s-1', 'EVARATE'], '80': ['Total Condensate', 'kg kg-1', 'TOTCON'], '81': ['Total Column-Integrate Condensate', 'kg m-2', 'TCICON'], '82': ['Cloud Ice Mixing Ratio', 'kg kg-1', 'CIMIXR'], '83': ['Specific Cloud Liquid Water Content', 'kg kg-1', 'SCLLWC'], '84': ['Specific Cloud Ice Water Content', 'kg kg-1', 'SCLIWC'], '85': ['Specific Rain Water Content', 'kg kg-1', 'SRAINW'], '86': ['Specific Snow Water Content', 'kg kg-1', 'SSNOWW'], '87': ['Stratiform Precipitation Rate', 'kg m-2 s-1', 'STRPRATE'], '88': ['Categorical Convective Precipitation', 'Code table 4.222', 'CATCP'], '89': ['Reserved', 'unknown', 'unknown'], '90': ['Total Kinematic Moisture Flux', 'kg kg-1 m s-1', 'TKMFLX'], '91': ['U-component (zonal) Kinematic Moisture Flux', 'kg kg-1 m s-1', 'UKMFLX'], '92': ['V-component (meridional) Kinematic Moisture Flux', 'kg kg-1 m s-1', 'VKMFLX'], '93': ['Relative Humidity With Respect to Water', '%', 'RHWATER'], '94': ['Relative Humidity With Respect to Ice', '%', 'RHICE'], '95': ['Freezing or Frozen Precipitation Rate', 'kg m-2 s-1', 'FZPRATE'], '96': ['Mass Density of Rain', 'kg m-3', 'MASSDR'], '97': ['Mass Density of Snow', 'kg m-3', 'MASSDS'], '98': ['Mass Density of Graupel', 'kg m-3', 'MASSDG'], '99': ['Mass Density of Hail', 'kg m-3', 'MASSDH'], '100': ['Specific Number Concentration of Rain', 'kg-1', 'SPNCR'], '101': ['Specific Number Concentration of Snow', 'kg-1', 'SPNCS'], '102': ['Specific Number Concentration of Graupel', 'kg-1', 'SPNCG'], '103': ['Specific Number Concentration of Hail', 'kg-1', 'SPNCH'], '104': ['Number Density of Rain', 'm-3', 'NUMDR'], '105': ['Number Density of Snow', 'm-3', 'NUMDS'], '106': ['Number Density of Graupel', 'm-3', 'NUMDG'], '107': ['Number Density of Hail', 'm-3', 'NUMDH'], '108': ['Specific Humidity Tendency due to Parameterizations', 'kg kg-1 s-1', 'SHTPRM'], '109': ['Mass Density of Liquid Water Coating on Hail Expressed as Mass of Liquid Water per Unit Volume of Air', 'kg m-3', 'MDLWHVA'], '110': ['Specific Mass of Liquid Water Coating on Hail Expressed as Mass of Liquid Water per Unit Mass of Moist Air', 'kg kg-1', 'SMLWHMA'], '111': ['Mass Mixing Ratio of Liquid Water Coating on Hail Expressed as Mass of Liquid Water per Unit Mass of Dry Air', 'kg kg-1', 'MMLWHDA'], '112': ['Mass Density of Liquid Water Coating on Graupel Expressed as Mass of Liquid Water per Unit Volume of Air', 'kg m-3', 'MDLWGVA'], '113': ['Specific Mass of Liquid Water Coating on Graupel Expressed as Mass of Liquid Water per Unit Mass of Moist Air', 'kg kg-1', 'SMLWGMA'], '114': ['Mass Mixing Ratio of Liquid Water Coating on Graupel Expressed as Mass of Liquid Water per Unit Mass of Dry Air', 'kg kg-1', 'MMLWGDA'], '115': ['Mass Density of Liquid Water Coating on Snow Expressed as Mass of Liquid Water per Unit Volume of Air', 'kg m-3', 'MDLWSVA'], '116': ['Specific Mass of Liquid Water Coating on Snow Expressed as Mass of Liquid Water per Unit Mass of Moist Air', 'kg kg-1', 'SMLWSMA'], '117': ['Mass Mixing Ratio of Liquid Water Coating on Snow Expressed as Mass of Liquid Water per Unit Mass of Dry Air', 'kg kg-1', 'MMLWSDA'], '118': ['Unbalanced Component of Specific Humidity', 'kg kg-1', 'UNCSH'], '119': ['Unbalanced Component of Specific Cloud Liquid Water content', 'kg kg-1', 'UCSCLW'], '120': ['Unbalanced Component of Specific Cloud Ice Water content', 'kg kg-1', 'UCSCIW'], '121': ['Fraction of Snow Cover', 'Proportion', 'FSNOWC'], '122': ['Precipitation intensity index', 'See Table 4.247', 'PIIDX'], '123': ['Domiunknownt precipitation type', 'See Table 4.201', 'DPTYPE'], '124': ['Presence of showers', 'See Table 4.222', 'PSHOW'], '125': ['Presence of blowing snow', 'See Table 4.222', 'PBSNOW'], '126': ['Presence of blizzard', 'See Table 4.222', 'PBLIZZ'], '127': ['Ice pellets (non-water equivalent) precipitation rate', 'm s-1', 'ICEP'], '128': ['Total solid precipitation rate', 'kg m-2 s-1', 'TSPRATE'], '129': ['Effective Radius of Cloud Water', 'm', 'EFRCWAT'], '130': ['Effective Radius of Rain', 'm', 'EFRRAIN'], '131': ['Effective Radius of Cloud Ice', 'm', 'EFRCICE'], '132': ['Effective Radius of Snow', 'm', 'EFRSNOW'], '133': ['Effective Radius of Graupel', 'm', 'EFRGRL'], '134': ['Effective Radius of Hail', 'm', 'EFRHAIL'], '135': ['Effective Radius of Subgrid Liquid Clouds', 'm', 'EFRSLC'], '136': ['Effective Radius of Subgrid Ice Clouds', 'm', 'EFRSICEC'], '137': ['Effective Aspect Ratio of Rain', 'unknown', 'EFARRAIN'], '138': ['Effective Aspect Ratio of Cloud Ice', 'unknown', 'EFARCICE'], '139': ['Effective Aspect Ratio of Snow', 'unknown', 'EFARSNOW'], '140': ['Effective Aspect Ratio of Graupel', 'unknown', 'EFARGRL'], '141': ['Effective Aspect Ratio of Hail', 'unknown', 'EFARHAIL'], '142': ['Effective Aspect Ratio of Subgrid Ice Clouds', 'unknown', 'EFARSIC'], '143': ['Potential evaporation rate', 'kg m-2 s-1', 'PERATE'], '144': ['Specific rain water content (convective)', 'kg kg-1', 'SRWATERC'], '145': ['Specific snow water content (convective)', 'kg kg-1', 'SSNOWWC'], '146': ['Cloud ice precipitation rate', 'kg m-2 s-1', 'CICEPR'], '147': ['Character of precipitation', 'See Table 4.249', 'CHPRECIP'], '148': ['Snow evaporation rate', 'kg m-2 s-1', 'SNOWERAT'], '149': ['Cloud water mixing ratio', 'kg kg-1', 'CWATERMR'], '150': ['Column integrated eastward water vapour mass flux', 'kg m-1s-1', 'CEWVMF'], '151': ['Column integrated northward water vapour mass flux', 'kg m-1s-1', 'CNWVMF'], '152': ['Column integrated eastward cloud liquid water mass flux', 'kg m-1s-1', 'CECLWMF'], '153': ['Column integrated northward cloud liquid water mass flux', 'kg m-1s-1', 'CNCLWMF'], '154': ['Column integrated eastward cloud ice mass flux', 'kg m-1s-1', 'CECIMF'], '155': ['Column integrated northward cloud ice mass flux', 'kg m-1s-1', 'CNCIMF'], '156': ['Column integrated eastward rain mass flux', 'kg m-1s-1', 'CERMF'], '157': ['Column integrated northward rain mass flux', 'kg m-1s-1', 'CNRMF'], '158': ['Column integrated eastward snow mass flux', 'kg m-1s-1', 'CEFMF'], '159': ['Column integrated northward snow mass flux', 'kg m-1s-1', 'CNSMF'], '160': ['Column integrated divergence of water vapour mass flux', 'kg m-1s-1', 'CDWFMF'], '161': ['Column integrated divergence of cloud liquid water mass flux', 'kg m-1s-1', 'CDCLWMF'], '162': ['Column integrated divergence of cloud ice mass flux', 'kg m-1s-1', 'CDCIMF'], '163': ['Column integrated divergence of rain mass flux', 'kg m-1s-1', 'CDRMF'], '164': ['Column integrated divergence of snow mass flux', 'kg m-1s-1', 'CDSMF'], '165': ['Column integrated divergence of total water mass flux', 'kg m-1s-1', 'CDTWMF'], '166': ['Column integrated water vapour flux', 'kg m-1s-1', 'CWVF'], '167': ['Total column supercooled liquid water', 'kg m-2', 'TCSLW'], '168': ['Saturation specific humidity with respect to water', 'kg m-3', 'SSPFHW'], '169': ['Total column integrated saturation specific humidity with respect to water', 'kg m-2', 'TCISSPFHW'], '170-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Categorical Rain', 'Code table 4.222', 'CRAIN'], '193': ['Categorical Freezing Rain', 'Code table 4.222', 'CFRZR'], '194': ['Categorical Ice Pellets', 'Code table 4.222', 'CICEP'], '195': ['Categorical Snow', 'Code table 4.222', 'CSNOW'], '196': ['Convective Precipitation Rate', 'kg m-2 s-1', 'CPRAT'], '197': ['Horizontal Moisture Divergence', 'kg kg-1 s-1', 'MDIV'], '198': ['Minimum Relative Humidity', '%', 'MINRH'], '199': ['Potential Evaporation', 'kg m-2', 'PEVAP'], '200': ['Potential Evaporation Rate', 'W m-2', 'PEVPR'], '201': ['Snow Cover', '%', 'SNOWC'], '202': ['Rain Fraction of Total Liquid Water', 'non-dim', 'FRAIN'], '203': ['Rime Factor', 'non-dim', 'RIME'], '204': ['Total Column Integrated Rain', 'kg m-2', 'TCOLR'], '205': ['Total Column Integrated Snow', 'kg m-2', 'TCOLS'], '206': ['Total Icing Potential Diagnostic', 'non-dim', 'TIPD'], '207': ['Number concentration for ice particles', 'non-dim', 'NCIP'], '208': ['Snow temperature', 'K', 'SNOT'], '209': ['Total column-integrated supercooled liquid water', 'kg m-2', 'TCLSW'], '210': ['Total column-integrated melting ice', 'kg m-2', 'TCOLM'], '211': ['Evaporation - Precipitation', 'cm/day', 'EMNP'], '212': ['Sublimation (evaporation from snow)', 'W m-2', 'SBSNO'], '213': ['Deep Convective Moistening Rate', 'kg kg-1 s-1', 'CNVMR'], '214': ['Shallow Convective Moistening Rate', 'kg kg-1 s-1', 'SHAMR'], '215': ['Vertical Diffusion Moistening Rate', 'kg kg-1 s-1', 'VDFMR'], '216': ['Condensation Pressure of Parcali Lifted From Indicate Surface', 'Pa', 'CONDP'], '217': ['Large scale moistening rate', 'kg kg-1 s-1', 'LRGMR'], '218': ['Specific humidity at top of viscous sublayer', 'kg kg-1', 'QZ0'], '219': ['Maximum specific humidity at 2m', 'kg kg-1', 'QMAX'], '220': ['Minimum specific humidity at 2m', 'kg kg-1', 'QMIN'], '221': ['Liquid precipitation (Rainfall)', 'kg m-2', 'ARAIN'], '222': ['Snow temperature, depth-avg', 'K', 'SNOWT'], '223': ['Total precipitation (nearest grid point)', 'kg m-2', 'APCPN'], '224': ['Convective precipitation (nearest grid point)', 'kg m-2', 'ACPCPN'], '225': ['Freezing Rain', 'kg m-2', 'FRZR'], '226': ['Predominant Weather (see Local Use Note A)', 'Numeric', 'PWTHER'], '227': ['Frozen Rain', 'kg m-2', 'FROZR'], '228': ['Flat Ice Accumulation (FRAM)', 'kg m-2', 'FICEAC'], '229': ['Line Ice Accumulation (FRAM)', 'kg m-2', 'LICEAC'], '230': ['Sleet Accumulation', 'kg m-2', 'SLACC'], '231': ['Precipitation Potential Index', '%', 'PPINDX'], '232': ['Probability Cloud Ice Present', '%', 'PROBCIP'], '233': ['Snow Liquid ratio', 'kg kg-1', 'SNOWLR'], '234': ['Precipitation Duration', 'hour', 'PCPDUR'], '235': ['Cloud Liquid Mixing Ratio', 'kg kg-1', 'CLLMR'], '236-240': ['Reserved', 'unknown', 'unknown'], '241': ['Total Snow', 'kg m-2', 'TSNOW'], '242': ['Relative Humidity with Respect to Precipitable Water', '%', 'RHPW'], '245': ['Hourly Maximum of Column Vertical Integrated Graupel on Entire Atmosphere', 'kg m-2', 'MAXVIG'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_2", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Wind Direction (from which blowing)', '\u00b0', 'WDIR'], '1': ['Wind Speed', 'm s-1', 'WIND'], '2': ['U-Component of Wind', 'm s-1', 'UGRD'], '3': ['V-Component of Wind', 'm s-1', 'VGRD'], '4': ['Stream Function', 'm2 s-1', 'STRM'], '5': ['Velocity Potential', 'm2 s-1', 'VPOT'], '6': ['Montgomery Stream Function', 'm2 s-2', 'MNTSF'], '7': ['Sigma Coordinate Vertical Velocity', 's-1', 'SGCVV'], '8': ['Vertical Velocity (Pressure)', 'Pa s-1', 'VVEL'], '9': ['Vertical Velocity (Geometric)', 'm s-1', 'DZDT'], '10': ['Absolute Vorticity', 's-1', 'ABSV'], '11': ['Absolute Divergence', 's-1', 'ABSD'], '12': ['Relative Vorticity', 's-1', 'RELV'], '13': ['Relative Divergence', 's-1', 'RELD'], '14': ['Potential Vorticity', 'K m2 kg-1 s-1', 'PVORT'], '15': ['Vertical U-Component Shear', 's-1', 'VUCSH'], '16': ['Vertical V-Component Shear', 's-1', 'VVCSH'], '17': ['Momentum Flux, U-Component', 'N m-2', 'UFLX'], '18': ['Momentum Flux, V-Component', 'N m-2', 'VFLX'], '19': ['Wind Mixing Energy', 'J', 'WMIXE'], '20': ['Boundary Layer Dissipation', 'W m-2', 'BLYDP'], '21': ['Maximum Wind Speed', 'm s-1', 'MAXGUST'], '22': ['Wind Speed (Gust)', 'm s-1', 'GUST'], '23': ['U-Component of Wind (Gust)', 'm s-1', 'UGUST'], '24': ['V-Component of Wind (Gust)', 'm s-1', 'VGUST'], '25': ['Vertical Speed Shear', 's-1', 'VWSH'], '26': ['Horizontal Momentum Flux', 'N m-2', 'MFLX'], '27': ['U-Component Storm Motion', 'm s-1', 'USTM'], '28': ['V-Component Storm Motion', 'm s-1', 'VSTM'], '29': ['Drag Coefficient', 'Numeric', 'CD'], '30': ['Frictional Velocity', 'm s-1', 'FRICV'], '31': ['Turbulent Diffusion Coefficient for Momentum', 'm2 s-1', 'TDCMOM'], '32': ['Eta Coordinate Vertical Velocity', 's-1', 'ETACVV'], '33': ['Wind Fetch', 'm', 'WINDF'], '34': ['Normal Wind Component', 'm s-1', 'NWIND'], '35': ['Tangential Wind Component', 'm s-1', 'TWIND'], '36': ['Amplitude Function for Rossby Wave Envelope for Meridional Wind', 'm s-1', 'AFRWE'], '37': ['Northward Turbulent Surface Stress', 'N m-2 s', 'NTSS'], '38': ['Eastward Turbulent Surface Stress', 'N m-2 s', 'ETSS'], '39': ['Eastward Wind Tendency Due to Parameterizations', 'm s-2', 'EWTPARM'], '40': ['Northward Wind Tendency Due to Parameterizations', 'm s-2', 'NWTPARM'], '41': ['U-Component of Geostrophic Wind', 'm s-1', 'UGWIND'], '42': ['V-Component of Geostrophic Wind', 'm s-1', 'VGWIND'], '43': ['Geostrophic Wind Direction', '\u00b0', 'GEOWD'], '44': ['Geostrophic Wind Speed', 'm s-1', 'GEOWS'], '45': ['Unbalanced Component of Divergence', 's-1', 'UNDIV'], '46': ['Vorticity Advection', 's-2', 'VORTADV'], '47': ['Surface roughness for heat,(see Note 5)', 'm', 'SFRHEAT'], '48': ['Surface roughness for moisture,(see Note 6)', 'm', 'SFRMOIST'], '49': ['Wind stress', 'N m-2', 'WINDSTR'], '50': ['Eastward wind stress', 'N m-2', 'EWINDSTR'], '51': ['Northward wind stress', 'N m-2', 'NWINDSTR'], '52': ['u-component of wind stress', 'N m-2', 'UWINDSTR'], '53': ['v-component of wind stress', 'N m-2', 'VWINDSTR'], '54': ['Natural logarithm of surface roughness length for heat', 'm', 'NLSRLH'], '55': ['Natural logarithm of surface roughness length for moisture', 'm', 'NLSRLM'], '56': ['u-component of neutral wind', 'm s-1', 'UNWIND'], '57': ['v-component of neutral wind', 'm s-1', 'VNWIND'], '58': ['Magnitude of turbulent surface stress', 'N m-2', 'TSFCSTR'], '59': ['Vertical divergence', 's-1', 'VDIV'], '60': ['Drag thermal coefficient', 'Numeric', 'DTC'], '61': ['Drag evaporation coefficient', 'Numeric', 'DEC'], '62': ['Eastward turbulent surface stress', 'N m-2', 'EASTTSS'], '63': ['Northward turbulent surface stress', 'N m-2', 'NRTHTSS'], '64': ['Eastward turbulent surface stress due to orographic form drag', 'N m-2', 'EASTTSSOD'], '65': ['Northward turbulent surface stress due to orographic form drag', 'N m-2', 'NRTHTSSOD'], '66': ['Eastward turbulent surface stress due to surface roughness', 'N m-2', 'EASTTSSSR'], '67': ['Northward turbulent surface stress due to surface roughness', 'N m-2', 'NRTHTSSSR'], '68-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Vertical Speed Shear', 's-1', 'VWSH'], '193': ['Horizontal Momentum Flux', 'N m-2', 'MFLX'], '194': ['U-Component Storm Motion', 'm s-1', 'USTM'], '195': ['V-Component Storm Motion', 'm s-1', 'VSTM'], '196': ['Drag Coefficient', 'non-dim', 'CD'], '197': ['Frictional Velocity', 'm s-1', 'FRICV'], '198': ['Latitude of U Wind Component of Velocity', 'deg', 'LAUV'], '199': ['Longitude of U Wind Component of Velocity', 'deg', 'LOUV'], '200': ['Latitude of V Wind Component of Velocity', 'deg', 'LAVV'], '201': ['Longitude of V Wind Component of Velocity', 'deg', 'LOVV'], '202': ['Latitude of Presure Point', 'deg', 'LAPP'], '203': ['Longitude of Presure Point', 'deg', 'LOPP'], '204': ['Vertical Eddy Diffusivity Heat exchange', 'm2 s-1', 'VEDH'], '205': ['Covariance between Meridional and Zonal Components of the wind.', 'm2 s-2', 'COVMZ'], '206': ['Covariance between Temperature and Zonal Components of the wind.', 'K*m s-1', 'COVTZ'], '207': ['Covariance between Temperature and Meridional Components of the wind.', 'K*m s-1', 'COVTM'], '208': ['Vertical Diffusion Zonal Acceleration', 'm s-2', 'VDFUA'], '209': ['Vertical Diffusion Meridional Acceleration', 'm s-2', 'VDFVA'], '210': ['Gravity wave drag zonal acceleration', 'm s-2', 'GWDU'], '211': ['Gravity wave drag meridional acceleration', 'm s-2', 'GWDV'], '212': ['Convective zonal momentum mixing acceleration', 'm s-2', 'CNVU'], '213': ['Convective meridional momentum mixing acceleration', 'm s-2', 'CNVV'], '214': ['Tendency of vertical velocity', 'm s-2', 'WTEND'], '215': ['Omega (Dp/Dt) divide by density', 'K', 'OMGALF'], '216': ['Convective Gravity wave drag zonal acceleration', 'm s-2', 'CNGWDU'], '217': ['Convective Gravity wave drag meridional acceleration', 'm s-2', 'CNGWDV'], '218': ['Velocity Point Model Surface', 'unknown', 'LMV'], '219': ['Potential Vorticity (Mass-Weighted)', '1/s/m', 'PVMWW'], '220': ['Hourly Maximum of Upward Vertical Velocity', 'm s-1', 'MAXUVV'], '221': ['Hourly Maximum of Downward Vertical Velocity', 'm s-1', 'MAXDVV'], '222': ['U Component of Hourly Maximum 10m Wind Speed', 'm s-1', 'MAXUW'], '223': ['V Component of Hourly Maximum 10m Wind Speed', 'm s-1', 'MAXVW'], '224': ['Ventilation Rate', 'm2 s-1', 'VRATE'], '225': ['Transport Wind Speed', 'm s-1', 'TRWSPD'], '226': ['Transport Wind Direction', 'Deg', 'TRWDIR'], '227': ['Earliest Reasonable Arrival Time (10% exceedance)', 's', 'TOA10'], '228': ['Most Likely Arrival Time (50% exceedance)', 's', 'TOA50'], '229': ['Most Likely Departure Time (50% exceedance)', 's', 'TOD50'], '230': ['Latest Reasonable Departure Time (90% exceedance)', 's', 'TOD90'], '231': ['Tropical Wind Direction', '\u00b0', 'TPWDIR'], '232': ['Tropical Wind Speed', 'm s-1', 'TPWSPD'], '233': ['Inflow Based (ESFC) to 50% EL Shear Magnitude', 'kt', 'ESHR'], '234': ['U Component Inflow Based to 50% EL Shear Vector', 'kt', 'UESH'], '235': ['V Component Inflow Based to 50% EL Shear Vector', 'kt', 'VESH'], '236': ['U Component Bunkers Effective Right Motion', 'kt', 'UEID'], '237': ['V Component Bunkers Effective Right Motion', 'kt', 'VEID'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_3", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Pressure', 'Pa', 'PRES'], '1': ['Pressure Reduced to MSL', 'Pa', 'PRMSL'], '2': ['Pressure Tendency', 'Pa s-1', 'PTEND'], '3': ['ICAO Standard Atmosphere Reference Height', 'm', 'ICAHT'], '4': ['Geopotential', 'm2 s-2', 'GP'], '5': ['Geopotential Height', 'gpm', 'HGT'], '6': ['Geometric Height', 'm', 'DIST'], '7': ['Standard Deviation of Height', 'm', 'HSTDV'], '8': ['Pressure Anomaly', 'Pa', 'PRESA'], '9': ['Geopotential Height Anomaly', 'gpm', 'GPA'], '10': ['Density', 'kg m-3', 'DEN'], '11': ['Altimeter Setting', 'Pa', 'ALTS'], '12': ['Thickness', 'm', 'THICK'], '13': ['Pressure Altitude', 'm', 'PRESALT'], '14': ['Density Altitude', 'm', 'DENALT'], '15': ['5-Wave Geopotential Height', 'gpm', '5WAVH'], '16': ['Zonal Flux of Gravity Wave Stress', 'N m-2', 'U-GWD'], '17': ['Meridional Flux of Gravity Wave Stress', 'N m-2', 'V-GWD'], '18': ['Planetary Boundary Layer Height', 'm', 'HPBL'], '19': ['5-Wave Geopotential Height Anomaly', 'gpm', '5WAVA'], '20': ['Standard Deviation of Sub-Grid Scale Orography', 'm', 'SDSGSO'], '21': ['Angle of Sub-Grid Scale Orography', 'rad', 'AOSGSO'], '22': ['Slope of Sub-Grid Scale Orography', 'Numeric', 'SSGSO'], '23': ['Gravity Wave Dissipation', 'W m-2', 'GWD'], '24': ['Anisotropy of Sub-Grid Scale Orography', 'Numeric', 'ASGSO'], '25': ['Natural Logarithm of Pressure in Pa', 'Numeric', 'NLPRES'], '26': ['Exner Pressure', 'Numeric', 'EXPRES'], '27': ['Updraught Mass Flux', 'kg m-2 s-1', 'UMFLX'], '28': ['Downdraught Mass Flux', 'kg m-2 s-1', 'DMFLX'], '29': ['Updraught Detrainment Rate', 'kg m-3 s-1', 'UDRATE'], '30': ['Downdraught Detrainment Rate', 'kg m-3 s-1', 'DDRATE'], '31': ['Unbalanced Component of Logarithm of Surface Pressure', '-', 'UCLSPRS'], '32': ['Saturation water vapour pressure', 'Pa', 'SWATERVP'], '33': ['Geometric altitude above mean sea level', 'm', 'GAMSL'], '34': ['Geometric height above ground level', 'm', 'GHAGRD'], '35': ['Column integrated divergence of total mass flux', 'kg m-2 s-1', 'CDTMF'], '36': ['Column integrated eastward total mass flux', 'kg m-2 s-1', 'CETMF'], '37': ['Column integrated northward total mass flux', 'kg m-2 s-1', 'CNTMF'], '38': ['Standard deviation of filtered subgrid orography', 'm', 'SDFSO'], '39': ['Column integrated mass of atmosphere', 'kg m-2 s-1', 'CMATMOS'], '40': ['Column integrated eastward geopotential flux', 'W m-1', 'CEGFLUX'], '41': ['Column integrated northward geopotential flux', 'W m-1', 'CNGFLUX'], '42': ['Column integrated divergence of water geopotential flux', 'W m-2', 'CDWGFLUX'], '43': ['Column integrated divergence of geopotential flux', 'W m-2', 'CDGFLUX'], '44': ['Height of zero-degree wet-bulb temperature', 'm', 'HWBT'], '45': ['Height of one-degree wet-bulb temperature', 'm', 'WOBT'], '46': ['Pressure departure from hydrostatic state', 'Pa', 'PRESDHS'], '47-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['MSLP (Eta model reduction)', 'Pa', 'MSLET'], '193': ['5-Wave Geopotential Height', 'gpm', '5WAVH'], '194': ['Zonal Flux of Gravity Wave Stress', 'N m-2', 'U-GWD'], '195': ['Meridional Flux of Gravity Wave Stress', 'N m-2', 'V-GWD'], '196': ['Planetary Boundary Layer Height', 'm', 'HPBL'], '197': ['5-Wave Geopotential Height Anomaly', 'gpm', '5WAVA'], '198': ['MSLP (MAPS System Reduction)', 'Pa', 'MSLMA'], '199': ['3-hr pressure tendency (Std. Atmos. Reduction)', 'Pa s-1', 'TSLSA'], '200': ['Pressure of level from which parcel was lifted', 'Pa', 'PLPL'], '201': ['X-gradient of Log Pressure', 'm-1', 'LPSX'], '202': ['Y-gradient of Log Pressure', 'm-1', 'LPSY'], '203': ['X-gradient of Height', 'm-1', 'HGTX'], '204': ['Y-gradient of Height', 'm-1', 'HGTY'], '205': ['Layer Thickness', 'm', 'LAYTH'], '206': ['Natural Log of Surface Pressure', 'ln (kPa)', 'NLGSP'], '207': ['Convective updraft mass flux', 'kg m-2 s-1', 'CNVUMF'], '208': ['Convective downdraft mass flux', 'kg m-2 s-1', 'CNVDMF'], '209': ['Convective detrainment mass flux', 'kg m-2 s-1', 'CNVDEMF'], '210': ['Mass Point Model Surface', 'unknown', 'LMH'], '211': ['Geopotential Height (nearest grid point)', 'gpm', 'HGTN'], '212': ['Pressure (nearest grid point)', 'Pa', 'PRESN'], '213': ['Orographic Convexity', 'unknown', 'ORCONV'], '214': ['Orographic Asymmetry, W Component', 'unknown', 'ORASW'], '215': ['Orographic Asymmetry, S Component', 'unknown', 'ORASS'], '216': ['Orographic Asymmetry, SW Component', 'unknown', 'ORASSW'], '217': ['Orographic Asymmetry, NW Component', 'unknown', 'ORASNW'], '218': ['Orographic Length Scale, W Component', 'unknown', 'ORLSW'], '219': ['Orographic Length Scale, S Component', 'unknown', 'ORLSS'], '220': ['Orographic Length Scale, SW Component', 'unknown', 'ORLSSW'], '221': ['Orographic Length Scale, NW Component', 'unknown', 'ORLSNW'], '222': ['Effective Surface Height', 'm', 'EFSH'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_4", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Net Short-Wave Radiation Flux (Surface)', 'W m-2', 'NSWRS'], '1': ['Net Short-Wave Radiation Flux (Top of Atmosphere)', 'W m-2', 'NSWRT'], '2': ['Short-Wave Radiation Flux', 'W m-2', 'SWAVR'], '3': ['Global Radiation Flux', 'W m-2', 'GRAD'], '4': ['Brightness Temperature', 'K', 'BRTMP'], '5': ['Radiance (with respect to wave number)', 'W m-1 sr-1', 'LWRAD'], '6': ['Radiance (with respect to wavelength)', 'W m-3 sr-1', 'SWRAD'], '7': ['Downward Short-Wave Radiation Flux', 'W m-2', 'DSWRF'], '8': ['Upward Short-Wave Radiation Flux', 'W m-2', 'USWRF'], '9': ['Net Short Wave Radiation Flux', 'W m-2', 'NSWRF'], '10': ['Photosynthetically Active Radiation', 'W m-2', 'PHOTAR'], '11': ['Net Short-Wave Radiation Flux, Clear Sky', 'W m-2', 'NSWRFCS'], '12': ['Downward UV Radiation', 'W m-2', 'DWUVR'], '13': ['Direct Short Wave Radiation Flux', 'W m-2', 'DSWRFLX'], '14': ['Diffuse Short Wave Radiation Flux', 'W m-2', 'DIFSWRF'], '15': ['Upward UV radiation emitted/reflected from the Earths surface', 'W m-2', 'UVVEARTH'], '16-49': ['Reserved', 'unknown', 'unknown'], '50': ['UV Index (Under Clear Sky)', 'Numeric', 'UVIUCS'], '51': ['UV Index', 'Numeric', 'UVI'], '52': ['Downward Short-Wave Radiation Flux, Clear Sky', 'W m-2', 'DSWRFCS'], '53': ['Upward Short-Wave Radiation Flux, Clear Sky', 'W m-2', 'USWRFCS'], '54': ['Direct normal short-wave radiation flux,(see Note 3)', 'W m-2', 'DNSWRFLX'], '55': ['UV visible albedo for diffuse radiation', '%', 'UVALBDIF'], '56': ['UV visible albedo for direct radiation', '%', 'UVALBDIR'], '57': ['UV visible albedo for direct radiation, geometric component', '%', 'UBALBDIRG'], '58': ['UV visible albedo for direct radiation, isotropic component', '%', 'UVALBDIRI'], '59': ['UV visible albedo for direct radiation, volumetric component', '%', 'UVBDIRV'], '60': ['Photosynthetically active radiation flux, clear sky', 'W m-2', 'PHOARFCS'], '61': ['Direct short-wave radiation flux, clear sky', 'W m-2', 'DSWRFLXCS'], '62-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Downward Short-Wave Radiation Flux', 'W m-2', 'DSWRF'], '193': ['Upward Short-Wave Radiation Flux', 'W m-2', 'USWRF'], '194': ['UV-B Downward Solar Flux', 'W m-2', 'DUVB'], '195': ['Clear sky UV-B Downward Solar Flux', 'W m-2', 'CDUVB'], '196': ['Clear Sky Downward Solar Flux', 'W m-2', 'CSDSF'], '197': ['Solar Radiative Heating Rate', 'K s-1', 'SWHR'], '198': ['Clear Sky Upward Solar Flux', 'W m-2', 'CSUSF'], '199': ['Cloud Forcing Net Solar Flux', 'W m-2', 'CFNSF'], '200': ['Visible Beam Downward Solar Flux', 'W m-2', 'VBDSF'], '201': ['Visible Diffuse Downward Solar Flux', 'W m-2', 'VDDSF'], '202': ['Near IR Beam Downward Solar Flux', 'W m-2', 'NBDSF'], '203': ['Near IR Diffuse Downward Solar Flux', 'W m-2', 'NDDSF'], '204': ['Downward Total Radiation Flux', 'W m-2', 'DTRF'], '205': ['Upward Total Radiation Flux', 'W m-2', 'UTRF'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_5", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_5", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Net Long-Wave Radiation Flux (Surface)', 'W m-2', 'NLWRS'], '1': ['Net Long-Wave Radiation Flux (Top of Atmosphere)', 'W m-2', 'NLWRT'], '2': ['Long-Wave Radiation Flux', 'W m-2', 'LWAVR'], '3': ['Downward Long-Wave Rad. Flux', 'W m-2', 'DLWRF'], '4': ['Upward Long-Wave Rad. Flux', 'W m-2', 'ULWRF'], '5': ['Net Long-Wave Radiation Flux', 'W m-2', 'NLWRF'], '6': ['Net Long-Wave Radiation Flux, Clear Sky', 'W m-2', 'NLWRCS'], '7': ['Brightness Temperature', 'K', 'BRTEMP'], '8': ['Downward Long-Wave Radiation Flux, Clear Sky', 'W m-2', 'DLWRFCS'], '9': ['Near IR albedo for diffuse radiation', '%', 'NIRALBDIF'], '10': ['Near IR albedo for direct radiation', '%', 'NIRALBDIR'], '11': ['Near IR albedo for direct radiation, geometric component', '%', 'NIRALBDIRG'], '12': ['Near IR albedo for direct radiation, isotropic component', '%', 'NIRALBDIRI'], '13': ['Near IR albedo for direct radiation, volumetric component', '%', 'NIRALBDIRV'], '14-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Downward Long-Wave Rad. Flux', 'W m-2', 'DLWRF'], '193': ['Upward Long-Wave Rad. Flux', 'W m-2', 'ULWRF'], '194': ['Long-Wave Radiative Heating Rate', 'K s-1', 'LWHR'], '195': ['Clear Sky Upward Long Wave Flux', 'W m-2', 'CSULF'], '196': ['Clear Sky Downward Long Wave Flux', 'W m-2', 'CSDLF'], '197': ['Cloud Forcing Net Long Wave Flux', 'W m-2', 'CFNLF'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_6", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_6", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Cloud Ice', 'kg m-2', 'CICE'], '1': ['Total Cloud Cover', '%', 'TCDC'], '2': ['Convective Cloud Cover', '%', 'CDCON'], '3': ['Low Cloud Cover', '%', 'LCDC'], '4': ['Medium Cloud Cover', '%', 'MCDC'], '5': ['High Cloud Cover', '%', 'HCDC'], '6': ['Cloud Water', 'kg m-2', 'CWAT'], '7': ['Cloud Amount', '%', 'CDCA'], '8': ['Cloud Type', 'See Table 4.203', 'CDCT'], '9': ['Thunderstorm Maximum Tops', 'm', 'TMAXT'], '10': ['Thunderstorm Coverage', 'See Table 4.204', 'THUNC'], '11': ['Cloud Base', 'm', 'CDCB'], '12': ['Cloud Top', 'm', 'CDCTOP'], '13': ['Ceiling', 'm', 'CEIL'], '14': ['Non-Convective Cloud Cover', '%', 'CDLYR'], '15': ['Cloud Work Function', 'J kg-1', 'CWORK'], '16': ['Convective Cloud Efficiency', 'Proportion', 'CUEFI'], '17': ['Total Condensate', 'kg kg-1', 'TCONDO'], '18': ['Total Column-Integrated Cloud Water', 'kg m-2', 'TCOLWO'], '19': ['Total Column-Integrated Cloud Ice', 'kg m-2', 'TCOLIO'], '20': ['Total Column-Integrated Condensate', 'kg m-2', 'TCOLC'], '21': ['Ice fraction of total condensate', 'Proportion', 'FICE'], '22': ['Cloud Cover', '%', 'CDCC'], '23': ['Cloud Ice Mixing Ratio', 'kg kg-1', 'CDCIMR'], '24': ['Sunshine', 'Numeric', 'SUNS'], '25': ['Horizontal Extent of Cumulonimbus (CB)', '%', 'CBHE'], '26': ['Height of Convective Cloud Base', 'm', 'HCONCB'], '27': ['Height of Convective Cloud Top', 'm', 'HCONCT'], '28': ['Number Concentration of Cloud Droplets', 'kg-1', 'NCONCD'], '29': ['Number Concentration of Cloud Ice', 'kg-1', 'NCCICE'], '30': ['Number Density of Cloud Droplets', 'm-3', 'NDENCD'], '31': ['Number Density of Cloud Ice', 'm-3', 'NDCICE'], '32': ['Fraction of Cloud Cover', 'Numeric', 'FRACCC'], '33': ['Sunshine Duration', 's', 'SUNSD'], '34': ['Surface Long Wave Effective Total Cloudiness', 'Numeric', 'SLWTC'], '35': ['Surface Short Wave Effective Total Cloudiness', 'Numeric', 'SSWTC'], '36': ['Fraction of Stratiform Precipitation Cover', 'Proportion', 'FSTRPC'], '37': ['Fraction of Convective Precipitation Cover', 'Proportion', 'FCONPC'], '38': ['Mass Density of Cloud Droplets', 'kg m-3', 'MASSDCD'], '39': ['Mass Density of Cloud Ice', 'kg m-3', 'MASSDCI'], '40': ['Mass Density of Convective Cloud Water Droplets', 'kg m-3', 'MDCCWD'], '41-46': ['Reserved', 'unknown', 'unknown'], '47': ['Volume Fraction of Cloud Water Droplets', 'Numeric', 'VFRCWD'], '48': ['Volume Fraction of Cloud Ice Particles', 'Numeric', 'VFRCICE'], '49': ['Volume Fraction of Cloud (Ice and/or Water)', 'Numeric', 'VFRCIW'], '50': ['Fog', '%', 'FOG'], '51': ['Sunshine Duration Fraction', 'Proportion', 'SUNFRAC'], '52-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Non-Convective Cloud Cover', '%', 'CDLYR'], '193': ['Cloud Work Function', 'J kg-1', 'CWORK'], '194': ['Convective Cloud Efficiency', 'non-dim', 'CUEFI'], '195': ['Total Condensate', 'kg kg-1', 'TCOND'], '196': ['Total Column-Integrated Cloud Water', 'kg m-2', 'TCOLW'], '197': ['Total Column-Integrated Cloud Ice', 'kg m-2', 'TCOLI'], '198': ['Total Column-Integrated Condensate', 'kg m-2', 'TCOLC'], '199': ['Ice fraction of total condensate', 'non-dim', 'FICE'], '200': ['Convective Cloud Mass Flux', 'Pa s-1', 'MFLUX'], '201': ['Sunshine Duration', 's', 'SUNSD'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_7", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_7", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Parcel Lifted Index (to 500 hPa)', 'K', 'PLI'], '1': ['Best Lifted Index (to 500 hPa)', 'K', 'BLI'], '2': ['K Index', 'K', 'KX'], '3': ['KO Index', 'K', 'KOX'], '4': ['Total Totals Index', 'K', 'TOTALX'], '5': ['Sweat Index', 'Numeric', 'SX'], '6': ['Convective Available Potential Energy', 'J kg-1', 'CAPE'], '7': ['Convective Inhibition', 'J kg-1', 'CIN'], '8': ['Storm Relative Helicity', 'm2 s-2', 'HLCY'], '9': ['Energy Helicity Index', 'Numeric', 'EHLX'], '10': ['Surface Lifted Index', 'K', 'LFT X'], '11': ['Best (4 layer) Lifted Index', 'K', '4LFTX'], '12': ['Richardson Number', 'Numeric', 'RI'], '13': ['Showalter Index', 'K', 'SHWINX'], '14': ['Reserved', 'unknown', 'unknown'], '15': ['Updraft Helicity', 'm2 s-2', 'UPHL'], '16': ['Bulk Richardson Number', 'Numeric', 'BLKRN'], '17': ['Gradient Richardson Number', 'Numeric', 'GRDRN'], '18': ['Flux Richardson Number', 'Numeric', 'FLXRN'], '19': ['Convective Available Potential Energy Shear', 'm2 s-2', 'CONAPES'], '20': ['Thunderstorm intensity index', 'See Table 4.246', 'TIIDEX'], '21-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Surface Lifted Index', 'K', 'LFT X'], '193': ['Best (4 layer) Lifted Index', 'K', '4LFTX'], '194': ['Richardson Number', 'Numeric', 'RI'], '195': ['Convective Weather Detection Index', 'unknown', 'CWDI'], '196': ['Ultra Violet Index', 'W m-2', 'UVI'], '197': ['Updraft Helicity', 'm2 s-2', 'UPHL'], '198': ['Leaf Area Index', 'Numeric', 'LAI'], '199': ['Hourly Maximum of Updraft Helicity', 'm2 s-2', 'MXUPHL'], '200': ['Hourly Minimum of Updraft Helicity', 'm2 s-2', 'MNUPHL'], '201': ['Bourgoiun Negative Energy Layer (surface to freezing level)', 'J kg-1', 'BNEGELAY'], '202': ['Bourgoiun Positive Energy Layer (2k ft AGL to 400 hPa)', 'J kg-1', 'BPOSELAY'], '203': ['Downdraft CAPE', 'J kg-1', 'DCAPE'], '204': ['Effective Storm Relative Helicity', 'm2 s-2', 'EFHL'], '205': ['Enhanced Stretching Potential', 'Numeric', 'ESP'], '206': ['Critical Angle', 'Degree', 'CANGLE'], '207': ['Effective Surface Helicity', 'm2 s-2', 'E3KH'], '208': ['Significant Tornado Parameter with CIN-Effective Layer', 'numeric', 'STPC'], '209': ['Significant Hail Parameter', 'numeric', 'SIGH'], '210': ['Supercell Composite Parameter-Effective Layer', 'numeric', 'SCCP'], '211': ['Significant Tornado parameter-Fixed Layer', 'numeric', 'SIGT'], '212': ['Mixed Layer (100 mb) Virtual LFC', 'numeric', 'MLFC'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_13", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_13", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Aerosol Type', 'See Table 4.205', 'AEROT'], '1-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Particulate matter (coarse)', '\u00b5g m-3', 'PMTC'], '193': ['Particulate matter (fine)', '\u00b5g m-3', 'PMTF'], '194': ['Particulate matter (fine)', 'log10 (\u00b5g m-3)', 'LPMTF'], '195': ['Integrated column particulate matter (fine)', 'log10 (\u00b5g m-3)', 'LIPMF'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_14", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_14", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Total Ozone', 'DU', 'TOZNE'], '1': ['Ozone Mixing Ratio', 'kg kg-1', 'O3MR'], '2': ['Total Column Integrated Ozone', 'DU', 'TCIOZ'], '3-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Ozone Mixing Ratio', 'kg kg-1', 'O3MR'], '193': ['Ozone Concentration', 'ppb', 'OZCON'], '194': ['Categorical Ozone Concentration', 'Non-Dim', 'OZCAT'], '195': ['Ozone Vertical Diffusion', 'kg kg-1 s-1', 'VDFOZ'], '196': ['Ozone Production', 'kg kg-1 s-1', 'POZ'], '197': ['Ozone Tendency', 'kg kg-1 s-1', 'TOZ'], '198': ['Ozone Production from Temperature Term', 'kg kg-1 s-1', 'POZT'], '199': ['Ozone Production from Column Ozone Term', 'kg kg-1 s-1', 'POZO'], '200': ['Ozone Daily Max from 1-hour Average', 'ppbV', 'OZMAX1'], '201': ['Ozone Daily Max from 8-hour Average', 'ppbV', 'OZMAX8'], '202': ['PM 2.5 Daily Max from 1-hour Average', '\u03bcg m-3', 'PDMAX1'], '203': ['PM 2.5 Daily Max from 24-hour Average', '\u03bcg m-3', 'PDMAX24'], '204': ['Acetaldehyde & Higher Aldehydes', 'ppbV', 'ALD2'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_15", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_15", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Base Spectrum Width', 'm s-1', 'BSWID'], '1': ['Base Reflectivity', 'dB', 'BREF'], '2': ['Base Radial Velocity', 'm s-1', 'BRVEL'], '3': ['Vertically-Integrated Liquid Water', 'kg m-2', 'VIL'], '4': ['Layer Maximum Base Reflectivity', 'dB', 'LMAXBR'], '5': ['Precipitation', 'kg m-2', 'PREC'], '6': ['Radar Spectra (1)', 'unknown', 'RDSP1'], '7': ['Radar Spectra (2)', 'unknown', 'RDSP2'], '8': ['Radar Spectra (3)', 'unknown', 'RDSP3'], '9': ['Reflectivity of Cloud Droplets', 'dB', 'RFCD'], '10': ['Reflectivity of Cloud Ice', 'dB', 'RFCI'], '11': ['Reflectivity of Snow', 'dB', 'RFSNOW'], '12': ['Reflectivity of Rain', 'dB', 'RFRAIN'], '13': ['Reflectivity of Graupel', 'dB', 'RFGRPL'], '14': ['Reflectivity of Hail', 'dB', 'RFHAIL'], '15': ['Hybrid Scan Reflectivity', 'dB', 'HSR'], '16': ['Hybrid Scan Reflectivity Height', 'm', 'HSRHT'], '17-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_16", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_16", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Equivalent radar reflectivity factor for rain', 'm m6 m-3', 'REFZR'], '1': ['Equivalent radar reflectivity factor for snow', 'm m6 m-3', 'REFZI'], '2': ['Equivalent radar reflectivity factor for parameterized convection', 'm m6 m-3', 'REFZC'], '3': ['Echo Top', 'm', 'RETOP'], '4': ['Reflectivity', 'dB', 'REFD'], '5': ['Composite reflectivity', 'dB', 'REFC'], '6-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Equivalent radar reflectivity factor for rain', 'm m6 m-3', 'REFZR'], '193': ['Equivalent radar reflectivity factor for snow', 'm m6 m-3', 'REFZI'], '194': ['Equivalent radar reflectivity factor for parameterized convection', 'm m6 m-3', 'REFZC'], '195': ['Reflectivity', 'dB', 'REFD'], '196': ['Composite reflectivity', 'dB', 'REFC'], '197': ['Echo Top', 'm', 'RETOP'], '198': ['Hourly Maximum of Simulated Reflectivity', 'dB', 'MAXREF'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_17", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_17", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Lightning Strike Density', 'm-2 s-1', 'LTNGSD'], '1': ['Lightning Potential Index (LPI)', 'J kg-1', 'LTPINX'], '2': ['Cloud-to-Ground Lightning Flash Density', 'km-2 day-1', 'CDGDLTFD'], '3': ['Cloud-to-Cloud Lightning Flash Density', 'km-2 day-1', 'CDCDLTFD'], '4': ['Total Lightning Flash Density', 'km-2 day-1', 'TLGTFD'], '5': ['Subgrid-scale lightning potential index', 'J kg-1', 'SLNGPIDX'], '6-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Lightning', 'non-dim', 'LTNG'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_18", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_18", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Air Concentration of Caesium 137', 'Bq m-3', 'ACCES'], '1': ['Air Concentration of Iodine 131', 'Bq m-3', 'ACIOD'], '2': ['Air Concentration of Radioactive Pollutant', 'Bq m-3', 'ACRADP'], '3': ['Ground Deposition of Caesium 137', 'Bq m-2', 'GDCES'], '4': ['Ground Deposition of Iodine 131', 'Bq m-2', 'GDIOD'], '5': ['Ground Deposition of Radioactive Pollutant', 'Bq m-2', 'GDRADP'], '6': ['Time Integrated Air Concentration of Cesium Pollutant', 'Bq s m-3', 'TIACCP'], '7': ['Time Integrated Air Concentration of Iodine Pollutant', 'Bq s m-3', 'TIACIP'], '8': ['Time Integrated Air Concentration of Radioactive Pollutant', 'Bq s m-3', 'TIACRP'], '9': ['Reserved', 'unknown', 'unknown'], '10': ['Air Concentration', 'Bq m-3', 'AIRCON'], '11': ['Wet Deposition', 'Bq m-2', 'WETDEP'], '12': ['Dry Deposition', 'Bq m-2', 'DRYDEP'], '13': ['Total Deposition (Wet + Dry)', 'Bq m-2', 'TOTLWD'], '14': ['Specific Activity Concentration', 'Bq kg-1', 'SACON'], '15': ['Maximum of Air Concentration in Layer', 'Bq m-3', 'MAXACON'], '16': ['Height of Maximum of Air Concentration', 'm', 'HMXACON'], '17': ['Column-Integrated Air Concentration', 'Bq m-2', 'CIAIRC'], '18': ['Column-Averaged Air Concentration in Layer', 'Bq m-3', 'CAACL'], '19-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_19", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_19", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Visibility', 'm', 'VIS'], '1': ['Albedo', '%', 'ALBDO'], '2': ['Thunderstorm Probability', '%', 'TSTM'], '3': ['Mixed Layer Depth', 'm', 'MIXHT'], '4': ['Volcanic Ash', 'See Table 4.206', 'VOLASH'], '5': ['Icing Top', 'm', 'ICIT'], '6': ['Icing Base', 'm', 'ICIB'], '7': ['Icing', 'See Table 4.207', 'ICI'], '8': ['Turbulence Top', 'm', 'TURBT'], '9': ['Turbulence Base', 'm', 'TURBB'], '10': ['Turbulence', 'See Table 4.208', 'TURB'], '11': ['Turbulent Kinetic Energy', 'J kg-1', 'TKE'], '12': ['Planetary Boundary Layer Regime', 'See Table 4.209', 'PBLREG'], '13': ['Contrail Intensity', 'See Table 4.210', 'CONTI'], '14': ['Contrail Engine Type', 'See Table 4.211', 'CONTET'], '15': ['Contrail Top', 'm', 'CONTT'], '16': ['Contrail Base', 'm', 'CONTB'], '17': ['Maximum Snow Albedo', '%', 'MXSALB'], '18': ['Snow-Free Albedo', '%', 'SNFALB'], '19': ['Snow Albedo', '%', 'SALBD'], '20': ['Icing', '%', 'ICIP'], '21': ['In-Cloud Turbulence', '%', 'CTP'], '22': ['Clear Air Turbulence (CAT)', '%', 'CAT'], '23': ['Supercooled Large Droplet Probability', '%', 'SLDP'], '24': ['Convective Turbulent Kinetic Energy', 'J kg-1', 'CONTKE'], '25': ['Weather', 'See Table 4.225', 'WIWW'], '26': ['Convective Outlook', 'See Table 4.224', 'CONVO'], '27': ['Icing Scenario', 'See Table 4.227', 'ICESC'], '28': ['Mountain Wave Turbulence (Eddy Dissipation Rate)', 'm2/3 s-1', 'MWTURB'], '29': ['Clear Air Turbulence (CAT) (Eddy Dissipation Rate)', 'm2/3 s-1', 'CATEDR'], '30': ['Eddy Dissipation Parameter', 'm2/3 s-1', 'EDPARM'], '31': ['Maximum of Eddy Dissipation Parameter in Layer', 'm2/3 s-1', 'MXEDPRM'], '32': ['Highest Freezing Level', 'm', 'HIFREL'], '33': ['Visibility Through Liquid Fog', 'm', 'VISLFOG'], '34': ['Visibility Through Ice Fog', 'm', 'VISIFOG'], '35': ['Visibility Through Blowing Snow', 'm', 'VISBSN'], '36': ['Presence of Snow Squalls', 'See Table 4.222', 'PSNOWS'], '37': ['Icing Severity', 'See Table 4.228', 'ICESEV'], '38': ['Sky transparency index', 'See Table 4.214', 'SKYIDX'], '39': ['Seeing index', 'See Table 4.214', 'SEEINDEX'], '40': ['Snow level', 'm', 'SNOWLVL'], '41': ['Duct base height', 'm', 'DBHEIGHT'], '42': ['Trapping layer base height', 'm', 'TLBHEIGHT'], '43': ['Trapping layer top height', 'm', 'TLTHEIGHT'], '44': ['Mean vertical gradient of refractivity inside trapping layer', 'm-1', 'MEANVGRTL'], '45': ['Minimum vertical gradient of refractivity inside trapping layer', 'm-1', 'MINVGRTL'], '46': ['Net radiation flux', 'W m-2', 'NETRADFLUX'], '47': ['Global irradiance on tilted surfaces', 'W m-2', 'GLIRRTS'], '48': ['Top of persistent contrails', 'm', 'PCONTT'], '49': ['Base of persistent contrails', 'm', 'PCONTB'], '50': ['Convectively-induced turbulence (CIT) (eddy dissipation rate)', 'm2/3 s-1', 'CITEDR'], '51-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Maximum Snow Albedo', '%', 'MXSALB'], '193': ['Snow-Free Albedo', '%', 'SNFALB'], '194': ['Slight risk convective outlook', 'categorical', 'SRCONO'], '195': ['Moderate risk convective outlook', 'categorical', 'MRCONO'], '196': ['High risk convective outlook', 'categorical', 'HRCONO'], '197': ['Tornado probability', '%', 'TORPROB'], '198': ['Hail probability', '%', 'HAILPROB'], '199': ['Wind probability', '%', 'WINDPROB'], '200': ['Significant Tornado probability', '%', 'STORPROB'], '201': ['Significant Hail probability', '%', 'SHAILPRO'], '202': ['Significant Wind probability', '%', 'SWINDPRO'], '203': ['Categorical Thunderstorm', 'Code table 4.222', 'TSTMC'], '204': ['Number of mixed layers next to surface', 'integer', 'MIXLY'], '205': ['Flight Category', 'unknown', 'FLGHT'], '206': ['Confidence - Ceiling', 'unknown', 'CICEL'], '207': ['Confidence - Visibility', 'unknown', 'CIVIS'], '208': ['Confidence - Flight Category', 'unknown', 'CIFLT'], '209': ['Low-Level aviation interest', 'unknown', 'LAVNI'], '210': ['High-Level aviation interest', 'unknown', 'HAVNI'], '211': ['Visible, Black Sky Albedo', '%', 'SBSALB'], '212': ['Visible, White Sky Albedo', '%', 'SWSALB'], '213': ['Near IR, Black Sky Albedo', '%', 'NBSALB'], '214': ['Near IR, White Sky Albedo', '%', 'NWSALB'], '215': ['Total Probability of Severe Thunderstorms (Days 2,3)', '%', 'PRSVR'], '216': ['Total Probability of Extreme Severe Thunderstorms (Days 2,3)', '%', 'PRSIGSVR'], '217': ['Supercooled Large Droplet (SLD) Icing', 'See Table 4.207', 'SIPD'], '218': ['Radiative emissivity', 'unknown', 'EPSR'], '219': ['Turbulence Potential Forecast Index', 'unknown', 'TPFI'], '220': ['Categorical Severe Thunderstorm', 'Code table 4.222', 'SVRTS'], '221': ['Probability of Convection', '%', 'PROCON'], '222': ['Convection Potential', 'Code table 4.222', 'CONVP'], '223-231': ['Reserved', 'unknown', 'unknown'], '232': ['Volcanic Ash Forecast Transport and Dispersion', 'log10 (kg m-3)', 'VAFTD'], '233': ['Icing probability', 'non-dim', 'ICPRB'], '234': ['Icing Severity', 'non-dim', 'ICSEV'], '235': ['Joint Fire Weather Probability', '%', 'JFWPRB'], '236': ['Snow Level', 'm', 'SNOWLVL'], '237': ['Dry Thunderstorm Probability', '%', 'DRYTPROB'], '238': ['Ellrod Index', 'unknown', 'ELLINX'], '239': ['Craven-Wiedenfeld Aggregate Severe Parameter', 'Numeric', 'CWASP'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_20", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_20", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Mass Density (Concentration)', 'kg m-3', 'MASSDEN'], '1': ['Column-Integrated Mass Density', 'kg m-2', 'COLMD'], '2': ['Mass Mixing Ratio (Mass Fraction in Air)', 'kg kg-1', 'MASSMR'], '3': ['Atmosphere Emission Mass Flux', 'kg m-2s-1', 'AEMFLX'], '4': ['Atmosphere Net Production Mass Flux', 'kg m-2s-1', 'ANPMFLX'], '5': ['Atmosphere Net Production And Emision Mass Flux', 'kg m-2s-1', 'ANPEMFLX'], '6': ['Surface Dry Deposition Mass Flux', 'kg m-2s-1', 'SDDMFLX'], '7': ['Surface Wet Deposition Mass Flux', 'kg m-2s-1', 'SWDMFLX'], '8': ['Atmosphere Re-Emission Mass Flux', 'kg m-2s-1', 'AREMFLX'], '9': ['Wet Deposition by Large-Scale Precipitation Mass Flux', 'kg m-2s-1', 'WLSMFLX'], '10': ['Wet Deposition by Convective Precipitation Mass Flux', 'kg m-2s-1', 'WDCPMFLX'], '11': ['Sedimentation Mass Flux', 'kg m-2s-1', 'SEDMFLX'], '12': ['Dry Deposition Mass Flux', 'kg m-2s-1', 'DDMFLX'], '13': ['Transfer From Hydrophobic to Hydrophilic', 'kg kg-1s-1', 'TRANHH'], '14': ['Transfer From SO2 (Sulphur Dioxide) to SO4 (Sulphate)', 'kg kg-1s-1', 'TRSDS'], '15': ['Dry deposition velocity', 'm s-1', 'DDVEL'], '16': ['Mass mixing ratio with respect to dry air', 'kg kg-1', 'MSSRDRYA'], '17': ['Mass mixing ratio with respect to wet air', 'kg kg-1', 'MSSRWETA'], '18': ['Potential of hydrogen (pH)', 'pH', 'POTHPH'], '19-49': ['Reserved', 'unknown', 'unknown'], '50': ['Amount in Atmosphere', 'mol', 'AIA'], '51': ['Concentration In Air', 'mol m-3', 'CONAIR'], '52': ['Volume Mixing Ratio (Fraction in Air)', 'mol mol-1', 'VMXR'], '53': ['Chemical Gross Production Rate of Concentration', 'mol m-3s-1', 'CGPRC'], '54': ['Chemical Gross Destruction Rate of Concentration', 'mol m-3s-1', 'CGDRC'], '55': ['Surface Flux', 'mol m-2s-1', 'SFLUX'], '56': ['Changes Of Amount in Atmosphere', 'mol s-1', 'COAIA'], '57': ['Total Yearly Average Burden of The Atmosphere>', 'mol', 'TYABA'], '58': ['Total Yearly Average Atmospheric Loss', 'mol s-1', 'TYAAL'], '59': ['Aerosol Number Concentration', 'm-3', 'ANCON'], '60': ['Aerosol Specific Number Concentration', 'kg-1', 'ASNCON'], '61': ['Maximum of Mass Density', 'kg m-3', 'MXMASSD'], '62': ['Height of Mass Density', 'm', 'HGTMD'], '63': ['Column-Averaged Mass Density in Layer', 'kg m-3', 'CAVEMDL'], '64': ['Mole fraction with respect to dry air', 'mol mol-1', 'MOLRDRYA'], '65': ['Mole fraction with respect to wet air', 'mol mol-1', 'MOLRWETA'], '66': ['Column-integrated in-cloud scavenging rate by precipitation', 'kg m-2 s-1', 'CINCLDSP'], '67': ['Column-integrated below-cloud scavenging rate by precipitation', 'kg m-2 s-1', 'CBLCLDSP'], '68': ['Column-integrated release rate from evaporating precipitation', 'kg m-2 s-1', 'CIRELREP'], '69': ['Column-integrated in-cloud scavenging rate by large-scale precipitation', 'kg m-2 s-1', 'CINCSLSP'], '70': ['Column-integrated below-cloud scavenging rate by large-scale precipitation', 'kg m-2 s-1', 'CBECSLSP'], '71': ['Column-integrated release rate from evaporating large-scale precipitation', 'kg m-2 s-1', 'CRERELSP'], '72': ['Column-integrated in-cloud scavenging rate by convective precipitation', 'kg m-2 s-1', 'CINCSRCP'], '73': ['Column-integrated below-cloud scavenging rate by convective precipitation', 'kg m-2 s-1', 'CBLCSRCP'], '74': ['Column-integrated release rate from evaporating convective precipitation', 'kg m-2 s-1', 'CIRERECP'], '75': ['Wildfire flux', 'kg m-2 s-1', 'WFIREFLX'], '76': ['Emission Rate', 'kg kg-1 s-1', 'EMISFLX'], '77': ['Surface Emission flux', 'kg m-2 s-1', 'SFCEFLX'], '78': ['Column integrated eastward mass flux', 'kg m-2 s-1', 'CEMF'], '79': ['Column integrated northward mass flux', 'kg m-2 s-1', 'CNMF'], '80': ['Column integrated divergence of mass flux', 'kg m-2 s-1', 'CDIVMF'], '81': ['Column integrated net source', 'kg m-2 s-1', 'CDNETS'], '82-99': ['Reserved', 'unknown', 'unknown'], '100': ['Surface Area Density (Aerosol)', 'm-1', 'SADEN'], '101': ['Vertical Visual Range', 'm', 'ATMTK'], '102': ['Aerosol Optical Thickness', 'Numeric', 'AOTK'], '103': ['Single Scattering Albedo', 'Numeric', 'SSALBK'], '104': ['Asymmetry Factor', 'Numeric', 'ASYSFK'], '105': ['Aerosol Extinction Coefficient', 'm-1', 'AECOEF'], '106': ['Aerosol Absorption Coefficient', 'm-1', 'AACOEF'], '107': ['Aerosol Lidar Backscatter from Satellite', 'm-1sr-1', 'ALBSAT'], '108': ['Aerosol Lidar Backscatter from the Ground', 'm-1sr-1', 'ALBGRD'], '109': ['Aerosol Lidar Extinction from Satellite', 'm-1', 'ALESAT'], '110': ['Aerosol Lidar Extinction from the Ground', 'm-1', 'ALEGRD'], '111': ['Angstrom Exponent', 'Numeric', 'ANGSTEXP'], '112': ['Scattering Aerosol Optical Thickness', 'Numeric', 'SCTAOTK'], '113-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_190", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_190", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Arbitrary Text String', 'CCITTIA5', 'ATEXT'], '1-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_191", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_191", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Seconds prior to initial reference time (defined in Section 1)', 's', 'TSEC'], '1': ['Geographical Latitude', '\u00b0 N', 'GEOLAT'], '2': ['Geographical Longitude', '\u00b0 E', 'GEOLON'], '3': ['Days Since Last Observation', 'd', 'DSLOBS'], '4': ['Tropical cyclone density track', 'Numeric', 'TCDTRACK'], '5-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Latitude (-90 to 90)', '\u00b0', 'NLAT'], '193': ['East Longitude (0 to 360)', '\u00b0', 'ELON'], '194': ['Seconds prior to initial reference time', 's', 'RTSEC'], '195': ['Model Layer number (From bottom up)', 'unknown', 'MLYNO'], '196': ['Latitude (nearest neighbor) (-90 to 90)', '\u00b0', 'NLATN'], '197': ['East Longitude (nearest neighbor) (0 to 360)', '\u00b0', 'ELONN'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_192", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_192", "kind": "variable", "doc": "

\n", "default_value": "{'1': ['Covariance between zonal and meridional components of the wind. Defined as [uv]-[u][v], where "[]" indicates the mean over the indicated time span.', 'm2/s2', 'COVMZ'], '2': ['Covariance between zonal component of the wind and temperature. Defined as [uT]-[u][T], where "[]" indicates the mean over the indicated time span.', 'K*m/s', 'COVTZ'], '3': ['Covariance between meridional component of the wind and temperature. Defined as [vT]-[v][T], where "[]" indicates the mean over the indicated time span.', 'K*m/s', 'COVTM'], '4': ['Covariance between temperature and vertical component of the wind. Defined as [wT]-[w][T], where "[]" indicates the mean over the indicated time span.', 'K*m/s', 'COVTW'], '5': ['Covariance between zonal and zonal components of the wind. Defined as [uu]-[u][u], where "[]" indicates the mean over the indicated time span.', 'm2/s2', 'COVZZ'], '6': ['Covariance between meridional and meridional components of the wind. Defined as [vv]-[v][v], where "[]" indicates the mean over the indicated time span.', 'm2/s2', 'COVMM'], '7': ['Covariance between specific humidity and zonal components of the wind. Defined as [uq]-[u][q], where "[]" indicates the mean over the indicated time span.', 'kg/kg*m/s', 'COVQZ'], '8': ['Covariance between specific humidity and meridional components of the wind. Defined as [vq]-[v][q], where "[]" indicates the mean over the indicated time span.', 'kg/kg*m/s', 'COVQM'], '9': ['Covariance between temperature and vertical components of the wind. Defined as [\u03a9T]-[\u03a9][T], where "[]" indicates the mean over the indicated time span.', 'K*Pa/s', 'COVTVV'], '10': ['Covariance between specific humidity and vertical components of the wind. Defined as [\u03a9q]-[\u03a9][q], where "[]" indicates the mean over the indicated time span.', 'kg/kg*Pa/s', 'COVQVV'], '11': ['Covariance between surface pressure and surface pressure. Defined as [Psfc]-[Psfc][Psfc], where "[]" indicates the mean over the indicated time span.', 'Pa*Pa', 'COVPSPS'], '12': ['Covariance between specific humidity and specific humidy. Defined as [qq]-[q][q], where "[]" indicates the mean over the indicated time span.', 'kg/kg*kg/kg', 'COVQQ'], '13': ['Covariance between vertical and vertical components of the wind. Defined as [\u03a9\u03a9]-[\u03a9][\u03a9], where "[]" indicates the mean over the indicated time span.', 'Pa2/s2', 'COVVVVV'], '14': ['Covariance between temperature and temperature. Defined as [TT]-[T][T], where "[]" indicates the mean over the indicated time span.', 'K*K', 'COVTT'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_0_ndfd", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_0_ndfd", "kind": "variable", "doc": "

\n", "default_value": "{'193': ['Apparent Temperature', 'K', 'APPT']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_1_ndfd", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_1_ndfd", "kind": "variable", "doc": "

\n", "default_value": "{'192': ['Weather Information', 'WxInfo', 'WX']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_19_ndfd", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_19_ndfd", "kind": "variable", "doc": "

\n", "default_value": "{'194': ['Convective Hazard Outlook', 'categorical', 'CONVOUTLOOK'], '197': ['Probability of Tornado', '%', 'PTORNADO'], '198': ['Probability of Hail', '%', 'PHAIL'], '199': ['Probability of Damaging Wind', '%', 'PWIND'], '200': ['Probability of Extreme Tornado', '%', 'PXTRMTORN'], '201': ['Probability of Extreme Hail', '%', 'PXTRMHAIL'], '202': ['Probability of Extreme Wind', '%', 'PXTRMWIND'], '215': ['Total Probability of Severe Thunderstorms', '%', 'TOTALSVRPROB'], '216': ['Total Probability of Extreme Severe Thunderstorms', '%', 'TOTALXTRMPROB'], '217': ['Watch Warning Advisory', 'WxInfo', 'WWA']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_192_ndfd", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_192_ndfd", "kind": "variable", "doc": "

\n", "default_value": "{'192': ['Critical Fire Weather', '', 'FIREWX'], '194': ['Dry Lightning', '', 'DRYLIGHTNING']}"}, {"fullname": "grib2io.tables.section4_discipline1", "modulename": "grib2io.tables.section4_discipline1", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section4_discipline1.table_4_2_1_0", "modulename": "grib2io.tables.section4_discipline1", "qualname": "table_4_2_1_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Flash Flood Guidance (Encoded as an accumulation over a floating subinterval of time between the reference time and valid time)', 'kg m-2', 'FFLDG'], '1': ['Flash Flood Runoff (Encoded as an accumulation over a floating subinterval of time)', 'kg m-2', 'FFLDRO'], '2': ['Remotely Sensed Snow Cover', 'See Table 4.215', 'RSSC'], '3': ['Elevation of Snow Covered Terrain', 'See Table 4.216', 'ESCT'], '4': ['Snow Water Equivalent Percent of Normal', '%', 'SWEPON'], '5': ['Baseflow-Groundwater Runoff', 'kg m-2', 'BGRUN'], '6': ['Storm Surface Runoff', 'kg m-2', 'SSRUN'], '7': ['Discharge from Rivers or Streams', 'm3 s-1', 'DISRS'], '8': ['Group Water Upper Storage', 'kg m-2', 'GWUPS'], '9': ['Group Water Lower Storage', 'kg m-2', 'GWLOWS'], '10': ['Side Flow into River Channel', 'm3 s-1 m-1', 'SFLORC'], '11': ['River Storage of Water', 'm3', 'RVERSW'], '12': ['Flood Plain Storage of Water', 'm3', 'FLDPSW'], '13': ['Depth of Water on Soil Surface', 'kg m-2', 'DEPWSS'], '14': ['Upstream Accumulated Precipitation', 'kg m-2', 'UPAPCP'], '15': ['Upstream Accumulated Snow Melt', 'kg m-2', 'UPASM'], '16': ['Percolation Rate', 'kg m-2 s-1', 'PERRATE'], '17-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Baseflow-Groundwater Runoff', 'kg m-2', 'BGRUN'], '193': ['Storm Surface Runoff', 'kg m-2', 'SSRUN'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline1.table_4_2_1_1", "modulename": "grib2io.tables.section4_discipline1", "qualname": "table_4_2_1_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Conditional percent precipitation amount fractile for an overall period (encoded as an accumulation)', 'kg m-2', 'CPPOP'], '1': ['Percent Precipitation in a sub-period of an overall period (encoded as a percent accumulation over the sub-period)', '%', 'PPOSP'], '2': ['Probability of 0.01 inch of precipitation (POP)', '%', 'POP'], '3-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Probability of Freezing Precipitation', '%', 'CPOZP'], '193': ['Percent of Frozen Precipitation', '%', 'CPOFP'], '194': ['Probability of precipitation exceeding flash flood guidance values', '%', 'PPFFG'], '195': ['Probability of Wetting Rain, exceeding in 0.10" in a given time period', '%', 'CWR'], '196': ['Binary Probability of precipitation exceeding average recurrence intervals (ARI)', 'see Code table 4.222', 'QPFARI'], '197': ['Binary Probability of precipitation exceeding flash flood guidance values', 'see Code table 4.222', 'QPFFFG'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline1.table_4_2_1_2", "modulename": "grib2io.tables.section4_discipline1", "qualname": "table_4_2_1_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Water Depth', 'm', 'WDPTHIL'], '1': ['Water Temperature', 'K', 'WTMPIL'], '2': ['Water Fraction', 'Proportion', 'WFRACT'], '3': ['Sediment Thickness', 'm', 'SEDTK'], '4': ['Sediment Temperature', 'K', 'SEDTMP'], '5': ['Ice Thickness', 'm', 'ICTKIL'], '6': ['Ice Temperature', 'K', 'ICETIL'], '7': ['Ice Cover', 'Proportion', 'ICECIL'], '8': ['Land Cover (0=water, 1=land)', 'Proportion', 'LANDIL'], '9': ['Shape Factor with Respect to Salinity Profile', 'unknown', 'SFSAL'], '10': ['Shape Factor with Respect to Temperature Profile in Thermocline', 'unknown', 'SFTMP'], '11': ['Attenuation Coefficient of Water with Respect to Solar Radiation', 'm-1', 'ACWSR'], '12': ['Salinity', 'kg kg-1', 'SALTIL'], '13': ['Cross Sectional Area of Flow in Channel', 'm2', 'CSAFC'], '14': ['Snow temperature', 'K', 'LNDSNOWT'], '15': ['Lake depth', 'm', 'LDEPTH'], '16': ['River depth', 'm', 'RDEPTH'], '17-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline10", "modulename": "grib2io.tables.section4_discipline10", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section4_discipline10.table_4_2_10_0", "modulename": "grib2io.tables.section4_discipline10", "qualname": "table_4_2_10_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Wave Spectra (1)', '-', 'WVSP1'], '1': ['Wave Spectra (2)', '-', 'WVSP2'], '2': ['Wave Spectra (3)', '-', 'WVSP3'], '3': ['Significant Height of Combined Wind Waves and Swell', 'm', 'HTSGW'], '4': ['Direction of Wind Waves', 'degree true', 'WVDIR'], '5': ['Significant Height of Wind Waves', 'm', 'WVHGT'], '6': ['Mean Period of Wind Waves', 's', 'WVPER'], '7': ['Direction of Swell Waves', 'degree true', 'SWDIR'], '8': ['Significant Height of Swell Waves', 'm', 'SWELL'], '9': ['Mean Period of Swell Waves', 's', 'SWPER'], '10': ['Primary Wave Direction', 'degree true', 'DIRPW'], '11': ['Primary Wave Mean Period', 's', 'PERPW'], '12': ['Secondary Wave Direction', 'degree true', 'DIRSW'], '13': ['Secondary Wave Mean Period', 's', 'PERSW'], '14': ['Direction of Combined Wind Waves and Swell', 'degree true', 'WWSDIR'], '15': ['Mean Period of Combined Wind Waves and Swell', 's', 'MWSPER'], '16': ['Coefficient of Drag With Waves', '-', 'CDWW'], '17': ['Friction Velocity', 'm s-1', 'FRICVW'], '18': ['Wave Stress', 'N m-2', 'WSTR'], '19': ['Normalised Waves Stress', '-', 'NWSTR'], '20': ['Mean Square Slope of Waves', '-', 'MSSW'], '21': ['U-component Surface Stokes Drift', 'm s-1', 'USSD'], '22': ['V-component Surface Stokes Drift', 'm s-1', 'VSSD'], '23': ['Period of Maximum Individual Wave Height', 's', 'PMAXWH'], '24': ['Maximum Individual Wave Height', 'm', 'MAXWH'], '25': ['Inverse Mean Wave Frequency', 's', 'IMWF'], '26': ['Inverse Mean Frequency of The Wind Waves', 's', 'IMFWW'], '27': ['Inverse Mean Frequency of The Total Swell', 's', 'IMFTSW'], '28': ['Mean Zero-Crossing Wave Period', 's', 'MZWPER'], '29': ['Mean Zero-Crossing Period of The Wind Waves', 's', 'MZPWW'], '30': ['Mean Zero-Crossing Period of The Total Swell', 's', 'MZPTSW'], '31': ['Wave Directional Width', '-', 'WDIRW'], '32': ['Directional Width of The Wind Waves', '-', 'DIRWWW'], '33': ['Directional Width of The Total Swell', '-', 'DIRWTS'], '34': ['Peak Wave Period', 's', 'PWPER'], '35': ['Peak Period of The Wind Waves', 's', 'PPERWW'], '36': ['Peak Period of The Total Swell', 's', 'PPERTS'], '37': ['Altimeter Wave Height', 'm', 'ALTWH'], '38': ['Altimeter Corrected Wave Height', 'm', 'ALCWH'], '39': ['Altimeter Range Relative Correction', '-', 'ALRRC'], '40': ['10 Metre Neutral Wind Speed Over Waves', 'm s-1', 'MNWSOW'], '41': ['10 Metre Wind Direction Over Waves', 'degree true', 'MWDIRW'], '42': ['Wave Engery Spectrum', 'm-2 s rad-1', 'WESP'], '43': ['Kurtosis of The Sea Surface Elevation Due to Waves', '-', 'KSSEW'], '44': ['Benjamin-Feir Index', '-', 'BENINX'], '45': ['Spectral Peakedness Factor', 's-1', 'SPFTR'], '46': ['Peak wave direction', '&deg', 'PWAVEDIR'], '47': ['Significant wave height of first swell partition', 'm', 'SWHFSWEL'], '48': ['Significant wave height of second swell partition', 'm', 'SWHSSWEL'], '49': ['Significant wave height of third swell partition', 'm', 'SWHTSWEL'], '50': ['Mean wave period of first swell partition', 's', 'MWPFSWEL'], '51': ['Mean wave period of second swell partition', 's', 'MWPSSWEL'], '52': ['Mean wave period of third swell partition', 's', 'MWPTSWEL'], '53': ['Mean wave direction of first swell partition', '&deg', 'MWDFSWEL'], '54': ['Mean wave direction of second swell partition', '&deg', 'MWDSSWEL'], '55': ['Mean wave direction of third swell partition', '&deg', 'MWDTSWEL'], '56': ['Wave directional width of first swell partition', '-', 'WDWFSWEL'], '57': ['Wave directional width of second swell partition', '-', 'WDWSSWEL'], '58': ['Wave directional width of third swell partition', '-', 'WDWTSWEL'], '59': ['Wave frequency width of first swell partition', '-', 'WFWFSWEL'], '60': ['Wave frequency width of second swell partition', '-', 'WFWSSWEL'], '61': ['Wave frequency width of third swell partition', '-', 'WFWTSWEL'], '62': ['Wave frequency width', '-', 'WAVEFREW'], '63': ['Frequency width of wind waves', '-', 'FREWWW'], '64': ['Frequency width of total swell', '-', 'FREWTSW'], '65': ['Peak Wave Period of First Swell Partition', 's', 'PWPFSPAR'], '66': ['Peak Wave Period of Second Swell Partition', 's', 'PWPSSPAR'], '67': ['Peak Wave Period of Third Swell Partition', 's', 'PWPTSPAR'], '68': ['Peak Wave Direction of First Swell Partition', 'degree true', 'PWDFSPAR'], '69': ['Peak Wave Direction of Second Swell Partition', 'degree true', 'PWDSSPAR'], '70': ['Peak Wave Direction of Third Swell Partition', 'degree true', 'PWDTSPAR'], '71': ['Peak Direction of Wind Waves', 'degree true', 'PDWWAVE'], '72': ['Peak Direction of Total Swell', 'degree true', 'PDTSWELL'], '73': ['Whitecap Fraction', 'fraction', 'WCAPFRAC'], '74': ['Mean Direction of Total Swell', 'degree', 'MDTSWEL'], '75': ['Mean Direction of Wind Waves', 'degree', 'MDWWAVE'], '76': ['Charnock', 'Numeric', 'CHNCK'], '77': ['Wave Spectral Skewness', 'Numeric', 'WAVESPSK'], '78': ['Wave Energy Flux Magnitude', 'W m-1', 'WAVEFMAG'], '79': ['Wave Energy Flux Mean Direction', 'degree true', 'WAVEFDIR'], '80': ['Raio of Wave Angular and Frequency width', 'Numeric', 'RWAVEAFW'], '81': ['Free Convective Velocity over the Oceans', 'm s-1', 'FCVOCEAN'], '82': ['Air Density over the Oceans', 'kg m-3', 'AIRDENOC'], '83': ['Normalized Energy Flux into Waves', 'Numeric', 'NEFW'], '84': ['Normalized Stress into Ocean', 'Numeric', 'NSOCEAN'], '85': ['Normalized Energy Flux into Ocean', 'Numeric', 'NEFOCEAN'], '86': ['Surface Elevation Variance due to Waves (over all frequencies and directions)', 'm2 s rad-1', 'SEVWAVE'], '87': ['Wave Induced Mean Se Level Correction', 'm', 'WAVEMSLC'], '88': ['Spectral Width Index', 'Numeric', 'SPECWI'], '89': ['Number of Events in Freak Wave Statistics', 'Numeric', 'EFWS'], '90': ['U-Component of Surface Momentum Flux into Ocean', 'N m-2', 'USMFO'], '91': ['U-Component of Surface Momentum Flux into Ocean', 'N m-2', 'VSMFO'], '92': ['Wave Turbulent Energy Flux into Ocean', 'W m-2', 'WAVETEFO'], '93': ['Envelop maximum individual wave height', 'm', 'EMIWAVE'], '94': ['Time domain maximum individual crest height', 'm', 'TDMCREST'], '95': ['Time domain maximum individual wave height', 'm', 'TDMWAVE'], '96': ['Space time maximum individual crest height', 'm', 'STMCREST'], '97': ['Space time maximum individual wave height', 'm', 'STMWAVE'], '98-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Wave Steepness', 'proportion', 'WSTP'], '193': ['Wave Length', 'unknown', 'WLENG'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline10.table_4_2_10_1", "modulename": "grib2io.tables.section4_discipline10", "qualname": "table_4_2_10_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Current Direction', 'degree True', 'DIRC'], '1': ['Current Speed', 'm s-1', 'SPC'], '2': ['U-Component of Current', 'm s-1', 'UOGRD'], '3': ['V-Component of Current', 'm s-1', 'VOGRD'], '4': ['Rip Current Occurrence Probability', '%', 'RIPCOP'], '5': ['Eastward Current', 'm s-1', 'EASTCUR'], '6': ['Northward Current', 'm s-1', 'NRTHCUR'], '7-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Ocean Mixed Layer U Velocity', 'm s-1', 'OMLU'], '193': ['Ocean Mixed Layer V Velocity', 'm s-1', 'OMLV'], '194': ['Barotropic U velocity', 'm s-1', 'UBARO'], '195': ['Barotropic V velocity', 'm s-1', 'VBARO'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline10.table_4_2_10_2", "modulename": "grib2io.tables.section4_discipline10", "qualname": "table_4_2_10_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Ice Cover', 'Proportion', 'ICEC'], '1': ['Ice Thickness', 'm', 'ICETK'], '2': ['Direction of Ice Drift', 'degree True', 'DICED'], '3': ['Speed of Ice Drift', 'm s-1', 'SICED'], '4': ['U-Component of Ice Drift', 'm s-1', 'UICE'], '5': ['V-Component of Ice Drift', 'm s-1', 'VICE'], '6': ['Ice Growth Rate', 'm s-1', 'ICEG'], '7': ['Ice Divergence', 's-1', 'ICED'], '8': ['Ice Temperature', 'K', 'ICETMP'], '9': ['Module of Ice Internal Pressure', 'Pa m', 'ICEPRS'], '10': ['Zonal Vector Component of Vertically Integrated Ice Internal Pressure', 'Pa m', 'ZVCICEP'], '11': ['Meridional Vector Component of Vertically Integrated Ice Internal Pressure', 'Pa m', 'MVCICEP'], '12': ['Compressive Ice Strength', 'N m-1', 'CICES'], '13': ['Snow Temperature (over sea ice)', 'K', 'SNOWTSI'], '14': ['Albedo', 'Numeric', 'ALBDOICE'], '15': ['Sea Ice Volume per Unit Area', 'm3m-2', 'SICEVOL'], '16': ['Snow Volume Over Sea Ice per Unit Area', 'm3m-2', 'SNVOLSI'], '17': ['Sea Ice Heat Content', 'J m-2', 'SICEHC'], '18': ['Snow over Sea Ice Heat Content', 'J m-2', 'SNCEHC'], '19': ['Ice Freeboard Thickness', 'm', 'ICEFTHCK'], '20': ['Ice Melt Pond Fraction', 'fraction', 'ICEMPF'], '21': ['Ice Melt Pond Depth', 'm', 'ICEMPD'], '22': ['Ice Melt Pond Volume per Unit Area', 'm3m-2', 'ICEMPV'], '23': ['Sea Ice Fraction Tendency due to Parameterization', 's-1', 'SIFTP'], '24': ['x-component of ice drift', 'm s-1', 'XICE'], '25': ['y-component of ice drift', 'm s-1', 'YICE'], '26': ['Reserved', 'unknown', 'unknown'], '27': ['Freezing/melting potential (Tentatively accepted)', 'W m-2', 'FRZMLTPOT'], '28': ['Melt onset date (Tentatively accepted)', 'Numeric', 'MLTDATE'], '29': ['Freeze onset date (Tentatively accepted)', 'Numeric', 'FRZDATE'], '30-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline10.table_4_2_10_3", "modulename": "grib2io.tables.section4_discipline10", "qualname": "table_4_2_10_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Water Temperature', 'K', 'WTMP'], '1': ['Deviation of Sea Level from Mean', 'm', 'DSLM'], '2': ['Heat Exchange Coefficient', 'unknown', 'CH'], '3': ['Practical Salinity', 'Numeric', 'PRACTSAL'], '4': ['Downward Heat Flux', 'W m-2', 'DWHFLUX'], '5': ['Eastward Surface Stress', 'N m-2', 'EASTWSS'], '6': ['Northward surface stress', 'N m-2', 'NORTHWSS'], '7': ['x-component Surface Stress', 'N m-2', 'XCOMPSS'], '8': ['y-component Surface Stress', 'N m-2', 'YCOMPSS'], '9': ['Thermosteric Change in Sea Surface Height', 'm', 'THERCSSH'], '10': ['Halosteric Change in Sea Surface Height', 'm', 'HALOCSSH'], '11': ['Steric Change in Sea Surface Height', 'm', 'STERCSSH'], '12': ['Sea Salt Flux', 'kg m-2s-1', 'SEASFLUX'], '13': ['Net upward water flux', 'kg m-2s-1', 'NETUPWFLUX'], '14': ['Eastward surface water velocity', 'm s-1', 'ESURFWVEL'], '15': ['Northward surface water velocity', 'm s-1', 'NSURFWVEL'], '16': ['x-component of surface water velocity', 'm s-1', 'XSURFWVEL'], '17': ['y-component of surface water velocity', 'm s-1', 'YSURFWVEL'], '18': ['Heat flux correction', 'W m-2', 'HFLUXCOR'], '19': ['Sea surface height tendency due to parameterization', 'm s-1', 'SSHGTPARM'], '20': ['Deviation of sea level from mean with inverse barometer correction', 'm', 'DSLIBARCOR'], '21': ['Salinity', 'kg kg-1', 'SALIN'], '22-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Hurricane Storm Surge', 'm', 'SURGE'], '193': ['Extra Tropical Storm Surge', 'm', 'ETSRG'], '194': ['Ocean Surface Elevation Relative to Geoid', 'm', 'ELEV'], '195': ['Sea Surface Height Relative to Geoid', 'm', 'SSHG'], '196': ['Ocean Mixed Layer Potential Density (Reference 2000m)', 'kg m-3', 'P2OMLT'], '197': ['Net Air-Ocean Heat Flux', 'W m-2', 'AOHFLX'], '198': ['Assimilative Heat Flux', 'W m-2', 'ASHFL'], '199': ['Surface Temperature Trend', 'degree per day', 'SSTT'], '200': ['Surface Salinity Trend', 'psu per day', 'SSST'], '201': ['Kinetic Energy', 'J kg-1', 'KENG'], '202': ['Salt Flux', 'kg m-2s-1', 'SLTFL'], '203': ['Heat Exchange Coefficient', 'unknown', 'LCH'], '204': ['Freezing Spray', 'unknown', 'FRZSPR'], '205': ['Total Water Level Accounting for Tide, Wind and Waves', 'm', 'TWLWAV'], '206': ['Total Water Level Increase due to Waves', 'm', 'RUNUP'], '207': ['Mean Increase in Water Level due to Waves', 'm', 'SETUP'], '208': ['Time-varying Increase in Water Level due to Waves', 'm', 'SWASH'], '209': ['Total Water Level Above Dune Toe', 'm', 'TWLDT'], '210': ['Total Water Level Above Dune Crest', 'm', 'TWLDC'], '211-241': ['Reserved', 'unknown', 'unknown'], '242': ['20% Tropical Cyclone Storm Surge Exceedance', 'm', 'TCSRG20'], '243': ['30% Tropical Cyclone Storm Surge Exceedance', 'm', 'TCSRG30'], '244': ['40% Tropical Cyclone Storm Surge Exceedance', 'm', 'TCSRG40'], '245': ['50% Tropical Cyclone Storm Surge Exceedance', 'm', 'TCSRG50'], '246': ['60% Tropical Cyclone Storm Surge Exceedance', 'm', 'TCSRG60'], '247': ['70% Tropical Cyclone Storm Surge Exceedance', 'm', 'TCSRG70'], '248': ['80% Tropical Cyclone Storm Surge Exceedance', 'm', 'TCSRG80'], '249': ['90% Tropical Cyclone Storm Surge Exceedance', 'm', 'TCSRG90'], '250': ['Extra Tropical Storm Surge Combined Surge and Tide', 'm', 'ETCWL'], '251': ['Tide', 'm', 'TIDE'], '252': ['Erosion Occurrence Probability', '%', 'EROSNP'], '253': ['Overwash Occurrence Probability', '%', 'OWASHP'], '254': ['Reserved', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline10.table_4_2_10_4", "modulename": "grib2io.tables.section4_discipline10", "qualname": "table_4_2_10_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Main Thermocline Depth', 'm', 'MTHD'], '1': ['Main Thermocline Anomaly', 'm', 'MTHA'], '2': ['Transient Thermocline Depth', 'm', 'TTHDP'], '3': ['Salinity', 'kg kg-1', 'SALTY'], '4': ['Ocean Vertical Heat Diffusivity', 'm2 s-1', 'OVHD'], '5': ['Ocean Vertical Salt Diffusivity', 'm2 s-1', 'OVSD'], '6': ['Ocean Vertical Momentum Diffusivity', 'm2 s-1', 'OVMD'], '7': ['Bathymetry', 'm', 'BATHY'], '8-10': ['Reserved', 'unknown', 'unknown'], '11': ['Shape Factor With Respect To Salinity Profile', 'unknown', 'SFSALP'], '12': ['Shape Factor With Respect To Temperature Profile In Thermocline', 'unknown', 'SFTMPP'], '13': ['Attenuation Coefficient Of Water With Respect to Solar Radiation', 'm-1', 'ACWSRD'], '14': ['Water Depth', 'm', 'WDEPTH'], '15': ['Water Temperature', 'K', 'WTMPSS'], '16': ['Water Density (rho)', 'kg m-3', 'WATERDEN'], '17': ['Water Density Anomaly (sigma)', 'kg m-3', 'WATDENA'], '18': ['Water potential temperature (theta)', 'K', 'WATPTEMP'], '19': ['Water potential density (rho theta)', 'kg m-3', 'WATPDEN'], '20': ['Water potential density anomaly (sigma theta)', 'kg m-3', 'WATPDENA'], '21': ['Practical Salinity', 'psu (numeric)', 'PRTSAL'], '22': ['Water Column-integrated Heat Content', 'J m-2', 'WCHEATC'], '23': ['Eastward Water Velocity', 'm s-1', 'EASTWVEL'], '24': ['Northward Water Velocity', 'm s-1', 'NRTHWVEL'], '25': ['X-Component Water Velocity', 'm s-1', 'XCOMPWV'], '26': ['Y-Component Water Velocity', 'm s-1', 'YCOMPWV'], '27': ['Upward Water Velocity', 'm s-1', 'UPWWVEL'], '28': ['Vertical Eddy Diffusivity', 'm2 s-1', 'VEDDYDIF'], '29': ['Bottom Pressure Equivalent Height', 'm', 'BPEH'], '30': ['Fresh Water Flux into Sea Water from Rivers', 'kg m-2s-1', 'FWFSW'], '31': ['Fresh Water Flux Correction', 'kg m-2s-1', 'FWFC'], '32': ['Virtual Salt Flux into Sea Water', 'g kg-1 m-2s-1', 'VSFSW'], '33': ['Virtual Salt Flux Correction', 'g kg -1 m-2s-1', 'VSFC'], '34': ['Sea Water Temperature Tendency due to Newtonian Relaxation', 'K s-1', 'SWTTNR'], '35': ['Sea Water Salinity Tendency due to Newtonian Relaxation', 'g kg -1s-1', 'SWSTNR'], '36': ['Sea Water Temperature Tendency due to Parameterization', 'K s-1', 'SWTTP'], '37': ['Sea Water Salinity Tendency due to Parameterization', 'g kg -1s-1', 'SWSTP'], '38': ['Eastward Sea Water Velocity Tendency Due To Parameterization', 'm s-2', 'ESWVP'], '39': ['Northward Sea Water Velocity Tendency Due To Parameterization', 'm s-2', 'NSWVP'], '40': ['Sea Water Temperature Tendency Due to Direct Bias Correction', 'K s-1', 'SWTTBC'], '41': ['Sea Water Salinity Tendency due to Direct Bias Correction', 'g kg -1s-1', 'SWSTBC'], '42': ['Sea water meridional volume transport', 'm 3 m -2 s -1', 'SEAMVT'], '43': ['Sea water zonal volume transport', 'm 3 m -2 s -1', 'SEAZVT'], '44': ['Sea water column integrated meridional volume transport', 'm 3 m -2 s -1', 'SEACMVT'], '45': ['Sea water column integrated zonal volume transport', 'm 3 m -2 s -1', 'SEACZVT'], '46': ['Sea water meridional mass transport', 'kg m -2 s -1', 'SEAMMT'], '47': ['Sea water zonal mass transport', 'kg m -2 s -1', 'SEAZMT'], '48': ['Sea water column integrated meridional mass transport', 'kg m -2 s -1', 'SEACMMT'], '49': ['Sea water column integrated zonal mass transport', 'kg m -2 s -1', 'SEACZMT'], '50': ['Sea water column integrated practical salinity', 'g kg-1 m', 'SEACPSALT'], '51': ['Sea water column integrated salinity', 'kg kg-1 m', 'SEACSALT'], '52-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['3-D Temperature', '\u00b0 c', 'WTMPC'], '193': ['3-D Salinity', 'psu', 'SALIN'], '194': ['Barotropic Kinectic Energy', 'J kg-1', 'BKENG'], '195': ['Geometric Depth Below Sea Surface', 'm', 'DBSS'], '196': ['Interface Depths', 'm', 'INTFD'], '197': ['Ocean Heat Content', 'J m-2', 'OHC'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline10.table_4_2_10_191", "modulename": "grib2io.tables.section4_discipline10", "qualname": "table_4_2_10_191", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Seconds Prior To Initial Reference Time (Defined In Section 1)', 's', 'IRTSEC'], '1': ['Meridional Overturning Stream Function', 'm3 s-1', 'MOSF'], '2': ['Reserved', 'unknown', 'unknown'], '3': ['Days Since Last Observation', 'd', 'DSLOBSO'], '4': ['Barotropic Stream Function', 'm3 s-1', 'BARDSF'], '5-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline2", "modulename": "grib2io.tables.section4_discipline2", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section4_discipline2.table_4_2_2_0", "modulename": "grib2io.tables.section4_discipline2", "qualname": "table_4_2_2_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Land Cover (0=sea, 1=land)', 'Proportion', 'LAND'], '1': ['Surface Roughness', 'm', 'SFCR'], '2': ['Soil Temperature (Parameter Deprecated, see Note 3)', 'K', 'TSOIL'], '3': ['Soil Moisture Content (Parameter Deprecated, see Note 1)', 'unknown', 'unknown'], '4': ['Vegetation', '%', 'VEG'], '5': ['Water Runoff', 'kg m-2', 'WATR'], '6': ['Evapotranspiration', 'kg-2 s-1', 'EVAPT'], '7': ['Model Terrain Height', 'm', 'MTERH'], '8': ['Land Use', 'See Table 4.212', 'LANDU'], '9': ['Volumetric Soil Moisture Content', 'Proportion', 'SOILW'], '10': ['Ground Heat Flux', 'W m-2', 'GFLUX'], '11': ['Moisture Availability', '%', 'MSTAV'], '12': ['Exchange Coefficient', 'kg m-2 s-1', 'SFEXC'], '13': ['Plant Canopy Surface Water', 'kg m-2', 'CNWAT'], '14': ['Blackadars Mixing Length Scale', 'm', 'BMIXL'], '15': ['Canopy Conductance', 'm s-1', 'CCOND'], '16': ['Minimal Stomatal Resistance', 's m-1', 'RSMIN'], '17': ['Wilting Point (Parameter Deprecated, see Note 1)', 'Proportion', 'WILT'], '18': ['Solar parameter in canopy conductance', 'Proportion', 'RCS'], '19': ['Temperature parameter in canopy', 'Proportion', 'RCT'], '20': ['Humidity parameter in canopy conductance', 'Proportion', 'RCQ'], '21': ['Soil moisture parameter in canopy conductance', 'Proportion', 'RCSOL'], '22': ['Soil Moisture (Parameter Deprecated, See Note 3)', 'unknown', 'unknown'], '23': ['Column-Integrated Soil Water (Parameter Deprecated, See Note 3)', 'kg m-2', 'CISOILW'], '24': ['Heat Flux', 'W m-2', 'HFLUX'], '25': ['Volumetric Soil Moisture', 'm3 m-3', 'VSOILM'], '26': ['Wilting Point', 'kg m-3', 'WILT'], '27': ['Volumetric Wilting Point', 'm3 m-3', 'VWILTP'], '28': ['Leaf Area Index', 'Numeric', 'LEAINX'], '29': ['Evergreen Forest Cover', 'Proportion', 'EVGFC'], '30': ['Deciduous Forest Cover', 'Proportion', 'DECFC'], '31': ['Normalized Differential Vegetation Index (NDVI)', 'Numeric', 'NDVINX'], '32': ['Root Depth of Vegetation', 'm', 'RDVEG'], '33': ['Water Runoff and Drainage', 'kg m-2', 'WROD'], '34': ['Surface Water Runoff', 'kg m-2', 'SFCWRO'], '35': ['Tile Class', 'See Table 4.243', 'TCLASS'], '36': ['Tile Fraction', 'Proportion', 'TFRCT'], '37': ['Tile Percentage', '%', 'TPERCT'], '38': ['Soil Volumetric Ice Content (Water Equivalent)', 'm3 m-3', 'SOILVIC'], '39': ['Evapotranspiration Rate', 'kg m-2 s-1', 'EVAPTRAT'], '40': ['Potential Evapotranspiration Rate', 'kg m-2 s-1', 'PEVAPTRAT'], '41': ['Snow Melt Rate', 'kg m-2 s-1', 'SMRATE'], '42': ['Water Runoff and Drainage Rate', 'kg m-2 s-1', 'WRDRATE'], '43': ['Drainage direction', 'See Table 4.250', 'DRAINDIR'], '44': ['Upstream Area', 'm2', 'UPSAREA'], '45': ['Wetland Cover', 'Proportion', 'WETCOV'], '46': ['Wetland Type', 'See Table 4.239', 'WETTYPE'], '47': ['Irrigation Cover', 'Proportion', 'IRRCOV'], '48': ['C4 Crop Cover', 'Proportion', 'CROPCOV'], '49': ['C4 Grass Cover', 'Proportion', 'GRASSCOV'], '50': ['Skin Resovoir Content', 'kg m-2', 'SKINRC'], '51': ['Surface Runoff Rate', 'kg m-2 s-1', 'SURFRATE'], '52': ['Subsurface Runoff Rate', 'kg m-2 s-1', 'SUBSRATE'], '53': ['Low-Vegetation Cover', 'Proportion', 'LOVEGCOV'], '54': ['High-Vegetation Cover', 'Proportion', 'HIVEGCOV'], '55': ['Leaf Area Index (Low-Vegetation)', 'm2 m-2', 'LAILO'], '56': ['Leaf Area Index (High-Vegetation)', 'm2 m-2', 'LAIHI'], '57': ['Type of Low-Vegetation', 'See Table 4.234', 'TYPLOVEG'], '58': ['Type of High-Vegetation', 'See Table 4.234', 'TYPHIVEG'], '59': ['Net Ecosystem Exchange Flux', 'kg-2 s-1', 'NECOFLUX'], '60': ['Gross Primary Production Flux', 'kg-2 s-1', 'GROSSFLUX'], '61': ['Ecosystem Respiration Flux', 'kg-2 s-1', 'ECORFLUX'], '62': ['Emissivity', 'Proportion', 'EMISS'], '63': ['Canopy air temperature', 'K', 'CANTMP'], '64-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Volumetric Soil Moisture Content', 'Fraction', 'SOILW'], '193': ['Ground Heat Flux', 'W m-2', 'GFLUX'], '194': ['Moisture Availability', '%', 'MSTAV'], '195': ['Exchange Coefficient', '(kg m-3) (m s-1)', 'SFEXC'], '196': ['Plant Canopy Surface Water', 'kg m-2', 'CNWAT'], '197': ['Blackadar\u2019s Mixing Length Scale', 'm', 'BMIXL'], '198': ['Vegetation Type', 'Integer (0-13)', 'VGTYP'], '199': ['Canopy Conductance', 'm s-1', 'CCOND'], '200': ['Minimal Stomatal Resistance', 's m-1', 'RSMIN'], '201': ['Wilting Point', 'Fraction', 'WILT'], '202': ['Solar parameter in canopy conductance', 'Fraction', 'RCS'], '203': ['Temperature parameter in canopy conductance', 'Fraction', 'RCT'], '204': ['Humidity parameter in canopy conductance', 'Fraction', 'RCQ'], '205': ['Soil moisture parameter in canopy conductance', 'Fraction', 'RCSOL'], '206': ['Rate of water dropping from canopy to ground', 'unknown', 'RDRIP'], '207': ['Ice-free water surface', '%', 'ICWAT'], '208': ['Surface exchange coefficients for T and Q divided by delta z', 'm s-1', 'AKHS'], '209': ['Surface exchange coefficients for U and V divided by delta z', 'm s-1', 'AKMS'], '210': ['Vegetation canopy temperature', 'K', 'VEGT'], '211': ['Surface water storage', 'kg m-2', 'SSTOR'], '212': ['Liquid soil moisture content (non-frozen)', 'kg m-2', 'LSOIL'], '213': ['Open water evaporation (standing water)', 'W m-2', 'EWATR'], '214': ['Groundwater recharge', 'kg m-2', 'GWREC'], '215': ['Flood plain recharge', 'kg m-2', 'QREC'], '216': ['Roughness length for heat', 'm', 'SFCRH'], '217': ['Normalized Difference Vegetation Index', 'unknown', 'NDVI'], '218': ['Land-sea coverage (nearest neighbor) [land=1,sea=0]', 'unknown', 'LANDN'], '219': ['Asymptotic mixing length scale', 'm', 'AMIXL'], '220': ['Water vapor added by precip assimilation', 'kg m-2', 'WVINC'], '221': ['Water condensate added by precip assimilation', 'kg m-2', 'WCINC'], '222': ['Water Vapor Flux Convergance (Vertical Int)', 'kg m-2', 'WVCONV'], '223': ['Water Condensate Flux Convergance (Vertical Int)', 'kg m-2', 'WCCONV'], '224': ['Water Vapor Zonal Flux (Vertical Int)', 'kg m-2', 'WVUFLX'], '225': ['Water Vapor Meridional Flux (Vertical Int)', 'kg m-2', 'WVVFLX'], '226': ['Water Condensate Zonal Flux (Vertical Int)', 'kg m-2', 'WCUFLX'], '227': ['Water Condensate Meridional Flux (Vertical Int)', 'kg m-2', 'WCVFLX'], '228': ['Aerodynamic conductance', 'm s-1', 'ACOND'], '229': ['Canopy water evaporation', 'W m-2', 'EVCW'], '230': ['Transpiration', 'W m-2', 'TRANS'], '231': ['Seasonally Minimum Green Vegetation Fraction (over 1-year period)', '%', 'VEGMIN'], '232': ['Seasonally Maximum Green Vegetation Fraction (over 1-year period)', '%', 'VEGMAX'], '233': ['Land Fraction', 'Fraction', 'LANDFRC'], '234': ['Lake Fraction', 'Fraction', 'LAKEFRC'], '235': ['Precipitation Advected Heat Flux', 'W m-2', 'PAHFLX'], '236': ['Water Storage in Aquifer', 'kg m-2', 'WATERSA'], '237': ['Evaporation of Intercepted Water', 'kg m-2', 'EIWATER'], '238': ['Plant Transpiration', 'kg m-2', 'PLANTTR'], '239': ['Soil Surface Evaporation', 'kg m-2', 'SOILSE'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline2.table_4_2_2_1", "modulename": "grib2io.tables.section4_discipline2", "qualname": "table_4_2_2_1", "kind": "variable", "doc": "

\n", "default_value": "{'0-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Cold Advisory for Newborn Livestock', 'unknown', 'CANL'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline2.table_4_2_2_3", "modulename": "grib2io.tables.section4_discipline2", "qualname": "table_4_2_2_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Soil Type', 'See Table 4.213', 'SOTYP'], '1': ['Upper Layer Soil Temperature', 'K', 'UPLST'], '2': ['Upper Layer Soil Moisture', 'kg m-3', 'UPLSM'], '3': ['Lower Layer Soil Moisture', 'kg m-3', 'LOWLSM'], '4': ['Bottom Layer Soil Temperature', 'K', 'BOTLST'], '5': ['Liquid Volumetric Soil Moisture(non-frozen)', 'Proportion', 'SOILL'], '6': ['Number of Soil Layers in Root Zone', 'Numeric', 'RLYRS'], '7': ['Transpiration Stress-onset (soil moisture)', 'Proportion', 'SMREF'], '8': ['Direct Evaporation Cease (soil moisture)', 'Proportion', 'SMDRY'], '9': ['Soil Porosity', 'Proportion', 'POROS'], '10': ['Liquid Volumetric Soil Moisture (Non-Frozen)', 'm3 m-3', 'LIQVSM'], '11': ['Volumetric Transpiration Stree-Onset(Soil Moisture)', 'm3 m-3', 'VOLTSO'], '12': ['Transpiration Stree-Onset(Soil Moisture)', 'kg m-3', 'TRANSO'], '13': ['Volumetric Direct Evaporation Cease(Soil Moisture)', 'm3 m-3', 'VOLDEC'], '14': ['Direct Evaporation Cease(Soil Moisture)', 'kg m-3', 'DIREC'], '15': ['Soil Porosity', 'm3 m-3', 'SOILP'], '16': ['Volumetric Saturation Of Soil Moisture', 'm3 m-3', 'VSOSM'], '17': ['Saturation Of Soil Moisture', 'kg m-3', 'SATOSM'], '18': ['Soil Temperature', 'K', 'SOILTMP'], '19': ['Soil Moisture', 'kg m-3', 'SOILMOI'], '20': ['Column-Integrated Soil Moisture', 'kg m-2', 'CISOILM'], '21': ['Soil Ice', 'kg m-3', 'SOILICE'], '22': ['Column-Integrated Soil Ice', 'kg m-2', 'CISICE'], '23': ['Liquid Water in Snow Pack', 'kg m-2', 'LWSNWP'], '24': ['Frost Index', 'kg day-1', 'FRSTINX'], '25': ['Snow Depth at Elevation Bands', 'kg m-2', 'SNWDEB'], '26': ['Soil Heat Flux', 'W m-2', 'SHFLX'], '27': ['Soil Depth', 'm', 'SOILDEP'], '28': ['Snow Temperature', 'K', 'SNOWTMP'], '29': ['Ice Temperature', 'K', 'ICETEMP'], '30': ['Soil wetness index', 'Numeric', 'SWET'], '31-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Liquid Volumetric Soil Moisture (non Frozen)', 'Proportion', 'SOILL'], '193': ['Number of Soil Layers in Root Zone', 'non-dim', 'RLYRS'], '194': ['Surface Slope Type', 'Index', 'SLTYP'], '195': ['Transpiration Stress-onset (soil moisture)', 'Proportion', 'SMREF'], '196': ['Direct Evaporation Cease (soil moisture)', 'Proportion', 'SMDRY'], '197': ['Soil Porosity', 'Proportion', 'POROS'], '198': ['Direct Evaporation from Bare Soil', 'W m-2', 'EVBS'], '199': ['Land Surface Precipitation Accumulation', 'kg m-2', 'LSPA'], '200': ['Bare Soil Surface Skin temperature', 'K', 'BARET'], '201': ['Average Surface Skin Temperature', 'K', 'AVSFT'], '202': ['Effective Radiative Skin Temperature', 'K', 'RADT'], '203': ['Field Capacity', 'Fraction', 'FLDCP'], '204': ['Soil Moisture Availability In The Top Soil Layer', '%', 'MSTAV'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline2.table_4_2_2_4", "modulename": "grib2io.tables.section4_discipline2", "qualname": "table_4_2_2_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Fire Outlook', 'See Table 4.224', 'FIREOLK'], '1': ['Fire Outlook Due to Dry Thunderstorm', 'See Table 4.224', 'FIREODT'], '2': ['Haines Index', 'Numeric', 'HINDEX'], '3': ['Fire Burned Area', '%', 'FBAREA'], '4': ['Fosberg Index', 'Numeric', 'FOSINDX'], '5': ['Fire Weath Index (Canadian Forest Service)', 'Numeric', 'FWINX'], '6': ['Fine Fuel Moisture Code (Canadian Forest Service)', 'Numeric', 'FFMCODE'], '7': ['Duff Moisture Code (Canadian Forest Service)', 'Numeric', 'DUFMCODE'], '8': ['Drought Code (Canadian Forest Service)', 'Numeric', 'DRTCODE'], '9': ['Initial Fire Spread Index (Canadian Forest Service)', 'Numeric', 'INFSINX'], '10': ['Fire Build Up Index (Canadian Forest Service)', 'Numeric', 'FBUPINX'], '11': ['Fire Daily Severity Rating (Canadian Forest Service)', 'Numeric', 'FDSRTE'], '12': ['Keetch-Byram Drought Index', 'Numeric', 'KRIDX'], '13': ['Drought Factor (as defined by the Australian forest service)', 'Numeric', 'DRFACT'], '14': ['Rate of Spread (as defined by the Australian forest service)', 'm s-1', 'RATESPRD'], '15': ['Fire Danger index (as defined by the Australian forest service)', 'Numeric', 'FIREDIDX'], '16': ['Spread component (as defined by the US Forest Service National Fire Danger Rating System)', 'Numeric', 'SPRDCOMP'], '17': ['Burning Index (as defined by the Australian forest service)', 'Numeric', 'BURNIDX'], '18': ['Ignition Component (as defined by the Australian forest service)', '%', 'IGNCOMP'], '19': ['Energy Release Component (as defined by the Australian forest service)', 'J m-2', 'ENRELCOM'], '20': ['Burning Area', '%', 'BURNAREA'], '21': ['Burnable Area', '%', 'BURNABAREA'], '22': ['Unburnable Area', '%', 'UNBURNAREA'], '23': ['Fuel Load', 'kg m-2', 'FUELLOAD'], '24': ['Combustion Completeness', '%', 'COMBCO'], '25': ['Fuel Moisture Content', 'kg kg-1', 'FUELMC'], '26': ['Wildfire Potential (as defined by NOAA Global Systems Laboratory)', 'Numeric', 'WFIREPOT'], '27': ['Live leaf fuel load', 'kg m-2', 'LLFL'], '28': ['Live wood fuel load', 'kg m-2', 'LWFL'], '29': ['Dead leaf fuel load', 'kg m-2', 'DLFL'], '30': ['Dead wood fuel load', 'kg m-2', 'DWFL'], '31': ['Live fuel moisture content', 'kg kg-1', 'LFMC'], '32': ['Fine dead leaf moisture content', 'kg kg-1', 'FDLMC'], '33': ['Dense dead leaf moisture content', 'kg kg-1', 'DDLMC'], '34': ['Fine dead wood moisture content', 'kg kg-1', 'FDWMC'], '35': ['Dense dead wood moisture content', 'kg kg-1', 'DDWMC'], '36': ['Fire radiative power\\t(Tentatively accpeted)', 'W', 'FRADPOW'], '37-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline2.table_4_2_2_5", "modulename": "grib2io.tables.section4_discipline2", "qualname": "table_4_2_2_5", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Glacier Cover', 'Proportion', 'GLACCOV'], '1': ['Glacier Temperature', 'K', 'GLACTMP'], '2-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline20", "modulename": "grib2io.tables.section4_discipline20", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section4_discipline20.table_4_2_20_0", "modulename": "grib2io.tables.section4_discipline20", "qualname": "table_4_2_20_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Universal Thermal Climate Index', 'K', 'UTHCIDX'], '1': ['Mean Radiant Temperature', 'K', 'MEANRTMP'], '2': ['Wet-bulb Globe Temperature (see Note)', 'K', 'WETBGTMP'], '3': ['Globe Temperature (see Note)', 'K', 'GLOBETMP'], '4': ['Humidex', 'K', 'HUMIDX'], '5': ['Effective Temperature', 'K', 'EFFTEMP'], '6': ['Normal Effective Temperature', 'K', 'NOREFTMP'], '7': ['Standard Effective Temperature', 'K', 'STDEFTMP'], '8': ['Physiological Equivalent Temperature', 'K', 'PEQUTMP'], '9-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline20.table_4_2_20_1", "modulename": "grib2io.tables.section4_discipline20", "qualname": "table_4_2_20_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Malaria Cases', 'Fraction', 'MALACASE'], '1': ['Malaria Circumsporozoite Protein Rate', 'Fraction', 'MACPRATE'], '2': ['Plasmodium Falciparum Entomological Inoculation Rate', 'Bites per day per person', 'PFEIRATE'], '3': ['Human Bite Rate by Anopheles Vectors', 'Bites per day per person', 'HBRATEAV'], '4': ['Malaria Immunity', 'Fraction', 'MALAIMM'], '5': ['Falciparum Parasite Rates', 'Fraction', 'FALPRATE'], '6': ['Detectable Falciparum Parasite Ratio (after day 10)', 'Fraction', 'DFPRATIO'], '7': ['Anopheles Vector to Host Ratio', 'Fraction', 'AVHRATIO'], '8': ['Anopheles Vector Number', 'Number m-2', 'AVECTNUM'], '9': ['Fraction of Malarial Vector Reproductive Habitat', 'Fraction', 'FMALVRH'], '10-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline20.table_4_2_20_2", "modulename": "grib2io.tables.section4_discipline20", "qualname": "table_4_2_20_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Population Density', 'Person m-2', 'POPDEN'], '1-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline3", "modulename": "grib2io.tables.section4_discipline3", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section4_discipline3.table_4_2_3_0", "modulename": "grib2io.tables.section4_discipline3", "qualname": "table_4_2_3_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Scaled Radiance', 'Numeric', 'SRAD'], '1': ['Scaled Albedo', 'Numeric', 'SALBEDO'], '2': ['Scaled Brightness Temperature', 'Numeric', 'SBTMP'], '3': ['Scaled Precipitable Water', 'Numeric', 'SPWAT'], '4': ['Scaled Lifted Index', 'Numeric', 'SLFTI'], '5': ['Scaled Cloud Top Pressure', 'Numeric', 'SCTPRES'], '6': ['Scaled Skin Temperature', 'Numeric', 'SSTMP'], '7': ['Cloud Mask', 'See Table 4.217', 'CLOUDM'], '8': ['Pixel scene type', 'See Table 4.218', 'PIXST'], '9': ['Fire Detection Indicator', 'See Table 4.223', 'FIREDI'], '10-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline3.table_4_2_3_1", "modulename": "grib2io.tables.section4_discipline3", "qualname": "table_4_2_3_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Estimated Precipitation', 'kg m-2', 'ESTP'], '1': ['Instantaneous Rain Rate', 'kg m-2 s-1', 'IRRATE'], '2': ['Cloud Top Height', 'm', 'CTOPH'], '3': ['Cloud Top Height Quality Indicator', 'Code table 4.219', 'CTOPHQI'], '4': ['Estimated u-Component of Wind', 'm s-1', 'ESTUGRD'], '5': ['Estimated v-Component of Wind', 'm s-1', 'ESTVGRD'], '6': ['Number Of Pixels Used', 'Numeric', 'NPIXU'], '7': ['Solar Zenith Angle', '\u00b0', 'SOLZA'], '8': ['Relative Azimuth Angle', '\u00b0', 'RAZA'], '9': ['Reflectance in 0.6 Micron Channel', '%', 'RFL06'], '10': ['Reflectance in 0.8 Micron Channel', '%', 'RFL08'], '11': ['Reflectance in 1.6 Micron Channel', '%', 'RFL16'], '12': ['Reflectance in 3.9 Micron Channel', '%', 'RFL39'], '13': ['Atmospheric Divergence', 's-1', 'ATMDIV'], '14': ['Cloudy Brightness Temperature', 'K', 'CBTMP'], '15': ['Clear Sky Brightness Temperature', 'K', 'CSBTMP'], '16': ['Cloudy Radiance (with respect to wave number)', 'W m-1 sr-1', 'CLDRAD'], '17': ['Clear Sky Radiance (with respect to wave number)', 'W m-1 sr-1', 'CSKYRAD'], '18': ['Reserved', 'unknown', 'unknown'], '19': ['Wind Speed', 'm s-1', 'WINDS'], '20': ['Aerosol Optical Thickness at 0.635 \u00b5m', 'unknown', 'AOT06'], '21': ['Aerosol Optical Thickness at 0.810 \u00b5m', 'unknown', 'AOT08'], '22': ['Aerosol Optical Thickness at 1.640 \u00b5m', 'unknown', 'AOT16'], '23': ['Angstrom Coefficient', 'unknown', 'ANGCOE'], '24-26': ['Reserved', 'unknown', 'unknown'], '27': ['Bidirectional Reflecance Factor', 'Numeric', 'BRFLF'], '28': ['Brightness Temperature', 'K', 'SPBRT'], '29': ['Scaled Radiance', 'Numeric', 'SCRAD'], '30': ['Reflectance in 0.4 Micron Channel', '%', 'RFL04'], '31': ['Cloudy reflectance', '%', 'CLDREF'], '32': ['Clear reflectance', '%', 'CLRREF'], '33-97': ['Reserved', 'unknown', 'unknown'], '98': ['Correlation coefficient between MPE rain rates for the co-located IR data and the microwave data rain rates', 'Numeric', 'CCMPEMRR'], '99': ['Standard deviation between MPE rain rates for the co-located IR data and the microwave data rain rates', 'Numeric', 'SDMPEMRR'], '100-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Scatterometer Estimated U Wind Component', 'm s-1', 'USCT'], '193': ['Scatterometer Estimated V Wind Component', 'm s-1', 'VSCT'], '194': ['Scatterometer Wind Quality', 'unknown', 'SWQI'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline3.table_4_2_3_2", "modulename": "grib2io.tables.section4_discipline3", "qualname": "table_4_2_3_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Clear Sky Probability', '%', 'CSKPROB'], '1': ['Cloud Top Temperature', 'K', 'CTOPTMP'], '2': ['Cloud Top Pressure', 'Pa', 'CTOPRES'], '3': ['Cloud Type', 'See Table 4.218', 'CLDTYPE'], '4': ['Cloud Phase', 'See Table 4.218', 'CLDPHAS'], '5': ['Cloud Optical Depth', 'Numeric', 'CLDODEP'], '6': ['Cloud Particle Effective Radius', 'm', 'CLDPER'], '7': ['Cloud Liquid Water Path', 'kg m-2', 'CLDLWP'], '8': ['Cloud Ice Water Path', 'kg m-2', 'CLDIWP'], '9': ['Cloud Albedo', 'Numeric', 'CLDALB'], '10': ['Cloud Emissivity', 'Numeric', 'CLDEMISS'], '11': ['Effective Absorption Optical Depth Ratio', 'Numeric', 'EAODR'], '12-29': ['Reserved', 'unknown', 'unknown'], '30': ['Measurement cost', 'Numeric', 'MEACST'], '41-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline3.table_4_2_3_3", "modulename": "grib2io.tables.section4_discipline3", "qualname": "table_4_2_3_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Probability of Encountering Marginal Visual Flight Rules Conditions', '%', 'PBMVFRC'], '1': ['Probability of Encountering Low Instrument Flight Rules Conditions', '%', 'PBLIFRC'], '2': ['Probability of Encountering Instrument Flight Rules Conditions', '%', 'PBINFRC'], '3-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline3.table_4_2_3_4", "modulename": "grib2io.tables.section4_discipline3", "qualname": "table_4_2_3_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Volcanic Ash Probability', '%', 'VOLAPROB'], '1': ['Volcanic Ash Cloud Top Temperature', 'K', 'VOLACDTT'], '2': ['Volcanic Ash Cloud Top Pressure', 'Pa', 'VOLACDTP'], '3': ['Volcanic Ash Cloud Top Height', 'm', 'VOLACDTH'], '4': ['Volcanic Ash Cloud Emissity', 'Numeric', 'VOLACDEM'], '5': ['Volcanic Ash Effective Absorption Depth Ratio', 'Numeric', 'VOLAEADR'], '6': ['Volcanic Ash Cloud Optical Depth', 'Numeric', 'VOLACDOD'], '7': ['Volcanic Ash Column Density', 'kg m-2', 'VOLACDEN'], '8': ['Volcanic Ash Particle Effective Radius', 'm', 'VOLAPER'], '9-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline3.table_4_2_3_5", "modulename": "grib2io.tables.section4_discipline3", "qualname": "table_4_2_3_5", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Interface Sea-Surface Temperature', 'K', 'ISSTMP'], '1': ['Skin Sea-Surface Temperature', 'K', 'SKSSTMP'], '2': ['Sub-Skin Sea-Surface Temperature', 'K', 'SSKSSTMP'], '3': ['Foundation Sea-Surface Temperature', 'K', 'FDNSSTMP'], '4': ['Estimated bias between Sea-Surface Temperature and Standard', 'K', 'EBSSTSTD'], '5': ['Estimated bias Standard Deviation between Sea-Surface Temperature and Standard', 'K', 'EBSDSSTS'], '6-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline3.table_4_2_3_6", "modulename": "grib2io.tables.section4_discipline3", "qualname": "table_4_2_3_6", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Global Solar Irradiance', 'W m-2', 'GSOLIRR'], '1': ['Global Solar Exposure', 'J m-2', 'GSOLEXP'], '2': ['Direct Solar Irradiance', 'W m-2', 'DIRSOLIR'], '3': ['Direct Solar Exposure', 'J m-2', 'DIRSOLEX'], '4': ['Diffuse Solar Irradiance', 'W m-2', 'DIFSOLIR'], '5': ['Diffuse Solar Exposure', 'J m-2', 'DIFSOLEX'], '6-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline3.table_4_2_3_192", "modulename": "grib2io.tables.section4_discipline3", "qualname": "table_4_2_3_192", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Simulated Brightness Temperature for GOES 12, Channel 2', 'K', 'SBT122'], '1': ['Simulated Brightness Temperature for GOES 12, Channel 3', 'K', 'SBT123'], '2': ['Simulated Brightness Temperature for GOES 12, Channel 4', 'K', 'SBT124'], '3': ['Simulated Brightness Temperature for GOES 12, Channel 6', 'K', 'SBT126'], '4': ['Simulated Brightness Counts for GOES 12, Channel 3', 'Byte', 'SBC123'], '5': ['Simulated Brightness Counts for GOES 12, Channel 4', 'Byte', 'SBC124'], '6': ['Simulated Brightness Temperature for GOES 11, Channel 2', 'K', 'SBT112'], '7': ['Simulated Brightness Temperature for GOES 11, Channel 3', 'K', 'SBT113'], '8': ['Simulated Brightness Temperature for GOES 11, Channel 4', 'K', 'SBT114'], '9': ['Simulated Brightness Temperature for GOES 11, Channel 5', 'K', 'SBT115'], '10': ['Simulated Brightness Temperature for AMSRE on Aqua, Channel 9', 'K', 'AMSRE9'], '11': ['Simulated Brightness Temperature for AMSRE on Aqua, Channel 10', 'K', 'AMSRE10'], '12': ['Simulated Brightness Temperature for AMSRE on Aqua, Channel 11', 'K', 'AMSRE11'], '13': ['Simulated Brightness Temperature for AMSRE on Aqua, Channel 12', 'K', 'AMSRE12'], '14': ['Simulated Reflectance Factor for ABI GOES-16, Band-1', 'unknown', 'SRFA161'], '15': ['Simulated Reflectance Factor for ABI GOES-16, Band-2', 'unknown', 'SRFA162'], '16': ['Simulated Reflectance Factor for ABI GOES-16, Band-3', 'unknown', 'SRFA163'], '17': ['Simulated Reflectance Factor for ABI GOES-16, Band-4', 'unknown', 'SRFA164'], '18': ['Simulated Reflectance Factor for ABI GOES-16, Band-5', 'unknown', 'SRFA165'], '19': ['Simulated Reflectance Factor for ABI GOES-16, Band-6', 'unknown', 'SRFA166'], '20': ['Simulated Brightness Temperature for ABI GOES-16, Band-7', 'K', 'SBTA167'], '21': ['Simulated Brightness Temperature for ABI GOES-16, Band-8', 'K', 'SBTA168'], '22': ['Simulated Brightness Temperature for ABI GOES-16, Band-9', 'K', 'SBTA169'], '23': ['Simulated Brightness Temperature for ABI GOES-16, Band-10', 'K', 'SBTA1610'], '24': ['Simulated Brightness Temperature for ABI GOES-16, Band-11', 'K', 'SBTA1611'], '25': ['Simulated Brightness Temperature for ABI GOES-16, Band-12', 'K', 'SBTA1612'], '26': ['Simulated Brightness Temperature for ABI GOES-16, Band-13', 'K', 'SBTA1613'], '27': ['Simulated Brightness Temperature for ABI GOES-16, Band-14', 'K', 'SBTA1614'], '28': ['Simulated Brightness Temperature for ABI GOES-16, Band-15', 'K', 'SBTA1615'], '29': ['Simulated Brightness Temperature for ABI GOES-16, Band-16', 'K', 'SBTA1616'], '30': ['Simulated Reflectance Factor for ABI GOES-17, Band-1', 'unknown', 'SRFA171'], '31': ['Simulated Reflectance Factor for ABI GOES-17, Band-2', 'unknown', 'SRFA172'], '32': ['Simulated Reflectance Factor for ABI GOES-17, Band-3', 'unknown', 'SRFA173'], '33': ['Simulated Reflectance Factor for ABI GOES-17, Band-4', 'unknown', 'SRFA174'], '34': ['Simulated Reflectance Factor for ABI GOES-17, Band-5', 'unknown', 'SRFA175'], '35': ['Simulated Reflectance Factor for ABI GOES-17, Band-6', 'unknown', 'SRFA176'], '36': ['Simulated Brightness Temperature for ABI GOES-17, Band-7', 'K', 'SBTA177'], '37': ['Simulated Brightness Temperature for ABI GOES-17, Band-8', 'K', 'SBTA178'], '38': ['Simulated Brightness Temperature for ABI GOES-17, Band-9', 'K', 'SBTA179'], '39': ['Simulated Brightness Temperature for ABI GOES-17, Band-10', 'K', 'SBTA1710'], '40': ['Simulated Brightness Temperature for ABI GOES-17, Band-11', 'K', 'SBTA1711'], '41': ['Simulated Brightness Temperature for ABI GOES-17, Band-12', 'K', 'SBTA1712'], '42': ['Simulated Brightness Temperature for ABI GOES-17, Band-13', 'K', 'SBTA1713'], '43': ['Simulated Brightness Temperature for ABI GOES-17, Band-14', 'K', 'SBTA1714'], '44': ['Simulated Brightness Temperature for ABI GOES-17, Band-15', 'K', 'SBTA1715'], '45': ['Simulated Brightness Temperature for ABI GOES-17, Band-16', 'K', 'SBTA1716'], '46': ['Simulated Reflectance Factor for nadir ABI GOES-R, Band-1', 'unknown', 'SRFAGR1'], '47': ['Simulated Reflectance Factor for nadir ABI GOES-R, Band-2', 'unknown', 'SRFAGR2'], '48': ['Simulated Reflectance Factor for nadir ABI GOES-R, Band-3', 'unknown', 'SRFAGR3'], '49': ['Simulated Reflectance Factor for nadir ABI GOES-R, Band-4', 'unknown', 'SRFAGR4'], '50': ['Simulated Reflectance Factor for nadir ABI GOES-R, Band-5', 'unknown', 'SRFAGR5'], '51': ['Simulated Reflectance Factor for nadir ABI GOES-R, Band-6', 'unknown', 'SRFAGR6'], '52': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-7', 'unknown', 'SBTAGR7'], '53': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-8', 'unknown', 'SBTAGR8'], '54': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-9', 'unknown', 'SBTAGR9'], '55': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-10', 'unknown', 'SBTAGR10'], '56': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-11', 'unknown', 'SBTAGR11'], '57': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-12', 'unknown', 'SBTAGR12'], '58': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-13', 'unknown', 'SBTAGR13'], '59': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-14', 'unknown', 'SBTAGR14'], '60': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-15', 'unknown', 'SBTAGR15'], '61': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-16', 'unknown', 'SBTAGR16'], '62': ['Simulated Brightness Temperature for SSMIS-F17, Channel 15', 'K', 'SSMS1715'], '63': ['Simulated Brightness Temperature for SSMIS-F17, Channel 16', 'K', 'SSMS1716'], '64': ['Simulated Brightness Temperature for SSMIS-F17, Channel 17', 'K', 'SSMS1717'], '65': ['Simulated Brightness Temperature for SSMIS-F17, Channel 18', 'K', 'SSMS1718'], '66': ['Simulated Brightness Temperature for Himawari-8, Band-7', 'K', 'SBTAHI7'], '67': ['Simulated Brightness Temperature for Himawari-8, Band-8', 'K', 'SBTAHI8'], '68': ['Simulated Brightness Temperature for Himawari-8, Band-9', 'K', 'SBTAHI9'], '69': ['Simulated Brightness Temperature for Himawari-8, Band-10', 'K', 'SBTAHI10'], '70': ['Simulated Brightness Temperature for Himawari-8, Band-11', 'K', 'SBTAHI11'], '71': ['Simulated Brightness Temperature for Himawari-8, Band-12', 'K', 'SBTAHI12'], '72': ['Simulated Brightness Temperature for Himawari-8, Band-13', 'K', 'SBTAHI13'], '73': ['Simulated Brightness Temperature for Himawari-8, Band-14', 'K', 'SBTAHI14'], '74': ['Simulated Brightness Temperature for Himawari-8, Band-15', 'K', 'SBTAHI15'], '75': ['Simulated Brightness Temperature for Himawari-8, Band-16', 'K', 'SBTAHI16'], '76': ['Simulated Brightness Temperature for ABI GOES-18, Band-7', 'K', 'SBTA187'], '77': ['Simulated Brightness Temperature for ABI GOES-18, Band-8', 'K', 'SBTA188'], '78': ['Simulated Brightness Temperature for ABI GOES-18, Band-9', 'K', 'SBTA189'], '79': ['Simulated Brightness Temperature for ABI GOES-18, Band-10', 'K', 'SBTA1810'], '80': ['Simulated Brightness Temperature for ABI GOES-18, Band-11', 'K', 'SBTA1811'], '81': ['Simulated Brightness Temperature for ABI GOES-18, Band-12', 'K', 'SBTA1812'], '82': ['Simulated Brightness Temperature for ABI GOES-18, Band-13', 'K', 'SBTA1813'], '83': ['Simulated Brightness Temperature for ABI GOES-18, Band-14', 'K', 'SBTA1814'], '84': ['Simulated Brightness Temperature for ABI GOES-18, Band-15', 'K', 'SBTA1815'], '85': ['Simulated Brightness Temperature for ABI GOES-18, Band-16', 'K', 'SBTA1816'], '86-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4", "modulename": "grib2io.tables.section4_discipline4", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_0", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Temperature', 'K', 'TMPSWP'], '1': ['Electron Temperature', 'K', 'ELECTMP'], '2': ['Proton Temperature', 'K', 'PROTTMP'], '3': ['Ion Temperature', 'K', 'IONTMP'], '4': ['Parallel Temperature', 'K', 'PRATMP'], '5': ['Perpendicular Temperature', 'K', 'PRPTMP'], '6-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_1", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Velocity Magnitude (Speed)', 'm s-1', 'SPEED'], '1': ['1st Vector Component of Velocity (Coordinate system dependent)', 'm s-1', 'VEL1'], '2': ['2nd Vector Component of Velocity (Coordinate system dependent)', 'm s-1', 'VEL2'], '3': ['3rd Vector Component of Velocity (Coordinate system dependent)', 'm s-1', 'VEL3'], '4-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_2", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Particle Number Density', 'm-3', 'PLSMDEN'], '1': ['Electron Density', 'm-3', 'ELCDEN'], '2': ['Proton Density', 'm-3', 'PROTDEN'], '3': ['Ion Density', 'm-3', 'IONDEN'], '4': ['Vertical Total Electron Content', 'TECU', 'VTEC'], '5': ['HF Absorption Frequency', 'Hz', 'ABSFRQ'], '6': ['HF Absorption', 'dB', 'ABSRB'], '7': ['Spread F', 'm', 'SPRDF'], '8': ['hF', 'm', 'HPRIMF'], '9': ['Critical Frequency', 'Hz', 'CRTFRQ'], '10': ['Maximal Usable Frequency (MUF)', 'Hz', 'MAXUFZ'], '11': ['Peak Height (hm)', 'm', 'PEAKH'], '12': ['Peak Density', 'm-3', 'PEAKDEN'], '13': ['Equivalent Slab Thickness (tau)', 'km', 'EQSLABT'], '14-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_3", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Magnetic Field Magnitude', 'T', 'BTOT'], '1': ['1st Vector Component of Magnetic Field', 'T', 'BVEC1'], '2': ['2nd Vector Component of Magnetic Field', 'T', 'BVEC2'], '3': ['3rd Vector Component of Magnetic Field', 'T', 'BVEC3'], '4': ['Electric Field Magnitude', 'V m-1', 'ETOT'], '5': ['1st Vector Component of Electric Field', 'V m-1', 'EVEC1'], '6': ['2nd Vector Component of Electric Field', 'V m-1', 'EVEC2'], '7': ['3rd Vector Component of Electric Field', 'V m-1', 'EVEC3'], '8-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_4", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Proton Flux (Differential)', '(m2 s sr eV)-1', 'DIFPFLUX'], '1': ['Proton Flux (Integral)', '(m2 s sr)-1', 'INTPFLUX'], '2': ['Electron Flux (Differential)', '(m2 s sr eV)-1', 'DIFEFLUX'], '3': ['Electron Flux (Integral)', '(m2 s sr)-1', 'INTEFLUX'], '4': ['Heavy Ion Flux (Differential)', '(m2 s sr eV / nuc)-1', 'DIFIFLUX'], '5': ['Heavy Ion Flux (iIntegral)', '(m2 s sr)-1', 'INTIFLUX'], '6': ['Cosmic Ray Neutron Flux', 'h-1', 'NTRNFLUX'], '7-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_5", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_5", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Amplitude', 'rad', 'AMPL'], '1': ['Phase', 'rad', 'PHASE'], '2': ['Frequency', 'Hz', 'FREQ'], '3': ['Wavelength', 'm', 'WAVELGTH'], '4-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_6", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_6", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Integrated Solar Irradiance', 'W m-2', 'TSI'], '1': ['Solar X-ray Flux (XRS Long)', 'W m-2', 'XLONG'], '2': ['Solar X-ray Flux (XRS Short)', 'W m-2', 'XSHRT'], '3': ['Solar EUV Irradiance', 'W m-2', 'EUVIRR'], '4': ['Solar Spectral Irradiance', 'W m-2 nm-1', 'SPECIRR'], '5': ['F10.7', 'W m-2 Hz-1', 'F107'], '6': ['Solar Radio Emissions', 'W m-2 Hz-1', 'SOLRF'], '7-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_7", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_7", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Limb Intensity', 'J m-2 s-1', 'LMBINT'], '1': ['Disk Intensity', 'J m-2 s-1', 'DSKINT'], '2': ['Disk Intensity Day', 'J m-2 s-1', 'DSKDAY'], '3': ['Disk Intensity Night', 'J m-2 s-1', 'DSKNGT'], '4-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_8", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_8", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['X-Ray Radiance', 'W sr-1 m-2', 'XRAYRAD'], '1': ['EUV Radiance', 'W sr-1 m-2', 'EUVRAD'], '2': ['H-Alpha Radiance', 'W sr-1 m-2', 'HARAD'], '3': ['White Light Radiance', 'W sr-1 m-2', 'WHTRAD'], '4': ['CaII-K Radiance', 'W sr-1 m-2', 'CAIIRAD'], '5': ['White Light Coronagraph Radiance', 'W sr-1 m-2', 'WHTCOR'], '6': ['Heliospheric Radiance', 'W sr-1 m-2', 'HELCOR'], '7': ['Thematic Mask', 'Numeric', 'MASK'], '8': ['Solar Induced Chlorophyll Fluorscence', 'W sr-1 m-2', 'SICFL'], '9-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_9", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_9", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Pedersen Conductivity', 'S m-1', 'SIGPED'], '1': ['Hall Conductivity', 'S m-1', 'SIGHAL'], '2': ['Parallel Conductivity', 'S m-1', 'SIGPAR'], '3-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section5", "modulename": "grib2io.tables.section5", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section5.table_5_0", "modulename": "grib2io.tables.section5", "qualname": "table_5_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Grid Point Data - Simple Packing (see Template 5.0)', '1': 'Matrix Value at Grid Point - Simple Packing (see Template 5.1)', '2': 'Grid Point Data - Complex Packing (see Template 5.2)', '3': 'Grid Point Data - Complex Packing and Spatial Differencing (see Template 5.3)', '4': 'Grid Point Data - IEEE Floating Point Data (see Template 5.4)', '5-39': 'Reserved', '40': 'Grid point data - JPEG 2000 code stream format (see Template 5.40)', '41': 'Grid point data - Portable Network Graphics (PNG) (see Template 5.41)', '42': 'Grid point data - CCSDS recommended lossless compression (see Template 5.42)', '43-49': 'Reserved', '50': 'Spectral Data - Simple Packing (see Template 5.50)', '51': 'Spectral Data - Complex Packing (see Template 5.51)', '52': 'Reserved', '53': 'Spectral data for limited area models - complex packing (see Template 5.53)', '54-60': 'Reserved', '61': 'Grid Point Data - Simple Packing With Logarithm Pre-processing (see Template 5.61)', '62-199': 'Reserved', '200': 'Run Length Packing With Level Values (see Template 5.200)', '201-49151': 'Reserved', '49152-65534': 'Reserved for Local Use', '65535': 'Missing'}"}, {"fullname": "grib2io.tables.section5.table_5_1", "modulename": "grib2io.tables.section5", "qualname": "table_5_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Floating Point', '1': 'Integer', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section5.table_5_2", "modulename": "grib2io.tables.section5", "qualname": "table_5_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Explicit Coordinate Values Set', '1': 'Linear Coordinates f(1) = C1 f(n) = f(n-1) + C2', '2-10': 'Reserved', '11': 'Geometric Coordinates f(1) = C1 f(n) = C2 x f(n-1)', '12-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section5.table_5_3", "modulename": "grib2io.tables.section5", "qualname": "table_5_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Direction Degrees True', '2': 'Frequency (s-1)', '3': 'Radial Number (2pi/lamda) (m-1)', '4-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section5.table_5_4", "modulename": "grib2io.tables.section5", "qualname": "table_5_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Row by Row Splitting', '1': 'General Group Splitting', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section5.table_5_5", "modulename": "grib2io.tables.section5", "qualname": "table_5_5", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No explicit missing values included within the data values', '1': 'Primary missing values included within the data values', '2': 'Primary and secondary missing values included within the data values', '3-191': 'Reserved', '192-254': 'Reserved for Local Use'}"}, {"fullname": "grib2io.tables.section5.table_5_6", "modulename": "grib2io.tables.section5", "qualname": "table_5_6", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'First-Order Spatial Differencing', '2': 'Second-Order Spatial Differencing', '3-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section5.table_5_7", "modulename": "grib2io.tables.section5", "qualname": "table_5_7", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'IEEE 32-bit (I=4 in Section 7)', '2': 'IEEE 64-bit (I=8 in Section 7)', '3': 'IEEE 128-bit (I=16 in Section 7)', '4-254': 'Reserved', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section5.table_5_40", "modulename": "grib2io.tables.section5", "qualname": "table_5_40", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Lossless', '1': 'Lossy', '2-254': 'Reserved', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section6", "modulename": "grib2io.tables.section6", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section6.table_6_0", "modulename": "grib2io.tables.section6", "qualname": "table_6_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'A bit map applies to this product and is specified in this section.', '1-253': 'A bit map pre-determined by the orginating/generating center applies to this product and is not specified in this section.', '254': 'A bit map previously defined in the same GRIB2 message applies to this product.', '255': 'A bit map does not apply to this product.'}"}, {"fullname": "grib2io.templates", "modulename": "grib2io.templates", "kind": "module", "doc": "

GRIB2 section templates classes and metadata descriptor classes

\n"}, {"fullname": "grib2io.templates.Grib2Metadata", "modulename": "grib2io.templates", "qualname": "Grib2Metadata", "kind": "class", "doc": "

Class to hold GRIB2 metadata both as numeric code value as stored in\nGRIB2 and its plain langauge definition.

\n\n

Attributes

\n\n

value : int\n GRIB2 metadata integer code value.

\n\n

table : str, optional\n GRIB2 table to lookup the value. Default is None.

\n\n

definition : str\n Plain language description of numeric metadata.

\n"}, {"fullname": "grib2io.templates.Grib2Metadata.__init__", "modulename": "grib2io.templates", "qualname": "Grib2Metadata.__init__", "kind": "function", "doc": "

\n", "signature": "(value, table=None)"}, {"fullname": "grib2io.templates.Grib2Metadata.value", "modulename": "grib2io.templates", "qualname": "Grib2Metadata.value", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.templates.Grib2Metadata.table", "modulename": "grib2io.templates", "qualname": "Grib2Metadata.table", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.templates.Grib2Metadata.definition", "modulename": "grib2io.templates", "qualname": "Grib2Metadata.definition", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.templates.Grib2Metadata.show_table", "modulename": "grib2io.templates", "qualname": "Grib2Metadata.show_table", "kind": "function", "doc": "

Provide the table related to this metadata.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "grib2io.templates.IndicatorSection", "modulename": "grib2io.templates", "qualname": "IndicatorSection", "kind": "class", "doc": "

GRIB2 Indicator Section (0)

\n"}, {"fullname": "grib2io.templates.Discipline", "modulename": "grib2io.templates", "qualname": "Discipline", "kind": "class", "doc": "

Discipline

\n"}, {"fullname": "grib2io.templates.IdentificationSection", "modulename": "grib2io.templates", "qualname": "IdentificationSection", "kind": "class", "doc": "

GRIB2 Section 1, Identification Section

\n"}, {"fullname": "grib2io.templates.OriginatingCenter", "modulename": "grib2io.templates", "qualname": "OriginatingCenter", "kind": "class", "doc": "

Originating Center

\n"}, {"fullname": "grib2io.templates.OriginatingSubCenter", "modulename": "grib2io.templates", "qualname": "OriginatingSubCenter", "kind": "class", "doc": "

Originating SubCenter

\n"}, {"fullname": "grib2io.templates.MasterTableInfo", "modulename": "grib2io.templates", "qualname": "MasterTableInfo", "kind": "class", "doc": "

GRIB2 Master Table Version

\n"}, {"fullname": "grib2io.templates.LocalTableInfo", "modulename": "grib2io.templates", "qualname": "LocalTableInfo", "kind": "class", "doc": "

GRIB2 Local Tables Version Number

\n"}, {"fullname": "grib2io.templates.SignificanceOfReferenceTime", "modulename": "grib2io.templates", "qualname": "SignificanceOfReferenceTime", "kind": "class", "doc": "

Significance of Reference Time

\n"}, {"fullname": "grib2io.templates.Year", "modulename": "grib2io.templates", "qualname": "Year", "kind": "class", "doc": "

Year of reference time

\n"}, {"fullname": "grib2io.templates.Month", "modulename": "grib2io.templates", "qualname": "Month", "kind": "class", "doc": "

Month of reference time

\n"}, {"fullname": "grib2io.templates.Day", "modulename": "grib2io.templates", "qualname": "Day", "kind": "class", "doc": "

Day of reference time

\n"}, {"fullname": "grib2io.templates.Hour", "modulename": "grib2io.templates", "qualname": "Hour", "kind": "class", "doc": "

Hour of reference time

\n"}, {"fullname": "grib2io.templates.Minute", "modulename": "grib2io.templates", "qualname": "Minute", "kind": "class", "doc": "

Minute of reference time

\n"}, {"fullname": "grib2io.templates.Second", "modulename": "grib2io.templates", "qualname": "Second", "kind": "class", "doc": "

Second of reference time

\n"}, {"fullname": "grib2io.templates.RefDate", "modulename": "grib2io.templates", "qualname": "RefDate", "kind": "class", "doc": "

Reference Date. NOTE: This is a datetime.datetime object.

\n"}, {"fullname": "grib2io.templates.ProductionStatus", "modulename": "grib2io.templates", "qualname": "ProductionStatus", "kind": "class", "doc": "

Production Status of Processed Data

\n"}, {"fullname": "grib2io.templates.TypeOfData", "modulename": "grib2io.templates", "qualname": "TypeOfData", "kind": "class", "doc": "

Type of Processed Data in this GRIB message

\n"}, {"fullname": "grib2io.templates.GridDefinitionSection", "modulename": "grib2io.templates", "qualname": "GridDefinitionSection", "kind": "class", "doc": "

GRIB2 Section 3, Grid Definition Section

\n"}, {"fullname": "grib2io.templates.SourceOfGridDefinition", "modulename": "grib2io.templates", "qualname": "SourceOfGridDefinition", "kind": "class", "doc": "

Source of Grid Definition

\n"}, {"fullname": "grib2io.templates.NumberOfDataPoints", "modulename": "grib2io.templates", "qualname": "NumberOfDataPoints", "kind": "class", "doc": "

Number of Data Points

\n"}, {"fullname": "grib2io.templates.InterpretationOfListOfNumbers", "modulename": "grib2io.templates", "qualname": "InterpretationOfListOfNumbers", "kind": "class", "doc": "

Interpretation of List of Numbers

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplateNumber", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplateNumber", "kind": "class", "doc": "

Grid Definition Template Number

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate", "kind": "class", "doc": "

Grid definition template

\n"}, {"fullname": "grib2io.templates.EarthParams", "modulename": "grib2io.templates", "qualname": "EarthParams", "kind": "class", "doc": "

Metadata about the shape of the Earth

\n"}, {"fullname": "grib2io.templates.DxSign", "modulename": "grib2io.templates", "qualname": "DxSign", "kind": "class", "doc": "

Sign of Grid Length in X-Direction

\n"}, {"fullname": "grib2io.templates.DySign", "modulename": "grib2io.templates", "qualname": "DySign", "kind": "class", "doc": "

Sign of Grid Length in Y-Direction

\n"}, {"fullname": "grib2io.templates.LLScaleFactor", "modulename": "grib2io.templates", "qualname": "LLScaleFactor", "kind": "class", "doc": "

Scale Factor for Lats/Lons

\n"}, {"fullname": "grib2io.templates.LLDivisor", "modulename": "grib2io.templates", "qualname": "LLDivisor", "kind": "class", "doc": "

Divisor Value for scaling Lats/Lons

\n"}, {"fullname": "grib2io.templates.XYDivisor", "modulename": "grib2io.templates", "qualname": "XYDivisor", "kind": "class", "doc": "

Divisor Value for scaling grid lengths

\n"}, {"fullname": "grib2io.templates.ShapeOfEarth", "modulename": "grib2io.templates", "qualname": "ShapeOfEarth", "kind": "class", "doc": "

Shape of the Reference System

\n"}, {"fullname": "grib2io.templates.EarthShape", "modulename": "grib2io.templates", "qualname": "EarthShape", "kind": "class", "doc": "

Description of the shape of the Earth

\n"}, {"fullname": "grib2io.templates.EarthRadius", "modulename": "grib2io.templates", "qualname": "EarthRadius", "kind": "class", "doc": "

Radius of the Earth (Assumes \"spherical\")

\n"}, {"fullname": "grib2io.templates.EarthMajorAxis", "modulename": "grib2io.templates", "qualname": "EarthMajorAxis", "kind": "class", "doc": "

Major Axis of the Earth (Assumes \"oblate spheroid\" or \"ellipsoid\")

\n"}, {"fullname": "grib2io.templates.EarthMinorAxis", "modulename": "grib2io.templates", "qualname": "EarthMinorAxis", "kind": "class", "doc": "

Minor Axis of the Earth (Assumes \"oblate spheroid\" or \"ellipsoid\")

\n"}, {"fullname": "grib2io.templates.Nx", "modulename": "grib2io.templates", "qualname": "Nx", "kind": "class", "doc": "

Number of grid points in the X-direction (generally East-West)

\n"}, {"fullname": "grib2io.templates.Ny", "modulename": "grib2io.templates", "qualname": "Ny", "kind": "class", "doc": "

Number of grid points in the Y-direction (generally North-South)

\n"}, {"fullname": "grib2io.templates.ScanModeFlags", "modulename": "grib2io.templates", "qualname": "ScanModeFlags", "kind": "class", "doc": "

Scanning Mode

\n"}, {"fullname": "grib2io.templates.ResolutionAndComponentFlags", "modulename": "grib2io.templates", "qualname": "ResolutionAndComponentFlags", "kind": "class", "doc": "

Resolution and Component Flags

\n"}, {"fullname": "grib2io.templates.LatitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "LatitudeFirstGridpoint", "kind": "class", "doc": "

Latitude of first gridpoint

\n"}, {"fullname": "grib2io.templates.LongitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "LongitudeFirstGridpoint", "kind": "class", "doc": "

Longitude of first gridpoint

\n"}, {"fullname": "grib2io.templates.LatitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "LatitudeLastGridpoint", "kind": "class", "doc": "

Latitude of last gridpoint

\n"}, {"fullname": "grib2io.templates.LongitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "LongitudeLastGridpoint", "kind": "class", "doc": "

Longitude of last gridpoint

\n"}, {"fullname": "grib2io.templates.LatitudeCenterGridpoint", "modulename": "grib2io.templates", "qualname": "LatitudeCenterGridpoint", "kind": "class", "doc": "

Latitude of center gridpoint

\n"}, {"fullname": "grib2io.templates.LongitudeCenterGridpoint", "modulename": "grib2io.templates", "qualname": "LongitudeCenterGridpoint", "kind": "class", "doc": "

Longitude of center gridpoint

\n"}, {"fullname": "grib2io.templates.GridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridlengthXDirection", "kind": "class", "doc": "

Grid lenth in the X-Direction

\n"}, {"fullname": "grib2io.templates.GridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridlengthYDirection", "kind": "class", "doc": "

Grid lenth in the Y-Direction

\n"}, {"fullname": "grib2io.templates.LatitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "LatitudeSouthernPole", "kind": "class", "doc": "

Latitude of the Southern Pole for a Rotated Lat/Lon Grid

\n"}, {"fullname": "grib2io.templates.LongitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "LongitudeSouthernPole", "kind": "class", "doc": "

Longitude of the Southern Pole for a Rotated Lat/Lon Grid

\n"}, {"fullname": "grib2io.templates.AnglePoleRotation", "modulename": "grib2io.templates", "qualname": "AnglePoleRotation", "kind": "class", "doc": "

Angle of Pole Rotation for a Rotated Lat/Lon Grid

\n"}, {"fullname": "grib2io.templates.LatitudeTrueScale", "modulename": "grib2io.templates", "qualname": "LatitudeTrueScale", "kind": "class", "doc": "

Latitude at which grid lengths are specified

\n"}, {"fullname": "grib2io.templates.GridOrientation", "modulename": "grib2io.templates", "qualname": "GridOrientation", "kind": "class", "doc": "

Longitude at which the grid is oriented

\n"}, {"fullname": "grib2io.templates.ProjectionCenterFlag", "modulename": "grib2io.templates", "qualname": "ProjectionCenterFlag", "kind": "class", "doc": "

Projection Center

\n"}, {"fullname": "grib2io.templates.StandardLatitude1", "modulename": "grib2io.templates", "qualname": "StandardLatitude1", "kind": "class", "doc": "

First Standard Latitude (from the pole at which the secant cone cuts the sphere)

\n"}, {"fullname": "grib2io.templates.StandardLatitude2", "modulename": "grib2io.templates", "qualname": "StandardLatitude2", "kind": "class", "doc": "

Second Standard Latitude (from the pole at which the secant cone cuts the sphere)

\n"}, {"fullname": "grib2io.templates.SpectralFunctionParameters", "modulename": "grib2io.templates", "qualname": "SpectralFunctionParameters", "kind": "class", "doc": "

Spectral Function Parameters

\n"}, {"fullname": "grib2io.templates.ProjParameters", "modulename": "grib2io.templates", "qualname": "ProjParameters", "kind": "class", "doc": "

PROJ Parameters to define the reference system

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate0", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate0", "kind": "class", "doc": "

Grid Definition Template 0

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate0.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate0.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate0.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate0.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate0.latitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate0.latitudeLastGridpoint", "kind": "variable", "doc": "

Latitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate0.longitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate0.longitudeLastGridpoint", "kind": "variable", "doc": "

Longitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate0.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate0.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate0.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate0.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1", "kind": "class", "doc": "

Grid Definition Template 1

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.latitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.latitudeLastGridpoint", "kind": "variable", "doc": "

Latitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.longitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.longitudeLastGridpoint", "kind": "variable", "doc": "

Longitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.latitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.latitudeSouthernPole", "kind": "variable", "doc": "

Latitude of the Southern Pole for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.longitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.longitudeSouthernPole", "kind": "variable", "doc": "

Longitude of the Southern Pole for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.anglePoleRotation", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.anglePoleRotation", "kind": "variable", "doc": "

Angle of Pole Rotation for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10", "kind": "class", "doc": "

Grid Definition Template 10

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.latitudeTrueScale", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.latitudeTrueScale", "kind": "variable", "doc": "

Latitude at which grid lengths are specified

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.latitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.latitudeLastGridpoint", "kind": "variable", "doc": "

Latitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.longitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.longitudeLastGridpoint", "kind": "variable", "doc": "

Longitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.gridOrientation", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.gridOrientation", "kind": "variable", "doc": "

Longitude at which the grid is oriented

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.projParameters", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.projParameters", "kind": "variable", "doc": "

PROJ Parameters to define the reference system

\n", "annotation": ": dict"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20", "kind": "class", "doc": "

Grid Definition Template 20

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20.latitudeTrueScale", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20.latitudeTrueScale", "kind": "variable", "doc": "

Latitude at which grid lengths are specified

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20.gridOrientation", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20.gridOrientation", "kind": "variable", "doc": "

Longitude at which the grid is oriented

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20.projectionCenterFlag", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20.projectionCenterFlag", "kind": "variable", "doc": "

Projection Center

\n", "annotation": ": list"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20.projParameters", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20.projParameters", "kind": "variable", "doc": "

PROJ Parameters to define the reference system

\n", "annotation": ": dict"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30", "kind": "class", "doc": "

Grid Definition Template 30

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.latitudeTrueScale", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.latitudeTrueScale", "kind": "variable", "doc": "

Latitude at which grid lengths are specified

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.gridOrientation", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.gridOrientation", "kind": "variable", "doc": "

Longitude at which the grid is oriented

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.projectionCenterFlag", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.projectionCenterFlag", "kind": "variable", "doc": "

Projection Center

\n", "annotation": ": list"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.standardLatitude1", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.standardLatitude1", "kind": "variable", "doc": "

First Standard Latitude (from the pole at which the secant cone cuts the sphere)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.standardLatitude2", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.standardLatitude2", "kind": "variable", "doc": "

Second Standard Latitude (from the pole at which the secant cone cuts the sphere)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.latitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.latitudeSouthernPole", "kind": "variable", "doc": "

Latitude of the Southern Pole for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.longitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.longitudeSouthernPole", "kind": "variable", "doc": "

Longitude of the Southern Pole for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.projParameters", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.projParameters", "kind": "variable", "doc": "

PROJ Parameters to define the reference system

\n", "annotation": ": dict"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31", "kind": "class", "doc": "

Grid Definition Template 31

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.latitudeTrueScale", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.latitudeTrueScale", "kind": "variable", "doc": "

Latitude at which grid lengths are specified

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.gridOrientation", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.gridOrientation", "kind": "variable", "doc": "

Longitude at which the grid is oriented

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.projectionCenterFlag", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.projectionCenterFlag", "kind": "variable", "doc": "

Projection Center

\n", "annotation": ": list"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.standardLatitude1", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.standardLatitude1", "kind": "variable", "doc": "

First Standard Latitude (from the pole at which the secant cone cuts the sphere)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.standardLatitude2", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.standardLatitude2", "kind": "variable", "doc": "

Second Standard Latitude (from the pole at which the secant cone cuts the sphere)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.latitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.latitudeSouthernPole", "kind": "variable", "doc": "

Latitude of the Southern Pole for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.longitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.longitudeSouthernPole", "kind": "variable", "doc": "

Longitude of the Southern Pole for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate40", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate40", "kind": "class", "doc": "

Grid Definition Template 40

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate40.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate40.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate40.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate40.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate40.latitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate40.latitudeLastGridpoint", "kind": "variable", "doc": "

Latitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate40.longitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate40.longitudeLastGridpoint", "kind": "variable", "doc": "

Longitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate40.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate40.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate40.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate40.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41", "kind": "class", "doc": "

Grid Definition Template 41

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.latitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.latitudeLastGridpoint", "kind": "variable", "doc": "

Latitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.longitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.longitudeLastGridpoint", "kind": "variable", "doc": "

Longitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.latitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.latitudeSouthernPole", "kind": "variable", "doc": "

Latitude of the Southern Pole for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.longitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.longitudeSouthernPole", "kind": "variable", "doc": "

Longitude of the Southern Pole for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.anglePoleRotation", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.anglePoleRotation", "kind": "variable", "doc": "

Angle of Pole Rotation for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate50", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate50", "kind": "class", "doc": "

Grid Definition Template 50

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate50.spectralFunctionParameters", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate50.spectralFunctionParameters", "kind": "variable", "doc": "

Spectral Function Parameters

\n", "annotation": ": list"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32768", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32768", "kind": "class", "doc": "

Grid Definition Template 32768

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32768.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32768.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32768.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32768.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32768.latitudeCenterGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32768.latitudeCenterGridpoint", "kind": "variable", "doc": "

Latitude of center gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32768.longitudeCenterGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32768.longitudeCenterGridpoint", "kind": "variable", "doc": "

Longitude of center gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32768.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32768.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32768.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32768.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769", "kind": "class", "doc": "

Grid Definition Template 32769

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769.latitudeCenterGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769.latitudeCenterGridpoint", "kind": "variable", "doc": "

Latitude of center gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769.longitudeCenterGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769.longitudeCenterGridpoint", "kind": "variable", "doc": "

Longitude of center gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769.latitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769.latitudeLastGridpoint", "kind": "variable", "doc": "

Latitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769.longitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769.longitudeLastGridpoint", "kind": "variable", "doc": "

Longitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.gdt_class_by_gdtn", "modulename": "grib2io.templates", "qualname": "gdt_class_by_gdtn", "kind": "function", "doc": "

Provides a Grid Definition Template class via the template number

\n\n

Parameters

\n\n

gdtn : int\n Grid definition template number.

\n\n

Returns

\n\n

Grid definition template class object (not an instance).

\n", "signature": "(gdtn):", "funcdef": "def"}, {"fullname": "grib2io.templates.ProductDefinitionTemplateNumber", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplateNumber", "kind": "class", "doc": "

Product Definition Template Number

\n"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate", "kind": "class", "doc": "

Product Definition Template

\n"}, {"fullname": "grib2io.templates.ParameterCategory", "modulename": "grib2io.templates", "qualname": "ParameterCategory", "kind": "class", "doc": "

Parameter Category

\n"}, {"fullname": "grib2io.templates.ParameterNumber", "modulename": "grib2io.templates", "qualname": "ParameterNumber", "kind": "class", "doc": "

Parameter Number

\n"}, {"fullname": "grib2io.templates.VarInfo", "modulename": "grib2io.templates", "qualname": "VarInfo", "kind": "class", "doc": "

Variable Information. These are the metadata returned for a specific variable according\nto discipline, parameter category, and parameter number.

\n"}, {"fullname": "grib2io.templates.FullName", "modulename": "grib2io.templates", "qualname": "FullName", "kind": "class", "doc": "

Full name of the Variable

\n"}, {"fullname": "grib2io.templates.Units", "modulename": "grib2io.templates", "qualname": "Units", "kind": "class", "doc": "

Units of the Variable

\n"}, {"fullname": "grib2io.templates.ShortName", "modulename": "grib2io.templates", "qualname": "ShortName", "kind": "class", "doc": "

Short name of the variable (i.e. the variable abbreviation)

\n"}, {"fullname": "grib2io.templates.TypeOfGeneratingProcess", "modulename": "grib2io.templates", "qualname": "TypeOfGeneratingProcess", "kind": "class", "doc": "

Type of Generating Process

\n"}, {"fullname": "grib2io.templates.BackgroundGeneratingProcessIdentifier", "modulename": "grib2io.templates", "qualname": "BackgroundGeneratingProcessIdentifier", "kind": "class", "doc": "

Background Generating Process Identifier

\n"}, {"fullname": "grib2io.templates.GeneratingProcess", "modulename": "grib2io.templates", "qualname": "GeneratingProcess", "kind": "class", "doc": "

Generating Process

\n"}, {"fullname": "grib2io.templates.HoursAfterDataCutoff", "modulename": "grib2io.templates", "qualname": "HoursAfterDataCutoff", "kind": "class", "doc": "

Hours of observational data cutoff after reference time

\n"}, {"fullname": "grib2io.templates.MinutesAfterDataCutoff", "modulename": "grib2io.templates", "qualname": "MinutesAfterDataCutoff", "kind": "class", "doc": "

Minutes of observational data cutoff after reference time

\n"}, {"fullname": "grib2io.templates.UnitOfForecastTime", "modulename": "grib2io.templates", "qualname": "UnitOfForecastTime", "kind": "class", "doc": "

Units of Forecast Time

\n"}, {"fullname": "grib2io.templates.ValueOfForecastTime", "modulename": "grib2io.templates", "qualname": "ValueOfForecastTime", "kind": "class", "doc": "

Value of forecast time in units defined by UnitofForecastTime

\n"}, {"fullname": "grib2io.templates.LeadTime", "modulename": "grib2io.templates", "qualname": "LeadTime", "kind": "class", "doc": "

Forecast Lead Time. NOTE: This is a datetime.timedelta object.

\n"}, {"fullname": "grib2io.templates.FixedSfc1Info", "modulename": "grib2io.templates", "qualname": "FixedSfc1Info", "kind": "class", "doc": "

Information of the first fixed surface via table 4.5

\n"}, {"fullname": "grib2io.templates.FixedSfc2Info", "modulename": "grib2io.templates", "qualname": "FixedSfc2Info", "kind": "class", "doc": "

Information of the seconds fixed surface via table 4.5

\n"}, {"fullname": "grib2io.templates.TypeOfFirstFixedSurface", "modulename": "grib2io.templates", "qualname": "TypeOfFirstFixedSurface", "kind": "class", "doc": "

Type of First Fixed Surface

\n"}, {"fullname": "grib2io.templates.ScaleFactorOfFirstFixedSurface", "modulename": "grib2io.templates", "qualname": "ScaleFactorOfFirstFixedSurface", "kind": "class", "doc": "

Scale Factor of First Fixed Surface

\n"}, {"fullname": "grib2io.templates.ScaledValueOfFirstFixedSurface", "modulename": "grib2io.templates", "qualname": "ScaledValueOfFirstFixedSurface", "kind": "class", "doc": "

Scaled Value Of First Fixed Surface

\n"}, {"fullname": "grib2io.templates.UnitOfFirstFixedSurface", "modulename": "grib2io.templates", "qualname": "UnitOfFirstFixedSurface", "kind": "class", "doc": "

Units of First Fixed Surface

\n"}, {"fullname": "grib2io.templates.ValueOfFirstFixedSurface", "modulename": "grib2io.templates", "qualname": "ValueOfFirstFixedSurface", "kind": "class", "doc": "

Value of First Fixed Surface

\n"}, {"fullname": "grib2io.templates.TypeOfSecondFixedSurface", "modulename": "grib2io.templates", "qualname": "TypeOfSecondFixedSurface", "kind": "class", "doc": "

Type of Second Fixed Surface

\n"}, {"fullname": "grib2io.templates.ScaleFactorOfSecondFixedSurface", "modulename": "grib2io.templates", "qualname": "ScaleFactorOfSecondFixedSurface", "kind": "class", "doc": "

Scale Factor of Second Fixed Surface

\n"}, {"fullname": "grib2io.templates.ScaledValueOfSecondFixedSurface", "modulename": "grib2io.templates", "qualname": "ScaledValueOfSecondFixedSurface", "kind": "class", "doc": "

Scaled Value Of Second Fixed Surface

\n"}, {"fullname": "grib2io.templates.UnitOfSecondFixedSurface", "modulename": "grib2io.templates", "qualname": "UnitOfSecondFixedSurface", "kind": "class", "doc": "

Units of Second Fixed Surface

\n"}, {"fullname": "grib2io.templates.ValueOfSecondFixedSurface", "modulename": "grib2io.templates", "qualname": "ValueOfSecondFixedSurface", "kind": "class", "doc": "

Value of Second Fixed Surface

\n"}, {"fullname": "grib2io.templates.Level", "modulename": "grib2io.templates", "qualname": "Level", "kind": "class", "doc": "

Level (same as provided by wgrib2)

\n"}, {"fullname": "grib2io.templates.TypeOfEnsembleForecast", "modulename": "grib2io.templates", "qualname": "TypeOfEnsembleForecast", "kind": "class", "doc": "

Type of Ensemble Forecast

\n"}, {"fullname": "grib2io.templates.PerturbationNumber", "modulename": "grib2io.templates", "qualname": "PerturbationNumber", "kind": "class", "doc": "

Ensemble Perturbation Number

\n"}, {"fullname": "grib2io.templates.NumberOfEnsembleForecasts", "modulename": "grib2io.templates", "qualname": "NumberOfEnsembleForecasts", "kind": "class", "doc": "

Total Number of Ensemble Forecasts

\n"}, {"fullname": "grib2io.templates.TypeOfDerivedForecast", "modulename": "grib2io.templates", "qualname": "TypeOfDerivedForecast", "kind": "class", "doc": "

Type of Derived Forecast

\n"}, {"fullname": "grib2io.templates.ForecastProbabilityNumber", "modulename": "grib2io.templates", "qualname": "ForecastProbabilityNumber", "kind": "class", "doc": "

Forecast Probability Number

\n"}, {"fullname": "grib2io.templates.TotalNumberOfForecastProbabilities", "modulename": "grib2io.templates", "qualname": "TotalNumberOfForecastProbabilities", "kind": "class", "doc": "

Total Number of Forecast Probabilities

\n"}, {"fullname": "grib2io.templates.TypeOfProbability", "modulename": "grib2io.templates", "qualname": "TypeOfProbability", "kind": "class", "doc": "

Type of Probability

\n"}, {"fullname": "grib2io.templates.ScaleFactorOfThresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ScaleFactorOfThresholdLowerLimit", "kind": "class", "doc": "

Scale Factor of Threshold Lower Limit

\n"}, {"fullname": "grib2io.templates.ScaledValueOfThresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ScaledValueOfThresholdLowerLimit", "kind": "class", "doc": "

Scaled Value of Threshold Lower Limit

\n"}, {"fullname": "grib2io.templates.ScaleFactorOfThresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ScaleFactorOfThresholdUpperLimit", "kind": "class", "doc": "

Scale Factor of Threshold Upper Limit

\n"}, {"fullname": "grib2io.templates.ScaledValueOfThresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ScaledValueOfThresholdUpperLimit", "kind": "class", "doc": "

Scaled Value of Threshold Upper Limit

\n"}, {"fullname": "grib2io.templates.ThresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ThresholdLowerLimit", "kind": "class", "doc": "

Threshold Lower Limit

\n"}, {"fullname": "grib2io.templates.ThresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ThresholdUpperLimit", "kind": "class", "doc": "

Threshold Upper Limit

\n"}, {"fullname": "grib2io.templates.Threshold", "modulename": "grib2io.templates", "qualname": "Threshold", "kind": "class", "doc": "

Threshold string (same as wgrib2)

\n"}, {"fullname": "grib2io.templates.PercentileValue", "modulename": "grib2io.templates", "qualname": "PercentileValue", "kind": "class", "doc": "

Percentile Value

\n"}, {"fullname": "grib2io.templates.YearOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "YearOfEndOfTimePeriod", "kind": "class", "doc": "

Year of End of Forecast Time Period

\n"}, {"fullname": "grib2io.templates.MonthOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "MonthOfEndOfTimePeriod", "kind": "class", "doc": "

Month Year of End of Forecast Time Period

\n"}, {"fullname": "grib2io.templates.DayOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "DayOfEndOfTimePeriod", "kind": "class", "doc": "

Day Year of End of Forecast Time Period

\n"}, {"fullname": "grib2io.templates.HourOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "HourOfEndOfTimePeriod", "kind": "class", "doc": "

Hour Year of End of Forecast Time Period

\n"}, {"fullname": "grib2io.templates.MinuteOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "MinuteOfEndOfTimePeriod", "kind": "class", "doc": "

Minute Year of End of Forecast Time Period

\n"}, {"fullname": "grib2io.templates.SecondOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "SecondOfEndOfTimePeriod", "kind": "class", "doc": "

Second Year of End of Forecast Time Period

\n"}, {"fullname": "grib2io.templates.Duration", "modulename": "grib2io.templates", "qualname": "Duration", "kind": "class", "doc": "

Duration of time period. NOTE: This is a datetime.timedelta object.

\n"}, {"fullname": "grib2io.templates.ValidDate", "modulename": "grib2io.templates", "qualname": "ValidDate", "kind": "class", "doc": "

Valid Date of the forecast. NOTE: This is a datetime.datetime object.

\n"}, {"fullname": "grib2io.templates.NumberOfTimeRanges", "modulename": "grib2io.templates", "qualname": "NumberOfTimeRanges", "kind": "class", "doc": "

Number of time ranges specifications describing the time intervals used to calculate the statistically-processed field

\n"}, {"fullname": "grib2io.templates.NumberOfMissingValues", "modulename": "grib2io.templates", "qualname": "NumberOfMissingValues", "kind": "class", "doc": "

Total number of data values missing in statistical process

\n"}, {"fullname": "grib2io.templates.StatisticalProcess", "modulename": "grib2io.templates", "qualname": "StatisticalProcess", "kind": "class", "doc": "

Statistical Process

\n"}, {"fullname": "grib2io.templates.TypeOfTimeIncrementOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "TypeOfTimeIncrementOfStatisticalProcess", "kind": "class", "doc": "

Type of Time Increment of Statistical Process

\n"}, {"fullname": "grib2io.templates.UnitOfTimeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "UnitOfTimeRangeOfStatisticalProcess", "kind": "class", "doc": "

Unit of Time Range of Statistical Process

\n"}, {"fullname": "grib2io.templates.TimeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "TimeRangeOfStatisticalProcess", "kind": "class", "doc": "

Time Range of Statistical Process

\n"}, {"fullname": "grib2io.templates.UnitOfTimeRangeOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "UnitOfTimeRangeOfSuccessiveFields", "kind": "class", "doc": "

Unit of Time Range of Successive Fields

\n"}, {"fullname": "grib2io.templates.TimeIncrementOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "TimeIncrementOfSuccessiveFields", "kind": "class", "doc": "

Time Increment of Successive Fields

\n"}, {"fullname": "grib2io.templates.TypeOfStatisticalProcessing", "modulename": "grib2io.templates", "qualname": "TypeOfStatisticalProcessing", "kind": "class", "doc": "

Type of Statistical Processing

\n"}, {"fullname": "grib2io.templates.NumberOfDataPointsForSpatialProcessing", "modulename": "grib2io.templates", "qualname": "NumberOfDataPointsForSpatialProcessing", "kind": "class", "doc": "

Number of Data Points for Spatial Processing

\n"}, {"fullname": "grib2io.templates.TypeOfAerosol", "modulename": "grib2io.templates", "qualname": "TypeOfAerosol", "kind": "class", "doc": "

Type of Aerosol

\n"}, {"fullname": "grib2io.templates.TypeOfIntervalForAerosolSize", "modulename": "grib2io.templates", "qualname": "TypeOfIntervalForAerosolSize", "kind": "class", "doc": "

Type of Interval for Aerosol Size

\n"}, {"fullname": "grib2io.templates.ScaleFactorOfFirstSize", "modulename": "grib2io.templates", "qualname": "ScaleFactorOfFirstSize", "kind": "class", "doc": "

Scale Factor of First Size

\n"}, {"fullname": "grib2io.templates.ScaledValueOfFirstSize", "modulename": "grib2io.templates", "qualname": "ScaledValueOfFirstSize", "kind": "class", "doc": "

Scaled Value of First Size

\n"}, {"fullname": "grib2io.templates.ScaleFactorOfSecondSize", "modulename": "grib2io.templates", "qualname": "ScaleFactorOfSecondSize", "kind": "class", "doc": "

Scale Factor of Second Size

\n"}, {"fullname": "grib2io.templates.ScaledValueOfSecondSize", "modulename": "grib2io.templates", "qualname": "ScaledValueOfSecondSize", "kind": "class", "doc": "

Scaled Value of Second Size

\n"}, {"fullname": "grib2io.templates.TypeOfIntervalForAerosolWavelength", "modulename": "grib2io.templates", "qualname": "TypeOfIntervalForAerosolWavelength", "kind": "class", "doc": "

Type of Interval for Aerosol Wavelength

\n"}, {"fullname": "grib2io.templates.ScaleFactorOfFirstWavelength", "modulename": "grib2io.templates", "qualname": "ScaleFactorOfFirstWavelength", "kind": "class", "doc": "

Scale Factor of First Wavelength

\n"}, {"fullname": "grib2io.templates.ScaledValueOfFirstWavelength", "modulename": "grib2io.templates", "qualname": "ScaledValueOfFirstWavelength", "kind": "class", "doc": "

Scaled Value of First Wavelength

\n"}, {"fullname": "grib2io.templates.ScaleFactorOfSecondWavelength", "modulename": "grib2io.templates", "qualname": "ScaleFactorOfSecondWavelength", "kind": "class", "doc": "

Scale Factor of Second Wavelength

\n"}, {"fullname": "grib2io.templates.ScaledValueOfSecondWavelength", "modulename": "grib2io.templates", "qualname": "ScaledValueOfSecondWavelength", "kind": "class", "doc": "

Scaled Value of Second Wavelength

\n"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0", "kind": "class", "doc": "

Product Definition Template 0

\n"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.parameterCategory", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.parameterCategory", "kind": "variable", "doc": "

Parameter Category

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.parameterNumber", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.parameterNumber", "kind": "variable", "doc": "

Parameter Number

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.typeOfGeneratingProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.typeOfGeneratingProcess", "kind": "variable", "doc": "

Type of Generating Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.generatingProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.generatingProcess", "kind": "variable", "doc": "

Generating Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.backgroundGeneratingProcessIdentifier", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.backgroundGeneratingProcessIdentifier", "kind": "variable", "doc": "

Background Generating Process Identifier

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.hoursAfterDataCutoff", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.hoursAfterDataCutoff", "kind": "variable", "doc": "

Hours of observational data cutoff after reference time

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.minutesAfterDataCutoff", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.minutesAfterDataCutoff", "kind": "variable", "doc": "

Minutes of observational data cutoff after reference time

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.unitOfForecastTime", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.unitOfForecastTime", "kind": "variable", "doc": "

Units of Forecast Time

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.valueOfForecastTime", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.valueOfForecastTime", "kind": "variable", "doc": "

Value of forecast time in units defined by UnitofForecastTime

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.typeOfFirstFixedSurface", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.typeOfFirstFixedSurface", "kind": "variable", "doc": "

Type of First Fixed Surface

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.scaleFactorOfFirstFixedSurface", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.scaleFactorOfFirstFixedSurface", "kind": "variable", "doc": "

Scale Factor of First Fixed Surface

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.scaledValueOfFirstFixedSurface", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.scaledValueOfFirstFixedSurface", "kind": "variable", "doc": "

Scaled Value Of First Fixed Surface

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.typeOfSecondFixedSurface", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.typeOfSecondFixedSurface", "kind": "variable", "doc": "

Type of Second Fixed Surface

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.scaleFactorOfSecondFixedSurface", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.scaleFactorOfSecondFixedSurface", "kind": "variable", "doc": "

Scale Factor of Second Fixed Surface

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.scaledValueOfSecondFixedSurface", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.scaledValueOfSecondFixedSurface", "kind": "variable", "doc": "

Scaled Value Of Second Fixed Surface

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate1", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate1", "kind": "class", "doc": "

Product Definition Template 1

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate1.typeOfEnsembleForecast", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate1.typeOfEnsembleForecast", "kind": "variable", "doc": "

Type of Ensemble Forecast

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate1.perturbationNumber", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate1.perturbationNumber", "kind": "variable", "doc": "

Ensemble Perturbation Number

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate1.numberOfEnsembleForecasts", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate1.numberOfEnsembleForecasts", "kind": "variable", "doc": "

Total Number of Ensemble Forecasts

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate2", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate2", "kind": "class", "doc": "

Product Definition Template 2

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate2.typeOfDerivedForecast", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate2.typeOfDerivedForecast", "kind": "variable", "doc": "

Type of Derived Forecast

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate2.numberOfEnsembleForecasts", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate2.numberOfEnsembleForecasts", "kind": "variable", "doc": "

Total Number of Ensemble Forecasts

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5", "kind": "class", "doc": "

Product Definition Template 5

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.forecastProbabilityNumber", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.forecastProbabilityNumber", "kind": "variable", "doc": "

Forecast Probability Number

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.totalNumberOfForecastProbabilities", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.totalNumberOfForecastProbabilities", "kind": "variable", "doc": "

Total Number of Forecast Probabilities

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.typeOfProbability", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.typeOfProbability", "kind": "variable", "doc": "

Type of Probability

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.scaleFactorOfThresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.scaleFactorOfThresholdLowerLimit", "kind": "variable", "doc": "

Scale Factor of Threshold Lower Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.scaledValueOfThresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.scaledValueOfThresholdLowerLimit", "kind": "variable", "doc": "

Scaled Value of Threshold Lower Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.scaleFactorOfThresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.scaleFactorOfThresholdUpperLimit", "kind": "variable", "doc": "

Scale Factor of Threshold Upper Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.scaledValueOfThresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.scaledValueOfThresholdUpperLimit", "kind": "variable", "doc": "

Scaled Value of Threshold Upper Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.thresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.thresholdLowerLimit", "kind": "variable", "doc": "

Threshold Lower Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.thresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.thresholdUpperLimit", "kind": "variable", "doc": "

Threshold Upper Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.threshold", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.threshold", "kind": "variable", "doc": "

Threshold string (same as wgrib2)

\n", "annotation": ": str"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate6", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate6", "kind": "class", "doc": "

Product Definition Template 6

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate6.percentileValue", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate6.percentileValue", "kind": "variable", "doc": "

Percentile Value

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8", "kind": "class", "doc": "

Product Definition Template 8

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.yearOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.yearOfEndOfTimePeriod", "kind": "variable", "doc": "

Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.monthOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.monthOfEndOfTimePeriod", "kind": "variable", "doc": "

Month Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.dayOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.dayOfEndOfTimePeriod", "kind": "variable", "doc": "

Day Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.hourOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.hourOfEndOfTimePeriod", "kind": "variable", "doc": "

Hour Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.minuteOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.minuteOfEndOfTimePeriod", "kind": "variable", "doc": "

Minute Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.secondOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.secondOfEndOfTimePeriod", "kind": "variable", "doc": "

Second Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.numberOfTimeRanges", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.numberOfTimeRanges", "kind": "variable", "doc": "

Number of time ranges specifications describing the time intervals used to calculate the statistically-processed field

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.numberOfMissingValues", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.numberOfMissingValues", "kind": "variable", "doc": "

Total number of data values missing in statistical process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.statisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.statisticalProcess", "kind": "variable", "doc": "

Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.typeOfTimeIncrementOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.typeOfTimeIncrementOfStatisticalProcess", "kind": "variable", "doc": "

Type of Time Increment of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.unitOfTimeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.unitOfTimeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Unit of Time Range of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.timeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.timeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Time Range of Statistical Process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.unitOfTimeRangeOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.unitOfTimeRangeOfSuccessiveFields", "kind": "variable", "doc": "

Unit of Time Range of Successive Fields

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.timeIncrementOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.timeIncrementOfSuccessiveFields", "kind": "variable", "doc": "

Time Increment of Successive Fields

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9", "kind": "class", "doc": "

Product Definition Template 9

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.forecastProbabilityNumber", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.forecastProbabilityNumber", "kind": "variable", "doc": "

Forecast Probability Number

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.totalNumberOfForecastProbabilities", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.totalNumberOfForecastProbabilities", "kind": "variable", "doc": "

Total Number of Forecast Probabilities

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.typeOfProbability", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.typeOfProbability", "kind": "variable", "doc": "

Type of Probability

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.scaleFactorOfThresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.scaleFactorOfThresholdLowerLimit", "kind": "variable", "doc": "

Scale Factor of Threshold Lower Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.scaledValueOfThresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.scaledValueOfThresholdLowerLimit", "kind": "variable", "doc": "

Scaled Value of Threshold Lower Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.scaleFactorOfThresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.scaleFactorOfThresholdUpperLimit", "kind": "variable", "doc": "

Scale Factor of Threshold Upper Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.scaledValueOfThresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.scaledValueOfThresholdUpperLimit", "kind": "variable", "doc": "

Scaled Value of Threshold Upper Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.thresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.thresholdLowerLimit", "kind": "variable", "doc": "

Threshold Lower Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.thresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.thresholdUpperLimit", "kind": "variable", "doc": "

Threshold Upper Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.threshold", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.threshold", "kind": "variable", "doc": "

Threshold string (same as wgrib2)

\n", "annotation": ": str"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.yearOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.yearOfEndOfTimePeriod", "kind": "variable", "doc": "

Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.monthOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.monthOfEndOfTimePeriod", "kind": "variable", "doc": "

Month Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.dayOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.dayOfEndOfTimePeriod", "kind": "variable", "doc": "

Day Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.hourOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.hourOfEndOfTimePeriod", "kind": "variable", "doc": "

Hour Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.minuteOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.minuteOfEndOfTimePeriod", "kind": "variable", "doc": "

Minute Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.secondOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.secondOfEndOfTimePeriod", "kind": "variable", "doc": "

Second Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.numberOfTimeRanges", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.numberOfTimeRanges", "kind": "variable", "doc": "

Number of time ranges specifications describing the time intervals used to calculate the statistically-processed field

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.numberOfMissingValues", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.numberOfMissingValues", "kind": "variable", "doc": "

Total number of data values missing in statistical process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.statisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.statisticalProcess", "kind": "variable", "doc": "

Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.typeOfTimeIncrementOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.typeOfTimeIncrementOfStatisticalProcess", "kind": "variable", "doc": "

Type of Time Increment of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.unitOfTimeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.unitOfTimeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Unit of Time Range of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.timeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.timeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Time Range of Statistical Process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.unitOfTimeRangeOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.unitOfTimeRangeOfSuccessiveFields", "kind": "variable", "doc": "

Unit of Time Range of Successive Fields

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.timeIncrementOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.timeIncrementOfSuccessiveFields", "kind": "variable", "doc": "

Time Increment of Successive Fields

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10", "kind": "class", "doc": "

Product Definition Template 10

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.percentileValue", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.percentileValue", "kind": "variable", "doc": "

Percentile Value

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.yearOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.yearOfEndOfTimePeriod", "kind": "variable", "doc": "

Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.monthOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.monthOfEndOfTimePeriod", "kind": "variable", "doc": "

Month Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.dayOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.dayOfEndOfTimePeriod", "kind": "variable", "doc": "

Day Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.hourOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.hourOfEndOfTimePeriod", "kind": "variable", "doc": "

Hour Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.minuteOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.minuteOfEndOfTimePeriod", "kind": "variable", "doc": "

Minute Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.secondOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.secondOfEndOfTimePeriod", "kind": "variable", "doc": "

Second Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.numberOfTimeRanges", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.numberOfTimeRanges", "kind": "variable", "doc": "

Number of time ranges specifications describing the time intervals used to calculate the statistically-processed field

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.numberOfMissingValues", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.numberOfMissingValues", "kind": "variable", "doc": "

Total number of data values missing in statistical process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.statisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.statisticalProcess", "kind": "variable", "doc": "

Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.typeOfTimeIncrementOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.typeOfTimeIncrementOfStatisticalProcess", "kind": "variable", "doc": "

Type of Time Increment of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.unitOfTimeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.unitOfTimeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Unit of Time Range of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.timeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.timeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Time Range of Statistical Process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.unitOfTimeRangeOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.unitOfTimeRangeOfSuccessiveFields", "kind": "variable", "doc": "

Unit of Time Range of Successive Fields

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.timeIncrementOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.timeIncrementOfSuccessiveFields", "kind": "variable", "doc": "

Time Increment of Successive Fields

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11", "kind": "class", "doc": "

Product Definition Template 11

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.typeOfEnsembleForecast", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.typeOfEnsembleForecast", "kind": "variable", "doc": "

Type of Ensemble Forecast

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.perturbationNumber", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.perturbationNumber", "kind": "variable", "doc": "

Ensemble Perturbation Number

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.numberOfEnsembleForecasts", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.numberOfEnsembleForecasts", "kind": "variable", "doc": "

Total Number of Ensemble Forecasts

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.yearOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.yearOfEndOfTimePeriod", "kind": "variable", "doc": "

Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.monthOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.monthOfEndOfTimePeriod", "kind": "variable", "doc": "

Month Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.dayOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.dayOfEndOfTimePeriod", "kind": "variable", "doc": "

Day Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.hourOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.hourOfEndOfTimePeriod", "kind": "variable", "doc": "

Hour Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.minuteOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.minuteOfEndOfTimePeriod", "kind": "variable", "doc": "

Minute Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.secondOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.secondOfEndOfTimePeriod", "kind": "variable", "doc": "

Second Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.numberOfTimeRanges", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.numberOfTimeRanges", "kind": "variable", "doc": "

Number of time ranges specifications describing the time intervals used to calculate the statistically-processed field

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.numberOfMissingValues", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.numberOfMissingValues", "kind": "variable", "doc": "

Total number of data values missing in statistical process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.statisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.statisticalProcess", "kind": "variable", "doc": "

Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.typeOfTimeIncrementOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.typeOfTimeIncrementOfStatisticalProcess", "kind": "variable", "doc": "

Type of Time Increment of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.unitOfTimeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.unitOfTimeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Unit of Time Range of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.timeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.timeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Time Range of Statistical Process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.unitOfTimeRangeOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.unitOfTimeRangeOfSuccessiveFields", "kind": "variable", "doc": "

Unit of Time Range of Successive Fields

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.timeIncrementOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.timeIncrementOfSuccessiveFields", "kind": "variable", "doc": "

Time Increment of Successive Fields

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12", "kind": "class", "doc": "

Product Definition Template 12

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.typeOfDerivedForecast", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.typeOfDerivedForecast", "kind": "variable", "doc": "

Type of Derived Forecast

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.numberOfEnsembleForecasts", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.numberOfEnsembleForecasts", "kind": "variable", "doc": "

Total Number of Ensemble Forecasts

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.yearOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.yearOfEndOfTimePeriod", "kind": "variable", "doc": "

Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.monthOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.monthOfEndOfTimePeriod", "kind": "variable", "doc": "

Month Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.dayOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.dayOfEndOfTimePeriod", "kind": "variable", "doc": "

Day Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.hourOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.hourOfEndOfTimePeriod", "kind": "variable", "doc": "

Hour Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.minuteOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.minuteOfEndOfTimePeriod", "kind": "variable", "doc": "

Minute Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.secondOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.secondOfEndOfTimePeriod", "kind": "variable", "doc": "

Second Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.numberOfTimeRanges", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.numberOfTimeRanges", "kind": "variable", "doc": "

Number of time ranges specifications describing the time intervals used to calculate the statistically-processed field

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.numberOfMissingValues", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.numberOfMissingValues", "kind": "variable", "doc": "

Total number of data values missing in statistical process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.statisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.statisticalProcess", "kind": "variable", "doc": "

Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.typeOfTimeIncrementOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.typeOfTimeIncrementOfStatisticalProcess", "kind": "variable", "doc": "

Type of Time Increment of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.unitOfTimeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.unitOfTimeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Unit of Time Range of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.timeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.timeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Time Range of Statistical Process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.unitOfTimeRangeOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.unitOfTimeRangeOfSuccessiveFields", "kind": "variable", "doc": "

Unit of Time Range of Successive Fields

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.timeIncrementOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.timeIncrementOfSuccessiveFields", "kind": "variable", "doc": "

Time Increment of Successive Fields

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate15", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate15", "kind": "class", "doc": "

Product Definition Template 15

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate15.statisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate15.statisticalProcess", "kind": "variable", "doc": "

Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate15.typeOfStatisticalProcessing", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate15.typeOfStatisticalProcessing", "kind": "variable", "doc": "

Type of Statistical Processing

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate15.numberOfDataPointsForSpatialProcessing", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate15.numberOfDataPointsForSpatialProcessing", "kind": "variable", "doc": "

Number of Data Points for Spatial Processing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48", "kind": "class", "doc": "

Product Definition Template 48

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.typeOfAerosol", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.typeOfAerosol", "kind": "variable", "doc": "

Type of Aerosol

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.typeOfIntervalForAerosolSize", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.typeOfIntervalForAerosolSize", "kind": "variable", "doc": "

Type of Interval for Aerosol Size

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.scaleFactorOfFirstSize", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.scaleFactorOfFirstSize", "kind": "variable", "doc": "

Scale Factor of First Size

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.scaledValueOfFirstSize", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.scaledValueOfFirstSize", "kind": "variable", "doc": "

Scaled Value of First Size

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.scaleFactorOfSecondSize", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.scaleFactorOfSecondSize", "kind": "variable", "doc": "

Scale Factor of Second Size

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.scaledValueOfSecondSize", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.scaledValueOfSecondSize", "kind": "variable", "doc": "

Scaled Value of Second Size

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.typeOfIntervalForAerosolWavelength", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.typeOfIntervalForAerosolWavelength", "kind": "variable", "doc": "

Type of Interval for Aerosol Wavelength

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.scaleFactorOfFirstWavelength", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.scaleFactorOfFirstWavelength", "kind": "variable", "doc": "

Scale Factor of First Wavelength

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.scaledValueOfFirstWavelength", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.scaledValueOfFirstWavelength", "kind": "variable", "doc": "

Scaled Value of First Wavelength

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.scaleFactorOfSecondWavelength", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.scaleFactorOfSecondWavelength", "kind": "variable", "doc": "

Scale Factor of Second Wavelength

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.scaledValueOfSecondWavelength", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.scaledValueOfSecondWavelength", "kind": "variable", "doc": "

Scaled Value of Second Wavelength

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.pdt_class_by_pdtn", "modulename": "grib2io.templates", "qualname": "pdt_class_by_pdtn", "kind": "function", "doc": "

Provides a Product Definition Template class via the template number

\n\n

Parameters

\n\n

pdtn : int\n Product definition template number.

\n\n

Returns

\n\n

Product definition template class object (not an instance).

\n", "signature": "(pdtn):", "funcdef": "def"}, {"fullname": "grib2io.templates.NumberOfPackedValues", "modulename": "grib2io.templates", "qualname": "NumberOfPackedValues", "kind": "class", "doc": "

Number of Packed Values

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplateNumber", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplateNumber", "kind": "class", "doc": "

Data Representation Template Number

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate", "kind": "class", "doc": "

Data Representation Template

\n"}, {"fullname": "grib2io.templates.RefValue", "modulename": "grib2io.templates", "qualname": "RefValue", "kind": "class", "doc": "

Reference Value (represented as an IEEE 32-bit floating point value)

\n"}, {"fullname": "grib2io.templates.BinScaleFactor", "modulename": "grib2io.templates", "qualname": "BinScaleFactor", "kind": "class", "doc": "

Binary Scale Factor

\n"}, {"fullname": "grib2io.templates.DecScaleFactor", "modulename": "grib2io.templates", "qualname": "DecScaleFactor", "kind": "class", "doc": "

Decimal Scale Factor

\n"}, {"fullname": "grib2io.templates.NBitsPacking", "modulename": "grib2io.templates", "qualname": "NBitsPacking", "kind": "class", "doc": "

Minimum number of bits for packing

\n"}, {"fullname": "grib2io.templates.TypeOfValues", "modulename": "grib2io.templates", "qualname": "TypeOfValues", "kind": "class", "doc": "

Type of Original Field Values

\n"}, {"fullname": "grib2io.templates.GroupSplittingMethod", "modulename": "grib2io.templates", "qualname": "GroupSplittingMethod", "kind": "class", "doc": "

Group Splitting Method

\n"}, {"fullname": "grib2io.templates.TypeOfMissingValueManagement", "modulename": "grib2io.templates", "qualname": "TypeOfMissingValueManagement", "kind": "class", "doc": "

Type of Missing Value Management

\n"}, {"fullname": "grib2io.templates.PriMissingValue", "modulename": "grib2io.templates", "qualname": "PriMissingValue", "kind": "class", "doc": "

Primary Missing Value

\n"}, {"fullname": "grib2io.templates.SecMissingValue", "modulename": "grib2io.templates", "qualname": "SecMissingValue", "kind": "class", "doc": "

Secondary Missing Value

\n"}, {"fullname": "grib2io.templates.NGroups", "modulename": "grib2io.templates", "qualname": "NGroups", "kind": "class", "doc": "

Number of Groups

\n"}, {"fullname": "grib2io.templates.RefGroupWidth", "modulename": "grib2io.templates", "qualname": "RefGroupWidth", "kind": "class", "doc": "

Reference Group Width

\n"}, {"fullname": "grib2io.templates.NBitsGroupWidth", "modulename": "grib2io.templates", "qualname": "NBitsGroupWidth", "kind": "class", "doc": "

Number of bits for Group Width

\n"}, {"fullname": "grib2io.templates.RefGroupLength", "modulename": "grib2io.templates", "qualname": "RefGroupLength", "kind": "class", "doc": "

Reference Group Length

\n"}, {"fullname": "grib2io.templates.GroupLengthIncrement", "modulename": "grib2io.templates", "qualname": "GroupLengthIncrement", "kind": "class", "doc": "

Group Length Increment

\n"}, {"fullname": "grib2io.templates.LengthOfLastGroup", "modulename": "grib2io.templates", "qualname": "LengthOfLastGroup", "kind": "class", "doc": "

Length of Last Group

\n"}, {"fullname": "grib2io.templates.NBitsScaledGroupLength", "modulename": "grib2io.templates", "qualname": "NBitsScaledGroupLength", "kind": "class", "doc": "

Number of bits of Scaled Group Length

\n"}, {"fullname": "grib2io.templates.SpatialDifferenceOrder", "modulename": "grib2io.templates", "qualname": "SpatialDifferenceOrder", "kind": "class", "doc": "

Spatial Difference Order

\n"}, {"fullname": "grib2io.templates.NBytesSpatialDifference", "modulename": "grib2io.templates", "qualname": "NBytesSpatialDifference", "kind": "class", "doc": "

Number of bytes for Spatial Differencing

\n"}, {"fullname": "grib2io.templates.Precision", "modulename": "grib2io.templates", "qualname": "Precision", "kind": "class", "doc": "

Precision for IEEE Floating Point Data

\n"}, {"fullname": "grib2io.templates.TypeOfCompression", "modulename": "grib2io.templates", "qualname": "TypeOfCompression", "kind": "class", "doc": "

Type of Compression

\n"}, {"fullname": "grib2io.templates.TargetCompressionRatio", "modulename": "grib2io.templates", "qualname": "TargetCompressionRatio", "kind": "class", "doc": "

Target Compression Ratio

\n"}, {"fullname": "grib2io.templates.RealOfCoefficient", "modulename": "grib2io.templates", "qualname": "RealOfCoefficient", "kind": "class", "doc": "

Real of Coefficient

\n"}, {"fullname": "grib2io.templates.CompressionOptionsMask", "modulename": "grib2io.templates", "qualname": "CompressionOptionsMask", "kind": "class", "doc": "

Compression Options Mask for AEC/CCSDS

\n"}, {"fullname": "grib2io.templates.BlockSize", "modulename": "grib2io.templates", "qualname": "BlockSize", "kind": "class", "doc": "

Block Size for AEC/CCSDS

\n"}, {"fullname": "grib2io.templates.RefSampleInterval", "modulename": "grib2io.templates", "qualname": "RefSampleInterval", "kind": "class", "doc": "

Reference Sample Interval for AEC/CCSDS

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate0", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate0", "kind": "class", "doc": "

Data Representation Template 0

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate0.refValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate0.refValue", "kind": "variable", "doc": "

Reference Value (represented as an IEEE 32-bit floating point value)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.DataRepresentationTemplate0.binScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate0.binScaleFactor", "kind": "variable", "doc": "

Binary Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate0.decScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate0.decScaleFactor", "kind": "variable", "doc": "

Decimal Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate0.nBitsPacking", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate0.nBitsPacking", "kind": "variable", "doc": "

Minimum number of bits for packing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2", "kind": "class", "doc": "

Data Representation Template 2

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.refValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.refValue", "kind": "variable", "doc": "

Reference Value (represented as an IEEE 32-bit floating point value)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.binScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.binScaleFactor", "kind": "variable", "doc": "

Binary Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.decScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.decScaleFactor", "kind": "variable", "doc": "

Decimal Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.nBitsPacking", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.nBitsPacking", "kind": "variable", "doc": "

Minimum number of bits for packing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.groupSplittingMethod", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.groupSplittingMethod", "kind": "variable", "doc": "

Group Splitting Method

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.typeOfMissingValueManagement", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.typeOfMissingValueManagement", "kind": "variable", "doc": "

Type of Missing Value Management

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.priMissingValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.priMissingValue", "kind": "variable", "doc": "

Primary Missing Value

\n", "annotation": ": [<class 'float'>, <class 'int'>]"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.secMissingValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.secMissingValue", "kind": "variable", "doc": "

Secondary Missing Value

\n", "annotation": ": [<class 'float'>, <class 'int'>]"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.nGroups", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.nGroups", "kind": "variable", "doc": "

Number of Groups

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.refGroupWidth", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.refGroupWidth", "kind": "variable", "doc": "

Reference Group Width

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.nBitsGroupWidth", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.nBitsGroupWidth", "kind": "variable", "doc": "

Number of bits for Group Width

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.refGroupLength", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.refGroupLength", "kind": "variable", "doc": "

Reference Group Length

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.groupLengthIncrement", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.groupLengthIncrement", "kind": "variable", "doc": "

Group Length Increment

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.lengthOfLastGroup", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.lengthOfLastGroup", "kind": "variable", "doc": "

Length of Last Group

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.nBitsScaledGroupLength", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.nBitsScaledGroupLength", "kind": "variable", "doc": "

Number of bits of Scaled Group Length

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3", "kind": "class", "doc": "

Data Representation Template 3

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.refValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.refValue", "kind": "variable", "doc": "

Reference Value (represented as an IEEE 32-bit floating point value)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.binScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.binScaleFactor", "kind": "variable", "doc": "

Binary Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.decScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.decScaleFactor", "kind": "variable", "doc": "

Decimal Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.nBitsPacking", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.nBitsPacking", "kind": "variable", "doc": "

Minimum number of bits for packing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.groupSplittingMethod", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.groupSplittingMethod", "kind": "variable", "doc": "

Group Splitting Method

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.typeOfMissingValueManagement", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.typeOfMissingValueManagement", "kind": "variable", "doc": "

Type of Missing Value Management

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.priMissingValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.priMissingValue", "kind": "variable", "doc": "

Primary Missing Value

\n", "annotation": ": [<class 'float'>, <class 'int'>]"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.secMissingValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.secMissingValue", "kind": "variable", "doc": "

Secondary Missing Value

\n", "annotation": ": [<class 'float'>, <class 'int'>]"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.nGroups", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.nGroups", "kind": "variable", "doc": "

Number of Groups

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.refGroupWidth", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.refGroupWidth", "kind": "variable", "doc": "

Reference Group Width

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.nBitsGroupWidth", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.nBitsGroupWidth", "kind": "variable", "doc": "

Number of bits for Group Width

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.refGroupLength", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.refGroupLength", "kind": "variable", "doc": "

Reference Group Length

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.groupLengthIncrement", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.groupLengthIncrement", "kind": "variable", "doc": "

Group Length Increment

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.lengthOfLastGroup", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.lengthOfLastGroup", "kind": "variable", "doc": "

Length of Last Group

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.nBitsScaledGroupLength", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.nBitsScaledGroupLength", "kind": "variable", "doc": "

Number of bits of Scaled Group Length

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.spatialDifferenceOrder", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.spatialDifferenceOrder", "kind": "variable", "doc": "

Spatial Difference Order

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.nBytesSpatialDifference", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.nBytesSpatialDifference", "kind": "variable", "doc": "

Number of bytes for Spatial Differencing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate4", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate4", "kind": "class", "doc": "

Data Representation Template 4

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate4.precision", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate4.precision", "kind": "variable", "doc": "

Precision for IEEE Floating Point Data

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.DataRepresentationTemplate40", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate40", "kind": "class", "doc": "

Data Representation Template 40

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate40.refValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate40.refValue", "kind": "variable", "doc": "

Reference Value (represented as an IEEE 32-bit floating point value)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.DataRepresentationTemplate40.binScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate40.binScaleFactor", "kind": "variable", "doc": "

Binary Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate40.decScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate40.decScaleFactor", "kind": "variable", "doc": "

Decimal Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate40.nBitsPacking", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate40.nBitsPacking", "kind": "variable", "doc": "

Minimum number of bits for packing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate40.typeOfCompression", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate40.typeOfCompression", "kind": "variable", "doc": "

Type of Compression

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.DataRepresentationTemplate40.targetCompressionRatio", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate40.targetCompressionRatio", "kind": "variable", "doc": "

Target Compression Ratio

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate41", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate41", "kind": "class", "doc": "

Data Representation Template 41

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate41.refValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate41.refValue", "kind": "variable", "doc": "

Reference Value (represented as an IEEE 32-bit floating point value)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.DataRepresentationTemplate41.binScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate41.binScaleFactor", "kind": "variable", "doc": "

Binary Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate41.decScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate41.decScaleFactor", "kind": "variable", "doc": "

Decimal Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate41.nBitsPacking", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate41.nBitsPacking", "kind": "variable", "doc": "

Minimum number of bits for packing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate42", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate42", "kind": "class", "doc": "

Data Representation Template 42

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate42.refValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate42.refValue", "kind": "variable", "doc": "

Reference Value (represented as an IEEE 32-bit floating point value)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.DataRepresentationTemplate42.binScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate42.binScaleFactor", "kind": "variable", "doc": "

Binary Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate42.decScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate42.decScaleFactor", "kind": "variable", "doc": "

Decimal Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate42.nBitsPacking", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate42.nBitsPacking", "kind": "variable", "doc": "

Minimum number of bits for packing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate42.compressionOptionsMask", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate42.compressionOptionsMask", "kind": "variable", "doc": "

Compression Options Mask for AEC/CCSDS

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate42.blockSize", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate42.blockSize", "kind": "variable", "doc": "

Block Size for AEC/CCSDS

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate42.refSampleInterval", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate42.refSampleInterval", "kind": "variable", "doc": "

Reference Sample Interval for AEC/CCSDS

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate50", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate50", "kind": "class", "doc": "

Data Representation Template 50

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate50.refValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate50.refValue", "kind": "variable", "doc": "

Reference Value (represented as an IEEE 32-bit floating point value)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.DataRepresentationTemplate50.binScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate50.binScaleFactor", "kind": "variable", "doc": "

Binary Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate50.decScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate50.decScaleFactor", "kind": "variable", "doc": "

Decimal Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate50.nBitsPacking", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate50.nBitsPacking", "kind": "variable", "doc": "

Minimum number of bits for packing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate50.realOfCoefficient", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate50.realOfCoefficient", "kind": "variable", "doc": "

Real of Coefficient

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.drt_class_by_drtn", "modulename": "grib2io.templates", "qualname": "drt_class_by_drtn", "kind": "function", "doc": "

Provides a Data Representation Template class via the template number

\n\n

Parameters

\n\n

drtn : int\n Data Representation template number.

\n\n

Returns

\n\n

Data Representation template class object (not an instance).

\n", "signature": "(drtn):", "funcdef": "def"}, {"fullname": "grib2io.utils", "modulename": "grib2io.utils", "kind": "module", "doc": "

Collection of utility functions to assist in the encoding and decoding\nof GRIB2 Messages.

\n"}, {"fullname": "grib2io.utils.int2bin", "modulename": "grib2io.utils", "qualname": "int2bin", "kind": "function", "doc": "

Convert integer to binary string or list

\n\n

Parameters

\n\n

i : int\n Integer value to convert to binary representation.

\n\n

nbits : int, optional\n Number of bits to return. Valid values are 8 [DEFAULT], 16, 32, and 64.

\n\n

output : type\n Return data as str [DEFAULT] or list (list of ints).

\n\n

Returns

\n\n

str or list (list of ints) of binary representation of the integer value.

\n", "signature": "(i, nbits=8, output=<class 'str'>):", "funcdef": "def"}, {"fullname": "grib2io.utils.ieee_float_to_int", "modulename": "grib2io.utils", "qualname": "ieee_float_to_int", "kind": "function", "doc": "

Convert an IEEE 32-bit float to a 32-bit integer.

\n\n

Parameters

\n\n

f : float\n Floating-point value.

\n\n

Returns

\n\n

numpy.int32 representation of an IEEE 32-bit float.

\n", "signature": "(f):", "funcdef": "def"}, {"fullname": "grib2io.utils.ieee_int_to_float", "modulename": "grib2io.utils", "qualname": "ieee_int_to_float", "kind": "function", "doc": "

Convert a 32-bit integer to an IEEE 32-bit float.

\n\n

Parameters

\n\n

i : int\n Integer value.

\n\n

Returns

\n\n

numpy.float32 representation of a 32-bit int.

\n", "signature": "(i):", "funcdef": "def"}, {"fullname": "grib2io.utils.get_leadtime", "modulename": "grib2io.utils", "qualname": "get_leadtime", "kind": "function", "doc": "

Computes lead time as a datetime.timedelta object using information from\nGRIB2 Identification Section (Section 1), Product Definition Template\nNumber, and Product Definition Template (Section 4).

\n\n

Parameters

\n\n

idsec : list or array_like\n Seqeunce containing GRIB2 Identification Section (Section 1).

\n\n

pdtn : int\n GRIB2 Product Definition Template Number

\n\n

pdt : list or array_like\n Seqeunce containing GRIB2 Product Definition Template (Section 4).

\n\n

Returns

\n\n

datetime.timedelta object representing the lead time of the GRIB2 message.

\n", "signature": "(idsec, pdtn, pdt):", "funcdef": "def"}, {"fullname": "grib2io.utils.get_duration", "modulename": "grib2io.utils", "qualname": "get_duration", "kind": "function", "doc": "

Computes a time duration as a datetime.timedelta using information from\nProduct Definition Template Number, and Product Definition Template (Section 4).

\n\n

Parameters

\n\n

pdtn : int\n GRIB2 Product Definition Template Number

\n\n

pdt : list or array_like\n Sequence containing GRIB2 Product Definition Template (Section 4).

\n\n

Returns

\n\n

datetime.timedelta object representing the time duration of the GRIB2 message.

\n", "signature": "(pdtn, pdt):", "funcdef": "def"}, {"fullname": "grib2io.utils.decode_wx_strings", "modulename": "grib2io.utils", "qualname": "decode_wx_strings", "kind": "function", "doc": "

Decode GRIB2 Local Use Section to obtain NDFD/MDL Weather Strings. The\ndecode procedure is defined here.

\n\n

Parameters

\n\n

lus : bytes\n GRIB2 Local Use Section containing NDFD weather strings.

\n\n

Returns

\n\n

dict of NDFD/MDL weather strings. Keys are an integer value that represent \nthe sequential order of the key in the packed local use section and the value is \nthe weather key.

\n", "signature": "(lus):", "funcdef": "def"}, {"fullname": "grib2io.utils.get_wgrib2_prob_string", "modulename": "grib2io.utils", "qualname": "get_wgrib2_prob_string", "kind": "function", "doc": "

Return a wgrib2-formatted string explaining probabilistic\nthreshold informaiton. Logic from wgrib2 source, Prob.c,\nis replicated here.

\n\n

Parameters

\n\n

probtype : int\n Type of probability (Code Table 4.9).

\n\n

sfacl : int\n Scale factor of lower limit.

\n\n

svall : int\n Scaled value of lower limit.

\n\n

sfacu : int\n Scale factor of upper limit.

\n\n

svalu : int\n Scaled value of upper limit.

\n\n

Returns

\n\n

wgrib2-formatted string of probability threshold.

\n", "signature": "(probtype, sfacl, svall, sfacu, svalu):", "funcdef": "def"}, {"fullname": "grib2io.utils.arakawa_rotated_grid", "modulename": "grib2io.utils.arakawa_rotated_grid", "kind": "module", "doc": "

Functions for handling an Arakawa Rotated Lat/Lon Grids.

\n\n

This grid is not often used, but is currently used for the NCEP/RAP using\nGRIB2 Grid Definition Template 32769

\n\n

These functions are adapted from the NCAR Command Language (ncl),\nfrom NcGRIB2.c

\n"}, {"fullname": "grib2io.utils.arakawa_rotated_grid.DEG2RAD", "modulename": "grib2io.utils.arakawa_rotated_grid", "qualname": "DEG2RAD", "kind": "variable", "doc": "

\n", "default_value": "0.017453292519943295"}, {"fullname": "grib2io.utils.arakawa_rotated_grid.RAD2DEG", "modulename": "grib2io.utils.arakawa_rotated_grid", "qualname": "RAD2DEG", "kind": "variable", "doc": "

\n", "default_value": "57.29577951308232"}, {"fullname": "grib2io.utils.arakawa_rotated_grid.ll2rot", "modulename": "grib2io.utils.arakawa_rotated_grid", "qualname": "ll2rot", "kind": "function", "doc": "

Rotate a latitude/longitude pair.

\n\n

Parameters

\n\n

latin: float\n Latitudes in units of degrees.

\n\n

lonin: float\n Longitudes in units of degrees.

\n\n

latpole: float\n Latitude of Pole.

\n\n

lonpole: float\n Longitude of Pole.

\n\n

Returns

\n\n

tlat, tlons\n Returns two floats of rotated latitude and longitude in units of degrees.

\n", "signature": "(latin, lonin, latpole, lonpole):", "funcdef": "def"}, {"fullname": "grib2io.utils.arakawa_rotated_grid.rot2ll", "modulename": "grib2io.utils.arakawa_rotated_grid", "qualname": "rot2ll", "kind": "function", "doc": "

Unrotate a latitude/longitude pair.

\n\n

Parameters

\n\n

latin: float\n Latitudes in units of degrees.

\n\n

lonin: float\n Longitudes in units of degrees.

\n\n

latpole: float\n Latitude of Pole.

\n\n

lonpole: float\n Longitude of Pole.

\n\n

Returns

\n\n

tlat, tlons\n Returns two floats of unrotated latitude and longitude in units of degrees.

\n", "signature": "(latin, lonin, latpole, lonpole):", "funcdef": "def"}, {"fullname": "grib2io.utils.arakawa_rotated_grid.vector_rotation_angles", "modulename": "grib2io.utils.arakawa_rotated_grid", "qualname": "vector_rotation_angles", "kind": "function", "doc": "

Generate a rotation angle value that can be applied to a vector quantity to\nmake it Earth-oriented.

\n\n

Parameters

\n\n

tlat: float\n True latitude in units of degrees.

\n\n

**tlon**:float`\n True longitude in units of degrees..

\n\n

clat: float\n Latitude of center grid point in units of degrees.

\n\n

losp: float\n Longitude of the southern pole in units of degrees.

\n\n

xlat: float\n Latitude of the rotated grid in units of degrees.

\n\n

Returns

\n\n

rot : float\n Rotation angle in units of radians.

\n", "signature": "(tlat, tlon, clat, losp, xlat):", "funcdef": "def"}, {"fullname": "grib2io.utils.gauss_grid", "modulename": "grib2io.utils.gauss_grid", "kind": "module", "doc": "

Tools for working with Gaussian grids.

\n\n

Adopted from: https://gist.github.com/ajdawson/b64d24dfac618b91974f

\n"}, {"fullname": "grib2io.utils.gauss_grid.gaussian_latitudes", "modulename": "grib2io.utils.gauss_grid", "qualname": "gaussian_latitudes", "kind": "function", "doc": "

Construct latitudes for a Gaussian grid.

\n\n

Parameters

\n\n

nlat : int\n The number of latitudes in the Gaussian grid.

\n\n

Returns

\n\n

numpy.ndarray of latitudes (in degrees) with a length of nlat.

\n", "signature": "():", "funcdef": "def"}, {"fullname": "grib2io.utils.rotated_grid", "modulename": "grib2io.utils.rotated_grid", "kind": "module", "doc": "

Tools for working with Rotated Lat/Lon Grids.

\n"}, {"fullname": "grib2io.utils.rotated_grid.RAD2DEG", "modulename": "grib2io.utils.rotated_grid", "qualname": "RAD2DEG", "kind": "variable", "doc": "

\n", "default_value": "57.29577951308232"}, {"fullname": "grib2io.utils.rotated_grid.DEG2RAD", "modulename": "grib2io.utils.rotated_grid", "qualname": "DEG2RAD", "kind": "variable", "doc": "

\n", "default_value": "0.017453292519943295"}, {"fullname": "grib2io.utils.rotated_grid.rotate", "modulename": "grib2io.utils.rotated_grid", "qualname": "rotate", "kind": "function", "doc": "

Perform grid rotation. This function is adapted from ECMWF's ecCodes library\nvoid function, rotate().

\n\n

https://github.com/ecmwf/eccodes/blob/develop/src/grib_geography.cc

\n\n

Parameters

\n\n

latin : float or array_like\n Latitudes in units of degrees.

\n\n

lonin : float or array_like\n Longitudes in units of degrees.

\n\n

aor : float\n Angle of rotation as defined in GRIB2 GDTN 4.1.

\n\n

splat : float\n Latitude of South Pole as defined in GRIB2 GDTN 4.1.

\n\n

splon : float\n Longitude of South Pole as defined in GRIB2 GDTN 4.1.

\n\n

Returns

\n\n

lats, lons : numpy.ndarray\n numpy.ndarrays with dtype=numpy.float32 of grid latitudes and\n longitudes in units of degrees.

\n", "signature": "(latin, lonin, aor, splat, splon):", "funcdef": "def"}, {"fullname": "grib2io.utils.rotated_grid.unrotate", "modulename": "grib2io.utils.rotated_grid", "qualname": "unrotate", "kind": "function", "doc": "

Perform grid un-rotation. This function is adapted from ECMWF's ecCodes library\nvoid function, unrotate().

\n\n

https://github.com/ecmwf/eccodes/blob/develop/src/grib_geography.cc

\n\n

Parameters

\n\n

latin : float or array_like\n Latitudes in units of degrees.

\n\n

lonin : float or array_like\n Longitudes in units of degrees.

\n\n

aor : float\n Angle of rotation as defined in GRIB2 GDTN 4.1.

\n\n

splat : float\n Latitude of South Pole as defined in GRIB2 GDTN 4.1.

\n\n

splon : float\n Longitude of South Pole as defined in GRIB2 GDTN 4.1.

\n\n

Returns

\n\n

lats, lons : numpy.ndarray\n numpy.ndarrays with dtype=numpy.float32 of grid latitudes and\n longitudes in units of degrees.

\n", "signature": "(latin, lonin, aor, splat, splon):", "funcdef": "def"}]; + /** pdoc search index */const docs = [{"fullname": "grib2io", "modulename": "grib2io", "kind": "module", "doc": "

Introduction

\n\n

grib2io is a Python package that provides an interface to the NCEP GRIB2 C (g2c)\nlibrary for the purpose of reading and writing WMO GRIdded Binary, Edition 2 (GRIB2) messages. A physical file can contain one\nor more GRIB2 messages.

\n\n

GRIB2 file IO is performed directly in Python. The unpacking/packing of GRIB2 integer, coded metadata and data sections is performed\nby the g2c library functions via the g2clib Cython wrapper module. The decoding/encoding of GRIB2 metadata is translated into more\ndescriptive, plain language metadata by looking up the integer code values against the appropriate GRIB2 code tables. These code tables\nare a part of the grib2io module.

\n\n

Tutorials

\n\n

The following Jupyter Notebooks are available as tutorials:

\n\n\n"}, {"fullname": "grib2io.open", "modulename": "grib2io", "qualname": "open", "kind": "class", "doc": "

GRIB2 File Object.

\n\n

A physical file can contain one or more GRIB2 messages. When instantiated, class grib2io.open, \nthe file named filename is opened for reading (mode = 'r') and is automatically indexed.
\nThe indexing procedure reads some of the GRIB2 metadata for all GRIB2 Messages. A GRIB2 Message \nmay contain submessages whereby Section 2-7 can be repeated. grib2io accommodates for this by \nflattening any GRIB2 submessages into multiple individual messages.

\n\n

Attributes

\n\n

mode : str\n File IO mode of opening the file.

\n\n

name : str\n Full path name of the GRIB2 file.

\n\n

messages : int\n Count of GRIB2 Messages contained in the file.

\n\n

current_message : int\n Current position of the file in units of GRIB2 Messages.

\n\n

size : int\n Size of the file in units of bytes.

\n\n

closed : bool\n True is file handle is close; False otherwise.

\n\n

variables : tuple\n Tuple containing a unique list of variable short names (i.e. GRIB2 abbreviation names).

\n\n

levels : tuple\n Tuple containing a unique list of wgrib2-formatted level/layer strings.

\n"}, {"fullname": "grib2io.open.__init__", "modulename": "grib2io", "qualname": "open.__init__", "kind": "function", "doc": "

Initialize GRIB2 File object instance.

\n\n

Parameters

\n\n

filename : str\n File name containing GRIB2 messages.

\n\n

mode : str, optional\n File access mode where r opens the files for reading only; w opens the file for writing.

\n", "signature": "(filename, mode='r', **kwargs)"}, {"fullname": "grib2io.open.mode", "modulename": "grib2io", "qualname": "open.mode", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.open.name", "modulename": "grib2io", "qualname": "open.name", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.open.messages", "modulename": "grib2io", "qualname": "open.messages", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.open.current_message", "modulename": "grib2io", "qualname": "open.current_message", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.open.size", "modulename": "grib2io", "qualname": "open.size", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.open.closed", "modulename": "grib2io", "qualname": "open.closed", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.open.levels", "modulename": "grib2io", "qualname": "open.levels", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.open.variables", "modulename": "grib2io", "qualname": "open.variables", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.open.close", "modulename": "grib2io", "qualname": "open.close", "kind": "function", "doc": "

Close the file handle

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "grib2io.open.read", "modulename": "grib2io", "qualname": "open.read", "kind": "function", "doc": "

Read size amount of GRIB2 messages from the current position.

\n\n

If no argument is given, then size is None and all messages are returned from \nthe current position in the file. This read method follows the behavior of \nPython's builtin open() function, but whereas that operates on units of bytes, \nwe operate on units of GRIB2 messages.

\n\n

Parameters

\n\n

size : int, optional\n The number of GRIB2 messages to read from the current position. If no argument is\n give, the default value is None and remainder of the file is read.

\n\n

Returns

\n\n

Grib2Message object when size = 1 or a list of Grib2Messages when size > 1.

\n", "signature": "(self, size=None):", "funcdef": "def"}, {"fullname": "grib2io.open.seek", "modulename": "grib2io", "qualname": "open.seek", "kind": "function", "doc": "

Set the position within the file in units of GRIB2 messages.

\n\n

Parameters

\n\n

pos : int\n The GRIB2 Message number to set the file pointer to.

\n", "signature": "(self, pos):", "funcdef": "def"}, {"fullname": "grib2io.open.tell", "modulename": "grib2io", "qualname": "open.tell", "kind": "function", "doc": "

Returns the position of the file in units of GRIB2 Messages.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "grib2io.open.select", "modulename": "grib2io", "qualname": "open.select", "kind": "function", "doc": "

Select GRIB2 messages by Grib2Message attributes.

\n", "signature": "(self, **kwargs):", "funcdef": "def"}, {"fullname": "grib2io.open.write", "modulename": "grib2io", "qualname": "open.write", "kind": "function", "doc": "

Writes GRIB2 message object to file.

\n\n

Parameters

\n\n

msg : Grib2Message or sequence of Grib2Messages\n GRIB2 message objects to write to file.

\n", "signature": "(self, msg):", "funcdef": "def"}, {"fullname": "grib2io.open.flush", "modulename": "grib2io", "qualname": "open.flush", "kind": "function", "doc": "

Flush the file object buffer.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "grib2io.open.levels_by_var", "modulename": "grib2io", "qualname": "open.levels_by_var", "kind": "function", "doc": "

Return a list of level strings given a variable shortName.

\n\n

Parameters

\n\n

name : str\n Grib2Message variable shortName

\n\n

Returns

\n\n

A list of strings of unique level strings.

\n", "signature": "(self, name):", "funcdef": "def"}, {"fullname": "grib2io.open.vars_by_level", "modulename": "grib2io", "qualname": "open.vars_by_level", "kind": "function", "doc": "

Return a list of variable shortName strings given a level.

\n\n

Parameters

\n\n

level : str\n Grib2Message variable level

\n\n

Returns

\n\n

A list of strings of variable shortName strings.

\n", "signature": "(self, level):", "funcdef": "def"}, {"fullname": "grib2io.Grib2Message", "modulename": "grib2io", "qualname": "Grib2Message", "kind": "class", "doc": "

Creation class for a GRIB2 message.

\n"}, {"fullname": "grib2io.show_config", "modulename": "grib2io", "qualname": "show_config", "kind": "function", "doc": "

Print grib2io build configuration information.

\n", "signature": "():", "funcdef": "def"}, {"fullname": "grib2io.interpolate", "modulename": "grib2io", "qualname": "interpolate", "kind": "function", "doc": "

This is the module-level interpolation function that interfaces with the grib2io_interp\ncomponent pakcage that interfaces to the NCEPLIBS-ip library.

\n\n

Parameters

\n\n

a : numpy.ndarray or tuple\n Input data. If a is a numpy.ndarray, scalar interpolation will be\n performed. If a is a tuple, then vector interpolation will be performed\n with the assumption that u = a[0] and v = a[1] and are both numpy.ndarray.

\n\n
These data are expected to be in 2-dimensional form with shape (ny, nx) or\n3-dimensional (:, ny, nx) where the 1st dimension represents another spatial,\ntemporal, or classification (i.e. ensemble members) dimension. The function will\nproperly flatten the (ny,nx) dimensions into (nx * ny) acceptable for input into\nthe interpolation subroutines.\n
\n\n

method : int or str\n Interpolate method to use. This can either be an integer or string using\n the following mapping:

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n
Interpolate SchemeInteger Value
'bilinear'0
'bicubic'1
'neighbor'2
'budget'3
'spectral'4
'neighbor-budget'6
\n\n

grid_def_in : grib2io.Grib2GridDef\n Grib2GridDef object for the input grid.

\n\n

grid_def_out : grib2io.Grib2GridDef\n Grib2GridDef object for the output grid or station points.

\n\n

method_options : list of ints, optional\n Interpolation options. See the NCEPLIBS-ip doucmentation for\n more information on how these are used.

\n\n

Returns

\n\n

Returns a numpy.ndarray when scalar interpolation is performed or\na tuple of numpy.ndarrays when vector interpolation is performed\nwith the assumptions that 0-index is the interpolated u and 1-index\nis the interpolated v.

\n", "signature": "(a, method, grid_def_in, grid_def_out, method_options=None):", "funcdef": "def"}, {"fullname": "grib2io.interpolate_to_stations", "modulename": "grib2io", "qualname": "interpolate_to_stations", "kind": "function", "doc": "

This is the module-level interpolation function for interpolation to stations\nthat interfaces with the grib2io_interp component pakcage that interfaces to\nthe NCEPLIBS-ip library. It supports\nscalar and vector interpolation according to the type of object a.

\n\n

Parameters

\n\n

a : numpy.ndarray or tuple\n Input data. If a is a numpy.ndarray, scalar interpolation will be\n performed. If a is a tuple, then vector interpolation will be performed\n with the assumption that u = a[0] and v = a[1] and are both numpy.ndarray.

\n\n
These data are expected to be in 2-dimensional form with shape (ny, nx) or\n3-dimensional (:, ny, nx) where the 1st dimension represents another spatial,\ntemporal, or classification (i.e. ensemble members) dimension. The function will\nproperly flatten the (ny,nx) dimensions into (nx * ny) acceptable for input into\nthe interpolation subroutines.\n
\n\n

method : int or str\n Interpolate method to use. This can either be an integer or string using\n the following mapping:

\n\n\n\n\n \n \n\n\n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n \n \n\n\n
Interpolate SchemeInteger Value
'bilinear'0
'bicubic'1
'neighbor'2
'budget'3
'spectral'4
'neighbor-budget'6
\n\n

grid_def_in : grib2io.Grib2GridDef\n Grib2GridDef object for the input grid.

\n\n

lats : numpy.ndarray or list\n Latitudes for station points

\n\n

lons : numpy.ndarray or list\n Longitudes for station points

\n\n

method_options : list of ints, optional\n Interpolation options. See the NCEPLIBS-ip doucmentation for\n more information on how these are used.

\n\n

Returns

\n\n

Returns a numpy.ndarray when scalar interpolation is performed or\na tuple of numpy.ndarrays when vector interpolation is performed\nwith the assumptions that 0-index is the interpolated u and 1-index\nis the interpolated v.

\n", "signature": "(a, method, grid_def_in, lats, lons, method_options=None):", "funcdef": "def"}, {"fullname": "grib2io.Grib2GridDef", "modulename": "grib2io", "qualname": "Grib2GridDef", "kind": "class", "doc": "

Class to hold GRIB2 Grid Definition Template Number and Template as\nclass attributes. This allows for cleaner looking code when passing these\nmetadata around. For example, the grib2io._Grib2Message.interpolate\nmethod and grib2io.interpolate function accepts these objects.

\n"}, {"fullname": "grib2io.Grib2GridDef.__init__", "modulename": "grib2io", "qualname": "Grib2GridDef.__init__", "kind": "function", "doc": "

\n", "signature": "(gdtn: int, gdt: <built-in function array>)"}, {"fullname": "grib2io.Grib2GridDef.gdtn", "modulename": "grib2io", "qualname": "Grib2GridDef.gdtn", "kind": "variable", "doc": "

\n", "annotation": ": int"}, {"fullname": "grib2io.Grib2GridDef.gdt", "modulename": "grib2io", "qualname": "Grib2GridDef.gdt", "kind": "variable", "doc": "

\n", "annotation": ": <built-in function array>"}, {"fullname": "grib2io.Grib2GridDef.from_section3", "modulename": "grib2io", "qualname": "Grib2GridDef.from_section3", "kind": "function", "doc": "

\n", "signature": "(cls, section3):", "funcdef": "def"}, {"fullname": "grib2io.Grib2GridDef.nx", "modulename": "grib2io", "qualname": "Grib2GridDef.nx", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.Grib2GridDef.ny", "modulename": "grib2io", "qualname": "Grib2GridDef.ny", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.Grib2GridDef.npoints", "modulename": "grib2io", "qualname": "Grib2GridDef.npoints", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.Grib2GridDef.shape", "modulename": "grib2io", "qualname": "Grib2GridDef.shape", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.tables", "modulename": "grib2io.tables", "kind": "module", "doc": "

Functions for retreiving data from NCEP GRIB2 Tables.

\n"}, {"fullname": "grib2io.tables.GRIB2_DISCIPLINES", "modulename": "grib2io.tables", "qualname": "GRIB2_DISCIPLINES", "kind": "variable", "doc": "

\n", "default_value": "[0, 1, 2, 3, 4, 10, 20]"}, {"fullname": "grib2io.tables.get_table", "modulename": "grib2io.tables", "qualname": "get_table", "kind": "function", "doc": "

Return GRIB2 code table as a dictionary.

\n\n

Parameters

\n\n

table : str\n Code table number (e.g. '1.0'). NOTE: Code table '4.1' requires a 3rd value\n representing the product discipline (e.g. '4.1.0').

\n\n

expand : bool, optional\n If True, expand output dictionary where keys are a range.

\n\n

Returns

\n\n

Table as a dict.

\n", "signature": "(table, expand=False):", "funcdef": "def"}, {"fullname": "grib2io.tables.get_value_from_table", "modulename": "grib2io.tables", "qualname": "get_value_from_table", "kind": "function", "doc": "

Return the definition given a GRIB2 code table.

\n\n

Parameters

\n\n

value : int or str\n Code table value.

\n\n

table : str\n Code table number.

\n\n

expand : bool, optional\n If True, expand output dictionary where keys are a range.

\n\n

Returns

\n\n

Table value or None if not found.

\n", "signature": "(value, table, expand=False):", "funcdef": "def"}, {"fullname": "grib2io.tables.get_varinfo_from_table", "modulename": "grib2io.tables", "qualname": "get_varinfo_from_table", "kind": "function", "doc": "

Return the GRIB2 variable information given values of discipline,\nparmcat, and parmnum. NOTE: This functions allows for all arguments\nto be converted to a string type if arguments are integer.

\n\n

Parameters

\n\n

discipline : int or str\n Discipline code value of a GRIB2 message.

\n\n

parmcat : int or str\n Parameter Category value of a GRIB2 message.

\n\n

parmnum : int or str\n Parameter Number value of a GRIB2 message.

\n\n

isNDFD : bool, optional\n If True, signals function to try to get variable information from \n the supplemental NDFD tables.

\n\n

Returns

\n\n

list containing variable information. \"Unknown\" is given for item of\ninformation if variable is not found.\n - list[0] = full name\n - list[1] = units\n - list[2] = short name (abbreviated name)

\n", "signature": "(discipline, parmcat, parmnum, isNDFD=False):", "funcdef": "def"}, {"fullname": "grib2io.tables.get_shortnames", "modulename": "grib2io.tables", "qualname": "get_shortnames", "kind": "function", "doc": "

Returns a list of variable shortNames given GRIB2 discipline, parameter\ncategory, and parameter number. If all 3 args are None, then shortNames\nfrom all disciplines, parameter categories, and numbers will be returned.

\n\n

Parameters

\n\n

discipline : int\n GRIB2 discipline code value.

\n\n

parmcat : int\n GRIB2 parameter category value.

\n\n

parmnum : int or str\n Parameter Number value of a GRIB2 message.

\n\n

Returns

\n\n

list of GRIB2 shortNames.

\n", "signature": "(discipline=None, parmcat=None, parmnum=None, isNDFD=False):", "funcdef": "def"}, {"fullname": "grib2io.tables.get_metadata_from_shortname", "modulename": "grib2io.tables", "qualname": "get_metadata_from_shortname", "kind": "function", "doc": "

Provide GRIB2 variable metadata attributes given a GRIB2 shortName.

\n\n

Parameters

\n\n

shortname : str\n GRIB2 variable shortName.

\n\n

Returns

\n\n

list of dictionary items where each dictionary items contains the variable\nmetadata key:value pairs. NOTE: Some variable shortNames will exist in multiple\nparameter category/number tables according to the GRIB2 discipline.

\n", "signature": "(shortname):", "funcdef": "def"}, {"fullname": "grib2io.tables.get_wgrib2_level_string", "modulename": "grib2io.tables", "qualname": "get_wgrib2_level_string", "kind": "function", "doc": "

Return a string that describes the level or layer of the GRIB2 message. The\nformat and language of the string is an exact replica of how wgrib2 produces\nthe level/layer string in its inventory output.

\n\n

Contents of wgrib2 source, Level.c,\nwere converted into a Python dictionary and stored in grib2io as table\n'wgrib2_level_string'.

\n\n

Parameters

\n\n

pdtn : int\n GRIB2 Product Definition Template Number

\n\n

pdt : list or array_like\n Sequence containing GRIB2 Product Definition Template (Section 4).

\n\n

Returns

\n\n

wgrib2-formatted level/layer string.

\n", "signature": "(pdtn, pdt):", "funcdef": "def"}, {"fullname": "grib2io.tables.originating_centers", "modulename": "grib2io.tables.originating_centers", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.originating_centers.table_originating_centers", "modulename": "grib2io.tables.originating_centers", "qualname": "table_originating_centers", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'Melbourne (WMC)', '2': 'Melbourne (WMC)', '3': 'Melbourne (WMC)', '4': 'Moscow (WMC)', '5': 'Moscow (WMC)', '6': 'Moscow (WMC)', '7': 'US National Weather Service - NCEP (WMC)', '8': 'US National Weather Service - NWSTG (WMC)', '9': 'US National Weather Service - Other (WMC)', '10': 'Cairo (RSMC/RAFC)', '11': 'Cairo (RSMC/RAFC)', '12': 'Dakar (RSMC/RAFC)', '13': 'Dakar (RSMC/RAFC)', '14': 'Nairobi (RSMC/RAFC)', '15': 'Nairobi (RSMC/RAFC)', '16': 'Casablanca (RSMC)', '17': 'Tunis (RSMC)', '18': 'Tunis-Casablanca (RSMC)', '19': 'Tunis-Casablanca (RSMC)', '20': 'Las Palmas (RAFC)', '21': 'Algiers (RSMC)', '22': 'ACMAD', '23': 'Mozambique (NMC)', '24': 'Pretoria (RSMC)', '25': 'La Reunion (RSMC)', '26': 'Khabarovsk (RSMC)', '27': 'Khabarovsk (RSMC)', '28': 'New Delhi (RSMC/RAFC)', '29': 'New Delhi (RSMC/RAFC)', '30': 'Novosibirsk (RSMC)', '31': 'Novosibirsk (RSMC)', '32': 'Tashkent (RSMC)', '33': 'Jeddah (RSMC)', '34': 'Tokyo (RSMC), Japanese Meteorological Agency', '35': 'Tokyo (RSMC), Japanese Meteorological Agency', '36': 'Bankok', '37': 'Ulan Bator', '38': 'Beijing (RSMC)', '39': 'Beijing (RSMC)', '40': 'Seoul', '41': 'Buenos Aires (RSMC/RAFC)', '42': 'Buenos Aires (RSMC/RAFC)', '43': 'Brasilia (RSMC/RAFC)', '44': 'Brasilia (RSMC/RAFC)', '45': 'Santiago', '46': 'Brazilian Space Agency - INPE', '47': 'Columbia (NMC)', '48': 'Ecuador (NMC)', '49': 'Peru (NMC)', '50': 'Venezuela (NMC)', '51': 'Miami (RSMC/RAFC)', '52': 'Miami (RSMC), National Hurricane Center', '53': 'Canadian Meteorological Service - Montreal (RSMC)', '54': 'Canadian Meteorological Service - Montreal (RSMC)', '55': 'San Francisco', '56': 'ARINC Center', '57': 'US Air Force - Air Force Global Weather Center', '58': 'Fleet Numerical Meteorology and Oceanography Center,Monterey,CA,USA', '59': 'The NOAA Forecast Systems Lab, Boulder, CO, USA', '60': 'National Center for Atmospheric Research (NCAR), Boulder, CO', '61': 'Service ARGOS - Landover, MD, USA', '62': 'US Naval Oceanographic Office', '63': 'International Research Institude for Climate and Society', '64': 'Honolulu', '65': 'Darwin (RSMC)', '66': 'Darwin (RSMC)', '67': 'Melbourne (RSMC)', '68': 'Reserved', '69': 'Wellington (RSMC/RAFC)', '70': 'Wellington (RSMC/RAFC)', '71': 'Nadi (RSMC)', '72': 'Singapore', '73': 'Malaysia (NMC)', '74': 'U.K. Met Office - Exeter (RSMC)', '75': 'U.K. Met Office - Exeter (RSMC)', '76': 'Moscow (RSMC/RAFC)', '77': 'Reserved', '78': 'Offenbach (RSMC)', '79': 'Offenbach (RSMC)', '80': 'Rome (RSMC)', '81': 'Rome (RSMC)', '82': 'Norrkoping', '83': 'Norrkoping', '84': 'French Weather Service - Toulouse', '85': 'French Weather Service - Toulouse', '86': 'Helsinki', '87': 'Belgrade', '88': 'Oslo', '89': 'Prague', '90': 'Episkopi', '91': 'Ankara', '92': 'Frankfurt/Main (RAFC)', '93': 'London (WAFC)', '94': 'Copenhagen', '95': 'Rota', '96': 'Athens', '97': 'European Space Agency (ESA)', '98': 'European Center for Medium-Range Weather Forecasts (RSMC)', '99': 'De Bilt, Netherlands', '100': 'Brazzaville', '101': 'Abidjan', '102': 'Libyan Arab Jamahiriya (NMC)', '103': 'Madagascar (NMC)', '104': 'Mauritius (NMC)', '105': 'Niger (NMC)', '106': 'Seychelles (NMC)', '107': 'Uganda (NMC)', '108': 'United Republic of Tanzania (NMC)', '109': 'Zimbabwe (NMC)', '110': 'Hong-Kong', '111': 'Afghanistan (NMC)', '112': 'Bahrain (NMC)', '113': 'Bangladesh (NMC)', '114': 'Bhutan (NMC)', '115': 'Cambodia (NMC)', '116': 'Democratic Peoples Republic of Korea (NMC)', '117': 'Islamic Republic of Iran (NMC)', '118': 'Iraq (NMC)', '119': 'Kazakhstan (NMC)', '120': 'Kuwait (NMC)', '121': 'Kyrgyz Republic (NMC)', '122': 'Lao Peoples Democratic Republic (NMC)', '123': 'Macao, China', '124': 'Maldives (NMC)', '125': 'Myanmar (NMC)', '126': 'Nepal (NMC)', '127': 'Oman (NMC)', '128': 'Pakistan (NMC)', '129': 'Qatar (NMC)', '130': 'Yemen (NMC)', '131': 'Sri Lanka (NMC)', '132': 'Tajikistan (NMC)', '133': 'Turkmenistan (NMC)', '134': 'United Arab Emirates (NMC)', '135': 'Uzbekistan (NMC)', '136': 'Viet Nam (NMC)', '137-139': 'Reserved', '140': 'Bolivia (NMC)', '141': 'Guyana (NMC)', '142': 'Paraguay (NMC)', '143': 'Suriname (NMC)', '144': 'Uruguay (NMC)', '145': 'French Guyana', '146': 'Brazilian Navy Hydrographic Center', '147': 'National Commission on Space Activities - Argentina', '148': 'Brazilian Department of Airspace Control - DECEA', '149': 'Reserved', '150': 'Antigua and Barbuda (NMC)', '151': 'Bahamas (NMC)', '152': 'Barbados (NMC)', '153': 'Belize (NMC)', '154': 'British Caribbean Territories Center', '155': 'San Jose', '156': 'Cuba (NMC)', '157': 'Dominica (NMC)', '158': 'Dominican Republic (NMC)', '159': 'El Salvador (NMC)', '160': 'US NOAA/NESDIS', '161': 'US NOAA Office of Oceanic and Atmospheric Research', '162': 'Guatemala (NMC)', '163': 'Haiti (NMC)', '164': 'Honduras (NMC)', '165': 'Jamaica (NMC)', '166': 'Mexico City', '167': 'Netherlands Antilles and Aruba (NMC)', '168': 'Nicaragua (NMC)', '169': 'Panama (NMC)', '170': 'Saint Lucia (NMC)', '171': 'Trinidad and Tobago (NMC)', '172': 'French Departments in RA IV', '173': 'US National Aeronautics and Space Administration (NASA)', '174': 'Integrated System Data Management/Marine Environmental Data Service (ISDM/MEDS) - Canada', '175': 'Reserved', '176': 'US Cooperative Institude for Meteorological Satellite Studies', '177-189': 'Reserved', '190': 'Cook Islands (NMC)', '191': 'French Polynesia (NMC)', '192': 'Tonga (NMC)', '193': 'Vanuatu (NMC)', '194': 'Brunei (NMC)', '195': 'Indonesia (NMC)', '196': 'Kiribati (NMC)', '197': 'Federated States of Micronesia (NMC)', '198': 'New Caledonia (NMC)', '199': 'Niue', '200': 'Papua New Guinea (NMC)', '201': 'Philippines (NMC)', '202': 'Samoa (NMC)', '203': 'Solomon Islands (NMC)', '204': 'Narional Institude of Water and Atmospheric Research - New Zealand', '205-209': 'Reserved', '210': 'Frascati (ESA/ESRIN)', '211': 'Lanion', '212': 'Lisbon', '213': 'Reykjavik', '214': 'Madrid', '215': 'Zurich', '216': 'Service ARGOS - Toulouse', '217': 'Bratislava', '218': 'Budapest', '219': 'Ljubljana', '220': 'Warsaw', '221': 'Zagreb', '222': 'Albania (NMC)', '223': 'Armenia (NMC)', '224': 'Austria (NMC)', '225': 'Azerbaijan (NMC)', '226': 'Belarus (NMC)', '227': 'Belgium (NMC)', '228': 'Bosnia and Herzegovina (NMC)', '229': 'Bulgaria (NMC)', '230': 'Cyprus (NMC)', '231': 'Estonia (NMC)', '232': 'Georgia (NMC)', '233': 'Dublin', '234': 'Israel (NMC)', '235': 'Jordan (NMC)', '236': 'Latvia (NMC)', '237': 'Lebanon (NMC)', '238': 'Lithuania (NMC)', '239': 'Luxembourg', '240': 'Malta (NMC)', '241': 'Monaco', '242': 'Romania (NMC)', '243': 'Syrian Arab Republic (NMC)', '244': 'The former Yugoslav Republic of Macedonia (NMC)', '245': 'Ukraine (NMC)', '246': 'Republic of Moldova (NMC)', '247': 'Operational Programme for the Exchange of Weather RAdar Information (OPERA) - EUMETNET', '248-249': 'Reserved', '250': 'COnsortium for Small scale MOdelling (COSMO)', '251-253': 'Reserved', '254': 'EUMETSAT Operations Center', '255': 'Missing Value'}"}, {"fullname": "grib2io.tables.originating_centers.table_originating_subcenters", "modulename": "grib2io.tables.originating_centers", "qualname": "table_originating_subcenters", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'NCEP Re-Analysis Project', '2': 'NCEP Ensemble Products', '3': 'NCEP Central Operations', '4': 'Environmental Modeling Center', '5': 'Weather Prediction Center', '6': 'Ocean Prediction Center', '7': 'Climate Prediction Center', '8': 'Aviation Weather Center', '9': 'Storm Prediction Center', '10': 'National Hurricane Center', '11': 'NWS Techniques Development Laboratory', '12': 'NESDIS Office of Research and Applications', '13': 'Federal Aviation Administration', '14': 'NWS Meteorological Development Laboratory', '15': 'North American Regional Reanalysis Project', '16': 'Space Weather Prediction Center', '17': 'ESRL Global Systems Division'}"}, {"fullname": "grib2io.tables.originating_centers.table_generating_process", "modulename": "grib2io.tables.originating_centers", "qualname": "table_generating_process", "kind": "variable", "doc": "

\n", "default_value": "{'0-1': 'Reserved', '2': 'Ultra Violet Index Model', '3': 'NCEP/ARL Transport and Dispersion Model', '4': 'NCEP/ARL Smoke Model', '5': 'Satellite Derived Precipitation and temperatures, from IR (See PDS Octet 41 ... for specific satellite ID)', '6': 'NCEP/ARL Dust Model', '7-9': 'Reserved', '10': 'Global Wind-Wave Forecast Model', '11': 'Global Multi-Grid Wave Model (Static Grids)', '12': 'Probabilistic Storm Surge (P-Surge)', '13': 'Hurricane Multi-Grid Wave Model', '14': 'Extra-tropical Storm Surge Atlantic Domain', '15': 'Nearshore Wave Prediction System (NWPS)', '16': 'Extra-Tropical Storm Surge (ETSS)', '17': 'Extra-tropical Storm Surge Pacific Domain', '18': 'Probabilistic Extra-Tropical Storm Surge (P-ETSS)', '19': 'Reserved', '20': 'Extra-tropical Storm Surge Micronesia Domain', '21': 'Extra-tropical Storm Surge Atlantic Domain (3D)', '22': 'Extra-tropical Storm Surge Pacific Domain (3D)', '23': 'Extra-tropical Storm Surge Micronesia Domain (3D)', '24': 'Reserved', '25': 'Snow Cover Analysis', '26-29': 'Reserved', '30': 'Forecaster generated field', '31': 'Value added post processed field', '32-41': 'Reserved', '42': 'Global Optimum Interpolation Analysis (GOI) from GFS model', '43': 'Global Optimum Interpolation Analysis (GOI) from "Final" run', '44': 'Sea Surface Temperature Analysis', '45': 'Coastal Ocean Circulation Model', '46': 'HYCOM - Global', '47': 'HYCOM - North Pacific basin', '48': 'HYCOM - North Atlantic basin', '49': 'Ozone Analysis from TIROS Observations', '50-51': 'Reserved', '52': 'Ozone Analysis from Nimbus 7 Observations', '53-63': 'Reserved', '64': 'Regional Optimum Interpolation Analysis (ROI)', '65-67': 'Reserved', '68': '80 wave triangular, 18-layer Spectral model from GFS model', '69': '80 wave triangular, 18 layer Spectral model from "Medium Range Forecast" run', '70': 'Quasi-Lagrangian Hurricane Model (QLM)', '71': 'Hurricane Weather Research and Forecasting (HWRF)', '72': 'Hurricane Non-Hydrostatic Multiscale Model on the B Grid (HNMMB)', '73': 'Fog Forecast model - Ocean Prod. Center', '74': 'Gulf of Mexico Wind/Wave', '75': 'Gulf of Alaska Wind/Wave', '76': 'Bias corrected Medium Range Forecast', '77': '126 wave triangular, 28 layer Spectral model from GFS model', '78': '126 wave triangular, 28 layer Spectral model from "Medium Range Forecast" run', '79': 'Reserved', '80': '62 wave triangular, 28 layer Spectral model from "Medium Range Forecast" run', '81': 'Analysis from GFS (Global Forecast System)', '82': 'Analysis from GDAS (Global Data Assimilation System)', '83': 'High Resolution Rapid Refresh (HRRR)', '84': 'MESO NAM Model (currently 12 km)', '85': 'Real Time Ocean Forecast System (RTOFS)', '86': 'Early Hurricane Wind Speed Probability Model', '87': 'CAC Ensemble Forecasts from Spectral (ENSMB)', '88': 'NOAA Wave Watch III (NWW3) Ocean Wave Model', '89': 'Non-hydrostatic Meso Model (NMM) (Currently 8 km)', '90': '62 wave triangular, 28 layer spectral model extension of the "Medium Range Forecast" run', '91': '62 wave triangular, 28 layer spectral model extension of the GFS model', '92': '62 wave triangular, 28 layer spectral model run from the "Medium Range Forecast" final analysis', '93': '62 wave triangular, 28 layer spectral model run from the T62 GDAS analysis of the "Medium Range Forecast" run', '94': 'T170/L42 Global Spectral Model from MRF run', '95': 'T126/L42 Global Spectral Model from MRF run', '96': 'Global Forecast System Model T1534 - Forecast hours 00-384 T574 - Forecast hours 00-192 T190 - Forecast hours 204-384', '97': 'Reserved', '98': 'Climate Forecast System Model -- Atmospheric model (GFS) coupled to a multi level ocean model . Currently GFS spectral model at T62, 64 levels coupled to 40 level MOM3 ocean model.', '99': 'Miscellaneous Test ID', '100': 'Miscellaneous Test ID', '101': 'Conventional Observation Re-Analysis (CORE)', '102-103': 'Reserved', '104': 'National Blend GRIB', '105': 'Rapid Refresh (RAP)', '106': 'Reserved', '107': 'Global Ensemble Forecast System (GEFS)', '108': 'Localized Aviation MOS Program (LAMP)', '109': 'Real Time Mesoscale Analysis (RTMA)', '110': 'NAM Model - 15km version', '111': 'NAM model, generic resolution (Used in SREF processing)', '112': 'WRF-NMM model, generic resolution (Used in various runs) NMM=Nondydrostatic Mesoscale Model (NCEP)', '113': 'Products from NCEP SREF processing', '114': 'NAEFS Products from joined NCEP, CMC global ensembles', '115': 'Downscaled GFS from NAM eXtension', '116': 'WRF-EM model, generic resolution (Used in various runs) EM - Eulerian Mass-core (NCAR - aka Advanced Research WRF)', '117': 'NEMS GFS Aerosol Component', '118': 'UnRestricted Mesoscale Analysis (URMA)', '119': 'WAM (Whole Atmosphere Model)', '120': 'Ice Concentration Analysis', '121': 'Western North Atlantic Regional Wave Model', '122': 'Alaska Waters Regional Wave Model', '123': 'North Atlantic Hurricane Wave Model', '124': 'Eastern North Pacific Regional Wave Model', '125': 'North Pacific Hurricane Wave Model', '126': 'Sea Ice Forecast Model', '127': 'Lake Ice Forecast Model', '128': 'Global Ocean Forecast Model', '129': 'Global Ocean Data Analysis System (GODAS)', '130': 'Merge of fields from the RUC, NAM, and Spectral Model', '131': 'Great Lakes Wave Model', '132': 'High Resolution Ensemble Forecast (HREF)', '133': 'Great Lakes Short Range Wave Model', '134': 'Rapid Refresh Forecast System (RRFS)', '135': 'Hurricane Analysis and Forecast System (HAFS)', '136-139': 'Reserved', '140': 'North American Regional Reanalysis (NARR)', '141': 'Land Data Assimilation and Forecast System', '142-149': 'Reserved', '150': 'NWS River Forecast System (NWSRFS)', '151': 'NWS Flash Flood Guidance System (NWSFFGS)', '152': 'WSR-88D Stage II Precipitation Analysis', '153': 'WSR-88D Stage III Precipitation Analysis', '154-179': 'Reserved', '180': 'Quantitative Precipitation Forecast generated by NCEP', '181': 'River Forecast Center Quantitative Precipitation Forecast mosaic generated by NCEP', '182': 'River Forecast Center Quantitative Precipitation estimate mosaic generated by NCEP', '183': 'NDFD product generated by NCEP/HPC', '184': 'Climatological Calibrated Precipitation Analysis (CCPA)', '185-189': 'Reserved', '190': 'National Convective Weather Diagnostic generated by NCEP/AWC', '191': 'Current Icing Potential automated product genterated by NCEP/AWC', '192': 'Analysis product from NCEP/AWC', '193': 'Forecast product from NCEP/AWC', '194': 'Reserved', '195': 'Climate Data Assimilation System 2 (CDAS2)', '196': 'Climate Data Assimilation System 2 (CDAS2) - used for regeneration runs', '197': 'Climate Data Assimilation System (CDAS)', '198': 'Climate Data Assimilation System (CDAS) - used for regeneration runs', '199': 'Climate Forecast System Reanalysis (CFSR) -- Atmospheric model (GFS) coupled to a multi level ocean, land and seaice model. GFS spectral model at T382, 64 levels coupled to 40 level MOM4 ocean model.', '200': 'CPC Manual Forecast Product', '201': 'CPC Automated Product', '202-209': 'Reserved', '210': 'EPA Air Quality Forecast - Currently North East US domain', '211': 'EPA Air Quality Forecast - Currently Eastern US domain', '212-214': 'Reserved', '215': 'SPC Manual Forecast Product', '216-219': 'Reserved', '220': 'NCEP/OPC automated product', '221-230': 'Reserved for WPC products', '231-254': 'Reserved', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section0", "modulename": "grib2io.tables.section0", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section0.table_0_0", "modulename": "grib2io.tables.section0", "qualname": "table_0_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Meteorological Products', '1': 'Hydrological Products', '2': 'Land Surface Products', '3': 'Satellite Remote Sensing Products', '4': 'Space Weather Products', '5-9': 'Reserved', '10': 'Oceanographic Products', '11-19': 'Reserved', '20': 'Health and Socioeconomic Impacts', '21-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section1", "modulename": "grib2io.tables.section1", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section1.table_1_0", "modulename": "grib2io.tables.section1", "qualname": "table_1_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Experimental', '1': 'Version Implemented on 7 November 2001', '2': 'Version Implemented on 4 November 2003', '3': 'Version Implemented on 2 November 2005', '4': 'Version Implemented on 7 November 2007', '5': 'Version Implemented on 4 November 2009', '6': 'Version Implemented on 15 September 2010', '7': 'Version Implemented on 4 May 2011', '8': 'Version Implemented on 8 November 2011', '9': 'Version Implemented on 2 May 2012', '10': 'Version Implemented on 7 November 2012', '11': 'Version Implemented on 8 May 2013', '12': 'Version Implemented on 14 November 2013', '13': 'Version Implemented on 7 May 2014', '14': 'Version Implemented on 5 November 2014', '16': 'Version Implemented on 11 November 2015', '17': 'Version Implemented on 4 May 2016', '18': 'Version Implemented on 2 November 2016', '19': 'Version Implemented on 3 May 2017', '20': 'Version Implemented on 8 November 2017', '21': 'Version Implemented on 2 May 2018', '22': 'Version Implemented on 7 November 2018', '23': 'Version Implemented on 15 May 2019', '24': 'Version Implemented on 06 November 2019', '25': 'Version Implemented on 06 May 2020', '26': 'Version Implemented on 16 November 2020', '27': 'Version Implemented on 16 June 2021', '28': 'Version Implemented on 15 November 2021', '29': 'Version Implemented on 15 May 2022', '30': 'Version Implemented on 15 November 2022', '31': 'Version Implemented on 15 June 2023', '32': 'Version Implemented on 30 November 2023', '33': 'Pre-operational to be implemented by next amendment', '34-254': 'Future Version', '255': 'Missing"'}"}, {"fullname": "grib2io.tables.section1.table_1_1", "modulename": "grib2io.tables.section1", "qualname": "table_1_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Local tables not used. Only table entries and templates from the current master table are valid.', '1-254': 'Number of local table version used.', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section1.table_1_2", "modulename": "grib2io.tables.section1", "qualname": "table_1_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Analysis', '1': 'Start of Forecast', '2': 'Verifying Time of Forecast', '3': 'Observation Time', '4': 'Local Time', '5-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section1.table_1_3", "modulename": "grib2io.tables.section1", "qualname": "table_1_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Operational Products', '1': 'Operational Test Products', '2': 'Research Products', '3': 'Re-Analysis Products', '4': 'THORPEX Interactive Grand Global Ensemble (TIGGE)', '5': 'THORPEX Interactive Grand Global Ensemble (TIGGE) test', '6': 'S2S Operational Products', '7': 'S2S Test Products', '8': 'Uncertainties in ensembles of regional reanalysis project (UERRA)', '9': 'Uncertainties in ensembles of regional reanalysis project (UERRA) Test', '10': 'Copernicus Regional Reanalysis', '11': 'Copernicus Regional Reanalysis Test', '12': 'Destination Earth', '13': 'Destination Earth test', '12-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section1.table_1_4", "modulename": "grib2io.tables.section1", "qualname": "table_1_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Analysis Products', '1': 'Forecast Products', '2': 'Analysis and Forecast Products', '3': 'Control Forecast Products', '4': 'Perturbed Forecast Products', '5': 'Control and Perturbed Forecast Products', '6': 'Processed Satellite Observations', '7': 'Processed Radar Observations', '8': 'Event Probability', '9-191': 'Reserved', '192-254': 'Reserved for Local Use', '192': 'Experimental Products', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section1.table_1_5", "modulename": "grib2io.tables.section1", "qualname": "table_1_5", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Calendar Definition', '1': 'Paleontological Offset', '2': 'Calendar Definition and Paleontological Offset', '3-32767': 'Reserved', '32768-65534': 'Reserved for Local Use', '65535': 'Missing'}"}, {"fullname": "grib2io.tables.section1.table_1_6", "modulename": "grib2io.tables.section1", "qualname": "table_1_6", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Gregorian', '1': '360-day', '2': '365-day', '3': 'Proleptic Gregorian', '4-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section3", "modulename": "grib2io.tables.section3", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section3.table_3_0", "modulename": "grib2io.tables.section3", "qualname": "table_3_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Specified in Code Table 3.1', '1': 'Predetermined Grid Definition - Defined by Originating Center', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'A grid definition does not apply to this product.'}"}, {"fullname": "grib2io.tables.section3.table_3_1", "modulename": "grib2io.tables.section3", "qualname": "table_3_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Latitude/Longitude', '1': 'Rotated Latitude/Longitude', '2': 'Stretched Latitude/Longitude', '3': 'Rotated and Stretched Latitude/Longitude', '4': 'Variable Resolution Latitude/longitude ', '5': 'Variable Resolution Rotated Latitude/longitude ', '6-9': 'Reserved', '10': 'Mercator', '11': 'Reserved', '12': 'Transverse Mercator ', '13': 'Mercator with modelling subdomains definition ', '14-19': 'Reserved', '20': 'Polar Stereographic Projection (Can be North or South)', '21-22': 'Reserved', '23': 'Polar Stereographic with modelling subdomains definition ', '24-29': 'Reserved', '30': 'Lambert Conformal (Can be Secant, Tangent, Conical, or Bipolar)', '31': 'Albers Equal Area', '32': 'Reserved', '33': 'Lambert conformal with modelling subdomains definition ', '34-39': 'Reserved', '40': 'Gaussian Latitude/Longitude', '41': 'Rotated Gaussian Latitude/Longitude', '42': 'Stretched Gaussian Latitude/Longitude', '43': 'Rotated and Stretched Gaussian Latitude/Longitude', '44-49': 'Reserved', '50': 'Spherical Harmonic Coefficients', '51': 'Rotated Spherical Harmonic Coefficients', '52': 'Stretched Spherical Harmonic Coefficients', '53': 'Rotated and Stretched Spherical Harmonic Coefficients', '54-59': 'Reserved', '60': 'Cubed-Sphere Gnomonic ', '61': 'Spectral Mercator with modelling subdomains definition ', '62': 'Spectral Polar Stereographic with modelling subdomains definition ', '63': 'Spectral Lambert conformal with modelling subdomains definition ', '64-89': 'Reserved', '90': 'Space View Perspective or Orthographic', '91-99': 'Reserved', '100': 'Triangular Grid Based on an Icosahedron', '101': 'General Unstructured Grid (see Template 3.101)', '102-109': 'Reserved', '110': 'Equatorial Azimuthal Equidistant Projection', '111-119': 'Reserved', '120': 'Azimuth-Range Projection', '121-139': 'Reserved', '140': 'Lambert Azimuthal Equal Area Projection ', '141-149': 'Reserved', '150': 'Hierarchical Equal Area isoLatitude Pixelization grid (HEALPix)', '151-203': 'Reserved', '204': 'Curvilinear Orthogonal Grids', '205-999': 'Reserved', '1000': 'Cross Section Grid with Points Equally Spaced on the Horizontal', '1001-1099': 'Reserved', '1100': 'Hovmoller Diagram with Points Equally Spaced on the Horizontal', '1101-1199': 'Reserved', '1200': 'Time Section Grid', '1201-32767': 'Reserved', '32768-65534': 'Reserved for Local Use', '32768': 'Rotated Latitude/Longitude (Arakawa Staggeblack E-Grid)', '32769': 'Rotated Latitude/Longitude (Arakawa Non-E Staggeblack Grid)', '65535': 'Missing'}"}, {"fullname": "grib2io.tables.section3.table_3_2", "modulename": "grib2io.tables.section3", "qualname": "table_3_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Earth assumed spherical with radius = 6,367,470.0 m', '1': 'Earth assumed spherical with radius specified (in m) by data producer', '2': 'Earth assumed oblate spheriod with size as determined by IAU in 1965 (major axis = 6,378,160.0 m, minor axis = 6,356,775.0 m, f = 1/297.0)', '3': 'Earth assumed oblate spheriod with major and minor axes specified (in km) by data producer', '4': 'Earth assumed oblate spheriod as defined in IAG-GRS80 model (major axis = 6,378,137.0 m, minor axis = 6,356,752.314 m, f = 1/298.257222101)', '5': 'Earth assumed represented by WGS84 (as used by ICAO since 1998) (Uses IAG-GRS80 as a basis)', '6': 'Earth assumed spherical with radius = 6,371,229.0 m', '7': 'Earth assumed oblate spheroid with major and minor axes specified (in m) by data producer', '8': 'Earth model assumed spherical with radius 6,371,200 m, but the horizontal datum of the resulting Latitude/Longitude field is the WGS84 reference frame', '9': 'Earth represented by the OSGB 1936 Datum, using the Airy_1830 Spheroid, the Greenwich meridian as 0 Longitude, the Newlyn datum as mean sea level, 0 height.', '10': 'Earth model assumed WGS84 with corrected geomagnetic coordinates (latitude and longitude) defined by Gustafsson et al., 1992".', '11': 'Sun assumed spherical with radius = 695 990 000 m (Allen, C.W., Astrophysical Quantities, 3rd ed.; Athlone: London, 1976) and Stonyhurst latitude and longitude system with origin at the intersection of the solar central meridian (as seen from Earth) and the solar equator (Thompson, W., Coordinate systems for solar image data, Astron. Astrophys. 2006, 449, 791-803)', '12-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section3.table_3_11", "modulename": "grib2io.tables.section3", "qualname": "table_3_11", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'There is no appended list', '1': 'Numbers define number of points corresponding to full coordinate circles (i.e. parallels). Coordinate values on each circle are multiple of the circle mesh, and extreme coordinate values given in grid definition may not be reached in all rows.', '2': 'Numbers define number of points corresponding to coordinate lines delimited by extreme coordinate values given in grid definition which are present in each row.', '3': 'Numbers define the actual latitudes for each row in the grid. The list of numbers are integer values of the valid latitudes in microdegrees (scale by 106) or in unit equal to the ratio of the basic angle and the subdivisions number for each row, in the same order as specified in the "scanning mode flag" (bit no. 2)', '4-254': 'Reserved', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section3.table_earth_params", "modulename": "grib2io.tables.section3", "qualname": "table_earth_params", "kind": "variable", "doc": "

\n", "default_value": "{'0': {'shape': 'spherical', 'radius': 6367470.0}, '1': {'shape': 'spherical', 'radius': None}, '2': {'shape': 'oblateSpheriod', 'major_axis': 6378160.0, 'minor_axis': 6356775.0, 'flattening': 0.003367003367003367}, '3': {'shape': 'oblateSpheriod', 'major_axis': None, 'minor_axis': None, 'flattening': None}, '4': {'shape': 'oblateSpheriod', 'major_axis': 6378137.0, 'minor_axis': 6356752.314, 'flattening': 0.003352810681182319}, '5': {'shape': 'ellipsoid', 'major_axis': 6378137.0, 'minor_axis': 6356752.3142, 'flattening': 0.003352810681182319}, '6': {'shape': 'spherical', 'radius': 6371229.0}, '7': {'shape': 'oblateSpheriod', 'major_axis': None, 'minor_axis': None, 'flattening': None}, '8': {'shape': 'spherical', 'radius': 6371200.0}, '9': {'shape': 'unknown', 'radius': None}, '10': {'shape': 'unknown', 'radius': None}, '11': {'shape': 'unknown', 'radius': None}, '12': {'shape': 'unknown', 'radius': None}, '13': {'shape': 'unknown', 'radius': None}, '14': {'shape': 'unknown', 'radius': None}, '15': {'shape': 'unknown', 'radius': None}, '16': {'shape': 'unknown', 'radius': None}, '17': {'shape': 'unknown', 'radius': None}, '18': {'shape': 'unknown', 'radius': None}, '19': {'shape': 'unknown', 'radius': None}, '20': {'shape': 'unknown', 'radius': None}, '21': {'shape': 'unknown', 'radius': None}, '22': {'shape': 'unknown', 'radius': None}, '23': {'shape': 'unknown', 'radius': None}, '24': {'shape': 'unknown', 'radius': None}, '25': {'shape': 'unknown', 'radius': None}, '26': {'shape': 'unknown', 'radius': None}, '27': {'shape': 'unknown', 'radius': None}, '28': {'shape': 'unknown', 'radius': None}, '29': {'shape': 'unknown', 'radius': None}, '30': {'shape': 'unknown', 'radius': None}, '31': {'shape': 'unknown', 'radius': None}, '32': {'shape': 'unknown', 'radius': None}, '33': {'shape': 'unknown', 'radius': None}, '34': {'shape': 'unknown', 'radius': None}, '35': {'shape': 'unknown', 'radius': None}, '36': {'shape': 'unknown', 'radius': None}, '37': {'shape': 'unknown', 'radius': None}, '38': {'shape': 'unknown', 'radius': None}, '39': {'shape': 'unknown', 'radius': None}, '40': {'shape': 'unknown', 'radius': None}, '41': {'shape': 'unknown', 'radius': None}, '42': {'shape': 'unknown', 'radius': None}, '43': {'shape': 'unknown', 'radius': None}, '44': {'shape': 'unknown', 'radius': None}, '45': {'shape': 'unknown', 'radius': None}, '46': {'shape': 'unknown', 'radius': None}, '47': {'shape': 'unknown', 'radius': None}, '48': {'shape': 'unknown', 'radius': None}, '49': {'shape': 'unknown', 'radius': None}, '50': {'shape': 'unknown', 'radius': None}, '51': {'shape': 'unknown', 'radius': None}, '52': {'shape': 'unknown', 'radius': None}, '53': {'shape': 'unknown', 'radius': None}, '54': {'shape': 'unknown', 'radius': None}, '55': {'shape': 'unknown', 'radius': None}, '56': {'shape': 'unknown', 'radius': None}, '57': {'shape': 'unknown', 'radius': None}, '58': {'shape': 'unknown', 'radius': None}, '59': {'shape': 'unknown', 'radius': None}, '60': {'shape': 'unknown', 'radius': None}, '61': {'shape': 'unknown', 'radius': None}, '62': {'shape': 'unknown', 'radius': None}, '63': {'shape': 'unknown', 'radius': None}, '64': {'shape': 'unknown', 'radius': None}, '65': {'shape': 'unknown', 'radius': None}, '66': {'shape': 'unknown', 'radius': None}, '67': {'shape': 'unknown', 'radius': None}, '68': {'shape': 'unknown', 'radius': None}, '69': {'shape': 'unknown', 'radius': None}, '70': {'shape': 'unknown', 'radius': None}, '71': {'shape': 'unknown', 'radius': None}, '72': {'shape': 'unknown', 'radius': None}, '73': {'shape': 'unknown', 'radius': None}, '74': {'shape': 'unknown', 'radius': None}, '75': {'shape': 'unknown', 'radius': None}, '76': {'shape': 'unknown', 'radius': None}, '77': {'shape': 'unknown', 'radius': None}, '78': {'shape': 'unknown', 'radius': None}, '79': {'shape': 'unknown', 'radius': None}, '80': {'shape': 'unknown', 'radius': None}, '81': {'shape': 'unknown', 'radius': None}, '82': {'shape': 'unknown', 'radius': None}, '83': {'shape': 'unknown', 'radius': None}, '84': {'shape': 'unknown', 'radius': None}, '85': {'shape': 'unknown', 'radius': None}, '86': {'shape': 'unknown', 'radius': None}, '87': {'shape': 'unknown', 'radius': None}, '88': {'shape': 'unknown', 'radius': None}, '89': {'shape': 'unknown', 'radius': None}, '90': {'shape': 'unknown', 'radius': None}, '91': {'shape': 'unknown', 'radius': None}, '92': {'shape': 'unknown', 'radius': None}, '93': {'shape': 'unknown', 'radius': None}, '94': {'shape': 'unknown', 'radius': None}, '95': {'shape': 'unknown', 'radius': None}, '96': {'shape': 'unknown', 'radius': None}, '97': {'shape': 'unknown', 'radius': None}, '98': {'shape': 'unknown', 'radius': None}, '99': {'shape': 'unknown', 'radius': None}, '100': {'shape': 'unknown', 'radius': None}, '101': {'shape': 'unknown', 'radius': None}, '102': {'shape': 'unknown', 'radius': None}, '103': {'shape': 'unknown', 'radius': None}, '104': {'shape': 'unknown', 'radius': None}, '105': {'shape': 'unknown', 'radius': None}, '106': {'shape': 'unknown', 'radius': None}, '107': {'shape': 'unknown', 'radius': None}, '108': {'shape': 'unknown', 'radius': None}, '109': {'shape': 'unknown', 'radius': None}, '110': {'shape': 'unknown', 'radius': None}, '111': {'shape': 'unknown', 'radius': None}, '112': {'shape': 'unknown', 'radius': None}, '113': {'shape': 'unknown', 'radius': None}, '114': {'shape': 'unknown', 'radius': None}, '115': {'shape': 'unknown', 'radius': None}, '116': {'shape': 'unknown', 'radius': None}, '117': {'shape': 'unknown', 'radius': None}, '118': {'shape': 'unknown', 'radius': None}, '119': {'shape': 'unknown', 'radius': None}, '120': {'shape': 'unknown', 'radius': None}, '121': {'shape': 'unknown', 'radius': None}, '122': {'shape': 'unknown', 'radius': None}, '123': {'shape': 'unknown', 'radius': None}, '124': {'shape': 'unknown', 'radius': None}, '125': {'shape': 'unknown', 'radius': None}, '126': {'shape': 'unknown', 'radius': None}, '127': {'shape': 'unknown', 'radius': None}, '128': {'shape': 'unknown', 'radius': None}, '129': {'shape': 'unknown', 'radius': None}, '130': {'shape': 'unknown', 'radius': None}, '131': {'shape': 'unknown', 'radius': None}, '132': {'shape': 'unknown', 'radius': None}, '133': {'shape': 'unknown', 'radius': None}, '134': {'shape': 'unknown', 'radius': None}, '135': {'shape': 'unknown', 'radius': None}, '136': {'shape': 'unknown', 'radius': None}, '137': {'shape': 'unknown', 'radius': None}, '138': {'shape': 'unknown', 'radius': None}, '139': {'shape': 'unknown', 'radius': None}, '140': {'shape': 'unknown', 'radius': None}, '141': {'shape': 'unknown', 'radius': None}, '142': {'shape': 'unknown', 'radius': None}, '143': {'shape': 'unknown', 'radius': None}, '144': {'shape': 'unknown', 'radius': None}, '145': {'shape': 'unknown', 'radius': None}, '146': {'shape': 'unknown', 'radius': None}, '147': {'shape': 'unknown', 'radius': None}, '148': {'shape': 'unknown', 'radius': None}, '149': {'shape': 'unknown', 'radius': None}, '150': {'shape': 'unknown', 'radius': None}, '151': {'shape': 'unknown', 'radius': None}, '152': {'shape': 'unknown', 'radius': None}, '153': {'shape': 'unknown', 'radius': None}, '154': {'shape': 'unknown', 'radius': None}, '155': {'shape': 'unknown', 'radius': None}, '156': {'shape': 'unknown', 'radius': None}, '157': {'shape': 'unknown', 'radius': None}, '158': {'shape': 'unknown', 'radius': None}, '159': {'shape': 'unknown', 'radius': None}, '160': {'shape': 'unknown', 'radius': None}, '161': {'shape': 'unknown', 'radius': None}, '162': {'shape': 'unknown', 'radius': None}, '163': {'shape': 'unknown', 'radius': None}, '164': {'shape': 'unknown', 'radius': None}, '165': {'shape': 'unknown', 'radius': None}, '166': {'shape': 'unknown', 'radius': None}, '167': {'shape': 'unknown', 'radius': None}, '168': {'shape': 'unknown', 'radius': None}, '169': {'shape': 'unknown', 'radius': None}, '170': {'shape': 'unknown', 'radius': None}, '171': {'shape': 'unknown', 'radius': None}, '172': {'shape': 'unknown', 'radius': None}, '173': {'shape': 'unknown', 'radius': None}, '174': {'shape': 'unknown', 'radius': None}, '175': {'shape': 'unknown', 'radius': None}, '176': {'shape': 'unknown', 'radius': None}, '177': {'shape': 'unknown', 'radius': None}, '178': {'shape': 'unknown', 'radius': None}, '179': {'shape': 'unknown', 'radius': None}, '180': {'shape': 'unknown', 'radius': None}, '181': {'shape': 'unknown', 'radius': None}, '182': {'shape': 'unknown', 'radius': None}, '183': {'shape': 'unknown', 'radius': None}, '184': {'shape': 'unknown', 'radius': None}, '185': {'shape': 'unknown', 'radius': None}, '186': {'shape': 'unknown', 'radius': None}, '187': {'shape': 'unknown', 'radius': None}, '188': {'shape': 'unknown', 'radius': None}, '189': {'shape': 'unknown', 'radius': None}, '190': {'shape': 'unknown', 'radius': None}, '191': {'shape': 'unknown', 'radius': None}, '192': {'shape': 'unknown', 'radius': None}, '193': {'shape': 'unknown', 'radius': None}, '194': {'shape': 'unknown', 'radius': None}, '195': {'shape': 'unknown', 'radius': None}, '196': {'shape': 'unknown', 'radius': None}, '197': {'shape': 'unknown', 'radius': None}, '198': {'shape': 'unknown', 'radius': None}, '199': {'shape': 'unknown', 'radius': None}, '200': {'shape': 'unknown', 'radius': None}, '201': {'shape': 'unknown', 'radius': None}, '202': {'shape': 'unknown', 'radius': None}, '203': {'shape': 'unknown', 'radius': None}, '204': {'shape': 'unknown', 'radius': None}, '205': {'shape': 'unknown', 'radius': None}, '206': {'shape': 'unknown', 'radius': None}, '207': {'shape': 'unknown', 'radius': None}, '208': {'shape': 'unknown', 'radius': None}, '209': {'shape': 'unknown', 'radius': None}, '210': {'shape': 'unknown', 'radius': None}, '211': {'shape': 'unknown', 'radius': None}, '212': {'shape': 'unknown', 'radius': None}, '213': {'shape': 'unknown', 'radius': None}, '214': {'shape': 'unknown', 'radius': None}, '215': {'shape': 'unknown', 'radius': None}, '216': {'shape': 'unknown', 'radius': None}, '217': {'shape': 'unknown', 'radius': None}, '218': {'shape': 'unknown', 'radius': None}, '219': {'shape': 'unknown', 'radius': None}, '220': {'shape': 'unknown', 'radius': None}, '221': {'shape': 'unknown', 'radius': None}, '222': {'shape': 'unknown', 'radius': None}, '223': {'shape': 'unknown', 'radius': None}, '224': {'shape': 'unknown', 'radius': None}, '225': {'shape': 'unknown', 'radius': None}, '226': {'shape': 'unknown', 'radius': None}, '227': {'shape': 'unknown', 'radius': None}, '228': {'shape': 'unknown', 'radius': None}, '229': {'shape': 'unknown', 'radius': None}, '230': {'shape': 'unknown', 'radius': None}, '231': {'shape': 'unknown', 'radius': None}, '232': {'shape': 'unknown', 'radius': None}, '233': {'shape': 'unknown', 'radius': None}, '234': {'shape': 'unknown', 'radius': None}, '235': {'shape': 'unknown', 'radius': None}, '236': {'shape': 'unknown', 'radius': None}, '237': {'shape': 'unknown', 'radius': None}, '238': {'shape': 'unknown', 'radius': None}, '239': {'shape': 'unknown', 'radius': None}, '240': {'shape': 'unknown', 'radius': None}, '241': {'shape': 'unknown', 'radius': None}, '242': {'shape': 'unknown', 'radius': None}, '243': {'shape': 'unknown', 'radius': None}, '244': {'shape': 'unknown', 'radius': None}, '245': {'shape': 'unknown', 'radius': None}, '246': {'shape': 'unknown', 'radius': None}, '247': {'shape': 'unknown', 'radius': None}, '248': {'shape': 'unknown', 'radius': None}, '249': {'shape': 'unknown', 'radius': None}, '250': {'shape': 'unknown', 'radius': None}, '251': {'shape': 'unknown', 'radius': None}, '252': {'shape': 'unknown', 'radius': None}, '253': {'shape': 'unknown', 'radius': None}, '254': {'shape': 'unknown', 'radius': None}, '255': {'shape': 'unknown', 'radius': None}}"}, {"fullname": "grib2io.tables.section4", "modulename": "grib2io.tables.section4", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section4.table_4_1_0", "modulename": "grib2io.tables.section4", "qualname": "table_4_1_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Temperature', '1': 'Moisture', '2': 'Momentum', '3': 'Mass', '4': 'Short-wave radiation', '5': 'Long-wave radiation', '6': 'Cloud', '7': 'Thermodynamic Stability indicies', '8': 'Kinematic Stability indicies', '9': 'Temperature Probabilities*', '10': 'Moisture Probabilities*', '11': 'Momentum Probabilities*', '12': 'Mass Probabilities*', '13': 'Aerosols', '14': 'Trace gases', '15': 'Radar', '16': 'Forecast Radar Imagery', '17': 'Electrodynamics', '18': 'Nuclear/radiology', '19': 'Physical atmospheric properties', '20': 'Atmospheric chemical Constituents', '21': 'Thermodynamic Properties', '22-189': 'Reserved', '190': 'CCITT IA5 string', '191': 'Miscellaneous', '192-254': 'Reserved for Local Use', '192': 'Covariance', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_1_1", "modulename": "grib2io.tables.section4", "qualname": "table_4_1_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Hydrology basic products', '1': 'Hydrology probabilities', '2': 'Inland water and sediment properties', '3-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_1_2", "modulename": "grib2io.tables.section4", "qualname": "table_4_1_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Vegetation/Biomass', '1': 'Agricultural/Aquacultural Special Products', '2': 'Transportation-related Products', '3': 'Soil Products', '4': 'Fire Weather Products', '5': 'Land Surface Products', '6': 'Urban areas', '7-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_1_3", "modulename": "grib2io.tables.section4", "qualname": "table_4_1_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Image format products', '1': 'Quantitative products', '2': 'Cloud Properties', '3': 'Flight Rules Conditions', '4': 'Volcanic Ash', '5': 'Sea-surface Temperature', '6': 'Solar Radiation', '7-191': 'Reserved', '192-254': 'Reserved for Local Use', '192': 'Forecast Satellite Imagery', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_1_4", "modulename": "grib2io.tables.section4", "qualname": "table_4_1_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Temperature', '1': 'Momentum', '2': 'Charged Particle Mass and Number', '3': 'Electric and Magnetic Fields', '4': 'Energetic Particles', '5': 'Waves', '6': 'Solar Electromagnetic Emissions', '7': 'Terrestrial Electromagnetic Emissions', '8': 'Imagery', '9': 'Ion-Neutral Coupling', '10': 'Space Weather Indices', '11-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_1_10", "modulename": "grib2io.tables.section4", "qualname": "table_4_1_10", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Waves', '1': 'Currents', '2': 'Ice', '3': 'Surface Properties', '4': 'Sub-surface Properties', '5-190': 'Reserved', '191': 'Miscellaneous', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_1_20", "modulename": "grib2io.tables.section4", "qualname": "table_4_1_20", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Health Indicators', '1': 'Epidemiology', '2': 'Socioeconomic indicators', '3': 'Renewable energy sector', '4-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_0", "modulename": "grib2io.tables.section4", "qualname": "table_4_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time. (see Template 4.0)', '1': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time. (see Template 4.1)', '2': 'Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time. (see Template 4.2)', '3': 'Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time. (see Template 4.3)', '4': 'Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time. (see Template 4.4)', '5': 'Probability forecasts at a horizontal level or in a horizontal layer at a point in time. (see Template 4.5)', '6': 'Percentile forecasts at a horizontal level or in a horizontal layer at a point in time. (see Template 4.6)', '7': 'Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time. (see Template 4.7)', '8': 'Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.8)', '9': 'Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.9)', '10': 'Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.10)', '11': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. (see Template 4.11)', '12': 'Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. (see Template 4.12)', '13': 'Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. (see Template 4.13)', '14': 'Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. (see Template 4.14)', '15': 'Average, accumulation, extreme values or other statistically-processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time. (see Template 4.15)', '16-19': 'Reserved', '20': 'Radar product (see Template 4.20)', '21-29': 'Reserved', '30': 'Satellite product (see Template 4.30) NOTE: This template is deprecated. Template 4.31 should be used instead.', '31': 'Satellite product (see Template 4.31)', '32': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulate (synthetic) satellite data (see Template 4.32)', '33': 'Individual Ensemble Forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data (see Template 4.33)', '34': 'Individual Ensemble Forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data(see Template 4.34)', '35': 'Satellite product with or without associated quality values (see Template 4.35)', '36-39': 'Reserved', '40': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents. (see Template 4.40)', '41': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents. (see Template 4.41)', '42': 'Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents. (see Template 4.42)', '43': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval for atmospheric chemical constituents. (see Template 4.43)', '44': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol. (see Template 4.44)', '45': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval for aerosol. (see Template 4.45)', '46': 'Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol. (see Template 4.46)', '47': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval for aerosol. (see Template 4.47)', '48': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol. (see Template 4.48)', '49': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol. (see Template 4.49)', '50': 'Reserved', '51': 'Categorical forecast at a horizontal level or in a horizontal layer at a point in time. (see Template 4.51)', '52': 'Reserved', '53': 'Partitioned parameters at a horizontal level or horizontal layer at a point in time. (see Template 4.53)', '54': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters. (see Template 4.54)', '55': 'Spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time (see Template 4.55)', '56': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters (DEPRECATED) (see Template 4.56)', '57': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function (see Template 4.57)', '58': 'Individual Ensemble Forecast, Control and Perturbed, at a horizontal level or in a horizontal layer at a point in time interval for Atmospheric Chemical Constituents based on a distribution function (see Template 4.58)', '59': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters (corrected version of template 4.56 - See Template 4.59)', '60': 'Individual Ensemble Reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time. (see Template 4.60)', '61': 'Individual Ensemble Reforecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval (see Template 4.61)', '62': 'Average, Accumulation and/or Extreme values or other Statistically-processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time (see Template 4.62)', '63': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for spatio-temporal changing tiles (see Template 4.63)', '64-66': 'Reserved', '67': 'Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents based on a distribution function (see Template 4.67)', '68': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents based on a distribution function. (see Template 4.68)', '69': 'Reserved', '70': 'Post-processing analysis or forecast at a horizontal level or in a horizontal layer at a point in time. (see Template 4.70)', '71': 'Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time. (see Template 4.71)', '72': 'Post-processing average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.72)', '73': 'Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. (see Template 4.73)', '74-75': 'Reserved', '76': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents with source or sink. (see Template 4.76)', '77': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents with source or sink. (see Template 4.77)', '78': 'Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents with source or sink. (see Template 4.78)', '79': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents with source or sink. (see Template 4.79)', '80': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol with source or sink. (see Template 4.80)', '81': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol with source or sink. (see Template 4.81)', '82': 'Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol with source or sink. (see Template 4.82)', '83': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol with source or sink. (see Template 4.83)', '84': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol with source or sink. (see Template 4.84)', '85': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol. (see Template 4.85)', '86': 'Quantile forecasts at a horizontal level or in a horizontal layer at a point in time. (see Template 4.86)', '87': 'Quantile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.87)', '88': 'Analysis or forecast at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.88)', '89-90': 'Reserved', '91': 'Categorical forecast at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.91)', '92': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.92)', '93': 'Post-processing analysis or forecast at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.93)', '94': 'Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.94)', '95': 'Average, accumulation, extreme values or other statiscally processed value at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.95)', '96': 'Average, accumulation, extreme values or other statistically processed values of an individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.96)', '97': 'Average, accumulation, extreme values or other statistically processed values of post-processing analysis or forecast at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.97)', '98': 'Average, accumulation, extreme values or other statistically processed values of a post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.98)', '99': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for wave 2D spectra with explicit list of frequencies and directions (see Template 4.99)', '100': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for wave 2D spectra with explicit list of frequencies and directions (see Template 4.100)', '101': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for wave 2D spectra with frequencies and directions defined by formulae (see Template 4.101)', '102': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for wave 2D spectra with frequencies and directions defined by formulae (see Template 4.102)', '103': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for waves selected by period range (see Template 4.103)', '104': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for waves selected by period range (see Template 4.104)', '105': 'Anomalies, significance and other derived products from an analysis or forecast in relation to a reference period at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval (see Template 4.105)', '106': 'Anomalies, significance and other derived products from an individual ensemble forecast, control and perturbed in relation to a reference period at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval (see Template 4.106)', '107': 'Anomalies, significance and other derived products from derived forecasts based on all ensemble members in relation to a reference period at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval (see Template 4.107)', '108': 'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for generic optical products (see Template 4.108)', '109': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for generic optical products (see Template 4.109)', '110': 'Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for generic optical products (see Template 4.110)', '111': 'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for generic optical products (see Template 4.111)', '112': 'Anomalies, significance and other derived products as probability forecasts in relation to a reference period at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval (see Template 4.112)', '113-253': 'Reserved', '254': 'CCITT IA5 character string (see Template 4.254)', '255-999': 'Reserved', '1000': 'Cross-section of analysis and forecast at a point in time. (see Template 4.1000)', '1001': 'Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time. (see Template 4.1001)', '1002': 'Cross-section of analysis and forecast, averaged or otherwise statistically-processed over latitude or longitude. (see Template 4.1002)', '1003-1099': 'Reserved', '1100': 'Hovmoller-type grid with no averaging or other statistical processing (see Template 4.1100)', '1101': 'Hovmoller-type grid with averaging or other statistical processing (see Template 4.1101)', '1102-32767': 'Reserved', '32768-65534': 'Reserved for Local Use', '65535': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_3", "modulename": "grib2io.tables.section4", "qualname": "table_4_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Analysis', '1': 'Initialization', '2': 'Forecast', '3': 'Bias Corrected Forecast', '4': 'Ensemble Forecast', '5': 'Probability Forecast', '6': 'Forecast Error', '7': 'Analysis Error', '8': 'Observation', '9': 'Climatological', '10': 'Probability-Weighted Forecast', '11': 'Bias-Corrected Ensemble Forecast', '12': 'Post-processed Analysis (See Note)', '13': 'Post-processed Forecast (See Note)', '14': 'Nowcast', '15': 'Hindcast', '16': 'Physical Retrieval', '17': 'Regression Analysis', '18': 'Difference Between Two Forecasts', '19': 'First guess', '20': 'Analysis increment', '21': 'Initialization increment for analysis', '22-191': 'Reserved', '192-254': 'Reserved for Local Use', '192': 'Forecast Confidence Indicator', '193': 'Probability-matched Mean', '194': 'Neighborhood Probability', '195': 'Bias-Corrected and Downscaled Ensemble Forecast', '196': 'Perturbed Analysis for Ensemble Initialization', '197': 'Ensemble Agreement Scale Probability', '198': 'Post-Processed Deterministic-Expert-Weighted Forecast', '199': 'Ensemble Forecast Based on Counting', '200': 'Local Probability-matched Mean', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_4", "modulename": "grib2io.tables.section4", "qualname": "table_4_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Minute', '1': 'Hour', '2': 'Day', '3': 'Month', '4': 'Year', '5': 'Decade (10 Years)', '6': 'Normal (30 Years)', '7': 'Century (100 Years)', '8': 'Reserved', '9': 'Reserved', '10': '3 Hours', '11': '6 Hours', '12': '12 Hours', '13': 'Second', '14-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_5", "modulename": "grib2io.tables.section4", "qualname": "table_4_5", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Reserved', 'unknown'], '1': ['Ground or Water Surface', 'unknown'], '2': ['Cloud Base Level', 'unknown'], '3': ['Level of Cloud Tops', 'unknown'], '4': ['Level of 0o C Isotherm', 'unknown'], '5': ['Level of Adiabatic Condensation Lifted from the Surface', 'unknown'], '6': ['Maximum Wind Level', 'unknown'], '7': ['Tropopause', 'unknown'], '8': ['Nominal Top of the Atmosphere', 'unknown'], '9': ['Sea Bottom', 'unknown'], '10': ['Entire Atmosphere', 'unknown'], '11': ['Cumulonimbus Base (CB)', 'm'], '12': ['Cumulonimbus Top (CT)', 'm'], '13': ['Lowest level where vertically integrated cloud cover exceeds the specified percentage (cloud base for a given percentage cloud cover)', '%'], '14': ['Level of free convection (LFC)', 'unknown'], '15': ['Convection condensation level (CCL)', 'unknown'], '16': ['Level of neutral buoyancy or equilibrium (LNB)', 'unknown'], '17': ['Departure level of the most unstable parcel of air (MUDL)', 'unknown'], '18': ['Departure level of a mixed layer parcel of air with specified layer depth', 'Pa'], '19': ['Reserved', 'unknown'], '20': ['Isothermal Level', 'K'], '21': ['Lowest level where mass density exceeds the specified value (base for a given threshold of mass density)', 'kg m-3'], '22': ['Highest level where mass density exceeds the specified value (top for a given threshold of mass density)', 'kg m-3'], '23': ['Lowest level where air concentration exceeds the specified value (base for a given threshold of air concentration', 'Bq m-3'], '24': ['Highest level where air concentration exceeds the specified value (top for a given threshold of air concentration)', 'Bq m-3'], '25': ['Highest level where radar reflectivity exceeds the specified value (echo top for a given threshold of reflectivity)', 'dBZ'], '26': ['Convective cloud layer base', 'm'], '27': ['Convective cloud layer top', 'm'], '28-29': ['Reserved', 'unknown'], '30': ['Specified radius from the centre of the Sun', 'm'], '31': ['Solar photosphere', 'unknown'], '32': ['Ionospheric D-region level', 'unknown'], '33': ['Ionospheric E-region level', 'unknown'], '34': ['Ionospheric F1-region level', 'unknown'], '35': ['Ionospheric F2-region level', 'unknown'], '36-99': ['Reserved', 'unknown'], '100': ['Isobaric Surface', 'Pa'], '101': ['Mean Sea Level', 'unknown'], '102': ['Specific Altitude Above Mean Sea Level', 'm'], '103': ['Specified Height Level Above Ground', 'm'], '104': ['Sigma Level', 'unknown'], '105': ['Hybrid Level', 'unknown'], '106': ['Depth Below Land Surface', 'm'], '107': ['Isentropic (theta) Level', 'K'], '108': ['Level at Specified Pressure Difference from Ground to Level', 'Pa'], '109': ['Potential Vorticity Surface', 'K m2 kg-1 s-1'], '110': ['Reserved', 'unknown'], '111': ['Eta Level', 'unknown'], '112': ['Reserved', 'unknown'], '113': ['Logarithmic Hybrid Level', 'unknown'], '114': ['Snow Level', 'Numeric'], '115': ['Sigma height level', 'unknown'], '116': ['Reserved', 'unknown'], '117': ['Mixed Layer Depth', 'm'], '118': ['Hybrid Height Level', 'unknown'], '119': ['Hybrid Pressure Level', 'unknown'], '120-149': ['Reserved', 'unknown'], '150': ['Generalized Vertical Height Coordinate', 'unknown'], '151': ['Soil level', 'Numeric'], '152': ['Sea-ice level,(see Note 8)', 'Numeric'], '153-159': ['Reserved', 'unknown'], '160': ['Depth Below Sea Level', 'm'], '161': ['Depth Below Water Surface', 'm'], '162': ['Lake or River Bottom', 'unknown'], '163': ['Bottom Of Sediment Layer', 'unknown'], '164': ['Bottom Of Thermally Active Sediment Layer', 'unknown'], '165': ['Bottom Of Sediment Layer Penetrated By Thermal Wave', 'unknown'], '166': ['Mixing Layer', 'unknown'], '167': ['Bottom of Root Zone', 'unknown'], '168': ['Ocean Model Level', 'Numeric'], '169': ['Ocean level defined by water density (sigma-theta) difference from near-surface to level', 'kg m-3'], '170': ['Ocean level defined by water potential temperature difference from near-surface to level', 'K'], '171': ['Ocean level defined by vertical eddy diffusivity difference from near-surface to level', 'm2 s-1'], '172': ['Ocean level defined by water density (rho) difference from near-surface to level (*Tentatively accepted)', 'kg m-3'], '173': ['Top of Snow Over Sea Ice on Sea, Lake or River', 'unknown'], '174': ['Top Surface of Ice on Sea, Lake or River', 'unknown'], '175': ['Top Surface of Ice, under Snow, on Sea, Lake or River', 'unknown'], '176': ['Bottom Surface (underside) Ice on Sea, Lake or River', 'unknown'], '177': ['Deep Soil (of indefinite depth)', 'unknown'], '178': ['Reserved', 'unknown'], '179': ['Top Surface of Glacier Ice and Inland Ice', 'unknown'], '180': ['Deep Inland or Glacier Ice (of indefinite depth)', 'unknown'], '181': ['Grid Tile Land Fraction as a Model Surface', 'unknown'], '182': ['Grid Tile Water Fraction as a Model Surface', 'unknown'], '183': ['Grid Tile Ice Fraction on Sea, Lake or River as a Model Surface', 'unknown'], '184': ['Grid Tile Glacier Ice and Inland Ice Fraction as a Model Surface', 'unknown'], '185': ['Roof Level', 'unknown'], '186': ['Wall level', 'unknown'], '187': ['Road Level', 'unknown'], '188': ['Melt pond Top Surface', 'unknown'], '189': ['Melt Pond Bottom Surface', 'unknown'], '190-191': ['Reserved', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown'], '200': ['Entire atmosphere (considered as a single layer)', 'unknown'], '201': ['Entire ocean (considered as a single layer)', 'unknown'], '204': ['Highest tropospheric freezing level', 'unknown'], '206': ['Grid scale cloud bottom level', 'unknown'], '207': ['Grid scale cloud top level', 'unknown'], '209': ['Boundary layer cloud bottom level', 'unknown'], '210': ['Boundary layer cloud top level', 'unknown'], '211': ['Boundary layer cloud layer', 'unknown'], '212': ['Low cloud bottom level', 'unknown'], '213': ['Low cloud top level', 'unknown'], '214': ['Low cloud layer', 'unknown'], '215': ['Cloud ceiling', 'unknown'], '216': ['Effective Layer Top Level', 'm'], '217': ['Effective Layer Bottom Level', 'm'], '218': ['Effective Layer', 'm'], '220': ['Planetary Boundary Layer', 'unknown'], '221': ['Layer Between Two Hybrid Levels', 'unknown'], '222': ['Middle cloud bottom level', 'unknown'], '223': ['Middle cloud top level', 'unknown'], '224': ['Middle cloud layer', 'unknown'], '232': ['High cloud bottom level', 'unknown'], '233': ['High cloud top level', 'unknown'], '234': ['High cloud layer', 'unknown'], '235': ['Ocean Isotherm Level (1/10 \u00b0 C)', 'unknown'], '236': ['Layer between two depths below ocean surface', 'unknown'], '237': ['Bottom of Ocean Mixed Layer (m)', 'unknown'], '238': ['Bottom of Ocean Isothermal Layer (m)', 'unknown'], '239': ['Layer Ocean Surface and 26C Ocean Isothermal Level', 'unknown'], '240': ['Ocean Mixed Layer', 'unknown'], '241': ['Ordered Sequence of Data', 'unknown'], '242': ['Convective cloud bottom level', 'unknown'], '243': ['Convective cloud top level', 'unknown'], '244': ['Convective cloud layer', 'unknown'], '245': ['Lowest level of the wet bulb zero', 'unknown'], '246': ['Maximum equivalent potential temperature level', 'unknown'], '247': ['Equilibrium level', 'unknown'], '248': ['Shallow convective cloud bottom level', 'unknown'], '249': ['Shallow convective cloud top level', 'unknown'], '251': ['Deep convective cloud bottom level', 'unknown'], '252': ['Deep convective cloud top level', 'unknown'], '253': ['Lowest bottom level of supercooled liquid water layer', 'unknown'], '254': ['Highest top level of supercooled liquid water layer', 'unknown'], '255': ['Missing', 'unknown']}"}, {"fullname": "grib2io.tables.section4.table_4_6", "modulename": "grib2io.tables.section4", "qualname": "table_4_6", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Unperturbed High-Resolution Control Forecast', '1': 'Unperturbed Low-Resolution Control Forecast', '2': 'Negatively Perturbed Forecast', '3': 'Positively Perturbed Forecast', '4': 'Multi-Model Forecast', '5-191': 'Reserved', '192-254': 'Reserved for Local Use', '192': 'Perturbed Ensemble Member', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_7", "modulename": "grib2io.tables.section4", "qualname": "table_4_7", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Unweighted Mean of All Members', '1': 'Weighted Mean of All Members', '2': 'Standard Deviation with respect to Cluster Mean', '3': 'Standard Deviation with respect to Cluster Mean, Normalized', '4': 'Spread of All Members', '5': 'Large Anomaly Index of All Members', '6': 'Unweighted Mean of the Cluster Members', '7': 'Interquartile Range (Range between the 25th and 75th quantile)', '8': 'Minimum Of All Ensemble Members', '9': 'Maximum Of All Ensemble Members', '10-191': 'Reserved', '192-254': 'Reserved for Local Use', '192': 'Unweighted Mode of All Members', '193': 'Percentile value (10%) of All Members', '194': 'Percentile value (50%) of All Members', '195': 'Percentile value (90%) of All Members', '196': 'Statistically decided weights for each ensemble member', '197': 'Climate Percentile (percentile values from climate distribution)', '198': 'Deviation of Ensemble Mean from Daily Climatology', '199': 'Extreme Forecast Index', '200': 'Equally Weighted Mean', '201': 'Percentile value (5%) of All Members', '202': 'Percentile value (25%) of All Members', '203': 'Percentile value (75%) of All Members', '204': 'Percentile value (95%) of All Members', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_8", "modulename": "grib2io.tables.section4", "qualname": "table_4_8", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Anomoly Correlation', '1': 'Root Mean Square', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_9", "modulename": "grib2io.tables.section4", "qualname": "table_4_9", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Probability of event below lower limit', '1': 'Probability of event above upper limit', '2': 'Probability of event between upper and lower limits (the range includes lower limit but no the upper limit)', '3': 'Probability of event above lower limit', '4': 'Probability of event below upper limit', '5': 'Probability of event equal to lower limit', '6': 'Probability of event in above normal category (see Notes 1 and 2)', '9-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_10", "modulename": "grib2io.tables.section4", "qualname": "table_4_10", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Average', '1': 'Accumulation', '2': 'Maximum', '3': 'Minimum', '4': 'Difference (value at the end of the time range minus value at the beginning)', '5': 'Root Mean Square', '6': 'Standard Deviation', '7': 'Covariance (temporal variance)', '8': 'Difference ( value at the beginning of the time range minus value at the end)', '9': 'Ratio', '10': 'Standardized Anomaly', '11': 'Summation', '12': 'Return period', '13-99': 'Reserved', '100': 'Severity', '101': 'Mode', '102-191': 'Reserved', '192-254': 'Reserved for Local Use', '192': 'Climatological Mean Value: multiple year averages of quantities which are themselves means over some period of time (P2) less than a year. The reference time (R) indicates the date and time of the start of a period of time, given by R to R + P2, over which a mean is formed; N indicates the number of such period-means that are averaged together to form the climatological value, assuming that the N period-mean fields are separated by one year. The reference time indicates the start of the N-year climatology. N is given in octets 22-23 of the PDS. If P1 = 0 then the data averaged in the basic interval P2 are assumed to be continuous, i.e., all available data are simply averaged together. If P1 = 1 (the units of time - octet 18, code table 4 - are not relevant here) then the data averaged together in the basic interval P2 are valid only at the time (hour, minute) given in the reference time, for all the days included in the P2 period. The units of P2 are given by the contents of octet 18 and Table 4.', '193': 'Average of N forecasts (or initialized analyses); each product has forecast period of P1 (P1=0 for initialized analyses); products have reference times at intervals of P2, beginning at the given reference time.', '194': 'Average of N uninitialized analyses, starting at reference time, at intervals of P2.', '195': 'Average of forecast accumulations. P1 = start of accumulation period. P2 = end of accumulation period. Reference time is the start time of the first forecast, other forecasts at 24-hour intervals. Number in Ave = number of forecasts used.', '196': 'Average of successive forecast accumulations. P1 = start of accumulation period. P2 = end of accumulation period. Reference time is the start time of the first forecast, other forecasts at (P2 - P1) intervals. Number in Ave = number of forecasts used', '197': 'Average of forecast averages. P1 = start of averaging period. P2 = end of averaging period. Reference time is the start time of the first forecast, other forecasts at 24-hour intervals. Number in Ave = number of forecast used', '198': 'Average of successive forecast averages. P1 = start of averaging period. P2 = end of averaging period. Reference time is the start time of the first forecast, other forecasts at (P2 - P1) intervals. Number in Ave = number of forecasts used', '199': 'Climatological Average of N analyses, each a year apart, starting from initial time R and for the period from R+P1 to R+P2.', '200': 'Climatological Average of N forecasts, each a year apart, starting from initial time R and for the period from R+P1 to R+P2.', '201': 'Climatological Root Mean Square difference between N forecasts and their verifying analyses, each a year apart, starting with initial time R and for the period from R+P1 to R+P2.', '202': 'Climatological Standard Deviation of N forecasts from the mean of the same N forecasts, for forecasts one year apart. The first forecast starts wtih initial time R and is for the period from R+P1 to R+P2.', '203': 'Climatological Standard Deviation of N analyses from the mean of the same N analyses, for analyses one year apart. The first analyses is valid for period R+P1 to R+P2.', '204': 'Average of forecast accumulations. P1 = start of accumulation period. P2 = end of accumulation period. Reference time is the start time of the first forecast, other forecasts at 6-hour intervals. Number in Ave = number of forecast used', '205': 'Average of forecast averages. P1 = start of averaging period. P2 = end of averaging period. Reference time is the start time of the first forecast, other forecasts at 6-hour intervals. Number in Ave = number of forecast used', '206': 'Average of forecast accumulations. P1 = start of accumulation period. P2 = end of accumulation period. Reference time is the start time of the first forecast, other forecasts at 12-hour intervals. Number in Ave = number of forecast used', '207': 'Average of forecast averages. P1 = start of averaging period. P2 = end of averaging period. Reference time is the start time of the first forecast, other forecasts at 12-hour intervals. Number in Ave = number of forecast used', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_11", "modulename": "grib2io.tables.section4", "qualname": "table_4_11", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Successive times processed have same forecast time, start time of forecast is incremented.', '2': 'Successive times processed have same start time of forecast, forecast time is incremented.', '3': 'Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant.', '4': 'Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant.', '5': 'Floating subinterval of time between forecast time and end of overall time interval.(see Note 1)', '6-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_12", "modulename": "grib2io.tables.section4", "qualname": "table_4_12", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Mainteunknownce Mode', '1': 'Clear Air', '2': 'Precipitation', '3-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_13", "modulename": "grib2io.tables.section4", "qualname": "table_4_13", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No Quality Control Applied', '1': 'Quality Control Applied', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_14", "modulename": "grib2io.tables.section4", "qualname": "table_4_14", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No Clutter Filter Used', '1': 'Clutter Filter Used', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_15", "modulename": "grib2io.tables.section4", "qualname": "table_4_15", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Data is calculated directly from the source grid with no interpolation', '1': 'Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point', '2': 'Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point', '3': 'Using the value from the source grid grid-point which is nearest to the nominal grid-point', '4': 'Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point', '5': 'Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point', '6': 'Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point', '7-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_91", "modulename": "grib2io.tables.section4", "qualname": "table_4_91", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Smaller than first limit', '1': 'Greater than second limit', '2': 'Between first and second limit. The range includes the first limit but not the second limit.', '3': 'Greater than first limit', '4': 'Smaller than second limit', '5': 'Smaller or equal first limit', '6': 'Greater or equal second limit', '7': 'Between first and second limit. The range includes the first limit and the second limit.', '8': 'Greater or equal first limit', '9': 'Smaller or equal second limit', '10': 'Between first and second limit. The range includes the second limit but not the first limit.', '11': 'Equal to first limit', '12-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_201", "modulename": "grib2io.tables.section4", "qualname": "table_4_201", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Rain', '2': 'Thunderstorm', '3': 'Freezing Rain', '4': 'Mixed/Ice', '5': 'Snow', '6': 'Wet Snow', '7': 'Mixture of Rain and Snow', '8': 'Ice Pellets', '9': 'Graupel', '10': 'Hail', '11': 'Drizzle', '12': 'Freezing Drizzle', '13-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_202", "modulename": "grib2io.tables.section4", "qualname": "table_4_202", "kind": "variable", "doc": "

\n", "default_value": "{'0-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_203", "modulename": "grib2io.tables.section4", "qualname": "table_4_203", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Clear', '1': 'Cumulonimbus', '2': 'Stratus', '3': 'Stratocumulus', '4': 'Cumulus', '5': 'Altostratus', '6': 'Nimbostratus', '7': 'Altocumulus', '8': 'Cirrostratus', '9': 'Cirrorcumulus', '10': 'Cirrus', '11': 'Cumulonimbus - ground-based fog beneath the lowest layer', '12': 'Stratus - ground-based fog beneath the lowest layer', '13': 'Stratocumulus - ground-based fog beneath the lowest layer', '14': 'Cumulus - ground-based fog beneath the lowest layer', '15': 'Altostratus - ground-based fog beneath the lowest layer', '16': 'Nimbostratus - ground-based fog beneath the lowest layer', '17': 'Altocumulus - ground-based fog beneath the lowest layer', '18': 'Cirrostratus - ground-based fog beneath the lowest layer', '19': 'Cirrorcumulus - ground-based fog beneath the lowest layer', '20': 'Cirrus - ground-based fog beneath the lowest layer', '21-190': 'Reserved', '191': 'Unknown', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_204", "modulename": "grib2io.tables.section4", "qualname": "table_4_204", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'Isolated (1-2%)', '2': 'Few (3-5%)', '3': 'Scattered (16-45%)', '4': 'Numerous (>45%)', '5-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_205", "modulename": "grib2io.tables.section4", "qualname": "table_4_205", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Aerosol not present', '1': 'Aerosol present', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_206", "modulename": "grib2io.tables.section4", "qualname": "table_4_206", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Not Present', '1': 'Present', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_207", "modulename": "grib2io.tables.section4", "qualname": "table_4_207", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'Light', '2': 'Moderate', '3': 'Severe', '4': 'Trace', '5': 'Heavy', '6-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_208", "modulename": "grib2io.tables.section4", "qualname": "table_4_208", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'Light', '2': 'Moderate', '3': 'Severe', '4': 'Extreme', '5-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_209", "modulename": "grib2io.tables.section4", "qualname": "table_4_209", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Stable', '2': 'Mechanically-Driven Turbulence', '3': 'Force Convection', '4': 'Free Convection', '5-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_210", "modulename": "grib2io.tables.section4", "qualname": "table_4_210", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Contrail Not Present', '1': 'Contrail Present', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_211", "modulename": "grib2io.tables.section4", "qualname": "table_4_211", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Low Bypass', '1': 'High Bypass', '2': 'Non-Bypass', '3-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_212", "modulename": "grib2io.tables.section4", "qualname": "table_4_212", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Urban Land', '2': 'Agricultural', '3': 'Range Land', '4': 'Deciduous Forest', '5': 'Coniferous Forest', '6': 'Forest/Wetland', '7': 'Water', '8': 'Wetlands', '9': 'Desert', '10': 'Tundra', '11': 'Ice', '12': 'Tropical Forest', '13': 'Savannah', '14-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_213", "modulename": "grib2io.tables.section4", "qualname": "table_4_213", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Sand', '2': 'Loamy Sand', '3': 'Sandy Loam', '4': 'Silt Loam', '5': 'Organic', '6': 'Sandy Clay Loam', '7': 'Silt Clay Loam', '8': 'Clay Loam', '9': 'Sandy Clay', '10': 'Silty Clay', '11': 'Clay', '12-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_215", "modulename": "grib2io.tables.section4", "qualname": "table_4_215", "kind": "variable", "doc": "

\n", "default_value": "{'0-49': 'Reserved', '50': 'No-Snow/No-Cloud', '51-99': 'Reserved', '100': 'Clouds', '101-249': 'Reserved', '250': 'Snow', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_216", "modulename": "grib2io.tables.section4", "qualname": "table_4_216", "kind": "variable", "doc": "

\n", "default_value": "{'0-90': 'Elevation in increments of 100 m', '91-253': 'Reserved', '254': 'Clouds', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_217", "modulename": "grib2io.tables.section4", "qualname": "table_4_217", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Clear over water', '1': 'Clear over land', '2': 'Cloud', '3': 'No data', '4-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_218", "modulename": "grib2io.tables.section4", "qualname": "table_4_218", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No Scene Identified', '1': 'Green Needle-Leafed Forest', '2': 'Green Broad-Leafed Forest', '3': 'Deciduous Needle-Leafed Forest', '4': 'Deciduous Broad-Leafed Forest', '5': 'Deciduous Mixed Forest', '6': 'Closed Shrub-Land', '7': 'Open Shrub-Land', '8': 'Woody Savannah', '9': 'Savannah', '10': 'Grassland', '11': 'Permanent Wetland', '12': 'Cropland', '13': 'Urban', '14': 'Vegetation / Crops', '15': 'Permanent Snow / Ice', '16': 'Barren Desert', '17': 'Water Bodies', '18': 'Tundra', '19': 'Warm Liquid Water Cloud', '20': 'Supercooled Liquid Water Cloud', '21': 'Mixed Phase Cloud', '22': 'Optically Thin Ice Cloud', '23': 'Optically Thick Ice Cloud', '24': 'Multi-Layeblack Cloud', '25-96': 'Reserved', '97': 'Snow / Ice on Land', '98': 'Snow / Ice on Water', '99': 'Sun-Glint', '100': 'General Cloud', '101': 'Low Cloud / Fog / Stratus', '102': 'Low Cloud / Stratocumulus', '103': 'Low Cloud / Unknown Type', '104': 'Medium Cloud / Nimbostratus', '105': 'Medium Cloud / Altostratus', '106': 'Medium Cloud / Unknown Type', '107': 'High Cloud / Cumulus', '108': 'High Cloud / Cirrus', '109': 'High Cloud / Unknown Type', '110': 'Unknown Cloud Type', '111': 'Single layer water cloud', '112': 'Single layer ice cloud', '113-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_222", "modulename": "grib2io.tables.section4", "qualname": "table_4_222", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No', '1': 'Yes', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_223", "modulename": "grib2io.tables.section4", "qualname": "table_4_223", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No Fire Detected', '1': 'Possible Fire Detected', '2': 'Probable Fire Detected', '3': 'Missing', '4-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_224", "modulename": "grib2io.tables.section4", "qualname": "table_4_224", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No Risk Area', '1': 'Reserved', '2': 'General Thunderstorm Risk Area', '3': 'Reserved', '4': 'Slight Risk Area', '5': 'Reserved', '6': 'Moderate Risk Area', '7': 'Reserved', '8': 'High Risk Area', '9-10': 'Reserved', '11': 'Dry Thunderstorm (Dry Lightning) Risk Area', '12-13': 'Reserved', '14': 'Critical Risk Area', '15-17': 'Reserved', '18': 'Extreamly Critical Risk Area', '19-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_227", "modulename": "grib2io.tables.section4", "qualname": "table_4_227", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'General', '2': 'Convective', '3': 'Stratiform', '4': 'Freezing', '5-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_228", "modulename": "grib2io.tables.section4", "qualname": "table_4_228", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'Trace', '2': 'Light', '3': 'Moderate', '4': 'Severe', '6-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_233", "modulename": "grib2io.tables.section4", "qualname": "table_4_233", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Ozone', 'O3'], '1': ['Water Vapour', 'H2O'], '2': ['Methane', 'CH4'], '3': ['Carbon Dioxide', 'CO2'], '4': ['Carbon Monoxide', 'CO'], '5': ['Nitrogen Dioxide', 'NO2'], '6': ['Nitrous Oxide', 'N2O'], '7': ['Formaldehyde', 'HCHO'], '8': ['Sulphur Dioxide', 'SO2'], '9': ['Ammonia', 'NH3'], '10': ['Ammonium', 'NH4+'], '11': ['Nitrogen Monoxide', 'NO'], '12': ['Atomic Oxygen', 'O'], '13': ['Nitrate Radical', 'NO3'], '14': ['Hydroperoxyl Radical', 'HO2'], '15': ['Dinitrogen Pentoxide', 'H2O5'], '16': ['Nitrous Acid', 'HONO'], '17': ['Nitric Acid', 'HNO3'], '18': ['Peroxynitric Acid', 'HO2NO2'], '19': ['Hydrogen Peroxide', 'H2O2'], '20': ['Molecular Hydrogen', 'H'], '21': ['Atomic Nitrogen', 'N'], '22': ['Sulphate', 'SO42-'], '23': ['Radon', 'Rn'], '24': ['Elemental Mercury', 'Hg(O)'], '25': ['Divalent Mercury', 'Hg2+'], '26': ['Atomic Chlorine', 'Cl'], '27': ['Chlorine Monoxide', 'ClO'], '28': ['Dichlorine Peroxide', 'Cl2O2'], '29': ['Hypochlorous Acid', 'HClO'], '30': ['Chlorine Nitrate', 'ClONO2'], '31': ['Chlorine Dioxide', 'ClO2'], '32': ['Atomic Bromide', 'Br'], '33': ['Bromine Monoxide', 'BrO'], '34': ['Bromine Chloride', 'BrCl'], '35': ['Hydrogen Bromide', 'HBr'], '36': ['Hypobromous Acid', 'HBrO'], '37': ['Bromine Nitrate', 'BrONO2'], '38': ['Oxygen', 'O2'], '39-9999': ['Reserved', 'unknown'], '10000': ['Hydroxyl Radical', 'OH'], '10001': ['Methyl Peroxy Radical', 'CH3O2'], '10002': ['Methyl Hydroperoxide', 'CH3O2H'], '10003': ['Reserved', 'unknown'], '10004': ['Methanol', 'CH3OH'], '10005': ['Formic Acid', 'CH3OOH'], '10006': ['Hydrogen Cyanide', 'HCN'], '10007': ['Aceto Nitrile', 'CH3CN'], '10008': ['Ethane', 'C2H6'], '10009': ['Ethene (= Ethylene)', 'C2H4'], '10010': ['Ethyne (= Acetylene)', 'C2H2'], '10011': ['Ethanol', 'C2H5OH'], '10012': ['Acetic Acid', 'C2H5OOH'], '10013': ['Peroxyacetyl Nitrate', 'CH3C(O)OONO2'], '10014': ['Propane', 'C3H8'], '10015': ['Propene', 'C3H6'], '10016': ['Butanes', 'C4H10'], '10017': ['Isoprene', 'C5H10'], '10018': ['Alpha Pinene', 'C10H16'], '10019': ['Beta Pinene', 'C10H16'], '10020': ['Limonene', 'C10H16'], '10021': ['Benzene', 'C6H6'], '10022': ['Toluene', 'C7H8'], '10023': ['Xylene', 'C8H10'], '10024-10499': ['Reserved', 'unknown'], '10500': ['Dimethyl Sulphide', 'CH3SCH3'], '10501-20000': ['Reserved', 'unknown'], '20001': ['Hydrogen Chloride', 'HCL'], '20002': ['CFC-11', 'unknown'], '20003': ['CFC-12', 'unknown'], '20004': ['CFC-113', 'unknown'], '20005': ['CFC-113a', 'unknown'], '20006': ['CFC-114', 'unknown'], '20007': ['CFC-115', 'unknown'], '20008': ['HCFC-22', 'unknown'], '20009': ['HCFC-141b', 'unknown'], '20010': ['HCFC-142b', 'unknown'], '20011': ['Halon-1202', 'unknown'], '20012': ['Halon-1211', 'unknown'], '20013': ['Halon-1301', 'unknown'], '20014': ['Halon-2402', 'unknown'], '20015': ['Methyl Chloride (HCC-40)', 'unknown'], '20016': ['Carbon Tetrachloride (HCC-10)', 'unknown'], '20017': ['HCC-140a', 'CH3CCl3'], '20018': ['Methyl Bromide (HBC-40B1)', 'unknown'], '20019': ['Hexachlorocyclohexane (HCH)', 'unknown'], '20020': ['Alpha Hexachlorocyclohexane', 'unknown'], '20021': ['Hexachlorobiphenyl (PCB-153)', 'unknown'], '20022-29999': ['Reserved', 'unknown'], '30000': ['Radioactive Pollutant (Tracer, defined by originating centre)', 'unknown'], '30001-50000': ['Reserved', 'unknown'], '60000': ['HOx Radical (OH+HO2)', 'unknown'], '60001': ['Total Inorganic and Organic Peroxy Radicals (HO2+RO2)', 'RO2'], '60002': ['Passive Ozone', 'unknown'], '60003': ['NOx Expressed As Nitrogen', 'NOx'], '60004': ['All Nitrogen Oxides (NOy) Expressed As Nitrogen', 'NOy'], '60005': ['Total Inorganic Chlorine', 'Clx'], '60006': ['Total Inorganic Bromine', 'Brx'], '60007': ['Total Inorganic Chlorine Except HCl, ClONO2: ClOx', 'unknown'], '60008': ['Total Inorganic Bromine Except Hbr, BrONO2:BrOx', 'unknown'], '60009': ['Lumped Alkanes', 'unknown'], '60010': ['Lumped Alkenes', 'unknown'], '60011': ['Lumped Aromatic Coumpounds', 'unknown'], '60012': ['Lumped Terpenes', 'unknown'], '60013': ['Non-Methane Volatile Organic Compounds Expressed as Carbon', 'NMVOC'], '60014': ['Anthropogenic Non-Methane Volatile Organic Compounds Expressed as Carbon', 'aNMVOC'], '60015': ['Biogenic Non-Methane Volatile Organic Compounds Expressed as Carbon', 'bNMVOC'], '60016': ['Lumped Oxygenated Hydrocarbons', 'OVOC'], '60017-61999': ['Reserved', 'unknown'], '62000': ['Total Aerosol', 'unknown'], '62001': ['Dust Dry', 'unknown'], '62002': ['water In Ambient', 'unknown'], '62003': ['Ammonium Dry', 'unknown'], '62004': ['Nitrate Dry', 'unknown'], '62005': ['Nitric Acid Trihydrate', 'unknown'], '62006': ['Sulphate Dry', 'unknown'], '62007': ['Mercury Dry', 'unknown'], '62008': ['Sea Salt Dry', 'unknown'], '62009': ['Black Carbon Dry', 'unknown'], '62010': ['Particulate Organic Matter Dry', 'unknown'], '62011': ['Primary Particulate Organic Matter Dry', 'unknown'], '62012': ['Secondary Particulate Organic Matter Dry', 'unknown'], '62013': ['Black carbon hydrophilic dry', 'unknown'], '62014': ['Black carbon hydrophobic dry', 'unknown'], '62015': ['Particulate organic matter hydrophilic dry', 'unknown'], '62016': ['Particulate organic matter hydrophobic dry', 'unknown'], '62017': ['Nitrate hydrophilic dry', 'unknown'], '62018': ['Nitrate hydrophobic dry', 'unknown'], '62019': ['Reserved', 'unknown'], '62020': ['Smoke - high absorption', 'unknown'], '62021': ['Smoke - low absorption', 'unknown'], '62022': ['Aerosol - high absorption', 'unknown'], '62023': ['Aerosol - low absorption', 'unknown'], '62024': ['Reserved', 'unknown'], '62025': ['Volcanic ash', 'unknown'], '62036': ['Brown Carbon Dry', 'unknown'], '62037-65534': ['Reserved', 'unknown'], '65535': ['Missing', 'unknown']}"}, {"fullname": "grib2io.tables.section4.table_4_234", "modulename": "grib2io.tables.section4", "qualname": "table_4_234", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'Crops, mixed farming', '2': 'Short grass', '3': 'Evergreen needleleaf trees', '4': 'Deciduous needleleaf trees', '5': 'Deciduous broadleaf trees', '6': 'Evergreen broadleaf trees', '7': 'Tall grass', '8': 'Desert', '9': 'Tundra', '10': 'Irrigated corps', '11': 'Semidesert', '12': 'Ice caps and glaciers', '13': 'Bogs and marshes', '14': 'Inland water', '15': 'Ocean', '16': 'Evergreen shrubs', '17': 'Deciduous shrubs', '18': 'Mixed forest', '19': 'Interrupted forest', '20': 'Water and land mixtures', '21-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_235", "modulename": "grib2io.tables.section4", "qualname": "table_4_235", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Total Wave Spectrum (combined wind waves and swell)', '1': 'Generalized Partition', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_236", "modulename": "grib2io.tables.section4", "qualname": "table_4_236", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'Coarse', '2': 'Medium', '3': 'Medium-fine', '4': 'Fine', '5': 'Very-fine', '6': 'Organic', '7': 'Tropical-organic', '8-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_238", "modulename": "grib2io.tables.section4", "qualname": "table_4_238", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Aviation', '2': 'Lightning', '3': 'Biogenic Sources', '4': 'Anthropogenic sources', '5': 'Wild fires', '6': 'Natural sources', '7': 'Bio-fuel', '8': 'Volcanoes', '9': 'Fossil-fuel', '10': 'Wetlands', '11': 'Oceans', '12': 'Elevated anthropogenic sources', '13': 'Surface anthropogenic sources', '14': 'Agriculture livestock', '15': 'Agriculture soils', '16': 'Agriculture waste burning', '17': 'Agriculture (all)', '18': 'Residential, commercial and other combustion', '19': 'Power generation', '20': 'Super power stations', '21': 'Fugitives', '22': 'Industrial process', '23': 'Solvents', '24': 'Ships', '25': 'Wastes', '26': 'Road transportation', '27': 'Off-road transportation', '28-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_239", "modulename": "grib2io.tables.section4", "qualname": "table_4_239", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Bog', '2': 'Drained', '3': 'Fen', '4': 'Floodplain', '5': 'Mangrove', '6': 'Marsh', '7': 'Rice', '8': 'Riverine', '9': 'Salt Marsh', '10': 'Swamp', '11': 'Upland', '12': 'Wet tundra', '13-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_243", "modulename": "grib2io.tables.section4", "qualname": "table_4_243", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Evergreen broadleaved forest', '2': 'Deciduous broadleaved closed forest', '3': 'Deciduous broadleaved open forest', '4': 'Evergreen needle-leaf forest', '5': 'Deciduous needle-leaf forest', '6': 'Mixed leaf trees', '7': 'Fresh water flooded trees', '8': 'Saline water flooded trees', '9': 'Mosaic tree/natural vegetation', '10': 'Burnt tree cover', '11': 'Evergreen shurbs closed-open', '12': 'Deciduous shurbs closed-open', '13': 'Herbaceous vegetation closed-open', '14': 'Sparse herbaceous or grass', '15': 'Flooded shurbs or herbaceous', '16': 'Cultivated and managed areas', '17': 'Mosaic crop/tree/natural vegetation', '18': 'Mosaic crop/shrub/grass', '19': 'Bare areas', '20': 'Water', '21': 'Snow and ice', '22': 'Artificial surface', '23': 'Ocean', '24': 'Irrigated croplands', '25': 'Rain fed croplands', '26': 'Mosaic cropland (50-70%)-vegetation (20-50%)', '27': 'Mosaic vegetation (50-70%)-cropland (20-50%)', '28': 'Closed broadleaved evergreen forest', '29': 'Closed needle-leaved evergreen forest', '30': 'Open needle-leaved deciduous forest', '31': 'Mixed broadleaved and needle-leave forest', '32': 'Mosaic shrubland (50-70%)-grassland (20-50%)', '33': 'Mosaic grassland (50-70%)-shrubland (20-50%)', '34': 'Closed to open shrubland', '35': 'Sparse vegetation', '36': 'Closed to open forest regularly flooded', '37': 'Closed forest or shrubland permanently flooded', '38': 'Closed to open grassland regularly flooded', '39': 'Undefined', '40-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_244", "modulename": "grib2io.tables.section4", "qualname": "table_4_244", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No Quality Information Available', '1': 'Failed', '2': 'Passed', '3-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_246", "modulename": "grib2io.tables.section4", "qualname": "table_4_246", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No thunderstorm occurrence', '1': 'Weak thunderstorm', '2': 'Moderate thunderstorm', '3': 'Severe thunderstorm', '4-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_247", "modulename": "grib2io.tables.section4", "qualname": "table_4_247", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No precipitation occurrence', '1': 'Light precipitation', '2': 'Moderate precipitation', '3': 'Heavy precipitation', '4-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_248", "modulename": "grib2io.tables.section4", "qualname": "table_4_248", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Nearest forecast or analysis time to specified local time', '1': 'Interpolated to be valid at the specified local time', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_249", "modulename": "grib2io.tables.section4", "qualname": "table_4_249", "kind": "variable", "doc": "

\n", "default_value": "{'1': 'Showers', '2': 'Intermittent', '3': 'Continuous', '4-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_250", "modulename": "grib2io.tables.section4", "qualname": "table_4_250", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'South-West', '2': 'South', '3': 'South-East', '4': 'West', '5': 'No direction', '6': 'East', '7': 'North-West', '8': 'North', '9': 'North-East', '10-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_4_251", "modulename": "grib2io.tables.section4", "qualname": "table_4_251", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Undefined Sequence', '1': 'Geometric sequence,(see Note 1)', '2': 'Arithmetic sequence,(see Note 2)', '3-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section4.table_scale_time_hours", "modulename": "grib2io.tables.section4", "qualname": "table_scale_time_hours", "kind": "variable", "doc": "

\n", "default_value": "{'0': 60.0, '1': 1.0, '2': 0.041666666666666664, '3': 0.001388888888888889, '4': 0.00011415525114155251, '5': 1.1415525114155251e-05, '6': 3.80517503805175e-06, '7': 1.1415525114155251e-06, '8': 1.0, '9': 1.0, '10': 3.0, '11': 6.0, '12': 12.0, '13': 3600.0, '14-255': 1.0}"}, {"fullname": "grib2io.tables.section4.table_wgrib2_level_string", "modulename": "grib2io.tables.section4", "qualname": "table_wgrib2_level_string", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['reserved', 'reserved'], '1': ['surface', 'reserved'], '2': ['cloud base', 'reserved'], '3': ['cloud top', 'reserved'], '4': ['0C isotherm', 'reserved'], '5': ['level of adiabatic condensation from sfc', 'reserved'], '6': ['max wind', 'reserved'], '7': ['tropopause', 'reserved'], '8': ['top of atmosphere', 'reserved'], '9': ['sea bottom', 'reserved'], '10': ['entire atmosphere', 'reserved'], '11': ['cumulonimbus base', 'reserved'], '12': ['cumulonimbus top', 'reserved'], '13': ['lowest level %g%% integrated cloud cover', 'reserved'], '14': ['level of free convection', 'reserved'], '15': ['convection condensation level', 'reserved'], '16': ['level of neutral buoyancy', 'reserved'], '17': ['reserved', 'reserved'], '18': ['reserved', 'reserved'], '19': ['reserved', 'reserved'], '20': ['%g K level', 'reserved'], '21': ['lowest level > %g kg/m^3', 'reserved'], '22': ['highest level > %g kg/m^3', 'reserved'], '23': ['lowest level > %g Bq/m^3', 'reserved'], '24': ['highest level > %g Bg/m^3', 'reserved'], '25': ['reserved', 'reserved'], '26': ['reserved', 'reserved'], '27': ['reserved', 'reserved'], '28': ['reserved', 'reserved'], '29': ['reserved', 'reserved'], '30': ['reserved', 'reserved'], '31': ['reserved', 'reserved'], '32': ['reserved', 'reserved'], '33': ['reserved', 'reserved'], '34': ['reserved', 'reserved'], '35': ['reserved', 'reserved'], '36': ['reserved', 'reserved'], '37': ['reserved', 'reserved'], '38': ['reserved', 'reserved'], '39': ['reserved', 'reserved'], '40': ['reserved', 'reserved'], '41': ['reserved', 'reserved'], '42': ['reserved', 'reserved'], '43': ['reserved', 'reserved'], '44': ['reserved', 'reserved'], '45': ['reserved', 'reserved'], '46': ['reserved', 'reserved'], '47': ['reserved', 'reserved'], '48': ['reserved', 'reserved'], '49': ['reserved', 'reserved'], '50': ['reserved', 'reserved'], '51': ['reserved', 'reserved'], '52': ['reserved', 'reserved'], '53': ['reserved', 'reserved'], '54': ['reserved', 'reserved'], '55': ['reserved', 'reserved'], '56': ['reserved', 'reserved'], '57': ['reserved', 'reserved'], '58': ['reserved', 'reserved'], '59': ['reserved', 'reserved'], '60': ['reserved', 'reserved'], '61': ['reserved', 'reserved'], '62': ['reserved', 'reserved'], '63': ['reserved', 'reserved'], '64': ['reserved', 'reserved'], '65': ['reserved', 'reserved'], '66': ['reserved', 'reserved'], '67': ['reserved', 'reserved'], '68': ['reserved', 'reserved'], '69': ['reserved', 'reserved'], '70': ['reserved', 'reserved'], '71': ['reserved', 'reserved'], '72': ['reserved', 'reserved'], '73': ['reserved', 'reserved'], '74': ['reserved', 'reserved'], '75': ['reserved', 'reserved'], '76': ['reserved', 'reserved'], '77': ['reserved', 'reserved'], '78': ['reserved', 'reserved'], '79': ['reserved', 'reserved'], '80': ['reserved', 'reserved'], '81': ['reserved', 'reserved'], '82': ['reserved', 'reserved'], '83': ['reserved', 'reserved'], '84': ['reserved', 'reserved'], '85': ['reserved', 'reserved'], '86': ['reserved', 'reserved'], '87': ['reserved', 'reserved'], '88': ['reserved', 'reserved'], '89': ['reserved', 'reserved'], '90': ['reserved', 'reserved'], '91': ['reserved', 'reserved'], '92': ['reserved', 'reserved'], '93': ['reserved', 'reserved'], '94': ['reserved', 'reserved'], '95': ['reserved', 'reserved'], '96': ['reserved', 'reserved'], '97': ['reserved', 'reserved'], '98': ['reserved', 'reserved'], '99': ['reserved', 'reserved'], '100': ['%g mb', '%g-%g mb'], '101': ['mean sea level', 'reserved'], '102': ['%g m above mean sea level', '%g-%g m above mean sea level'], '103': ['%g m above ground', '%g-%g m above ground'], '104': ['%g sigma level', '%g-%g sigma layer'], '105': ['%g hybrid level', '%g-%g hybrid layer'], '106': ['%g m underground', '%g-%g m underground'], '107': ['%g K isentropic level', '%g-%g K isentropic layer'], '108': ['%g mb above ground', '%g-%g mb above ground'], '109': ['PV=%g (Km^2/kg/s) surface', 'reserved'], '110': ['reserved', 'reserved'], '111': ['%g Eta level', '%g-%g Eta layer'], '112': ['reserved', 'reserved'], '113': ['%g logarithmic hybrid level', 'reserved'], '114': ['snow level', 'reserved'], '115': ['%g sigma height level', '%g-%g sigma heigh layer'], '116': ['reserved', 'reserved'], '117': ['mixed layer depth', 'reserved'], '118': ['%g hybrid height level', '%g-%g hybrid height layer'], '119': ['%g hybrid pressure level', '%g-%g hybrid pressure layer'], '120': ['reserved', 'reserved'], '121': ['reserved', 'reserved'], '122': ['reserved', 'reserved'], '123': ['reserved', 'reserved'], '124': ['reserved', 'reserved'], '125': ['reserved', 'reserved'], '126': ['reserved', 'reserved'], '127': ['reserved', 'reserved'], '128': ['reserved', 'reserved'], '129': ['reserved', 'reserved'], '130': ['reserved', 'reserved'], '131': ['reserved', 'reserved'], '132': ['reserved', 'reserved'], '133': ['reserved', 'reserved'], '134': ['reserved', 'reserved'], '135': ['reserved', 'reserved'], '136': ['reserved', 'reserved'], '137': ['reserved', 'reserved'], '138': ['reserved', 'reserved'], '139': ['reserved', 'reserved'], '140': ['reserved', 'reserved'], '141': ['reserved', 'reserved'], '142': ['reserved', 'reserved'], '143': ['reserved', 'reserved'], '144': ['reserved', 'reserved'], '145': ['reserved', 'reserved'], '146': ['reserved', 'reserved'], '147': ['reserved', 'reserved'], '148': ['reserved', 'reserved'], '149': ['reserved', 'reserved'], '150': ['%g generalized vertical height coordinate', 'reserved'], '151': ['soil level %g', 'reserved'], '152': ['reserved', 'reserved'], '153': ['reserved', 'reserved'], '154': ['reserved', 'reserved'], '155': ['reserved', 'reserved'], '156': ['reserved', 'reserved'], '157': ['reserved', 'reserved'], '158': ['reserved', 'reserved'], '159': ['reserved', 'reserved'], '160': ['%g m below sea level', '%g-%g m below sea level'], '161': ['%g m below water surface', '%g-%g m ocean layer'], '162': ['lake or river bottom', 'reserved'], '163': ['bottom of sediment layer', 'reserved'], '164': ['bottom of thermally active sediment layer', 'reserved'], '165': ['bottom of sediment layer penetrated by thermal wave', 'reserved'], '166': ['maxing layer', 'reserved'], '167': ['bottom of root zone', 'reserved'], '168': ['reserved', 'reserved'], '169': ['reserved', 'reserved'], '170': ['reserved', 'reserved'], '171': ['reserved', 'reserved'], '172': ['reserved', 'reserved'], '173': ['reserved', 'reserved'], '174': ['top surface of ice on sea, lake or river', 'reserved'], '175': ['top surface of ice, und snow on sea, lake or river', 'reserved'], '176': ['bottom surface ice on sea, lake or river', 'reserved'], '177': ['deep soil', 'reserved'], '178': ['reserved', 'reserved'], '179': ['top surface of glacier ice and inland ice', 'reserved'], '180': ['deep inland or glacier ice', 'reserved'], '181': ['grid tile land fraction as a model surface', 'reserved'], '182': ['grid tile water fraction as a model surface', 'reserved'], '183': ['grid tile ice fraction on sea, lake or river as a model surface', 'reserved'], '184': ['grid tile glacier ice and inland ice fraction as a model surface', 'reserved'], '185': ['reserved', 'reserved'], '186': ['reserved', 'reserved'], '187': ['reserved', 'reserved'], '188': ['reserved', 'reserved'], '189': ['reserved', 'reserved'], '190': ['reserved', 'reserved'], '191': ['reserved', 'reserved'], '192': ['reserved', 'reserved'], '193': ['reserved', 'reserved'], '194': ['reserved', 'reserved'], '195': ['reserved', 'reserved'], '196': ['reserved', 'reserved'], '197': ['reserved', 'reserved'], '198': ['reserved', 'reserved'], '199': ['reserved', 'reserved'], '200': ['entire atmosphere (considered as a single layer)', 'reserved'], '201': ['entire ocean (considered as a single layer)', 'reserved'], '202': ['reserved', 'reserved'], '203': ['reserved', 'reserved'], '204': ['highest tropospheric freezing level', 'reserved'], '205': ['reserved', 'reserved'], '206': ['grid scale cloud bottom level', 'reserved'], '207': ['grid scale cloud top level', 'reserved'], '208': ['reserved', 'reserved'], '209': ['boundary layer cloud bottom level', 'reserved'], '210': ['boundary layer cloud top level', 'reserved'], '211': ['boundary layer cloud layer', 'reserved'], '212': ['low cloud bottom level', 'reserved'], '213': ['low cloud top level', 'reserved'], '214': ['low cloud layer', 'reserved'], '215': ['cloud ceiling', 'reserved'], '216': ['reserved', 'reserved'], '217': ['reserved', 'reserved'], '218': ['reserved', 'reserved'], '219': ['reserved', 'reserved'], '220': ['planetary boundary layer', 'reserved'], '221': ['layer between two hybrid levels', 'reserved'], '222': ['middle cloud bottom level', 'reserved'], '223': ['middle cloud top level', 'reserved'], '224': ['middle cloud layer', 'reserved'], '225': ['reserved', 'reserved'], '226': ['reserved', 'reserved'], '227': ['reserved', 'reserved'], '228': ['reserved', 'reserved'], '229': ['reserved', 'reserved'], '230': ['reserved', 'reserved'], '231': ['reserved', 'reserved'], '232': ['high cloud bottom level', 'reserved'], '233': ['high cloud top level', 'reserved'], '234': ['high cloud layer', 'reserved'], '235': ['%gC ocean isotherm', '%g-%gC ocean isotherm layer'], '236': ['layer between two depths below ocean surface', '%g-%g m ocean layer'], '237': ['bottom of ocean mixed layer', 'reserved'], '238': ['bottom of ocean isothermal layer', 'reserved'], '239': ['layer ocean surface and 26C ocean isothermal level', 'reserved'], '240': ['ocean mixed layer', 'reserved'], '241': ['%g in sequence', 'reserved'], '242': ['convective cloud bottom level', 'reserved'], '243': ['convective cloud top level', 'reserved'], '244': ['convective cloud layer', 'reserved'], '245': ['lowest level of the wet bulb zero', 'reserved'], '246': ['maximum equivalent potential temperature level', 'reserved'], '247': ['equilibrium level', 'reserved'], '248': ['shallow convective cloud bottom level', 'reserved'], '249': ['shallow convective cloud top level', 'reserved'], '250': ['reserved', 'reserved'], '251': ['deep convective cloud bottom level', 'reserved'], '252': ['deep convective cloud top level', 'reserved'], '253': ['lowest bottom level of supercooled liquid water layer', 'reserved'], '254': ['highest top level of supercooled liquid water layer', 'reserved'], '255': ['missing', 'reserved']}"}, {"fullname": "grib2io.tables.section4_discipline0", "modulename": "grib2io.tables.section4_discipline0", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_0", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Temperature', 'K', 'TMP'], '1': ['Virtual Temperature', 'K', 'VTMP'], '2': ['Potential Temperature', 'K', 'POT'], '3': ['Pseudo-Adiabatic Potential Temperature (or Equivalent Potential Temperature)', 'K', 'EPOT'], '4': ['Maximum Temperature', 'K', 'TMAX'], '5': ['Minimum Temperature', 'K', 'TMIN'], '6': ['Dew Point Temperature', 'K', 'DPT'], '7': ['Dew Point Depression (or Deficit)', 'K', 'DEPR'], '8': ['Lapse Rate', 'K m-1', 'LAPR'], '9': ['Temperature Anomaly', 'K', 'TMPA'], '10': ['Latent Heat Net Flux', 'W m-2', 'LHTFL'], '11': ['Sensible Heat Net Flux', 'W m-2', 'SHTFL'], '12': ['Heat Index', 'K', 'HEATX'], '13': ['Wind Chill Factor', 'K', 'WCF'], '14': ['Minimum Dew Point Depression', 'K', 'MINDPD'], '15': ['Virtual Potential Temperature', 'K', 'VPTMP'], '16': ['Snow Phase Change Heat Flux', 'W m-2', 'SNOHF'], '17': ['Skin Temperature', 'K', 'SKINT'], '18': ['Snow Temperature (top of snow)', 'K', 'SNOT'], '19': ['Turbulent Transfer Coefficient for Heat', 'Numeric', 'TTCHT'], '20': ['Turbulent Diffusion Coefficient for Heat', 'm2s-1', 'TDCHT'], '21': ['Apparent Temperature', 'K', 'APTMP'], '22': ['Temperature Tendency due to Short-Wave Radiation', 'K s-1', 'TTSWR'], '23': ['Temperature Tendency due to Long-Wave Radiation', 'K s-1', 'TTLWR'], '24': ['Temperature Tendency due to Short-Wave Radiation, Clear Sky', 'K s-1', 'TTSWRCS'], '25': ['Temperature Tendency due to Long-Wave Radiation, Clear Sky', 'K s-1', 'TTLWRCS'], '26': ['Temperature Tendency due to parameterizations', 'K s-1', 'TTPARM'], '27': ['Wet Bulb Temperature', 'K', 'WETBT'], '28': ['Unbalanced Component of Temperature', 'K', 'UCTMP'], '29': ['Temperature Advection', 'K s-1', 'TMPADV'], '30': ['Latent Heat Net Flux Due to Evaporation', 'W m-2', 'LHFLXE'], '31': ['Latent Heat Net Flux Due to Sublimation', 'W m-2', 'LHFLXS'], '32': ['Wet-Bulb Potential Temperature', 'K', 'WETBPT'], '33-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Snow Phase Change Heat Flux', 'W m-2', 'SNOHF'], '193': ['Temperature Tendency by All Radiation', 'K s-1', 'TTRAD'], '194': ['Relative Error Variance', 'unknown', 'REV'], '195': ['Large Scale Condensate Heating Rate', 'K s-1', 'LRGHR'], '196': ['Deep Convective Heating Rate', 'K s-1', 'CNVHR'], '197': ['Total Downward Heat Flux at Surface', 'W m-2', 'THFLX'], '198': ['Temperature Tendency by All Physics', 'K s-1', 'TTDIA'], '199': ['Temperature Tendency by Non-radiation Physics', 'K s-1', 'TTPHY'], '200': ['Standard Dev. of IR Temp. over 1x1 deg. area', 'K', 'TSD1D'], '201': ['Shallow Convective Heating Rate', 'K s-1', 'SHAHR'], '202': ['Vertical Diffusion Heating rate', 'K s-1', 'VDFHR'], '203': ['Potential Temperature at Top of Viscous Sublayer', 'K', 'THZ0'], '204': ['Tropical Cyclone Heat Potential', 'J m-2 K', 'TCHP'], '205': ['Effective Layer (EL) Temperature', 'C', 'ELMELT'], '206': ['Wet Bulb Globe Temperature', 'K', 'WETGLBT'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_1", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Specific Humidity', 'kg kg-1', 'SPFH'], '1': ['Relative Humidity', '%', 'RH'], '2': ['Humidity Mixing Ratio', 'kg kg-1', 'MIXR'], '3': ['Precipitable Water', 'kg m-2', 'PWAT'], '4': ['Vapour Pressure', 'Pa', 'VAPP'], '5': ['Saturation Deficit', 'Pa', 'SATD'], '6': ['Evaporation', 'kg m-2', 'EVP'], '7': ['Precipitation Rate', 'kg m-2 s-1', 'PRATE'], '8': ['Total Precipitation', 'kg m-2', 'APCP'], '9': ['Large-Scale Precipitation (non-convective)', 'kg m-2', 'NCPCP'], '10': ['Convective Precipitation', 'kg m-2', 'ACPCP'], '11': ['Snow Depth', 'm', 'SNOD'], '12': ['Snowfall Rate Water Equivalent', 'kg m-2 s-1', 'SRWEQ'], '13': ['Water Equivalent of Accumulated Snow Depth', 'kg m-2', 'WEASD'], '14': ['Convective Snow', 'kg m-2', 'SNOC'], '15': ['Large-Scale Snow', 'kg m-2', 'SNOL'], '16': ['Snow Melt', 'kg m-2', 'SNOM'], '17': ['Snow Age', 'day', 'SNOAG'], '18': ['Absolute Humidity', 'kg m-3', 'ABSH'], '19': ['Precipitation Type', 'See Table 4.201', 'PTYPE'], '20': ['Integrated Liquid Water', 'kg m-2', 'ILIQW'], '21': ['Condensate', 'kg kg-1', 'TCOND'], '22': ['Cloud Mixing Ratio', 'kg kg-1', 'CLMR'], '23': ['Ice Water Mixing Ratio', 'kg kg-1', 'ICMR'], '24': ['Rain Mixing Ratio', 'kg kg-1', 'RWMR'], '25': ['Snow Mixing Ratio', 'kg kg-1', 'SNMR'], '26': ['Horizontal Moisture Convergence', 'kg kg-1 s-1', 'MCONV'], '27': ['Maximum Relative Humidity', '%', 'MAXRH'], '28': ['Maximum Absolute Humidity', 'kg m-3', 'MAXAH'], '29': ['Total Snowfall', 'm', 'ASNOW'], '30': ['Precipitable Water Category', 'See Table 4.202', 'PWCAT'], '31': ['Hail', 'm', 'HAIL'], '32': ['Graupel', 'kg kg-1', 'GRLE'], '33': ['Categorical Rain', 'Code table 4.222', 'CRAIN'], '34': ['Categorical Freezing Rain', 'Code table 4.222', 'CFRZR'], '35': ['Categorical Ice Pellets', 'Code table 4.222', 'CICEP'], '36': ['Categorical Snow', 'Code table 4.222', 'CSNOW'], '37': ['Convective Precipitation Rate', 'kg m-2 s-1', 'CPRAT'], '38': ['Horizontal Moisture Divergence', 'kg kg-1 s-1', 'MDIVER'], '39': ['Percent frozen precipitation', '%', 'CPOFP'], '40': ['Potential Evaporation', 'kg m-2', 'PEVAP'], '41': ['Potential Evaporation Rate', 'W m-2', 'PEVPR'], '42': ['Snow Cover', '%', 'SNOWC'], '43': ['Rain Fraction of Total Cloud Water', 'Proportion', 'FRAIN'], '44': ['Rime Factor', 'Numeric', 'RIME'], '45': ['Total Column Integrated Rain', 'kg m-2', 'TCOLR'], '46': ['Total Column Integrated Snow', 'kg m-2', 'TCOLS'], '47': ['Large Scale Water Precipitation (Non-Convective)', 'kg m-2', 'LSWP'], '48': ['Convective Water Precipitation', 'kg m-2', 'CWP'], '49': ['Total Water Precipitation', 'kg m-2', 'TWATP'], '50': ['Total Snow Precipitation', 'kg m-2', 'TSNOWP'], '51': ['Total Column Water (Vertically integrated total water (vapour+cloud water/ice)', 'kg m-2', 'TCWAT'], '52': ['Total Precipitation Rate', 'kg m-2 s-1', 'TPRATE'], '53': ['Total Snowfall Rate Water Equivalent', 'kg m-2 s-1', 'TSRWE'], '54': ['Large Scale Precipitation Rate', 'kg m-2 s-1', 'LSPRATE'], '55': ['Convective Snowfall Rate Water Equivalent', 'kg m-2 s-1', 'CSRWE'], '56': ['Large Scale Snowfall Rate Water Equivalent', 'kg m-2 s-1', 'LSSRWE'], '57': ['Total Snowfall Rate', 'm s-1', 'TSRATE'], '58': ['Convective Snowfall Rate', 'm s-1', 'CSRATE'], '59': ['Large Scale Snowfall Rate', 'm s-1', 'LSSRATE'], '60': ['Snow Depth Water Equivalent', 'kg m-2', 'SDWE'], '61': ['Snow Density', 'kg m-3', 'SDEN'], '62': ['Snow Evaporation', 'kg m-2', 'SEVAP'], '63': ['Reserved', 'unknown', 'unknown'], '64': ['Total Column Integrated Water Vapour', 'kg m-2', 'TCIWV'], '65': ['Rain Precipitation Rate', 'kg m-2 s-1', 'RPRATE'], '66': ['Snow Precipitation Rate', 'kg m-2 s-1', 'SPRATE'], '67': ['Freezing Rain Precipitation Rate', 'kg m-2 s-1', 'FPRATE'], '68': ['Ice Pellets Precipitation Rate', 'kg m-2 s-1', 'IPRATE'], '69': ['Total Column Integrate Cloud Water', 'kg m-2', 'TCOLW'], '70': ['Total Column Integrate Cloud Ice', 'kg m-2', 'TCOLI'], '71': ['Hail Mixing Ratio', 'kg kg-1', 'HAILMXR'], '72': ['Total Column Integrate Hail', 'kg m-2', 'TCOLH'], '73': ['Hail Prepitation Rate', 'kg m-2 s-1', 'HAILPR'], '74': ['Total Column Integrate Graupel', 'kg m-2', 'TCOLG'], '75': ['Graupel (Snow Pellets) Prepitation Rate', 'kg m-2 s-1', 'GPRATE'], '76': ['Convective Rain Rate', 'kg m-2 s-1', 'CRRATE'], '77': ['Large Scale Rain Rate', 'kg m-2 s-1', 'LSRRATE'], '78': ['Total Column Integrate Water (All components including precipitation)', 'kg m-2', 'TCOLWA'], '79': ['Evaporation Rate', 'kg m-2 s-1', 'EVARATE'], '80': ['Total Condensate', 'kg kg-1', 'TOTCON'], '81': ['Total Column-Integrate Condensate', 'kg m-2', 'TCICON'], '82': ['Cloud Ice Mixing Ratio', 'kg kg-1', 'CIMIXR'], '83': ['Specific Cloud Liquid Water Content', 'kg kg-1', 'SCLLWC'], '84': ['Specific Cloud Ice Water Content', 'kg kg-1', 'SCLIWC'], '85': ['Specific Rain Water Content', 'kg kg-1', 'SRAINW'], '86': ['Specific Snow Water Content', 'kg kg-1', 'SSNOWW'], '87': ['Stratiform Precipitation Rate', 'kg m-2 s-1', 'STRPRATE'], '88': ['Categorical Convective Precipitation', 'Code table 4.222', 'CATCP'], '89': ['Reserved', 'unknown', 'unknown'], '90': ['Total Kinematic Moisture Flux', 'kg kg-1 m s-1', 'TKMFLX'], '91': ['U-component (zonal) Kinematic Moisture Flux', 'kg kg-1 m s-1', 'UKMFLX'], '92': ['V-component (meridional) Kinematic Moisture Flux', 'kg kg-1 m s-1', 'VKMFLX'], '93': ['Relative Humidity With Respect to Water', '%', 'RHWATER'], '94': ['Relative Humidity With Respect to Ice', '%', 'RHICE'], '95': ['Freezing or Frozen Precipitation Rate', 'kg m-2 s-1', 'FZPRATE'], '96': ['Mass Density of Rain', 'kg m-3', 'MASSDR'], '97': ['Mass Density of Snow', 'kg m-3', 'MASSDS'], '98': ['Mass Density of Graupel', 'kg m-3', 'MASSDG'], '99': ['Mass Density of Hail', 'kg m-3', 'MASSDH'], '100': ['Specific Number Concentration of Rain', 'kg-1', 'SPNCR'], '101': ['Specific Number Concentration of Snow', 'kg-1', 'SPNCS'], '102': ['Specific Number Concentration of Graupel', 'kg-1', 'SPNCG'], '103': ['Specific Number Concentration of Hail', 'kg-1', 'SPNCH'], '104': ['Number Density of Rain', 'm-3', 'NUMDR'], '105': ['Number Density of Snow', 'm-3', 'NUMDS'], '106': ['Number Density of Graupel', 'm-3', 'NUMDG'], '107': ['Number Density of Hail', 'm-3', 'NUMDH'], '108': ['Specific Humidity Tendency due to Parameterizations', 'kg kg-1 s-1', 'SHTPRM'], '109': ['Mass Density of Liquid Water Coating on Hail Expressed as Mass of Liquid Water per Unit Volume of Air', 'kg m-3', 'MDLWHVA'], '110': ['Specific Mass of Liquid Water Coating on Hail Expressed as Mass of Liquid Water per Unit Mass of Moist Air', 'kg kg-1', 'SMLWHMA'], '111': ['Mass Mixing Ratio of Liquid Water Coating on Hail Expressed as Mass of Liquid Water per Unit Mass of Dry Air', 'kg kg-1', 'MMLWHDA'], '112': ['Mass Density of Liquid Water Coating on Graupel Expressed as Mass of Liquid Water per Unit Volume of Air', 'kg m-3', 'MDLWGVA'], '113': ['Specific Mass of Liquid Water Coating on Graupel Expressed as Mass of Liquid Water per Unit Mass of Moist Air', 'kg kg-1', 'SMLWGMA'], '114': ['Mass Mixing Ratio of Liquid Water Coating on Graupel Expressed as Mass of Liquid Water per Unit Mass of Dry Air', 'kg kg-1', 'MMLWGDA'], '115': ['Mass Density of Liquid Water Coating on Snow Expressed as Mass of Liquid Water per Unit Volume of Air', 'kg m-3', 'MDLWSVA'], '116': ['Specific Mass of Liquid Water Coating on Snow Expressed as Mass of Liquid Water per Unit Mass of Moist Air', 'kg kg-1', 'SMLWSMA'], '117': ['Mass Mixing Ratio of Liquid Water Coating on Snow Expressed as Mass of Liquid Water per Unit Mass of Dry Air', 'kg kg-1', 'MMLWSDA'], '118': ['Unbalanced Component of Specific Humidity', 'kg kg-1', 'UNCSH'], '119': ['Unbalanced Component of Specific Cloud Liquid Water content', 'kg kg-1', 'UCSCLW'], '120': ['Unbalanced Component of Specific Cloud Ice Water content', 'kg kg-1', 'UCSCIW'], '121': ['Fraction of Snow Cover', 'Proportion', 'FSNOWC'], '122': ['Precipitation intensity index', 'See Table 4.247', 'PIIDX'], '123': ['Domiunknownt precipitation type', 'See Table 4.201', 'DPTYPE'], '124': ['Presence of showers', 'See Table 4.222', 'PSHOW'], '125': ['Presence of blowing snow', 'See Table 4.222', 'PBSNOW'], '126': ['Presence of blizzard', 'See Table 4.222', 'PBLIZZ'], '127': ['Ice pellets (non-water equivalent) precipitation rate', 'm s-1', 'ICEP'], '128': ['Total solid precipitation rate', 'kg m-2 s-1', 'TSPRATE'], '129': ['Effective Radius of Cloud Water', 'm', 'EFRCWAT'], '130': ['Effective Radius of Rain', 'm', 'EFRRAIN'], '131': ['Effective Radius of Cloud Ice', 'm', 'EFRCICE'], '132': ['Effective Radius of Snow', 'm', 'EFRSNOW'], '133': ['Effective Radius of Graupel', 'm', 'EFRGRL'], '134': ['Effective Radius of Hail', 'm', 'EFRHAIL'], '135': ['Effective Radius of Subgrid Liquid Clouds', 'm', 'EFRSLC'], '136': ['Effective Radius of Subgrid Ice Clouds', 'm', 'EFRSICEC'], '137': ['Effective Aspect Ratio of Rain', 'unknown', 'EFARRAIN'], '138': ['Effective Aspect Ratio of Cloud Ice', 'unknown', 'EFARCICE'], '139': ['Effective Aspect Ratio of Snow', 'unknown', 'EFARSNOW'], '140': ['Effective Aspect Ratio of Graupel', 'unknown', 'EFARGRL'], '141': ['Effective Aspect Ratio of Hail', 'unknown', 'EFARHAIL'], '142': ['Effective Aspect Ratio of Subgrid Ice Clouds', 'unknown', 'EFARSIC'], '143': ['Potential evaporation rate', 'kg m-2 s-1', 'PERATE'], '144': ['Specific rain water content (convective)', 'kg kg-1', 'SRWATERC'], '145': ['Specific snow water content (convective)', 'kg kg-1', 'SSNOWWC'], '146': ['Cloud ice precipitation rate', 'kg m-2 s-1', 'CICEPR'], '147': ['Character of precipitation', 'See Table 4.249', 'CHPRECIP'], '148': ['Snow evaporation rate', 'kg m-2 s-1', 'SNOWERAT'], '149': ['Cloud water mixing ratio', 'kg kg-1', 'CWATERMR'], '150': ['Column integrated eastward water vapour mass flux', 'kg m-1s-1', 'CEWVMF'], '151': ['Column integrated northward water vapour mass flux', 'kg m-1s-1', 'CNWVMF'], '152': ['Column integrated eastward cloud liquid water mass flux', 'kg m-1s-1', 'CECLWMF'], '153': ['Column integrated northward cloud liquid water mass flux', 'kg m-1s-1', 'CNCLWMF'], '154': ['Column integrated eastward cloud ice mass flux', 'kg m-1s-1', 'CECIMF'], '155': ['Column integrated northward cloud ice mass flux', 'kg m-1s-1', 'CNCIMF'], '156': ['Column integrated eastward rain mass flux', 'kg m-1s-1', 'CERMF'], '157': ['Column integrated northward rain mass flux', 'kg m-1s-1', 'CNRMF'], '158': ['Column integrated eastward snow mass flux', 'kg m-1s-1', 'CEFMF'], '159': ['Column integrated northward snow mass flux', 'kg m-1s-1', 'CNSMF'], '160': ['Column integrated divergence of water vapour mass flux', 'kg m-1s-1', 'CDWFMF'], '161': ['Column integrated divergence of cloud liquid water mass flux', 'kg m-1s-1', 'CDCLWMF'], '162': ['Column integrated divergence of cloud ice mass flux', 'kg m-1s-1', 'CDCIMF'], '163': ['Column integrated divergence of rain mass flux', 'kg m-1s-1', 'CDRMF'], '164': ['Column integrated divergence of snow mass flux', 'kg m-1s-1', 'CDSMF'], '165': ['Column integrated divergence of total water mass flux', 'kg m-1s-1', 'CDTWMF'], '166': ['Column integrated water vapour flux', 'kg m-1s-1', 'CWVF'], '167': ['Total column supercooled liquid water', 'kg m-2', 'TCSLW'], '168': ['Saturation specific humidity with respect to water', 'kg m-3', 'SSPFHW'], '169': ['Total column integrated saturation specific humidity with respect to water', 'kg m-2', 'TCISSPFHW'], '170-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Categorical Rain', 'Code table 4.222', 'CRAIN'], '193': ['Categorical Freezing Rain', 'Code table 4.222', 'CFRZR'], '194': ['Categorical Ice Pellets', 'Code table 4.222', 'CICEP'], '195': ['Categorical Snow', 'Code table 4.222', 'CSNOW'], '196': ['Convective Precipitation Rate', 'kg m-2 s-1', 'CPRAT'], '197': ['Horizontal Moisture Divergence', 'kg kg-1 s-1', 'MDIV'], '198': ['Minimum Relative Humidity', '%', 'MINRH'], '199': ['Potential Evaporation', 'kg m-2', 'PEVAP'], '200': ['Potential Evaporation Rate', 'W m-2', 'PEVPR'], '201': ['Snow Cover', '%', 'SNOWC'], '202': ['Rain Fraction of Total Liquid Water', 'non-dim', 'FRAIN'], '203': ['Rime Factor', 'non-dim', 'RIME'], '204': ['Total Column Integrated Rain', 'kg m-2', 'TCOLR'], '205': ['Total Column Integrated Snow', 'kg m-2', 'TCOLS'], '206': ['Total Icing Potential Diagnostic', 'non-dim', 'TIPD'], '207': ['Number concentration for ice particles', 'non-dim', 'NCIP'], '208': ['Snow temperature', 'K', 'SNOT'], '209': ['Total column-integrated supercooled liquid water', 'kg m-2', 'TCLSW'], '210': ['Total column-integrated melting ice', 'kg m-2', 'TCOLM'], '211': ['Evaporation - Precipitation', 'cm/day', 'EMNP'], '212': ['Sublimation (evaporation from snow)', 'W m-2', 'SBSNO'], '213': ['Deep Convective Moistening Rate', 'kg kg-1 s-1', 'CNVMR'], '214': ['Shallow Convective Moistening Rate', 'kg kg-1 s-1', 'SHAMR'], '215': ['Vertical Diffusion Moistening Rate', 'kg kg-1 s-1', 'VDFMR'], '216': ['Condensation Pressure of Parcali Lifted From Indicate Surface', 'Pa', 'CONDP'], '217': ['Large scale moistening rate', 'kg kg-1 s-1', 'LRGMR'], '218': ['Specific humidity at top of viscous sublayer', 'kg kg-1', 'QZ0'], '219': ['Maximum specific humidity at 2m', 'kg kg-1', 'QMAX'], '220': ['Minimum specific humidity at 2m', 'kg kg-1', 'QMIN'], '221': ['Liquid precipitation (Rainfall)', 'kg m-2', 'ARAIN'], '222': ['Snow temperature, depth-avg', 'K', 'SNOWT'], '223': ['Total precipitation (nearest grid point)', 'kg m-2', 'APCPN'], '224': ['Convective precipitation (nearest grid point)', 'kg m-2', 'ACPCPN'], '225': ['Freezing Rain', 'kg m-2', 'FRZR'], '226': ['Predominant Weather (see Local Use Note A)', 'Numeric', 'PWTHER'], '227': ['Frozen Rain', 'kg m-2', 'FROZR'], '228': ['Flat Ice Accumulation (FRAM)', 'kg m-2', 'FICEAC'], '229': ['Line Ice Accumulation (FRAM)', 'kg m-2', 'LICEAC'], '230': ['Sleet Accumulation', 'kg m-2', 'SLACC'], '231': ['Precipitation Potential Index', '%', 'PPINDX'], '232': ['Probability Cloud Ice Present', '%', 'PROBCIP'], '233': ['Snow Liquid ratio', 'kg kg-1', 'SNOWLR'], '234': ['Precipitation Duration', 'hour', 'PCPDUR'], '235': ['Cloud Liquid Mixing Ratio', 'kg kg-1', 'CLLMR'], '236-240': ['Reserved', 'unknown', 'unknown'], '241': ['Total Snow', 'kg m-2', 'TSNOW'], '242': ['Relative Humidity with Respect to Precipitable Water', '%', 'RHPW'], '245': ['Hourly Maximum of Column Vertical Integrated Graupel on Entire Atmosphere', 'kg m-2', 'MAXVIG'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_2", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Wind Direction (from which blowing)', '\u00b0', 'WDIR'], '1': ['Wind Speed', 'm s-1', 'WIND'], '2': ['U-Component of Wind', 'm s-1', 'UGRD'], '3': ['V-Component of Wind', 'm s-1', 'VGRD'], '4': ['Stream Function', 'm2 s-1', 'STRM'], '5': ['Velocity Potential', 'm2 s-1', 'VPOT'], '6': ['Montgomery Stream Function', 'm2 s-2', 'MNTSF'], '7': ['Sigma Coordinate Vertical Velocity', 's-1', 'SGCVV'], '8': ['Vertical Velocity (Pressure)', 'Pa s-1', 'VVEL'], '9': ['Vertical Velocity (Geometric)', 'm s-1', 'DZDT'], '10': ['Absolute Vorticity', 's-1', 'ABSV'], '11': ['Absolute Divergence', 's-1', 'ABSD'], '12': ['Relative Vorticity', 's-1', 'RELV'], '13': ['Relative Divergence', 's-1', 'RELD'], '14': ['Potential Vorticity', 'K m2 kg-1 s-1', 'PVORT'], '15': ['Vertical U-Component Shear', 's-1', 'VUCSH'], '16': ['Vertical V-Component Shear', 's-1', 'VVCSH'], '17': ['Momentum Flux, U-Component', 'N m-2', 'UFLX'], '18': ['Momentum Flux, V-Component', 'N m-2', 'VFLX'], '19': ['Wind Mixing Energy', 'J', 'WMIXE'], '20': ['Boundary Layer Dissipation', 'W m-2', 'BLYDP'], '21': ['Maximum Wind Speed', 'm s-1', 'MAXGUST'], '22': ['Wind Speed (Gust)', 'm s-1', 'GUST'], '23': ['U-Component of Wind (Gust)', 'm s-1', 'UGUST'], '24': ['V-Component of Wind (Gust)', 'm s-1', 'VGUST'], '25': ['Vertical Speed Shear', 's-1', 'VWSH'], '26': ['Horizontal Momentum Flux', 'N m-2', 'MFLX'], '27': ['U-Component Storm Motion', 'm s-1', 'USTM'], '28': ['V-Component Storm Motion', 'm s-1', 'VSTM'], '29': ['Drag Coefficient', 'Numeric', 'CD'], '30': ['Frictional Velocity', 'm s-1', 'FRICV'], '31': ['Turbulent Diffusion Coefficient for Momentum', 'm2 s-1', 'TDCMOM'], '32': ['Eta Coordinate Vertical Velocity', 's-1', 'ETACVV'], '33': ['Wind Fetch', 'm', 'WINDF'], '34': ['Normal Wind Component', 'm s-1', 'NWIND'], '35': ['Tangential Wind Component', 'm s-1', 'TWIND'], '36': ['Amplitude Function for Rossby Wave Envelope for Meridional Wind', 'm s-1', 'AFRWE'], '37': ['Northward Turbulent Surface Stress', 'N m-2 s', 'NTSS'], '38': ['Eastward Turbulent Surface Stress', 'N m-2 s', 'ETSS'], '39': ['Eastward Wind Tendency Due to Parameterizations', 'm s-2', 'EWTPARM'], '40': ['Northward Wind Tendency Due to Parameterizations', 'm s-2', 'NWTPARM'], '41': ['U-Component of Geostrophic Wind', 'm s-1', 'UGWIND'], '42': ['V-Component of Geostrophic Wind', 'm s-1', 'VGWIND'], '43': ['Geostrophic Wind Direction', '\u00b0', 'GEOWD'], '44': ['Geostrophic Wind Speed', 'm s-1', 'GEOWS'], '45': ['Unbalanced Component of Divergence', 's-1', 'UNDIV'], '46': ['Vorticity Advection', 's-2', 'VORTADV'], '47': ['Surface roughness for heat,(see Note 5)', 'm', 'SFRHEAT'], '48': ['Surface roughness for moisture,(see Note 6)', 'm', 'SFRMOIST'], '49': ['Wind stress', 'N m-2', 'WINDSTR'], '50': ['Eastward wind stress', 'N m-2', 'EWINDSTR'], '51': ['Northward wind stress', 'N m-2', 'NWINDSTR'], '52': ['u-component of wind stress', 'N m-2', 'UWINDSTR'], '53': ['v-component of wind stress', 'N m-2', 'VWINDSTR'], '54': ['Natural logarithm of surface roughness length for heat', 'm', 'NLSRLH'], '55': ['Natural logarithm of surface roughness length for moisture', 'm', 'NLSRLM'], '56': ['u-component of neutral wind', 'm s-1', 'UNWIND'], '57': ['v-component of neutral wind', 'm s-1', 'VNWIND'], '58': ['Magnitude of turbulent surface stress', 'N m-2', 'TSFCSTR'], '59': ['Vertical divergence', 's-1', 'VDIV'], '60': ['Drag thermal coefficient', 'Numeric', 'DTC'], '61': ['Drag evaporation coefficient', 'Numeric', 'DEC'], '62': ['Eastward turbulent surface stress', 'N m-2', 'EASTTSS'], '63': ['Northward turbulent surface stress', 'N m-2', 'NRTHTSS'], '64': ['Eastward turbulent surface stress due to orographic form drag', 'N m-2', 'EASTTSSOD'], '65': ['Northward turbulent surface stress due to orographic form drag', 'N m-2', 'NRTHTSSOD'], '66': ['Eastward turbulent surface stress due to surface roughness', 'N m-2', 'EASTTSSSR'], '67': ['Northward turbulent surface stress due to surface roughness', 'N m-2', 'NRTHTSSSR'], '68-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Vertical Speed Shear', 's-1', 'VWSH'], '193': ['Horizontal Momentum Flux', 'N m-2', 'MFLX'], '194': ['U-Component Storm Motion', 'm s-1', 'USTM'], '195': ['V-Component Storm Motion', 'm s-1', 'VSTM'], '196': ['Drag Coefficient', 'non-dim', 'CD'], '197': ['Frictional Velocity', 'm s-1', 'FRICV'], '198': ['Latitude of U Wind Component of Velocity', 'deg', 'LAUV'], '199': ['Longitude of U Wind Component of Velocity', 'deg', 'LOUV'], '200': ['Latitude of V Wind Component of Velocity', 'deg', 'LAVV'], '201': ['Longitude of V Wind Component of Velocity', 'deg', 'LOVV'], '202': ['Latitude of Presure Point', 'deg', 'LAPP'], '203': ['Longitude of Presure Point', 'deg', 'LOPP'], '204': ['Vertical Eddy Diffusivity Heat exchange', 'm2 s-1', 'VEDH'], '205': ['Covariance between Meridional and Zonal Components of the wind.', 'm2 s-2', 'COVMZ'], '206': ['Covariance between Temperature and Zonal Components of the wind.', 'K*m s-1', 'COVTZ'], '207': ['Covariance between Temperature and Meridional Components of the wind.', 'K*m s-1', 'COVTM'], '208': ['Vertical Diffusion Zonal Acceleration', 'm s-2', 'VDFUA'], '209': ['Vertical Diffusion Meridional Acceleration', 'm s-2', 'VDFVA'], '210': ['Gravity wave drag zonal acceleration', 'm s-2', 'GWDU'], '211': ['Gravity wave drag meridional acceleration', 'm s-2', 'GWDV'], '212': ['Convective zonal momentum mixing acceleration', 'm s-2', 'CNVU'], '213': ['Convective meridional momentum mixing acceleration', 'm s-2', 'CNVV'], '214': ['Tendency of vertical velocity', 'm s-2', 'WTEND'], '215': ['Omega (Dp/Dt) divide by density', 'K', 'OMGALF'], '216': ['Convective Gravity wave drag zonal acceleration', 'm s-2', 'CNGWDU'], '217': ['Convective Gravity wave drag meridional acceleration', 'm s-2', 'CNGWDV'], '218': ['Velocity Point Model Surface', 'unknown', 'LMV'], '219': ['Potential Vorticity (Mass-Weighted)', '1/s/m', 'PVMWW'], '220': ['Hourly Maximum of Upward Vertical Velocity', 'm s-1', 'MAXUVV'], '221': ['Hourly Maximum of Downward Vertical Velocity', 'm s-1', 'MAXDVV'], '222': ['U Component of Hourly Maximum 10m Wind Speed', 'm s-1', 'MAXUW'], '223': ['V Component of Hourly Maximum 10m Wind Speed', 'm s-1', 'MAXVW'], '224': ['Ventilation Rate', 'm2 s-1', 'VRATE'], '225': ['Transport Wind Speed', 'm s-1', 'TRWSPD'], '226': ['Transport Wind Direction', 'Deg', 'TRWDIR'], '227': ['Earliest Reasonable Arrival Time (10% exceedance)', 's', 'TOA10'], '228': ['Most Likely Arrival Time (50% exceedance)', 's', 'TOA50'], '229': ['Most Likely Departure Time (50% exceedance)', 's', 'TOD50'], '230': ['Latest Reasonable Departure Time (90% exceedance)', 's', 'TOD90'], '231': ['Tropical Wind Direction', '\u00b0', 'TPWDIR'], '232': ['Tropical Wind Speed', 'm s-1', 'TPWSPD'], '233': ['Inflow Based (ESFC) to 50% EL Shear Magnitude', 'kt', 'ESHR'], '234': ['U Component Inflow Based to 50% EL Shear Vector', 'kt', 'UESH'], '235': ['V Component Inflow Based to 50% EL Shear Vector', 'kt', 'VESH'], '236': ['U Component Bunkers Effective Right Motion', 'kt', 'UEID'], '237': ['V Component Bunkers Effective Right Motion', 'kt', 'VEID'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_3", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Pressure', 'Pa', 'PRES'], '1': ['Pressure Reduced to MSL', 'Pa', 'PRMSL'], '2': ['Pressure Tendency', 'Pa s-1', 'PTEND'], '3': ['ICAO Standard Atmosphere Reference Height', 'm', 'ICAHT'], '4': ['Geopotential', 'm2 s-2', 'GP'], '5': ['Geopotential Height', 'gpm', 'HGT'], '6': ['Geometric Height', 'm', 'DIST'], '7': ['Standard Deviation of Height', 'm', 'HSTDV'], '8': ['Pressure Anomaly', 'Pa', 'PRESA'], '9': ['Geopotential Height Anomaly', 'gpm', 'GPA'], '10': ['Density', 'kg m-3', 'DEN'], '11': ['Altimeter Setting', 'Pa', 'ALTS'], '12': ['Thickness', 'm', 'THICK'], '13': ['Pressure Altitude', 'm', 'PRESALT'], '14': ['Density Altitude', 'm', 'DENALT'], '15': ['5-Wave Geopotential Height', 'gpm', '5WAVH'], '16': ['Zonal Flux of Gravity Wave Stress', 'N m-2', 'U-GWD'], '17': ['Meridional Flux of Gravity Wave Stress', 'N m-2', 'V-GWD'], '18': ['Planetary Boundary Layer Height', 'm', 'HPBL'], '19': ['5-Wave Geopotential Height Anomaly', 'gpm', '5WAVA'], '20': ['Standard Deviation of Sub-Grid Scale Orography', 'm', 'SDSGSO'], '21': ['Angle of Sub-Grid Scale Orography', 'rad', 'AOSGSO'], '22': ['Slope of Sub-Grid Scale Orography', 'Numeric', 'SSGSO'], '23': ['Gravity Wave Dissipation', 'W m-2', 'GWD'], '24': ['Anisotropy of Sub-Grid Scale Orography', 'Numeric', 'ASGSO'], '25': ['Natural Logarithm of Pressure in Pa', 'Numeric', 'NLPRES'], '26': ['Exner Pressure', 'Numeric', 'EXPRES'], '27': ['Updraught Mass Flux', 'kg m-2 s-1', 'UMFLX'], '28': ['Downdraught Mass Flux', 'kg m-2 s-1', 'DMFLX'], '29': ['Updraught Detrainment Rate', 'kg m-3 s-1', 'UDRATE'], '30': ['Downdraught Detrainment Rate', 'kg m-3 s-1', 'DDRATE'], '31': ['Unbalanced Component of Logarithm of Surface Pressure', '-', 'UCLSPRS'], '32': ['Saturation water vapour pressure', 'Pa', 'SWATERVP'], '33': ['Geometric altitude above mean sea level', 'm', 'GAMSL'], '34': ['Geometric height above ground level', 'm', 'GHAGRD'], '35': ['Column integrated divergence of total mass flux', 'kg m-2 s-1', 'CDTMF'], '36': ['Column integrated eastward total mass flux', 'kg m-2 s-1', 'CETMF'], '37': ['Column integrated northward total mass flux', 'kg m-2 s-1', 'CNTMF'], '38': ['Standard deviation of filtered subgrid orography', 'm', 'SDFSO'], '39': ['Column integrated mass of atmosphere', 'kg m-2 s-1', 'CMATMOS'], '40': ['Column integrated eastward geopotential flux', 'W m-1', 'CEGFLUX'], '41': ['Column integrated northward geopotential flux', 'W m-1', 'CNGFLUX'], '42': ['Column integrated divergence of water geopotential flux', 'W m-2', 'CDWGFLUX'], '43': ['Column integrated divergence of geopotential flux', 'W m-2', 'CDGFLUX'], '44': ['Height of zero-degree wet-bulb temperature', 'm', 'HWBT'], '45': ['Height of one-degree wet-bulb temperature', 'm', 'WOBT'], '46': ['Pressure departure from hydrostatic state', 'Pa', 'PRESDHS'], '47-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['MSLP (Eta model reduction)', 'Pa', 'MSLET'], '193': ['5-Wave Geopotential Height', 'gpm', '5WAVH'], '194': ['Zonal Flux of Gravity Wave Stress', 'N m-2', 'U-GWD'], '195': ['Meridional Flux of Gravity Wave Stress', 'N m-2', 'V-GWD'], '196': ['Planetary Boundary Layer Height', 'm', 'HPBL'], '197': ['5-Wave Geopotential Height Anomaly', 'gpm', '5WAVA'], '198': ['MSLP (MAPS System Reduction)', 'Pa', 'MSLMA'], '199': ['3-hr pressure tendency (Std. Atmos. Reduction)', 'Pa s-1', 'TSLSA'], '200': ['Pressure of level from which parcel was lifted', 'Pa', 'PLPL'], '201': ['X-gradient of Log Pressure', 'm-1', 'LPSX'], '202': ['Y-gradient of Log Pressure', 'm-1', 'LPSY'], '203': ['X-gradient of Height', 'm-1', 'HGTX'], '204': ['Y-gradient of Height', 'm-1', 'HGTY'], '205': ['Layer Thickness', 'm', 'LAYTH'], '206': ['Natural Log of Surface Pressure', 'ln (kPa)', 'NLGSP'], '207': ['Convective updraft mass flux', 'kg m-2 s-1', 'CNVUMF'], '208': ['Convective downdraft mass flux', 'kg m-2 s-1', 'CNVDMF'], '209': ['Convective detrainment mass flux', 'kg m-2 s-1', 'CNVDEMF'], '210': ['Mass Point Model Surface', 'unknown', 'LMH'], '211': ['Geopotential Height (nearest grid point)', 'gpm', 'HGTN'], '212': ['Pressure (nearest grid point)', 'Pa', 'PRESN'], '213': ['Orographic Convexity', 'unknown', 'ORCONV'], '214': ['Orographic Asymmetry, W Component', 'unknown', 'ORASW'], '215': ['Orographic Asymmetry, S Component', 'unknown', 'ORASS'], '216': ['Orographic Asymmetry, SW Component', 'unknown', 'ORASSW'], '217': ['Orographic Asymmetry, NW Component', 'unknown', 'ORASNW'], '218': ['Orographic Length Scale, W Component', 'unknown', 'ORLSW'], '219': ['Orographic Length Scale, S Component', 'unknown', 'ORLSS'], '220': ['Orographic Length Scale, SW Component', 'unknown', 'ORLSSW'], '221': ['Orographic Length Scale, NW Component', 'unknown', 'ORLSNW'], '222': ['Effective Surface Height', 'm', 'EFSH'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_4", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Net Short-Wave Radiation Flux (Surface)', 'W m-2', 'NSWRS'], '1': ['Net Short-Wave Radiation Flux (Top of Atmosphere)', 'W m-2', 'NSWRT'], '2': ['Short-Wave Radiation Flux', 'W m-2', 'SWAVR'], '3': ['Global Radiation Flux', 'W m-2', 'GRAD'], '4': ['Brightness Temperature', 'K', 'BRTMP'], '5': ['Radiance (with respect to wave number)', 'W m-1 sr-1', 'LWRAD'], '6': ['Radiance (with respect to wavelength)', 'W m-3 sr-1', 'SWRAD'], '7': ['Downward Short-Wave Radiation Flux', 'W m-2', 'DSWRF'], '8': ['Upward Short-Wave Radiation Flux', 'W m-2', 'USWRF'], '9': ['Net Short Wave Radiation Flux', 'W m-2', 'NSWRF'], '10': ['Photosynthetically Active Radiation', 'W m-2', 'PHOTAR'], '11': ['Net Short-Wave Radiation Flux, Clear Sky', 'W m-2', 'NSWRFCS'], '12': ['Downward UV Radiation', 'W m-2', 'DWUVR'], '13': ['Direct Short Wave Radiation Flux', 'W m-2', 'DSWRFLX'], '14': ['Diffuse Short Wave Radiation Flux', 'W m-2', 'DIFSWRF'], '15': ['Upward UV radiation emitted/reflected from the Earths surface', 'W m-2', 'UVVEARTH'], '16-49': ['Reserved', 'unknown', 'unknown'], '50': ['UV Index (Under Clear Sky)', 'Numeric', 'UVIUCS'], '51': ['UV Index', 'Numeric', 'UVI'], '52': ['Downward Short-Wave Radiation Flux, Clear Sky', 'W m-2', 'DSWRFCS'], '53': ['Upward Short-Wave Radiation Flux, Clear Sky', 'W m-2', 'USWRFCS'], '54': ['Direct normal short-wave radiation flux,(see Note 3)', 'W m-2', 'DNSWRFLX'], '55': ['UV visible albedo for diffuse radiation', '%', 'UVALBDIF'], '56': ['UV visible albedo for direct radiation', '%', 'UVALBDIR'], '57': ['UV visible albedo for direct radiation, geometric component', '%', 'UBALBDIRG'], '58': ['UV visible albedo for direct radiation, isotropic component', '%', 'UVALBDIRI'], '59': ['UV visible albedo for direct radiation, volumetric component', '%', 'UVBDIRV'], '60': ['Photosynthetically active radiation flux, clear sky', 'W m-2', 'PHOARFCS'], '61': ['Direct short-wave radiation flux, clear sky', 'W m-2', 'DSWRFLXCS'], '62-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Downward Short-Wave Radiation Flux', 'W m-2', 'DSWRF'], '193': ['Upward Short-Wave Radiation Flux', 'W m-2', 'USWRF'], '194': ['UV-B Downward Solar Flux', 'W m-2', 'DUVB'], '195': ['Clear sky UV-B Downward Solar Flux', 'W m-2', 'CDUVB'], '196': ['Clear Sky Downward Solar Flux', 'W m-2', 'CSDSF'], '197': ['Solar Radiative Heating Rate', 'K s-1', 'SWHR'], '198': ['Clear Sky Upward Solar Flux', 'W m-2', 'CSUSF'], '199': ['Cloud Forcing Net Solar Flux', 'W m-2', 'CFNSF'], '200': ['Visible Beam Downward Solar Flux', 'W m-2', 'VBDSF'], '201': ['Visible Diffuse Downward Solar Flux', 'W m-2', 'VDDSF'], '202': ['Near IR Beam Downward Solar Flux', 'W m-2', 'NBDSF'], '203': ['Near IR Diffuse Downward Solar Flux', 'W m-2', 'NDDSF'], '204': ['Downward Total Radiation Flux', 'W m-2', 'DTRF'], '205': ['Upward Total Radiation Flux', 'W m-2', 'UTRF'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_5", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_5", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Net Long-Wave Radiation Flux (Surface)', 'W m-2', 'NLWRS'], '1': ['Net Long-Wave Radiation Flux (Top of Atmosphere)', 'W m-2', 'NLWRT'], '2': ['Long-Wave Radiation Flux', 'W m-2', 'LWAVR'], '3': ['Downward Long-Wave Rad. Flux', 'W m-2', 'DLWRF'], '4': ['Upward Long-Wave Rad. Flux', 'W m-2', 'ULWRF'], '5': ['Net Long-Wave Radiation Flux', 'W m-2', 'NLWRF'], '6': ['Net Long-Wave Radiation Flux, Clear Sky', 'W m-2', 'NLWRCS'], '7': ['Brightness Temperature', 'K', 'BRTEMP'], '8': ['Downward Long-Wave Radiation Flux, Clear Sky', 'W m-2', 'DLWRFCS'], '9': ['Near IR albedo for diffuse radiation', '%', 'NIRALBDIF'], '10': ['Near IR albedo for direct radiation', '%', 'NIRALBDIR'], '11': ['Near IR albedo for direct radiation, geometric component', '%', 'NIRALBDIRG'], '12': ['Near IR albedo for direct radiation, isotropic component', '%', 'NIRALBDIRI'], '13': ['Near IR albedo for direct radiation, volumetric component', '%', 'NIRALBDIRV'], '14-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Downward Long-Wave Rad. Flux', 'W m-2', 'DLWRF'], '193': ['Upward Long-Wave Rad. Flux', 'W m-2', 'ULWRF'], '194': ['Long-Wave Radiative Heating Rate', 'K s-1', 'LWHR'], '195': ['Clear Sky Upward Long Wave Flux', 'W m-2', 'CSULF'], '196': ['Clear Sky Downward Long Wave Flux', 'W m-2', 'CSDLF'], '197': ['Cloud Forcing Net Long Wave Flux', 'W m-2', 'CFNLF'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_6", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_6", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Cloud Ice', 'kg m-2', 'CICE'], '1': ['Total Cloud Cover', '%', 'TCDC'], '2': ['Convective Cloud Cover', '%', 'CDCON'], '3': ['Low Cloud Cover', '%', 'LCDC'], '4': ['Medium Cloud Cover', '%', 'MCDC'], '5': ['High Cloud Cover', '%', 'HCDC'], '6': ['Cloud Water', 'kg m-2', 'CWAT'], '7': ['Cloud Amount', '%', 'CDCA'], '8': ['Cloud Type', 'See Table 4.203', 'CDCT'], '9': ['Thunderstorm Maximum Tops', 'm', 'TMAXT'], '10': ['Thunderstorm Coverage', 'See Table 4.204', 'THUNC'], '11': ['Cloud Base', 'm', 'CDCB'], '12': ['Cloud Top', 'm', 'CDCTOP'], '13': ['Ceiling', 'm', 'CEIL'], '14': ['Non-Convective Cloud Cover', '%', 'CDLYR'], '15': ['Cloud Work Function', 'J kg-1', 'CWORK'], '16': ['Convective Cloud Efficiency', 'Proportion', 'CUEFI'], '17': ['Total Condensate', 'kg kg-1', 'TCONDO'], '18': ['Total Column-Integrated Cloud Water', 'kg m-2', 'TCOLWO'], '19': ['Total Column-Integrated Cloud Ice', 'kg m-2', 'TCOLIO'], '20': ['Total Column-Integrated Condensate', 'kg m-2', 'TCOLC'], '21': ['Ice fraction of total condensate', 'Proportion', 'FICE'], '22': ['Cloud Cover', '%', 'CDCC'], '23': ['Cloud Ice Mixing Ratio', 'kg kg-1', 'CDCIMR'], '24': ['Sunshine', 'Numeric', 'SUNS'], '25': ['Horizontal Extent of Cumulonimbus (CB)', '%', 'CBHE'], '26': ['Height of Convective Cloud Base', 'm', 'HCONCB'], '27': ['Height of Convective Cloud Top', 'm', 'HCONCT'], '28': ['Number Concentration of Cloud Droplets', 'kg-1', 'NCONCD'], '29': ['Number Concentration of Cloud Ice', 'kg-1', 'NCCICE'], '30': ['Number Density of Cloud Droplets', 'm-3', 'NDENCD'], '31': ['Number Density of Cloud Ice', 'm-3', 'NDCICE'], '32': ['Fraction of Cloud Cover', 'Numeric', 'FRACCC'], '33': ['Sunshine Duration', 's', 'SUNSD'], '34': ['Surface Long Wave Effective Total Cloudiness', 'Numeric', 'SLWTC'], '35': ['Surface Short Wave Effective Total Cloudiness', 'Numeric', 'SSWTC'], '36': ['Fraction of Stratiform Precipitation Cover', 'Proportion', 'FSTRPC'], '37': ['Fraction of Convective Precipitation Cover', 'Proportion', 'FCONPC'], '38': ['Mass Density of Cloud Droplets', 'kg m-3', 'MASSDCD'], '39': ['Mass Density of Cloud Ice', 'kg m-3', 'MASSDCI'], '40': ['Mass Density of Convective Cloud Water Droplets', 'kg m-3', 'MDCCWD'], '41-46': ['Reserved', 'unknown', 'unknown'], '47': ['Volume Fraction of Cloud Water Droplets', 'Numeric', 'VFRCWD'], '48': ['Volume Fraction of Cloud Ice Particles', 'Numeric', 'VFRCICE'], '49': ['Volume Fraction of Cloud (Ice and/or Water)', 'Numeric', 'VFRCIW'], '50': ['Fog', '%', 'FOG'], '51': ['Sunshine Duration Fraction', 'Proportion', 'SUNFRAC'], '52-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Non-Convective Cloud Cover', '%', 'CDLYR'], '193': ['Cloud Work Function', 'J kg-1', 'CWORK'], '194': ['Convective Cloud Efficiency', 'non-dim', 'CUEFI'], '195': ['Total Condensate', 'kg kg-1', 'TCOND'], '196': ['Total Column-Integrated Cloud Water', 'kg m-2', 'TCOLW'], '197': ['Total Column-Integrated Cloud Ice', 'kg m-2', 'TCOLI'], '198': ['Total Column-Integrated Condensate', 'kg m-2', 'TCOLC'], '199': ['Ice fraction of total condensate', 'non-dim', 'FICE'], '200': ['Convective Cloud Mass Flux', 'Pa s-1', 'MFLUX'], '201': ['Sunshine Duration', 's', 'SUNSD'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_7", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_7", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Parcel Lifted Index (to 500 hPa)', 'K', 'PLI'], '1': ['Best Lifted Index (to 500 hPa)', 'K', 'BLI'], '2': ['K Index', 'K', 'KX'], '3': ['KO Index', 'K', 'KOX'], '4': ['Total Totals Index', 'K', 'TOTALX'], '5': ['Sweat Index', 'Numeric', 'SX'], '6': ['Convective Available Potential Energy', 'J kg-1', 'CAPE'], '7': ['Convective Inhibition', 'J kg-1', 'CIN'], '8': ['Storm Relative Helicity', 'm2 s-2', 'HLCY'], '9': ['Energy Helicity Index', 'Numeric', 'EHLX'], '10': ['Surface Lifted Index', 'K', 'LFT X'], '11': ['Best (4 layer) Lifted Index', 'K', '4LFTX'], '12': ['Richardson Number', 'Numeric', 'RI'], '13': ['Showalter Index', 'K', 'SHWINX'], '14': ['Reserved', 'unknown', 'unknown'], '15': ['Updraft Helicity', 'm2 s-2', 'UPHL'], '16': ['Bulk Richardson Number', 'Numeric', 'BLKRN'], '17': ['Gradient Richardson Number', 'Numeric', 'GRDRN'], '18': ['Flux Richardson Number', 'Numeric', 'FLXRN'], '19': ['Convective Available Potential Energy Shear', 'm2 s-2', 'CONAPES'], '20': ['Thunderstorm intensity index', 'See Table 4.246', 'TIIDEX'], '21-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Surface Lifted Index', 'K', 'LFT X'], '193': ['Best (4 layer) Lifted Index', 'K', '4LFTX'], '194': ['Richardson Number', 'Numeric', 'RI'], '195': ['Convective Weather Detection Index', 'unknown', 'CWDI'], '196': ['Ultra Violet Index', 'W m-2', 'UVI'], '197': ['Updraft Helicity', 'm2 s-2', 'UPHL'], '198': ['Leaf Area Index', 'Numeric', 'LAI'], '199': ['Hourly Maximum of Updraft Helicity', 'm2 s-2', 'MXUPHL'], '200': ['Hourly Minimum of Updraft Helicity', 'm2 s-2', 'MNUPHL'], '201': ['Bourgoiun Negative Energy Layer (surface to freezing level)', 'J kg-1', 'BNEGELAY'], '202': ['Bourgoiun Positive Energy Layer (2k ft AGL to 400 hPa)', 'J kg-1', 'BPOSELAY'], '203': ['Downdraft CAPE', 'J kg-1', 'DCAPE'], '204': ['Effective Storm Relative Helicity', 'm2 s-2', 'EFHL'], '205': ['Enhanced Stretching Potential', 'Numeric', 'ESP'], '206': ['Critical Angle', 'Degree', 'CANGLE'], '207': ['Effective Surface Helicity', 'm2 s-2', 'E3KH'], '208': ['Significant Tornado Parameter with CIN-Effective Layer', 'numeric', 'STPC'], '209': ['Significant Hail Parameter', 'numeric', 'SIGH'], '210': ['Supercell Composite Parameter-Effective Layer', 'numeric', 'SCCP'], '211': ['Significant Tornado parameter-Fixed Layer', 'numeric', 'SIGT'], '212': ['Mixed Layer (100 mb) Virtual LFC', 'numeric', 'MLFC'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_13", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_13", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Aerosol Type', 'See Table 4.205', 'AEROT'], '1-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Particulate matter (coarse)', '\u00b5g m-3', 'PMTC'], '193': ['Particulate matter (fine)', '\u00b5g m-3', 'PMTF'], '194': ['Particulate matter (fine)', 'log10 (\u00b5g m-3)', 'LPMTF'], '195': ['Integrated column particulate matter (fine)', 'log10 (\u00b5g m-3)', 'LIPMF'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_14", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_14", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Total Ozone', 'DU', 'TOZNE'], '1': ['Ozone Mixing Ratio', 'kg kg-1', 'O3MR'], '2': ['Total Column Integrated Ozone', 'DU', 'TCIOZ'], '3-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Ozone Mixing Ratio', 'kg kg-1', 'O3MR'], '193': ['Ozone Concentration', 'ppb', 'OZCON'], '194': ['Categorical Ozone Concentration', 'Non-Dim', 'OZCAT'], '195': ['Ozone Vertical Diffusion', 'kg kg-1 s-1', 'VDFOZ'], '196': ['Ozone Production', 'kg kg-1 s-1', 'POZ'], '197': ['Ozone Tendency', 'kg kg-1 s-1', 'TOZ'], '198': ['Ozone Production from Temperature Term', 'kg kg-1 s-1', 'POZT'], '199': ['Ozone Production from Column Ozone Term', 'kg kg-1 s-1', 'POZO'], '200': ['Ozone Daily Max from 1-hour Average', 'ppbV', 'OZMAX1'], '201': ['Ozone Daily Max from 8-hour Average', 'ppbV', 'OZMAX8'], '202': ['PM 2.5 Daily Max from 1-hour Average', '\u03bcg m-3', 'PDMAX1'], '203': ['PM 2.5 Daily Max from 24-hour Average', '\u03bcg m-3', 'PDMAX24'], '204': ['Acetaldehyde & Higher Aldehydes', 'ppbV', 'ALD2'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_15", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_15", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Base Spectrum Width', 'm s-1', 'BSWID'], '1': ['Base Reflectivity', 'dB', 'BREF'], '2': ['Base Radial Velocity', 'm s-1', 'BRVEL'], '3': ['Vertically-Integrated Liquid Water', 'kg m-2', 'VIL'], '4': ['Layer Maximum Base Reflectivity', 'dB', 'LMAXBR'], '5': ['Precipitation', 'kg m-2', 'PREC'], '6': ['Radar Spectra (1)', 'unknown', 'RDSP1'], '7': ['Radar Spectra (2)', 'unknown', 'RDSP2'], '8': ['Radar Spectra (3)', 'unknown', 'RDSP3'], '9': ['Reflectivity of Cloud Droplets', 'dB', 'RFCD'], '10': ['Reflectivity of Cloud Ice', 'dB', 'RFCI'], '11': ['Reflectivity of Snow', 'dB', 'RFSNOW'], '12': ['Reflectivity of Rain', 'dB', 'RFRAIN'], '13': ['Reflectivity of Graupel', 'dB', 'RFGRPL'], '14': ['Reflectivity of Hail', 'dB', 'RFHAIL'], '15': ['Hybrid Scan Reflectivity', 'dB', 'HSR'], '16': ['Hybrid Scan Reflectivity Height', 'm', 'HSRHT'], '17-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_16", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_16", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Equivalent radar reflectivity factor for rain', 'm m6 m-3', 'REFZR'], '1': ['Equivalent radar reflectivity factor for snow', 'm m6 m-3', 'REFZI'], '2': ['Equivalent radar reflectivity factor for parameterized convection', 'm m6 m-3', 'REFZC'], '3': ['Echo Top', 'm', 'RETOP'], '4': ['Reflectivity', 'dB', 'REFD'], '5': ['Composite reflectivity', 'dB', 'REFC'], '6-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Equivalent radar reflectivity factor for rain', 'm m6 m-3', 'REFZR'], '193': ['Equivalent radar reflectivity factor for snow', 'm m6 m-3', 'REFZI'], '194': ['Equivalent radar reflectivity factor for parameterized convection', 'm m6 m-3', 'REFZC'], '195': ['Reflectivity', 'dB', 'REFD'], '196': ['Composite reflectivity', 'dB', 'REFC'], '197': ['Echo Top', 'm', 'RETOP'], '198': ['Hourly Maximum of Simulated Reflectivity', 'dB', 'MAXREF'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_17", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_17", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Lightning Strike Density', 'm-2 s-1', 'LTNGSD'], '1': ['Lightning Potential Index (LPI)', 'J kg-1', 'LTPINX'], '2': ['Cloud-to-Ground Lightning Flash Density', 'km-2 day-1', 'CDGDLTFD'], '3': ['Cloud-to-Cloud Lightning Flash Density', 'km-2 day-1', 'CDCDLTFD'], '4': ['Total Lightning Flash Density', 'km-2 day-1', 'TLGTFD'], '5': ['Subgrid-scale lightning potential index', 'J kg-1', 'SLNGPIDX'], '6-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Lightning', 'non-dim', 'LTNG'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_18", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_18", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Air Concentration of Caesium 137', 'Bq m-3', 'ACCES'], '1': ['Air Concentration of Iodine 131', 'Bq m-3', 'ACIOD'], '2': ['Air Concentration of Radioactive Pollutant', 'Bq m-3', 'ACRADP'], '3': ['Ground Deposition of Caesium 137', 'Bq m-2', 'GDCES'], '4': ['Ground Deposition of Iodine 131', 'Bq m-2', 'GDIOD'], '5': ['Ground Deposition of Radioactive Pollutant', 'Bq m-2', 'GDRADP'], '6': ['Time Integrated Air Concentration of Cesium Pollutant', 'Bq s m-3', 'TIACCP'], '7': ['Time Integrated Air Concentration of Iodine Pollutant', 'Bq s m-3', 'TIACIP'], '8': ['Time Integrated Air Concentration of Radioactive Pollutant', 'Bq s m-3', 'TIACRP'], '9': ['Reserved', 'unknown', 'unknown'], '10': ['Air Concentration', 'Bq m-3', 'AIRCON'], '11': ['Wet Deposition', 'Bq m-2', 'WETDEP'], '12': ['Dry Deposition', 'Bq m-2', 'DRYDEP'], '13': ['Total Deposition (Wet + Dry)', 'Bq m-2', 'TOTLWD'], '14': ['Specific Activity Concentration', 'Bq kg-1', 'SACON'], '15': ['Maximum of Air Concentration in Layer', 'Bq m-3', 'MAXACON'], '16': ['Height of Maximum of Air Concentration', 'm', 'HMXACON'], '17': ['Column-Integrated Air Concentration', 'Bq m-2', 'CIAIRC'], '18': ['Column-Averaged Air Concentration in Layer', 'Bq m-3', 'CAACL'], '19-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_19", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_19", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Visibility', 'm', 'VIS'], '1': ['Albedo', '%', 'ALBDO'], '2': ['Thunderstorm Probability', '%', 'TSTM'], '3': ['Mixed Layer Depth', 'm', 'MIXHT'], '4': ['Volcanic Ash', 'See Table 4.206', 'VOLASH'], '5': ['Icing Top', 'm', 'ICIT'], '6': ['Icing Base', 'm', 'ICIB'], '7': ['Icing', 'See Table 4.207', 'ICI'], '8': ['Turbulence Top', 'm', 'TURBT'], '9': ['Turbulence Base', 'm', 'TURBB'], '10': ['Turbulence', 'See Table 4.208', 'TURB'], '11': ['Turbulent Kinetic Energy', 'J kg-1', 'TKE'], '12': ['Planetary Boundary Layer Regime', 'See Table 4.209', 'PBLREG'], '13': ['Contrail Intensity', 'See Table 4.210', 'CONTI'], '14': ['Contrail Engine Type', 'See Table 4.211', 'CONTET'], '15': ['Contrail Top', 'm', 'CONTT'], '16': ['Contrail Base', 'm', 'CONTB'], '17': ['Maximum Snow Albedo', '%', 'MXSALB'], '18': ['Snow-Free Albedo', '%', 'SNFALB'], '19': ['Snow Albedo', '%', 'SALBD'], '20': ['Icing', '%', 'ICIP'], '21': ['In-Cloud Turbulence', '%', 'CTP'], '22': ['Clear Air Turbulence (CAT)', '%', 'CAT'], '23': ['Supercooled Large Droplet Probability', '%', 'SLDP'], '24': ['Convective Turbulent Kinetic Energy', 'J kg-1', 'CONTKE'], '25': ['Weather', 'See Table 4.225', 'WIWW'], '26': ['Convective Outlook', 'See Table 4.224', 'CONVO'], '27': ['Icing Scenario', 'See Table 4.227', 'ICESC'], '28': ['Mountain Wave Turbulence (Eddy Dissipation Rate)', 'm2/3 s-1', 'MWTURB'], '29': ['Clear Air Turbulence (CAT) (Eddy Dissipation Rate)', 'm2/3 s-1', 'CATEDR'], '30': ['Eddy Dissipation Parameter', 'm2/3 s-1', 'EDPARM'], '31': ['Maximum of Eddy Dissipation Parameter in Layer', 'm2/3 s-1', 'MXEDPRM'], '32': ['Highest Freezing Level', 'm', 'HIFREL'], '33': ['Visibility Through Liquid Fog', 'm', 'VISLFOG'], '34': ['Visibility Through Ice Fog', 'm', 'VISIFOG'], '35': ['Visibility Through Blowing Snow', 'm', 'VISBSN'], '36': ['Presence of Snow Squalls', 'See Table 4.222', 'PSNOWS'], '37': ['Icing Severity', 'See Table 4.228', 'ICESEV'], '38': ['Sky transparency index', 'See Table 4.214', 'SKYIDX'], '39': ['Seeing index', 'See Table 4.214', 'SEEINDEX'], '40': ['Snow level', 'm', 'SNOWLVL'], '41': ['Duct base height', 'm', 'DBHEIGHT'], '42': ['Trapping layer base height', 'm', 'TLBHEIGHT'], '43': ['Trapping layer top height', 'm', 'TLTHEIGHT'], '44': ['Mean vertical gradient of refractivity inside trapping layer', 'm-1', 'MEANVGRTL'], '45': ['Minimum vertical gradient of refractivity inside trapping layer', 'm-1', 'MINVGRTL'], '46': ['Net radiation flux', 'W m-2', 'NETRADFLUX'], '47': ['Global irradiance on tilted surfaces', 'W m-2', 'GLIRRTS'], '48': ['Top of persistent contrails', 'm', 'PCONTT'], '49': ['Base of persistent contrails', 'm', 'PCONTB'], '50': ['Convectively-induced turbulence (CIT) (eddy dissipation rate)', 'm2/3 s-1', 'CITEDR'], '51-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Maximum Snow Albedo', '%', 'MXSALB'], '193': ['Snow-Free Albedo', '%', 'SNFALB'], '194': ['Slight risk convective outlook', 'categorical', 'SRCONO'], '195': ['Moderate risk convective outlook', 'categorical', 'MRCONO'], '196': ['High risk convective outlook', 'categorical', 'HRCONO'], '197': ['Tornado probability', '%', 'TORPROB'], '198': ['Hail probability', '%', 'HAILPROB'], '199': ['Wind probability', '%', 'WINDPROB'], '200': ['Significant Tornado probability', '%', 'STORPROB'], '201': ['Significant Hail probability', '%', 'SHAILPRO'], '202': ['Significant Wind probability', '%', 'SWINDPRO'], '203': ['Categorical Thunderstorm', 'Code table 4.222', 'TSTMC'], '204': ['Number of mixed layers next to surface', 'integer', 'MIXLY'], '205': ['Flight Category', 'unknown', 'FLGHT'], '206': ['Confidence - Ceiling', 'unknown', 'CICEL'], '207': ['Confidence - Visibility', 'unknown', 'CIVIS'], '208': ['Confidence - Flight Category', 'unknown', 'CIFLT'], '209': ['Low-Level aviation interest', 'unknown', 'LAVNI'], '210': ['High-Level aviation interest', 'unknown', 'HAVNI'], '211': ['Visible, Black Sky Albedo', '%', 'SBSALB'], '212': ['Visible, White Sky Albedo', '%', 'SWSALB'], '213': ['Near IR, Black Sky Albedo', '%', 'NBSALB'], '214': ['Near IR, White Sky Albedo', '%', 'NWSALB'], '215': ['Total Probability of Severe Thunderstorms (Days 2,3)', '%', 'PRSVR'], '216': ['Total Probability of Extreme Severe Thunderstorms (Days 2,3)', '%', 'PRSIGSVR'], '217': ['Supercooled Large Droplet (SLD) Icing', 'See Table 4.207', 'SIPD'], '218': ['Radiative emissivity', 'unknown', 'EPSR'], '219': ['Turbulence Potential Forecast Index', 'unknown', 'TPFI'], '220': ['Categorical Severe Thunderstorm', 'Code table 4.222', 'SVRTS'], '221': ['Probability of Convection', '%', 'PROCON'], '222': ['Convection Potential', 'Code table 4.222', 'CONVP'], '223-231': ['Reserved', 'unknown', 'unknown'], '232': ['Volcanic Ash Forecast Transport and Dispersion', 'log10 (kg m-3)', 'VAFTD'], '233': ['Icing probability', 'non-dim', 'ICPRB'], '234': ['Icing Severity', 'non-dim', 'ICSEV'], '235': ['Joint Fire Weather Probability', '%', 'JFWPRB'], '236': ['Snow Level', 'm', 'SNOWLVL'], '237': ['Dry Thunderstorm Probability', '%', 'DRYTPROB'], '238': ['Ellrod Index', 'unknown', 'ELLINX'], '239': ['Craven-Wiedenfeld Aggregate Severe Parameter', 'Numeric', 'CWASP'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_20", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_20", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Mass Density (Concentration)', 'kg m-3', 'MASSDEN'], '1': ['Column-Integrated Mass Density', 'kg m-2', 'COLMD'], '2': ['Mass Mixing Ratio (Mass Fraction in Air)', 'kg kg-1', 'MASSMR'], '3': ['Atmosphere Emission Mass Flux', 'kg m-2s-1', 'AEMFLX'], '4': ['Atmosphere Net Production Mass Flux', 'kg m-2s-1', 'ANPMFLX'], '5': ['Atmosphere Net Production And Emision Mass Flux', 'kg m-2s-1', 'ANPEMFLX'], '6': ['Surface Dry Deposition Mass Flux', 'kg m-2s-1', 'SDDMFLX'], '7': ['Surface Wet Deposition Mass Flux', 'kg m-2s-1', 'SWDMFLX'], '8': ['Atmosphere Re-Emission Mass Flux', 'kg m-2s-1', 'AREMFLX'], '9': ['Wet Deposition by Large-Scale Precipitation Mass Flux', 'kg m-2s-1', 'WLSMFLX'], '10': ['Wet Deposition by Convective Precipitation Mass Flux', 'kg m-2s-1', 'WDCPMFLX'], '11': ['Sedimentation Mass Flux', 'kg m-2s-1', 'SEDMFLX'], '12': ['Dry Deposition Mass Flux', 'kg m-2s-1', 'DDMFLX'], '13': ['Transfer From Hydrophobic to Hydrophilic', 'kg kg-1s-1', 'TRANHH'], '14': ['Transfer From SO2 (Sulphur Dioxide) to SO4 (Sulphate)', 'kg kg-1s-1', 'TRSDS'], '15': ['Dry deposition velocity', 'm s-1', 'DDVEL'], '16': ['Mass mixing ratio with respect to dry air', 'kg kg-1', 'MSSRDRYA'], '17': ['Mass mixing ratio with respect to wet air', 'kg kg-1', 'MSSRWETA'], '18': ['Potential of hydrogen (pH)', 'pH', 'POTHPH'], '19-49': ['Reserved', 'unknown', 'unknown'], '50': ['Amount in Atmosphere', 'mol', 'AIA'], '51': ['Concentration In Air', 'mol m-3', 'CONAIR'], '52': ['Volume Mixing Ratio (Fraction in Air)', 'mol mol-1', 'VMXR'], '53': ['Chemical Gross Production Rate of Concentration', 'mol m-3s-1', 'CGPRC'], '54': ['Chemical Gross Destruction Rate of Concentration', 'mol m-3s-1', 'CGDRC'], '55': ['Surface Flux', 'mol m-2s-1', 'SFLUX'], '56': ['Changes Of Amount in Atmosphere', 'mol s-1', 'COAIA'], '57': ['Total Yearly Average Burden of The Atmosphere>', 'mol', 'TYABA'], '58': ['Total Yearly Average Atmospheric Loss', 'mol s-1', 'TYAAL'], '59': ['Aerosol Number Concentration', 'm-3', 'ANCON'], '60': ['Aerosol Specific Number Concentration', 'kg-1', 'ASNCON'], '61': ['Maximum of Mass Density', 'kg m-3', 'MXMASSD'], '62': ['Height of Mass Density', 'm', 'HGTMD'], '63': ['Column-Averaged Mass Density in Layer', 'kg m-3', 'CAVEMDL'], '64': ['Mole fraction with respect to dry air', 'mol mol-1', 'MOLRDRYA'], '65': ['Mole fraction with respect to wet air', 'mol mol-1', 'MOLRWETA'], '66': ['Column-integrated in-cloud scavenging rate by precipitation', 'kg m-2 s-1', 'CINCLDSP'], '67': ['Column-integrated below-cloud scavenging rate by precipitation', 'kg m-2 s-1', 'CBLCLDSP'], '68': ['Column-integrated release rate from evaporating precipitation', 'kg m-2 s-1', 'CIRELREP'], '69': ['Column-integrated in-cloud scavenging rate by large-scale precipitation', 'kg m-2 s-1', 'CINCSLSP'], '70': ['Column-integrated below-cloud scavenging rate by large-scale precipitation', 'kg m-2 s-1', 'CBECSLSP'], '71': ['Column-integrated release rate from evaporating large-scale precipitation', 'kg m-2 s-1', 'CRERELSP'], '72': ['Column-integrated in-cloud scavenging rate by convective precipitation', 'kg m-2 s-1', 'CINCSRCP'], '73': ['Column-integrated below-cloud scavenging rate by convective precipitation', 'kg m-2 s-1', 'CBLCSRCP'], '74': ['Column-integrated release rate from evaporating convective precipitation', 'kg m-2 s-1', 'CIRERECP'], '75': ['Wildfire flux', 'kg m-2 s-1', 'WFIREFLX'], '76': ['Emission Rate', 'kg kg-1 s-1', 'EMISFLX'], '77': ['Surface Emission flux', 'kg m-2 s-1', 'SFCEFLX'], '78': ['Column integrated eastward mass flux', 'kg m-2 s-1', 'CEMF'], '79': ['Column integrated northward mass flux', 'kg m-2 s-1', 'CNMF'], '80': ['Column integrated divergence of mass flux', 'kg m-2 s-1', 'CDIVMF'], '81': ['Column integrated net source', 'kg m-2 s-1', 'CDNETS'], '82-99': ['Reserved', 'unknown', 'unknown'], '100': ['Surface Area Density (Aerosol)', 'm-1', 'SADEN'], '101': ['Vertical Visual Range', 'm', 'ATMTK'], '102': ['Aerosol Optical Thickness', 'Numeric', 'AOTK'], '103': ['Single Scattering Albedo', 'Numeric', 'SSALBK'], '104': ['Asymmetry Factor', 'Numeric', 'ASYSFK'], '105': ['Aerosol Extinction Coefficient', 'm-1', 'AECOEF'], '106': ['Aerosol Absorption Coefficient', 'm-1', 'AACOEF'], '107': ['Aerosol Lidar Backscatter from Satellite', 'm-1sr-1', 'ALBSAT'], '108': ['Aerosol Lidar Backscatter from the Ground', 'm-1sr-1', 'ALBGRD'], '109': ['Aerosol Lidar Extinction from Satellite', 'm-1', 'ALESAT'], '110': ['Aerosol Lidar Extinction from the Ground', 'm-1', 'ALEGRD'], '111': ['Angstrom Exponent', 'Numeric', 'ANGSTEXP'], '112': ['Scattering Aerosol Optical Thickness', 'Numeric', 'SCTAOTK'], '113-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_190", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_190", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Arbitrary Text String', 'CCITTIA5', 'ATEXT'], '1-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_191", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_191", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Seconds prior to initial reference time (defined in Section 1)', 's', 'TSEC'], '1': ['Geographical Latitude', '\u00b0 N', 'GEOLAT'], '2': ['Geographical Longitude', '\u00b0 E', 'GEOLON'], '3': ['Days Since Last Observation', 'd', 'DSLOBS'], '4': ['Tropical cyclone density track', 'Numeric', 'TCDTRACK'], '5-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Latitude (-90 to 90)', '\u00b0', 'NLAT'], '193': ['East Longitude (0 to 360)', '\u00b0', 'ELON'], '194': ['Seconds prior to initial reference time', 's', 'RTSEC'], '195': ['Model Layer number (From bottom up)', 'unknown', 'MLYNO'], '196': ['Latitude (nearest neighbor) (-90 to 90)', '\u00b0', 'NLATN'], '197': ['East Longitude (nearest neighbor) (0 to 360)', '\u00b0', 'ELONN'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_192", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_192", "kind": "variable", "doc": "

\n", "default_value": "{'1': ['Covariance between zonal and meridional components of the wind. Defined as [uv]-[u][v], where "[]" indicates the mean over the indicated time span.', 'm2/s2', 'COVMZ'], '2': ['Covariance between zonal component of the wind and temperature. Defined as [uT]-[u][T], where "[]" indicates the mean over the indicated time span.', 'K*m/s', 'COVTZ'], '3': ['Covariance between meridional component of the wind and temperature. Defined as [vT]-[v][T], where "[]" indicates the mean over the indicated time span.', 'K*m/s', 'COVTM'], '4': ['Covariance between temperature and vertical component of the wind. Defined as [wT]-[w][T], where "[]" indicates the mean over the indicated time span.', 'K*m/s', 'COVTW'], '5': ['Covariance between zonal and zonal components of the wind. Defined as [uu]-[u][u], where "[]" indicates the mean over the indicated time span.', 'm2/s2', 'COVZZ'], '6': ['Covariance between meridional and meridional components of the wind. Defined as [vv]-[v][v], where "[]" indicates the mean over the indicated time span.', 'm2/s2', 'COVMM'], '7': ['Covariance between specific humidity and zonal components of the wind. Defined as [uq]-[u][q], where "[]" indicates the mean over the indicated time span.', 'kg/kg*m/s', 'COVQZ'], '8': ['Covariance between specific humidity and meridional components of the wind. Defined as [vq]-[v][q], where "[]" indicates the mean over the indicated time span.', 'kg/kg*m/s', 'COVQM'], '9': ['Covariance between temperature and vertical components of the wind. Defined as [\u03a9T]-[\u03a9][T], where "[]" indicates the mean over the indicated time span.', 'K*Pa/s', 'COVTVV'], '10': ['Covariance between specific humidity and vertical components of the wind. Defined as [\u03a9q]-[\u03a9][q], where "[]" indicates the mean over the indicated time span.', 'kg/kg*Pa/s', 'COVQVV'], '11': ['Covariance between surface pressure and surface pressure. Defined as [Psfc]-[Psfc][Psfc], where "[]" indicates the mean over the indicated time span.', 'Pa*Pa', 'COVPSPS'], '12': ['Covariance between specific humidity and specific humidy. Defined as [qq]-[q][q], where "[]" indicates the mean over the indicated time span.', 'kg/kg*kg/kg', 'COVQQ'], '13': ['Covariance between vertical and vertical components of the wind. Defined as [\u03a9\u03a9]-[\u03a9][\u03a9], where "[]" indicates the mean over the indicated time span.', 'Pa2/s2', 'COVVVVV'], '14': ['Covariance between temperature and temperature. Defined as [TT]-[T][T], where "[]" indicates the mean over the indicated time span.', 'K*K', 'COVTT'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_0_ndfd", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_0_ndfd", "kind": "variable", "doc": "

\n", "default_value": "{'193': ['Apparent Temperature', 'K', 'APPT']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_1_ndfd", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_1_ndfd", "kind": "variable", "doc": "

\n", "default_value": "{'192': ['Weather Information', 'WxInfo', 'WX']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_19_ndfd", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_19_ndfd", "kind": "variable", "doc": "

\n", "default_value": "{'194': ['Convective Hazard Outlook', 'categorical', 'CONVOUTLOOK'], '197': ['Probability of Tornado', '%', 'PTORNADO'], '198': ['Probability of Hail', '%', 'PHAIL'], '199': ['Probability of Damaging Wind', '%', 'PWIND'], '200': ['Probability of Extreme Tornado', '%', 'PXTRMTORN'], '201': ['Probability of Extreme Hail', '%', 'PXTRMHAIL'], '202': ['Probability of Extreme Wind', '%', 'PXTRMWIND'], '215': ['Total Probability of Severe Thunderstorms', '%', 'TOTALSVRPROB'], '216': ['Total Probability of Extreme Severe Thunderstorms', '%', 'TOTALXTRMPROB'], '217': ['Watch Warning Advisory', 'WxInfo', 'WWA']}"}, {"fullname": "grib2io.tables.section4_discipline0.table_4_2_0_192_ndfd", "modulename": "grib2io.tables.section4_discipline0", "qualname": "table_4_2_0_192_ndfd", "kind": "variable", "doc": "

\n", "default_value": "{'192': ['Critical Fire Weather', '', 'FIREWX'], '194': ['Dry Lightning', '', 'DRYLIGHTNING']}"}, {"fullname": "grib2io.tables.section4_discipline1", "modulename": "grib2io.tables.section4_discipline1", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section4_discipline1.table_4_2_1_0", "modulename": "grib2io.tables.section4_discipline1", "qualname": "table_4_2_1_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Flash Flood Guidance (Encoded as an accumulation over a floating subinterval of time between the reference time and valid time)', 'kg m-2', 'FFLDG'], '1': ['Flash Flood Runoff (Encoded as an accumulation over a floating subinterval of time)', 'kg m-2', 'FFLDRO'], '2': ['Remotely Sensed Snow Cover', 'See Table 4.215', 'RSSC'], '3': ['Elevation of Snow Covered Terrain', 'See Table 4.216', 'ESCT'], '4': ['Snow Water Equivalent Percent of Normal', '%', 'SWEPON'], '5': ['Baseflow-Groundwater Runoff', 'kg m-2', 'BGRUN'], '6': ['Storm Surface Runoff', 'kg m-2', 'SSRUN'], '7': ['Discharge from Rivers or Streams', 'm3 s-1', 'DISRS'], '8': ['Group Water Upper Storage', 'kg m-2', 'GWUPS'], '9': ['Group Water Lower Storage', 'kg m-2', 'GWLOWS'], '10': ['Side Flow into River Channel', 'm3 s-1 m-1', 'SFLORC'], '11': ['River Storage of Water', 'm3', 'RVERSW'], '12': ['Flood Plain Storage of Water', 'm3', 'FLDPSW'], '13': ['Depth of Water on Soil Surface', 'kg m-2', 'DEPWSS'], '14': ['Upstream Accumulated Precipitation', 'kg m-2', 'UPAPCP'], '15': ['Upstream Accumulated Snow Melt', 'kg m-2', 'UPASM'], '16': ['Percolation Rate', 'kg m-2 s-1', 'PERRATE'], '17-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Baseflow-Groundwater Runoff', 'kg m-2', 'BGRUN'], '193': ['Storm Surface Runoff', 'kg m-2', 'SSRUN'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline1.table_4_2_1_1", "modulename": "grib2io.tables.section4_discipline1", "qualname": "table_4_2_1_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Conditional percent precipitation amount fractile for an overall period (encoded as an accumulation)', 'kg m-2', 'CPPOP'], '1': ['Percent Precipitation in a sub-period of an overall period (encoded as a percent accumulation over the sub-period)', '%', 'PPOSP'], '2': ['Probability of 0.01 inch of precipitation (POP)', '%', 'POP'], '3-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Probability of Freezing Precipitation', '%', 'CPOZP'], '193': ['Percent of Frozen Precipitation', '%', 'CPOFP'], '194': ['Probability of precipitation exceeding flash flood guidance values', '%', 'PPFFG'], '195': ['Probability of Wetting Rain, exceeding in 0.10" in a given time period', '%', 'CWR'], '196': ['Binary Probability of precipitation exceeding average recurrence intervals (ARI)', 'see Code table 4.222', 'QPFARI'], '197': ['Binary Probability of precipitation exceeding flash flood guidance values', 'see Code table 4.222', 'QPFFFG'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline1.table_4_2_1_2", "modulename": "grib2io.tables.section4_discipline1", "qualname": "table_4_2_1_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Water Depth', 'm', 'WDPTHIL'], '1': ['Water Temperature', 'K', 'WTMPIL'], '2': ['Water Fraction', 'Proportion', 'WFRACT'], '3': ['Sediment Thickness', 'm', 'SEDTK'], '4': ['Sediment Temperature', 'K', 'SEDTMP'], '5': ['Ice Thickness', 'm', 'ICTKIL'], '6': ['Ice Temperature', 'K', 'ICETIL'], '7': ['Ice Cover', 'Proportion', 'ICECIL'], '8': ['Land Cover (0=water, 1=land)', 'Proportion', 'LANDIL'], '9': ['Shape Factor with Respect to Salinity Profile', 'unknown', 'SFSAL'], '10': ['Shape Factor with Respect to Temperature Profile in Thermocline', 'unknown', 'SFTMP'], '11': ['Attenuation Coefficient of Water with Respect to Solar Radiation', 'm-1', 'ACWSR'], '12': ['Salinity', 'kg kg-1', 'SALTIL'], '13': ['Cross Sectional Area of Flow in Channel', 'm2', 'CSAFC'], '14': ['Snow temperature', 'K', 'LNDSNOWT'], '15': ['Lake depth', 'm', 'LDEPTH'], '16': ['River depth', 'm', 'RDEPTH'], '17-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline10", "modulename": "grib2io.tables.section4_discipline10", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section4_discipline10.table_4_2_10_0", "modulename": "grib2io.tables.section4_discipline10", "qualname": "table_4_2_10_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Wave Spectra (1)', '-', 'WVSP1'], '1': ['Wave Spectra (2)', '-', 'WVSP2'], '2': ['Wave Spectra (3)', '-', 'WVSP3'], '3': ['Significant Height of Combined Wind Waves and Swell', 'm', 'HTSGW'], '4': ['Direction of Wind Waves', 'degree true', 'WVDIR'], '5': ['Significant Height of Wind Waves', 'm', 'WVHGT'], '6': ['Mean Period of Wind Waves', 's', 'WVPER'], '7': ['Direction of Swell Waves', 'degree true', 'SWDIR'], '8': ['Significant Height of Swell Waves', 'm', 'SWELL'], '9': ['Mean Period of Swell Waves', 's', 'SWPER'], '10': ['Primary Wave Direction', 'degree true', 'DIRPW'], '11': ['Primary Wave Mean Period', 's', 'PERPW'], '12': ['Secondary Wave Direction', 'degree true', 'DIRSW'], '13': ['Secondary Wave Mean Period', 's', 'PERSW'], '14': ['Direction of Combined Wind Waves and Swell', 'degree true', 'WWSDIR'], '15': ['Mean Period of Combined Wind Waves and Swell', 's', 'MWSPER'], '16': ['Coefficient of Drag With Waves', '-', 'CDWW'], '17': ['Friction Velocity', 'm s-1', 'FRICVW'], '18': ['Wave Stress', 'N m-2', 'WSTR'], '19': ['Normalised Waves Stress', '-', 'NWSTR'], '20': ['Mean Square Slope of Waves', '-', 'MSSW'], '21': ['U-component Surface Stokes Drift', 'm s-1', 'USSD'], '22': ['V-component Surface Stokes Drift', 'm s-1', 'VSSD'], '23': ['Period of Maximum Individual Wave Height', 's', 'PMAXWH'], '24': ['Maximum Individual Wave Height', 'm', 'MAXWH'], '25': ['Inverse Mean Wave Frequency', 's', 'IMWF'], '26': ['Inverse Mean Frequency of The Wind Waves', 's', 'IMFWW'], '27': ['Inverse Mean Frequency of The Total Swell', 's', 'IMFTSW'], '28': ['Mean Zero-Crossing Wave Period', 's', 'MZWPER'], '29': ['Mean Zero-Crossing Period of The Wind Waves', 's', 'MZPWW'], '30': ['Mean Zero-Crossing Period of The Total Swell', 's', 'MZPTSW'], '31': ['Wave Directional Width', '-', 'WDIRW'], '32': ['Directional Width of The Wind Waves', '-', 'DIRWWW'], '33': ['Directional Width of The Total Swell', '-', 'DIRWTS'], '34': ['Peak Wave Period', 's', 'PWPER'], '35': ['Peak Period of The Wind Waves', 's', 'PPERWW'], '36': ['Peak Period of The Total Swell', 's', 'PPERTS'], '37': ['Altimeter Wave Height', 'm', 'ALTWH'], '38': ['Altimeter Corrected Wave Height', 'm', 'ALCWH'], '39': ['Altimeter Range Relative Correction', '-', 'ALRRC'], '40': ['10 Metre Neutral Wind Speed Over Waves', 'm s-1', 'MNWSOW'], '41': ['10 Metre Wind Direction Over Waves', 'degree true', 'MWDIRW'], '42': ['Wave Engery Spectrum', 'm-2 s rad-1', 'WESP'], '43': ['Kurtosis of The Sea Surface Elevation Due to Waves', '-', 'KSSEW'], '44': ['Benjamin-Feir Index', '-', 'BENINX'], '45': ['Spectral Peakedness Factor', 's-1', 'SPFTR'], '46': ['Peak wave direction', '&deg', 'PWAVEDIR'], '47': ['Significant wave height of first swell partition', 'm', 'SWHFSWEL'], '48': ['Significant wave height of second swell partition', 'm', 'SWHSSWEL'], '49': ['Significant wave height of third swell partition', 'm', 'SWHTSWEL'], '50': ['Mean wave period of first swell partition', 's', 'MWPFSWEL'], '51': ['Mean wave period of second swell partition', 's', 'MWPSSWEL'], '52': ['Mean wave period of third swell partition', 's', 'MWPTSWEL'], '53': ['Mean wave direction of first swell partition', '&deg', 'MWDFSWEL'], '54': ['Mean wave direction of second swell partition', '&deg', 'MWDSSWEL'], '55': ['Mean wave direction of third swell partition', '&deg', 'MWDTSWEL'], '56': ['Wave directional width of first swell partition', '-', 'WDWFSWEL'], '57': ['Wave directional width of second swell partition', '-', 'WDWSSWEL'], '58': ['Wave directional width of third swell partition', '-', 'WDWTSWEL'], '59': ['Wave frequency width of first swell partition', '-', 'WFWFSWEL'], '60': ['Wave frequency width of second swell partition', '-', 'WFWSSWEL'], '61': ['Wave frequency width of third swell partition', '-', 'WFWTSWEL'], '62': ['Wave frequency width', '-', 'WAVEFREW'], '63': ['Frequency width of wind waves', '-', 'FREWWW'], '64': ['Frequency width of total swell', '-', 'FREWTSW'], '65': ['Peak Wave Period of First Swell Partition', 's', 'PWPFSPAR'], '66': ['Peak Wave Period of Second Swell Partition', 's', 'PWPSSPAR'], '67': ['Peak Wave Period of Third Swell Partition', 's', 'PWPTSPAR'], '68': ['Peak Wave Direction of First Swell Partition', 'degree true', 'PWDFSPAR'], '69': ['Peak Wave Direction of Second Swell Partition', 'degree true', 'PWDSSPAR'], '70': ['Peak Wave Direction of Third Swell Partition', 'degree true', 'PWDTSPAR'], '71': ['Peak Direction of Wind Waves', 'degree true', 'PDWWAVE'], '72': ['Peak Direction of Total Swell', 'degree true', 'PDTSWELL'], '73': ['Whitecap Fraction', 'fraction', 'WCAPFRAC'], '74': ['Mean Direction of Total Swell', 'degree', 'MDTSWEL'], '75': ['Mean Direction of Wind Waves', 'degree', 'MDWWAVE'], '76': ['Charnock', 'Numeric', 'CHNCK'], '77': ['Wave Spectral Skewness', 'Numeric', 'WAVESPSK'], '78': ['Wave Energy Flux Magnitude', 'W m-1', 'WAVEFMAG'], '79': ['Wave Energy Flux Mean Direction', 'degree true', 'WAVEFDIR'], '80': ['Raio of Wave Angular and Frequency width', 'Numeric', 'RWAVEAFW'], '81': ['Free Convective Velocity over the Oceans', 'm s-1', 'FCVOCEAN'], '82': ['Air Density over the Oceans', 'kg m-3', 'AIRDENOC'], '83': ['Normalized Energy Flux into Waves', 'Numeric', 'NEFW'], '84': ['Normalized Stress into Ocean', 'Numeric', 'NSOCEAN'], '85': ['Normalized Energy Flux into Ocean', 'Numeric', 'NEFOCEAN'], '86': ['Surface Elevation Variance due to Waves (over all frequencies and directions)', 'm2 s rad-1', 'SEVWAVE'], '87': ['Wave Induced Mean Se Level Correction', 'm', 'WAVEMSLC'], '88': ['Spectral Width Index', 'Numeric', 'SPECWI'], '89': ['Number of Events in Freak Wave Statistics', 'Numeric', 'EFWS'], '90': ['U-Component of Surface Momentum Flux into Ocean', 'N m-2', 'USMFO'], '91': ['U-Component of Surface Momentum Flux into Ocean', 'N m-2', 'VSMFO'], '92': ['Wave Turbulent Energy Flux into Ocean', 'W m-2', 'WAVETEFO'], '93': ['Envelop maximum individual wave height', 'm', 'EMIWAVE'], '94': ['Time domain maximum individual crest height', 'm', 'TDMCREST'], '95': ['Time domain maximum individual wave height', 'm', 'TDMWAVE'], '96': ['Space time maximum individual crest height', 'm', 'STMCREST'], '97': ['Space time maximum individual wave height', 'm', 'STMWAVE'], '98-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Wave Steepness', 'proportion', 'WSTP'], '193': ['Wave Length', 'unknown', 'WLENG'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline10.table_4_2_10_1", "modulename": "grib2io.tables.section4_discipline10", "qualname": "table_4_2_10_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Current Direction', 'degree True', 'DIRC'], '1': ['Current Speed', 'm s-1', 'SPC'], '2': ['U-Component of Current', 'm s-1', 'UOGRD'], '3': ['V-Component of Current', 'm s-1', 'VOGRD'], '4': ['Rip Current Occurrence Probability', '%', 'RIPCOP'], '5': ['Eastward Current', 'm s-1', 'EASTCUR'], '6': ['Northward Current', 'm s-1', 'NRTHCUR'], '7-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Ocean Mixed Layer U Velocity', 'm s-1', 'OMLU'], '193': ['Ocean Mixed Layer V Velocity', 'm s-1', 'OMLV'], '194': ['Barotropic U velocity', 'm s-1', 'UBARO'], '195': ['Barotropic V velocity', 'm s-1', 'VBARO'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline10.table_4_2_10_2", "modulename": "grib2io.tables.section4_discipline10", "qualname": "table_4_2_10_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Ice Cover', 'Proportion', 'ICEC'], '1': ['Ice Thickness', 'm', 'ICETK'], '2': ['Direction of Ice Drift', 'degree True', 'DICED'], '3': ['Speed of Ice Drift', 'm s-1', 'SICED'], '4': ['U-Component of Ice Drift', 'm s-1', 'UICE'], '5': ['V-Component of Ice Drift', 'm s-1', 'VICE'], '6': ['Ice Growth Rate', 'm s-1', 'ICEG'], '7': ['Ice Divergence', 's-1', 'ICED'], '8': ['Ice Temperature', 'K', 'ICETMP'], '9': ['Module of Ice Internal Pressure', 'Pa m', 'ICEPRS'], '10': ['Zonal Vector Component of Vertically Integrated Ice Internal Pressure', 'Pa m', 'ZVCICEP'], '11': ['Meridional Vector Component of Vertically Integrated Ice Internal Pressure', 'Pa m', 'MVCICEP'], '12': ['Compressive Ice Strength', 'N m-1', 'CICES'], '13': ['Snow Temperature (over sea ice)', 'K', 'SNOWTSI'], '14': ['Albedo', 'Numeric', 'ALBDOICE'], '15': ['Sea Ice Volume per Unit Area', 'm3m-2', 'SICEVOL'], '16': ['Snow Volume Over Sea Ice per Unit Area', 'm3m-2', 'SNVOLSI'], '17': ['Sea Ice Heat Content', 'J m-2', 'SICEHC'], '18': ['Snow over Sea Ice Heat Content', 'J m-2', 'SNCEHC'], '19': ['Ice Freeboard Thickness', 'm', 'ICEFTHCK'], '20': ['Ice Melt Pond Fraction', 'fraction', 'ICEMPF'], '21': ['Ice Melt Pond Depth', 'm', 'ICEMPD'], '22': ['Ice Melt Pond Volume per Unit Area', 'm3m-2', 'ICEMPV'], '23': ['Sea Ice Fraction Tendency due to Parameterization', 's-1', 'SIFTP'], '24': ['x-component of ice drift', 'm s-1', 'XICE'], '25': ['y-component of ice drift', 'm s-1', 'YICE'], '26': ['Reserved', 'unknown', 'unknown'], '27': ['Freezing/melting potential (Tentatively accepted)', 'W m-2', 'FRZMLTPOT'], '28': ['Melt onset date (Tentatively accepted)', 'Numeric', 'MLTDATE'], '29': ['Freeze onset date (Tentatively accepted)', 'Numeric', 'FRZDATE'], '30-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline10.table_4_2_10_3", "modulename": "grib2io.tables.section4_discipline10", "qualname": "table_4_2_10_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Water Temperature', 'K', 'WTMP'], '1': ['Deviation of Sea Level from Mean', 'm', 'DSLM'], '2': ['Heat Exchange Coefficient', 'unknown', 'CH'], '3': ['Practical Salinity', 'Numeric', 'PRACTSAL'], '4': ['Downward Heat Flux', 'W m-2', 'DWHFLUX'], '5': ['Eastward Surface Stress', 'N m-2', 'EASTWSS'], '6': ['Northward surface stress', 'N m-2', 'NORTHWSS'], '7': ['x-component Surface Stress', 'N m-2', 'XCOMPSS'], '8': ['y-component Surface Stress', 'N m-2', 'YCOMPSS'], '9': ['Thermosteric Change in Sea Surface Height', 'm', 'THERCSSH'], '10': ['Halosteric Change in Sea Surface Height', 'm', 'HALOCSSH'], '11': ['Steric Change in Sea Surface Height', 'm', 'STERCSSH'], '12': ['Sea Salt Flux', 'kg m-2s-1', 'SEASFLUX'], '13': ['Net upward water flux', 'kg m-2s-1', 'NETUPWFLUX'], '14': ['Eastward surface water velocity', 'm s-1', 'ESURFWVEL'], '15': ['Northward surface water velocity', 'm s-1', 'NSURFWVEL'], '16': ['x-component of surface water velocity', 'm s-1', 'XSURFWVEL'], '17': ['y-component of surface water velocity', 'm s-1', 'YSURFWVEL'], '18': ['Heat flux correction', 'W m-2', 'HFLUXCOR'], '19': ['Sea surface height tendency due to parameterization', 'm s-1', 'SSHGTPARM'], '20': ['Deviation of sea level from mean with inverse barometer correction', 'm', 'DSLIBARCOR'], '21': ['Salinity', 'kg kg-1', 'SALIN'], '22-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Hurricane Storm Surge', 'm', 'SURGE'], '193': ['Extra Tropical Storm Surge', 'm', 'ETSRG'], '194': ['Ocean Surface Elevation Relative to Geoid', 'm', 'ELEV'], '195': ['Sea Surface Height Relative to Geoid', 'm', 'SSHG'], '196': ['Ocean Mixed Layer Potential Density (Reference 2000m)', 'kg m-3', 'P2OMLT'], '197': ['Net Air-Ocean Heat Flux', 'W m-2', 'AOHFLX'], '198': ['Assimilative Heat Flux', 'W m-2', 'ASHFL'], '199': ['Surface Temperature Trend', 'degree per day', 'SSTT'], '200': ['Surface Salinity Trend', 'psu per day', 'SSST'], '201': ['Kinetic Energy', 'J kg-1', 'KENG'], '202': ['Salt Flux', 'kg m-2s-1', 'SLTFL'], '203': ['Heat Exchange Coefficient', 'unknown', 'LCH'], '204': ['Freezing Spray', 'unknown', 'FRZSPR'], '205': ['Total Water Level Accounting for Tide, Wind and Waves', 'm', 'TWLWAV'], '206': ['Total Water Level Increase due to Waves', 'm', 'RUNUP'], '207': ['Mean Increase in Water Level due to Waves', 'm', 'SETUP'], '208': ['Time-varying Increase in Water Level due to Waves', 'm', 'SWASH'], '209': ['Total Water Level Above Dune Toe', 'm', 'TWLDT'], '210': ['Total Water Level Above Dune Crest', 'm', 'TWLDC'], '211-241': ['Reserved', 'unknown', 'unknown'], '242': ['20% Tropical Cyclone Storm Surge Exceedance', 'm', 'TCSRG20'], '243': ['30% Tropical Cyclone Storm Surge Exceedance', 'm', 'TCSRG30'], '244': ['40% Tropical Cyclone Storm Surge Exceedance', 'm', 'TCSRG40'], '245': ['50% Tropical Cyclone Storm Surge Exceedance', 'm', 'TCSRG50'], '246': ['60% Tropical Cyclone Storm Surge Exceedance', 'm', 'TCSRG60'], '247': ['70% Tropical Cyclone Storm Surge Exceedance', 'm', 'TCSRG70'], '248': ['80% Tropical Cyclone Storm Surge Exceedance', 'm', 'TCSRG80'], '249': ['90% Tropical Cyclone Storm Surge Exceedance', 'm', 'TCSRG90'], '250': ['Extra Tropical Storm Surge Combined Surge and Tide', 'm', 'ETCWL'], '251': ['Tide', 'm', 'TIDE'], '252': ['Erosion Occurrence Probability', '%', 'EROSNP'], '253': ['Overwash Occurrence Probability', '%', 'OWASHP'], '254': ['Reserved', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline10.table_4_2_10_4", "modulename": "grib2io.tables.section4_discipline10", "qualname": "table_4_2_10_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Main Thermocline Depth', 'm', 'MTHD'], '1': ['Main Thermocline Anomaly', 'm', 'MTHA'], '2': ['Transient Thermocline Depth', 'm', 'TTHDP'], '3': ['Salinity', 'kg kg-1', 'SALTY'], '4': ['Ocean Vertical Heat Diffusivity', 'm2 s-1', 'OVHD'], '5': ['Ocean Vertical Salt Diffusivity', 'm2 s-1', 'OVSD'], '6': ['Ocean Vertical Momentum Diffusivity', 'm2 s-1', 'OVMD'], '7': ['Bathymetry', 'm', 'BATHY'], '8-10': ['Reserved', 'unknown', 'unknown'], '11': ['Shape Factor With Respect To Salinity Profile', 'unknown', 'SFSALP'], '12': ['Shape Factor With Respect To Temperature Profile In Thermocline', 'unknown', 'SFTMPP'], '13': ['Attenuation Coefficient Of Water With Respect to Solar Radiation', 'm-1', 'ACWSRD'], '14': ['Water Depth', 'm', 'WDEPTH'], '15': ['Water Temperature', 'K', 'WTMPSS'], '16': ['Water Density (rho)', 'kg m-3', 'WATERDEN'], '17': ['Water Density Anomaly (sigma)', 'kg m-3', 'WATDENA'], '18': ['Water potential temperature (theta)', 'K', 'WATPTEMP'], '19': ['Water potential density (rho theta)', 'kg m-3', 'WATPDEN'], '20': ['Water potential density anomaly (sigma theta)', 'kg m-3', 'WATPDENA'], '21': ['Practical Salinity', 'psu (numeric)', 'PRTSAL'], '22': ['Water Column-integrated Heat Content', 'J m-2', 'WCHEATC'], '23': ['Eastward Water Velocity', 'm s-1', 'EASTWVEL'], '24': ['Northward Water Velocity', 'm s-1', 'NRTHWVEL'], '25': ['X-Component Water Velocity', 'm s-1', 'XCOMPWV'], '26': ['Y-Component Water Velocity', 'm s-1', 'YCOMPWV'], '27': ['Upward Water Velocity', 'm s-1', 'UPWWVEL'], '28': ['Vertical Eddy Diffusivity', 'm2 s-1', 'VEDDYDIF'], '29': ['Bottom Pressure Equivalent Height', 'm', 'BPEH'], '30': ['Fresh Water Flux into Sea Water from Rivers', 'kg m-2s-1', 'FWFSW'], '31': ['Fresh Water Flux Correction', 'kg m-2s-1', 'FWFC'], '32': ['Virtual Salt Flux into Sea Water', 'g kg-1 m-2s-1', 'VSFSW'], '33': ['Virtual Salt Flux Correction', 'g kg -1 m-2s-1', 'VSFC'], '34': ['Sea Water Temperature Tendency due to Newtonian Relaxation', 'K s-1', 'SWTTNR'], '35': ['Sea Water Salinity Tendency due to Newtonian Relaxation', 'g kg -1s-1', 'SWSTNR'], '36': ['Sea Water Temperature Tendency due to Parameterization', 'K s-1', 'SWTTP'], '37': ['Sea Water Salinity Tendency due to Parameterization', 'g kg -1s-1', 'SWSTP'], '38': ['Eastward Sea Water Velocity Tendency Due To Parameterization', 'm s-2', 'ESWVP'], '39': ['Northward Sea Water Velocity Tendency Due To Parameterization', 'm s-2', 'NSWVP'], '40': ['Sea Water Temperature Tendency Due to Direct Bias Correction', 'K s-1', 'SWTTBC'], '41': ['Sea Water Salinity Tendency due to Direct Bias Correction', 'g kg -1s-1', 'SWSTBC'], '42': ['Sea water meridional volume transport', 'm 3 m -2 s -1', 'SEAMVT'], '43': ['Sea water zonal volume transport', 'm 3 m -2 s -1', 'SEAZVT'], '44': ['Sea water column integrated meridional volume transport', 'm 3 m -2 s -1', 'SEACMVT'], '45': ['Sea water column integrated zonal volume transport', 'm 3 m -2 s -1', 'SEACZVT'], '46': ['Sea water meridional mass transport', 'kg m -2 s -1', 'SEAMMT'], '47': ['Sea water zonal mass transport', 'kg m -2 s -1', 'SEAZMT'], '48': ['Sea water column integrated meridional mass transport', 'kg m -2 s -1', 'SEACMMT'], '49': ['Sea water column integrated zonal mass transport', 'kg m -2 s -1', 'SEACZMT'], '50': ['Sea water column integrated practical salinity', 'g kg-1 m', 'SEACPSALT'], '51': ['Sea water column integrated salinity', 'kg kg-1 m', 'SEACSALT'], '52-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['3-D Temperature', '\u00b0 c', 'WTMPC'], '193': ['3-D Salinity', 'psu', 'SALIN'], '194': ['Barotropic Kinectic Energy', 'J kg-1', 'BKENG'], '195': ['Geometric Depth Below Sea Surface', 'm', 'DBSS'], '196': ['Interface Depths', 'm', 'INTFD'], '197': ['Ocean Heat Content', 'J m-2', 'OHC'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline10.table_4_2_10_191", "modulename": "grib2io.tables.section4_discipline10", "qualname": "table_4_2_10_191", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Seconds Prior To Initial Reference Time (Defined In Section 1)', 's', 'IRTSEC'], '1': ['Meridional Overturning Stream Function', 'm3 s-1', 'MOSF'], '2': ['Reserved', 'unknown', 'unknown'], '3': ['Days Since Last Observation', 'd', 'DSLOBSO'], '4': ['Barotropic Stream Function', 'm3 s-1', 'BARDSF'], '5-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline2", "modulename": "grib2io.tables.section4_discipline2", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section4_discipline2.table_4_2_2_0", "modulename": "grib2io.tables.section4_discipline2", "qualname": "table_4_2_2_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Land Cover (0=sea, 1=land)', 'Proportion', 'LAND'], '1': ['Surface Roughness', 'm', 'SFCR'], '2': ['Soil Temperature (Parameter Deprecated, see Note 3)', 'K', 'TSOIL'], '3': ['Soil Moisture Content (Parameter Deprecated, see Note 1)', 'unknown', 'unknown'], '4': ['Vegetation', '%', 'VEG'], '5': ['Water Runoff', 'kg m-2', 'WATR'], '6': ['Evapotranspiration', 'kg-2 s-1', 'EVAPT'], '7': ['Model Terrain Height', 'm', 'MTERH'], '8': ['Land Use', 'See Table 4.212', 'LANDU'], '9': ['Volumetric Soil Moisture Content', 'Proportion', 'SOILW'], '10': ['Ground Heat Flux', 'W m-2', 'GFLUX'], '11': ['Moisture Availability', '%', 'MSTAV'], '12': ['Exchange Coefficient', 'kg m-2 s-1', 'SFEXC'], '13': ['Plant Canopy Surface Water', 'kg m-2', 'CNWAT'], '14': ['Blackadars Mixing Length Scale', 'm', 'BMIXL'], '15': ['Canopy Conductance', 'm s-1', 'CCOND'], '16': ['Minimal Stomatal Resistance', 's m-1', 'RSMIN'], '17': ['Wilting Point (Parameter Deprecated, see Note 1)', 'Proportion', 'WILT'], '18': ['Solar parameter in canopy conductance', 'Proportion', 'RCS'], '19': ['Temperature parameter in canopy', 'Proportion', 'RCT'], '20': ['Humidity parameter in canopy conductance', 'Proportion', 'RCQ'], '21': ['Soil moisture parameter in canopy conductance', 'Proportion', 'RCSOL'], '22': ['Soil Moisture (Parameter Deprecated, See Note 3)', 'unknown', 'unknown'], '23': ['Column-Integrated Soil Water (Parameter Deprecated, See Note 3)', 'kg m-2', 'CISOILW'], '24': ['Heat Flux', 'W m-2', 'HFLUX'], '25': ['Volumetric Soil Moisture', 'm3 m-3', 'VSOILM'], '26': ['Wilting Point', 'kg m-3', 'WILT'], '27': ['Volumetric Wilting Point', 'm3 m-3', 'VWILTP'], '28': ['Leaf Area Index', 'Numeric', 'LEAINX'], '29': ['Evergreen Forest Cover', 'Proportion', 'EVGFC'], '30': ['Deciduous Forest Cover', 'Proportion', 'DECFC'], '31': ['Normalized Differential Vegetation Index (NDVI)', 'Numeric', 'NDVINX'], '32': ['Root Depth of Vegetation', 'm', 'RDVEG'], '33': ['Water Runoff and Drainage', 'kg m-2', 'WROD'], '34': ['Surface Water Runoff', 'kg m-2', 'SFCWRO'], '35': ['Tile Class', 'See Table 4.243', 'TCLASS'], '36': ['Tile Fraction', 'Proportion', 'TFRCT'], '37': ['Tile Percentage', '%', 'TPERCT'], '38': ['Soil Volumetric Ice Content (Water Equivalent)', 'm3 m-3', 'SOILVIC'], '39': ['Evapotranspiration Rate', 'kg m-2 s-1', 'EVAPTRAT'], '40': ['Potential Evapotranspiration Rate', 'kg m-2 s-1', 'PEVAPTRAT'], '41': ['Snow Melt Rate', 'kg m-2 s-1', 'SMRATE'], '42': ['Water Runoff and Drainage Rate', 'kg m-2 s-1', 'WRDRATE'], '43': ['Drainage direction', 'See Table 4.250', 'DRAINDIR'], '44': ['Upstream Area', 'm2', 'UPSAREA'], '45': ['Wetland Cover', 'Proportion', 'WETCOV'], '46': ['Wetland Type', 'See Table 4.239', 'WETTYPE'], '47': ['Irrigation Cover', 'Proportion', 'IRRCOV'], '48': ['C4 Crop Cover', 'Proportion', 'CROPCOV'], '49': ['C4 Grass Cover', 'Proportion', 'GRASSCOV'], '50': ['Skin Resovoir Content', 'kg m-2', 'SKINRC'], '51': ['Surface Runoff Rate', 'kg m-2 s-1', 'SURFRATE'], '52': ['Subsurface Runoff Rate', 'kg m-2 s-1', 'SUBSRATE'], '53': ['Low-Vegetation Cover', 'Proportion', 'LOVEGCOV'], '54': ['High-Vegetation Cover', 'Proportion', 'HIVEGCOV'], '55': ['Leaf Area Index (Low-Vegetation)', 'm2 m-2', 'LAILO'], '56': ['Leaf Area Index (High-Vegetation)', 'm2 m-2', 'LAIHI'], '57': ['Type of Low-Vegetation', 'See Table 4.234', 'TYPLOVEG'], '58': ['Type of High-Vegetation', 'See Table 4.234', 'TYPHIVEG'], '59': ['Net Ecosystem Exchange Flux', 'kg-2 s-1', 'NECOFLUX'], '60': ['Gross Primary Production Flux', 'kg-2 s-1', 'GROSSFLUX'], '61': ['Ecosystem Respiration Flux', 'kg-2 s-1', 'ECORFLUX'], '62': ['Emissivity', 'Proportion', 'EMISS'], '63': ['Canopy air temperature', 'K', 'CANTMP'], '64-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Volumetric Soil Moisture Content', 'Fraction', 'SOILW'], '193': ['Ground Heat Flux', 'W m-2', 'GFLUX'], '194': ['Moisture Availability', '%', 'MSTAV'], '195': ['Exchange Coefficient', '(kg m-3) (m s-1)', 'SFEXC'], '196': ['Plant Canopy Surface Water', 'kg m-2', 'CNWAT'], '197': ['Blackadar\u2019s Mixing Length Scale', 'm', 'BMIXL'], '198': ['Vegetation Type', 'Integer (0-13)', 'VGTYP'], '199': ['Canopy Conductance', 'm s-1', 'CCOND'], '200': ['Minimal Stomatal Resistance', 's m-1', 'RSMIN'], '201': ['Wilting Point', 'Fraction', 'WILT'], '202': ['Solar parameter in canopy conductance', 'Fraction', 'RCS'], '203': ['Temperature parameter in canopy conductance', 'Fraction', 'RCT'], '204': ['Humidity parameter in canopy conductance', 'Fraction', 'RCQ'], '205': ['Soil moisture parameter in canopy conductance', 'Fraction', 'RCSOL'], '206': ['Rate of water dropping from canopy to ground', 'unknown', 'RDRIP'], '207': ['Ice-free water surface', '%', 'ICWAT'], '208': ['Surface exchange coefficients for T and Q divided by delta z', 'm s-1', 'AKHS'], '209': ['Surface exchange coefficients for U and V divided by delta z', 'm s-1', 'AKMS'], '210': ['Vegetation canopy temperature', 'K', 'VEGT'], '211': ['Surface water storage', 'kg m-2', 'SSTOR'], '212': ['Liquid soil moisture content (non-frozen)', 'kg m-2', 'LSOIL'], '213': ['Open water evaporation (standing water)', 'W m-2', 'EWATR'], '214': ['Groundwater recharge', 'kg m-2', 'GWREC'], '215': ['Flood plain recharge', 'kg m-2', 'QREC'], '216': ['Roughness length for heat', 'm', 'SFCRH'], '217': ['Normalized Difference Vegetation Index', 'unknown', 'NDVI'], '218': ['Land-sea coverage (nearest neighbor) [land=1,sea=0]', 'unknown', 'LANDN'], '219': ['Asymptotic mixing length scale', 'm', 'AMIXL'], '220': ['Water vapor added by precip assimilation', 'kg m-2', 'WVINC'], '221': ['Water condensate added by precip assimilation', 'kg m-2', 'WCINC'], '222': ['Water Vapor Flux Convergance (Vertical Int)', 'kg m-2', 'WVCONV'], '223': ['Water Condensate Flux Convergance (Vertical Int)', 'kg m-2', 'WCCONV'], '224': ['Water Vapor Zonal Flux (Vertical Int)', 'kg m-2', 'WVUFLX'], '225': ['Water Vapor Meridional Flux (Vertical Int)', 'kg m-2', 'WVVFLX'], '226': ['Water Condensate Zonal Flux (Vertical Int)', 'kg m-2', 'WCUFLX'], '227': ['Water Condensate Meridional Flux (Vertical Int)', 'kg m-2', 'WCVFLX'], '228': ['Aerodynamic conductance', 'm s-1', 'ACOND'], '229': ['Canopy water evaporation', 'W m-2', 'EVCW'], '230': ['Transpiration', 'W m-2', 'TRANS'], '231': ['Seasonally Minimum Green Vegetation Fraction (over 1-year period)', '%', 'VEGMIN'], '232': ['Seasonally Maximum Green Vegetation Fraction (over 1-year period)', '%', 'VEGMAX'], '233': ['Land Fraction', 'Fraction', 'LANDFRC'], '234': ['Lake Fraction', 'Fraction', 'LAKEFRC'], '235': ['Precipitation Advected Heat Flux', 'W m-2', 'PAHFLX'], '236': ['Water Storage in Aquifer', 'kg m-2', 'WATERSA'], '237': ['Evaporation of Intercepted Water', 'kg m-2', 'EIWATER'], '238': ['Plant Transpiration', 'kg m-2', 'PLANTTR'], '239': ['Soil Surface Evaporation', 'kg m-2', 'SOILSE'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline2.table_4_2_2_1", "modulename": "grib2io.tables.section4_discipline2", "qualname": "table_4_2_2_1", "kind": "variable", "doc": "

\n", "default_value": "{'0-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Cold Advisory for Newborn Livestock', 'unknown', 'CANL'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline2.table_4_2_2_3", "modulename": "grib2io.tables.section4_discipline2", "qualname": "table_4_2_2_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Soil Type', 'See Table 4.213', 'SOTYP'], '1': ['Upper Layer Soil Temperature', 'K', 'UPLST'], '2': ['Upper Layer Soil Moisture', 'kg m-3', 'UPLSM'], '3': ['Lower Layer Soil Moisture', 'kg m-3', 'LOWLSM'], '4': ['Bottom Layer Soil Temperature', 'K', 'BOTLST'], '5': ['Liquid Volumetric Soil Moisture(non-frozen)', 'Proportion', 'SOILL'], '6': ['Number of Soil Layers in Root Zone', 'Numeric', 'RLYRS'], '7': ['Transpiration Stress-onset (soil moisture)', 'Proportion', 'SMREF'], '8': ['Direct Evaporation Cease (soil moisture)', 'Proportion', 'SMDRY'], '9': ['Soil Porosity', 'Proportion', 'POROS'], '10': ['Liquid Volumetric Soil Moisture (Non-Frozen)', 'm3 m-3', 'LIQVSM'], '11': ['Volumetric Transpiration Stree-Onset(Soil Moisture)', 'm3 m-3', 'VOLTSO'], '12': ['Transpiration Stree-Onset(Soil Moisture)', 'kg m-3', 'TRANSO'], '13': ['Volumetric Direct Evaporation Cease(Soil Moisture)', 'm3 m-3', 'VOLDEC'], '14': ['Direct Evaporation Cease(Soil Moisture)', 'kg m-3', 'DIREC'], '15': ['Soil Porosity', 'm3 m-3', 'SOILP'], '16': ['Volumetric Saturation Of Soil Moisture', 'm3 m-3', 'VSOSM'], '17': ['Saturation Of Soil Moisture', 'kg m-3', 'SATOSM'], '18': ['Soil Temperature', 'K', 'SOILTMP'], '19': ['Soil Moisture', 'kg m-3', 'SOILMOI'], '20': ['Column-Integrated Soil Moisture', 'kg m-2', 'CISOILM'], '21': ['Soil Ice', 'kg m-3', 'SOILICE'], '22': ['Column-Integrated Soil Ice', 'kg m-2', 'CISICE'], '23': ['Liquid Water in Snow Pack', 'kg m-2', 'LWSNWP'], '24': ['Frost Index', 'kg day-1', 'FRSTINX'], '25': ['Snow Depth at Elevation Bands', 'kg m-2', 'SNWDEB'], '26': ['Soil Heat Flux', 'W m-2', 'SHFLX'], '27': ['Soil Depth', 'm', 'SOILDEP'], '28': ['Snow Temperature', 'K', 'SNOWTMP'], '29': ['Ice Temperature', 'K', 'ICETMP'], '30': ['Soil wetness index', 'Numeric', 'SWET'], '31-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Liquid Volumetric Soil Moisture (non Frozen)', 'Proportion', 'SOILL'], '193': ['Number of Soil Layers in Root Zone', 'non-dim', 'RLYRS'], '194': ['Surface Slope Type', 'Index', 'SLTYP'], '195': ['Transpiration Stress-onset (soil moisture)', 'Proportion', 'SMREF'], '196': ['Direct Evaporation Cease (soil moisture)', 'Proportion', 'SMDRY'], '197': ['Soil Porosity', 'Proportion', 'POROS'], '198': ['Direct Evaporation from Bare Soil', 'W m-2', 'EVBS'], '199': ['Land Surface Precipitation Accumulation', 'kg m-2', 'LSPA'], '200': ['Bare Soil Surface Skin temperature', 'K', 'BARET'], '201': ['Average Surface Skin Temperature', 'K', 'AVSFT'], '202': ['Effective Radiative Skin Temperature', 'K', 'RADT'], '203': ['Field Capacity', 'Fraction', 'FLDCP'], '204': ['Soil Moisture Availability In The Top Soil Layer', '%', 'MSTAV'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline2.table_4_2_2_4", "modulename": "grib2io.tables.section4_discipline2", "qualname": "table_4_2_2_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Fire Outlook', 'See Table 4.224', 'FIREOLK'], '1': ['Fire Outlook Due to Dry Thunderstorm', 'See Table 4.224', 'FIREODT'], '2': ['Haines Index', 'Numeric', 'HINDEX'], '3': ['Fire Burned Area', '%', 'FBAREA'], '4': ['Fosberg Index', 'Numeric', 'FOSINDX'], '5': ['Fire Weath Index (Canadian Forest Service)', 'Numeric', 'FWINX'], '6': ['Fine Fuel Moisture Code (Canadian Forest Service)', 'Numeric', 'FFMCODE'], '7': ['Duff Moisture Code (Canadian Forest Service)', 'Numeric', 'DUFMCODE'], '8': ['Drought Code (Canadian Forest Service)', 'Numeric', 'DRTCODE'], '9': ['Initial Fire Spread Index (Canadian Forest Service)', 'Numeric', 'INFSINX'], '10': ['Fire Build Up Index (Canadian Forest Service)', 'Numeric', 'FBUPINX'], '11': ['Fire Daily Severity Rating (Canadian Forest Service)', 'Numeric', 'FDSRTE'], '12': ['Keetch-Byram Drought Index', 'Numeric', 'KRIDX'], '13': ['Drought Factor (as defined by the Australian forest service)', 'Numeric', 'DRFACT'], '14': ['Rate of Spread (as defined by the Australian forest service)', 'm s-1', 'RATESPRD'], '15': ['Fire Danger index (as defined by the Australian forest service)', 'Numeric', 'FIREDIDX'], '16': ['Spread component (as defined by the US Forest Service National Fire Danger Rating System)', 'Numeric', 'SPRDCOMP'], '17': ['Burning Index (as defined by the Australian forest service)', 'Numeric', 'BURNIDX'], '18': ['Ignition Component (as defined by the Australian forest service)', '%', 'IGNCOMP'], '19': ['Energy Release Component (as defined by the Australian forest service)', 'J m-2', 'ENRELCOM'], '20': ['Burning Area', '%', 'BURNAREA'], '21': ['Burnable Area', '%', 'BURNABAREA'], '22': ['Unburnable Area', '%', 'UNBURNAREA'], '23': ['Fuel Load', 'kg m-2', 'FUELLOAD'], '24': ['Combustion Completeness', '%', 'COMBCO'], '25': ['Fuel Moisture Content', 'kg kg-1', 'FUELMC'], '26': ['Wildfire Potential (as defined by NOAA Global Systems Laboratory)', 'Numeric', 'WFIREPOT'], '27': ['Live leaf fuel load', 'kg m-2', 'LLFL'], '28': ['Live wood fuel load', 'kg m-2', 'LWFL'], '29': ['Dead leaf fuel load', 'kg m-2', 'DLFL'], '30': ['Dead wood fuel load', 'kg m-2', 'DWFL'], '31': ['Live fuel moisture content', 'kg kg-1', 'LFMC'], '32': ['Fine dead leaf moisture content', 'kg kg-1', 'FDLMC'], '33': ['Dense dead leaf moisture content', 'kg kg-1', 'DDLMC'], '34': ['Fine dead wood moisture content', 'kg kg-1', 'FDWMC'], '35': ['Dense dead wood moisture content', 'kg kg-1', 'DDWMC'], '36': ['Fire radiative power\\t(Tentatively accpeted)', 'W', 'FRADPOW'], '37-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline2.table_4_2_2_5", "modulename": "grib2io.tables.section4_discipline2", "qualname": "table_4_2_2_5", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Glacier Cover', 'Proportion', 'GLACCOV'], '1': ['Glacier Temperature', 'K', 'GLACTMP'], '2-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline20", "modulename": "grib2io.tables.section4_discipline20", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section4_discipline20.table_4_2_20_0", "modulename": "grib2io.tables.section4_discipline20", "qualname": "table_4_2_20_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Universal Thermal Climate Index', 'K', 'UTHCIDX'], '1': ['Mean Radiant Temperature', 'K', 'MEANRTMP'], '2': ['Wet-bulb Globe Temperature (see Note)', 'K', 'WETBGTMP'], '3': ['Globe Temperature (see Note)', 'K', 'GLOBETMP'], '4': ['Humidex', 'K', 'HUMIDX'], '5': ['Effective Temperature', 'K', 'EFFTEMP'], '6': ['Normal Effective Temperature', 'K', 'NOREFTMP'], '7': ['Standard Effective Temperature', 'K', 'STDEFTMP'], '8': ['Physiological Equivalent Temperature', 'K', 'PEQUTMP'], '9-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline20.table_4_2_20_1", "modulename": "grib2io.tables.section4_discipline20", "qualname": "table_4_2_20_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Malaria Cases', 'Fraction', 'MALACASE'], '1': ['Malaria Circumsporozoite Protein Rate', 'Fraction', 'MACPRATE'], '2': ['Plasmodium Falciparum Entomological Inoculation Rate', 'Bites per day per person', 'PFEIRATE'], '3': ['Human Bite Rate by Anopheles Vectors', 'Bites per day per person', 'HBRATEAV'], '4': ['Malaria Immunity', 'Fraction', 'MALAIMM'], '5': ['Falciparum Parasite Rates', 'Fraction', 'FALPRATE'], '6': ['Detectable Falciparum Parasite Ratio (after day 10)', 'Fraction', 'DFPRATIO'], '7': ['Anopheles Vector to Host Ratio', 'Fraction', 'AVHRATIO'], '8': ['Anopheles Vector Number', 'Number m-2', 'AVECTNUM'], '9': ['Fraction of Malarial Vector Reproductive Habitat', 'Fraction', 'FMALVRH'], '10-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline20.table_4_2_20_2", "modulename": "grib2io.tables.section4_discipline20", "qualname": "table_4_2_20_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Population Density', 'Person m-2', 'POPDEN'], '1-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline3", "modulename": "grib2io.tables.section4_discipline3", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section4_discipline3.table_4_2_3_0", "modulename": "grib2io.tables.section4_discipline3", "qualname": "table_4_2_3_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Scaled Radiance', 'Numeric', 'SRAD'], '1': ['Scaled Albedo', 'Numeric', 'SALBEDO'], '2': ['Scaled Brightness Temperature', 'Numeric', 'SBTMP'], '3': ['Scaled Precipitable Water', 'Numeric', 'SPWAT'], '4': ['Scaled Lifted Index', 'Numeric', 'SLFTI'], '5': ['Scaled Cloud Top Pressure', 'Numeric', 'SCTPRES'], '6': ['Scaled Skin Temperature', 'Numeric', 'SSTMP'], '7': ['Cloud Mask', 'See Table 4.217', 'CLOUDM'], '8': ['Pixel scene type', 'See Table 4.218', 'PIXST'], '9': ['Fire Detection Indicator', 'See Table 4.223', 'FIREDI'], '10-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline3.table_4_2_3_1", "modulename": "grib2io.tables.section4_discipline3", "qualname": "table_4_2_3_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Estimated Precipitation', 'kg m-2', 'ESTP'], '1': ['Instantaneous Rain Rate', 'kg m-2 s-1', 'IRRATE'], '2': ['Cloud Top Height', 'm', 'CTOPH'], '3': ['Cloud Top Height Quality Indicator', 'Code table 4.219', 'CTOPHQI'], '4': ['Estimated u-Component of Wind', 'm s-1', 'ESTUGRD'], '5': ['Estimated v-Component of Wind', 'm s-1', 'ESTVGRD'], '6': ['Number Of Pixels Used', 'Numeric', 'NPIXU'], '7': ['Solar Zenith Angle', '\u00b0', 'SOLZA'], '8': ['Relative Azimuth Angle', '\u00b0', 'RAZA'], '9': ['Reflectance in 0.6 Micron Channel', '%', 'RFL06'], '10': ['Reflectance in 0.8 Micron Channel', '%', 'RFL08'], '11': ['Reflectance in 1.6 Micron Channel', '%', 'RFL16'], '12': ['Reflectance in 3.9 Micron Channel', '%', 'RFL39'], '13': ['Atmospheric Divergence', 's-1', 'ATMDIV'], '14': ['Cloudy Brightness Temperature', 'K', 'CBTMP'], '15': ['Clear Sky Brightness Temperature', 'K', 'CSBTMP'], '16': ['Cloudy Radiance (with respect to wave number)', 'W m-1 sr-1', 'CLDRAD'], '17': ['Clear Sky Radiance (with respect to wave number)', 'W m-1 sr-1', 'CSKYRAD'], '18': ['Reserved', 'unknown', 'unknown'], '19': ['Wind Speed', 'm s-1', 'WINDS'], '20': ['Aerosol Optical Thickness at 0.635 \u00b5m', 'unknown', 'AOT06'], '21': ['Aerosol Optical Thickness at 0.810 \u00b5m', 'unknown', 'AOT08'], '22': ['Aerosol Optical Thickness at 1.640 \u00b5m', 'unknown', 'AOT16'], '23': ['Angstrom Coefficient', 'unknown', 'ANGCOE'], '24-26': ['Reserved', 'unknown', 'unknown'], '27': ['Bidirectional Reflecance Factor', 'Numeric', 'BRFLF'], '28': ['Brightness Temperature', 'K', 'SPBRT'], '29': ['Scaled Radiance', 'Numeric', 'SCRAD'], '30': ['Reflectance in 0.4 Micron Channel', '%', 'RFL04'], '31': ['Cloudy reflectance', '%', 'CLDREF'], '32': ['Clear reflectance', '%', 'CLRREF'], '33-97': ['Reserved', 'unknown', 'unknown'], '98': ['Correlation coefficient between MPE rain rates for the co-located IR data and the microwave data rain rates', 'Numeric', 'CCMPEMRR'], '99': ['Standard deviation between MPE rain rates for the co-located IR data and the microwave data rain rates', 'Numeric', 'SDMPEMRR'], '100-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '192': ['Scatterometer Estimated U Wind Component', 'm s-1', 'USCT'], '193': ['Scatterometer Estimated V Wind Component', 'm s-1', 'VSCT'], '194': ['Scatterometer Wind Quality', 'unknown', 'SWQI'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline3.table_4_2_3_2", "modulename": "grib2io.tables.section4_discipline3", "qualname": "table_4_2_3_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Clear Sky Probability', '%', 'CSKPROB'], '1': ['Cloud Top Temperature', 'K', 'CTOPTMP'], '2': ['Cloud Top Pressure', 'Pa', 'CTOPRES'], '3': ['Cloud Type', 'See Table 4.218', 'CLDTYPE'], '4': ['Cloud Phase', 'See Table 4.218', 'CLDPHAS'], '5': ['Cloud Optical Depth', 'Numeric', 'CLDODEP'], '6': ['Cloud Particle Effective Radius', 'm', 'CLDPER'], '7': ['Cloud Liquid Water Path', 'kg m-2', 'CLDLWP'], '8': ['Cloud Ice Water Path', 'kg m-2', 'CLDIWP'], '9': ['Cloud Albedo', 'Numeric', 'CLDALB'], '10': ['Cloud Emissivity', 'Numeric', 'CLDEMISS'], '11': ['Effective Absorption Optical Depth Ratio', 'Numeric', 'EAODR'], '12-29': ['Reserved', 'unknown', 'unknown'], '30': ['Measurement cost', 'Numeric', 'MEACST'], '41-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline3.table_4_2_3_3", "modulename": "grib2io.tables.section4_discipline3", "qualname": "table_4_2_3_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Probability of Encountering Marginal Visual Flight Rules Conditions', '%', 'PBMVFRC'], '1': ['Probability of Encountering Low Instrument Flight Rules Conditions', '%', 'PBLIFRC'], '2': ['Probability of Encountering Instrument Flight Rules Conditions', '%', 'PBINFRC'], '3-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline3.table_4_2_3_4", "modulename": "grib2io.tables.section4_discipline3", "qualname": "table_4_2_3_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Volcanic Ash Probability', '%', 'VOLAPROB'], '1': ['Volcanic Ash Cloud Top Temperature', 'K', 'VOLACDTT'], '2': ['Volcanic Ash Cloud Top Pressure', 'Pa', 'VOLACDTP'], '3': ['Volcanic Ash Cloud Top Height', 'm', 'VOLACDTH'], '4': ['Volcanic Ash Cloud Emissity', 'Numeric', 'VOLACDEM'], '5': ['Volcanic Ash Effective Absorption Depth Ratio', 'Numeric', 'VOLAEADR'], '6': ['Volcanic Ash Cloud Optical Depth', 'Numeric', 'VOLACDOD'], '7': ['Volcanic Ash Column Density', 'kg m-2', 'VOLACDEN'], '8': ['Volcanic Ash Particle Effective Radius', 'm', 'VOLAPER'], '9-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline3.table_4_2_3_5", "modulename": "grib2io.tables.section4_discipline3", "qualname": "table_4_2_3_5", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Interface Sea-Surface Temperature', 'K', 'ISSTMP'], '1': ['Skin Sea-Surface Temperature', 'K', 'SKSSTMP'], '2': ['Sub-Skin Sea-Surface Temperature', 'K', 'SSKSSTMP'], '3': ['Foundation Sea-Surface Temperature', 'K', 'FDNSSTMP'], '4': ['Estimated bias between Sea-Surface Temperature and Standard', 'K', 'EBSSTSTD'], '5': ['Estimated bias Standard Deviation between Sea-Surface Temperature and Standard', 'K', 'EBSDSSTS'], '6-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline3.table_4_2_3_6", "modulename": "grib2io.tables.section4_discipline3", "qualname": "table_4_2_3_6", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Global Solar Irradiance', 'W m-2', 'GSOLIRR'], '1': ['Global Solar Exposure', 'J m-2', 'GSOLEXP'], '2': ['Direct Solar Irradiance', 'W m-2', 'DIRSOLIR'], '3': ['Direct Solar Exposure', 'J m-2', 'DIRSOLEX'], '4': ['Diffuse Solar Irradiance', 'W m-2', 'DIFSOLIR'], '5': ['Diffuse Solar Exposure', 'J m-2', 'DIFSOLEX'], '6-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline3.table_4_2_3_192", "modulename": "grib2io.tables.section4_discipline3", "qualname": "table_4_2_3_192", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Simulated Brightness Temperature for GOES 12, Channel 2', 'K', 'SBT122'], '1': ['Simulated Brightness Temperature for GOES 12, Channel 3', 'K', 'SBT123'], '2': ['Simulated Brightness Temperature for GOES 12, Channel 4', 'K', 'SBT124'], '3': ['Simulated Brightness Temperature for GOES 12, Channel 6', 'K', 'SBT126'], '4': ['Simulated Brightness Counts for GOES 12, Channel 3', 'Byte', 'SBC123'], '5': ['Simulated Brightness Counts for GOES 12, Channel 4', 'Byte', 'SBC124'], '6': ['Simulated Brightness Temperature for GOES 11, Channel 2', 'K', 'SBT112'], '7': ['Simulated Brightness Temperature for GOES 11, Channel 3', 'K', 'SBT113'], '8': ['Simulated Brightness Temperature for GOES 11, Channel 4', 'K', 'SBT114'], '9': ['Simulated Brightness Temperature for GOES 11, Channel 5', 'K', 'SBT115'], '10': ['Simulated Brightness Temperature for AMSRE on Aqua, Channel 9', 'K', 'AMSRE9'], '11': ['Simulated Brightness Temperature for AMSRE on Aqua, Channel 10', 'K', 'AMSRE10'], '12': ['Simulated Brightness Temperature for AMSRE on Aqua, Channel 11', 'K', 'AMSRE11'], '13': ['Simulated Brightness Temperature for AMSRE on Aqua, Channel 12', 'K', 'AMSRE12'], '14': ['Simulated Reflectance Factor for ABI GOES-16, Band-1', 'unknown', 'SRFA161'], '15': ['Simulated Reflectance Factor for ABI GOES-16, Band-2', 'unknown', 'SRFA162'], '16': ['Simulated Reflectance Factor for ABI GOES-16, Band-3', 'unknown', 'SRFA163'], '17': ['Simulated Reflectance Factor for ABI GOES-16, Band-4', 'unknown', 'SRFA164'], '18': ['Simulated Reflectance Factor for ABI GOES-16, Band-5', 'unknown', 'SRFA165'], '19': ['Simulated Reflectance Factor for ABI GOES-16, Band-6', 'unknown', 'SRFA166'], '20': ['Simulated Brightness Temperature for ABI GOES-16, Band-7', 'K', 'SBTA167'], '21': ['Simulated Brightness Temperature for ABI GOES-16, Band-8', 'K', 'SBTA168'], '22': ['Simulated Brightness Temperature for ABI GOES-16, Band-9', 'K', 'SBTA169'], '23': ['Simulated Brightness Temperature for ABI GOES-16, Band-10', 'K', 'SBTA1610'], '24': ['Simulated Brightness Temperature for ABI GOES-16, Band-11', 'K', 'SBTA1611'], '25': ['Simulated Brightness Temperature for ABI GOES-16, Band-12', 'K', 'SBTA1612'], '26': ['Simulated Brightness Temperature for ABI GOES-16, Band-13', 'K', 'SBTA1613'], '27': ['Simulated Brightness Temperature for ABI GOES-16, Band-14', 'K', 'SBTA1614'], '28': ['Simulated Brightness Temperature for ABI GOES-16, Band-15', 'K', 'SBTA1615'], '29': ['Simulated Brightness Temperature for ABI GOES-16, Band-16', 'K', 'SBTA1616'], '30': ['Simulated Reflectance Factor for ABI GOES-17, Band-1', 'unknown', 'SRFA171'], '31': ['Simulated Reflectance Factor for ABI GOES-17, Band-2', 'unknown', 'SRFA172'], '32': ['Simulated Reflectance Factor for ABI GOES-17, Band-3', 'unknown', 'SRFA173'], '33': ['Simulated Reflectance Factor for ABI GOES-17, Band-4', 'unknown', 'SRFA174'], '34': ['Simulated Reflectance Factor for ABI GOES-17, Band-5', 'unknown', 'SRFA175'], '35': ['Simulated Reflectance Factor for ABI GOES-17, Band-6', 'unknown', 'SRFA176'], '36': ['Simulated Brightness Temperature for ABI GOES-17, Band-7', 'K', 'SBTA177'], '37': ['Simulated Brightness Temperature for ABI GOES-17, Band-8', 'K', 'SBTA178'], '38': ['Simulated Brightness Temperature for ABI GOES-17, Band-9', 'K', 'SBTA179'], '39': ['Simulated Brightness Temperature for ABI GOES-17, Band-10', 'K', 'SBTA1710'], '40': ['Simulated Brightness Temperature for ABI GOES-17, Band-11', 'K', 'SBTA1711'], '41': ['Simulated Brightness Temperature for ABI GOES-17, Band-12', 'K', 'SBTA1712'], '42': ['Simulated Brightness Temperature for ABI GOES-17, Band-13', 'K', 'SBTA1713'], '43': ['Simulated Brightness Temperature for ABI GOES-17, Band-14', 'K', 'SBTA1714'], '44': ['Simulated Brightness Temperature for ABI GOES-17, Band-15', 'K', 'SBTA1715'], '45': ['Simulated Brightness Temperature for ABI GOES-17, Band-16', 'K', 'SBTA1716'], '46': ['Simulated Reflectance Factor for nadir ABI GOES-R, Band-1', 'unknown', 'SRFAGR1'], '47': ['Simulated Reflectance Factor for nadir ABI GOES-R, Band-2', 'unknown', 'SRFAGR2'], '48': ['Simulated Reflectance Factor for nadir ABI GOES-R, Band-3', 'unknown', 'SRFAGR3'], '49': ['Simulated Reflectance Factor for nadir ABI GOES-R, Band-4', 'unknown', 'SRFAGR4'], '50': ['Simulated Reflectance Factor for nadir ABI GOES-R, Band-5', 'unknown', 'SRFAGR5'], '51': ['Simulated Reflectance Factor for nadir ABI GOES-R, Band-6', 'unknown', 'SRFAGR6'], '52': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-7', 'unknown', 'SBTAGR7'], '53': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-8', 'unknown', 'SBTAGR8'], '54': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-9', 'unknown', 'SBTAGR9'], '55': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-10', 'unknown', 'SBTAGR10'], '56': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-11', 'unknown', 'SBTAGR11'], '57': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-12', 'unknown', 'SBTAGR12'], '58': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-13', 'unknown', 'SBTAGR13'], '59': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-14', 'unknown', 'SBTAGR14'], '60': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-15', 'unknown', 'SBTAGR15'], '61': ['Simulated Brightness Temperature for nadir ABI GOES-R, Band-16', 'unknown', 'SBTAGR16'], '62': ['Simulated Brightness Temperature for SSMIS-F17, Channel 15', 'K', 'SSMS1715'], '63': ['Simulated Brightness Temperature for SSMIS-F17, Channel 16', 'K', 'SSMS1716'], '64': ['Simulated Brightness Temperature for SSMIS-F17, Channel 17', 'K', 'SSMS1717'], '65': ['Simulated Brightness Temperature for SSMIS-F17, Channel 18', 'K', 'SSMS1718'], '66': ['Simulated Brightness Temperature for Himawari-8, Band-7', 'K', 'SBTAHI7'], '67': ['Simulated Brightness Temperature for Himawari-8, Band-8', 'K', 'SBTAHI8'], '68': ['Simulated Brightness Temperature for Himawari-8, Band-9', 'K', 'SBTAHI9'], '69': ['Simulated Brightness Temperature for Himawari-8, Band-10', 'K', 'SBTAHI10'], '70': ['Simulated Brightness Temperature for Himawari-8, Band-11', 'K', 'SBTAHI11'], '71': ['Simulated Brightness Temperature for Himawari-8, Band-12', 'K', 'SBTAHI12'], '72': ['Simulated Brightness Temperature for Himawari-8, Band-13', 'K', 'SBTAHI13'], '73': ['Simulated Brightness Temperature for Himawari-8, Band-14', 'K', 'SBTAHI14'], '74': ['Simulated Brightness Temperature for Himawari-8, Band-15', 'K', 'SBTAHI15'], '75': ['Simulated Brightness Temperature for Himawari-8, Band-16', 'K', 'SBTAHI16'], '76': ['Simulated Brightness Temperature for ABI GOES-18, Band-7', 'K', 'SBTA187'], '77': ['Simulated Brightness Temperature for ABI GOES-18, Band-8', 'K', 'SBTA188'], '78': ['Simulated Brightness Temperature for ABI GOES-18, Band-9', 'K', 'SBTA189'], '79': ['Simulated Brightness Temperature for ABI GOES-18, Band-10', 'K', 'SBTA1810'], '80': ['Simulated Brightness Temperature for ABI GOES-18, Band-11', 'K', 'SBTA1811'], '81': ['Simulated Brightness Temperature for ABI GOES-18, Band-12', 'K', 'SBTA1812'], '82': ['Simulated Brightness Temperature for ABI GOES-18, Band-13', 'K', 'SBTA1813'], '83': ['Simulated Brightness Temperature for ABI GOES-18, Band-14', 'K', 'SBTA1814'], '84': ['Simulated Brightness Temperature for ABI GOES-18, Band-15', 'K', 'SBTA1815'], '85': ['Simulated Brightness Temperature for ABI GOES-18, Band-16', 'K', 'SBTA1816'], '86-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4", "modulename": "grib2io.tables.section4_discipline4", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_0", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Temperature', 'K', 'TMPSWP'], '1': ['Electron Temperature', 'K', 'ELECTMP'], '2': ['Proton Temperature', 'K', 'PROTTMP'], '3': ['Ion Temperature', 'K', 'IONTMP'], '4': ['Parallel Temperature', 'K', 'PRATMP'], '5': ['Perpendicular Temperature', 'K', 'PRPTMP'], '6-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_1", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Velocity Magnitude (Speed)', 'm s-1', 'SPEED'], '1': ['1st Vector Component of Velocity (Coordinate system dependent)', 'm s-1', 'VEL1'], '2': ['2nd Vector Component of Velocity (Coordinate system dependent)', 'm s-1', 'VEL2'], '3': ['3rd Vector Component of Velocity (Coordinate system dependent)', 'm s-1', 'VEL3'], '4-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_2", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Particle Number Density', 'm-3', 'PLSMDEN'], '1': ['Electron Density', 'm-3', 'ELCDEN'], '2': ['Proton Density', 'm-3', 'PROTDEN'], '3': ['Ion Density', 'm-3', 'IONDEN'], '4': ['Vertical Total Electron Content', 'TECU', 'VTEC'], '5': ['HF Absorption Frequency', 'Hz', 'ABSFRQ'], '6': ['HF Absorption', 'dB', 'ABSRB'], '7': ['Spread F', 'm', 'SPRDF'], '8': ['hF', 'm', 'HPRIMF'], '9': ['Critical Frequency', 'Hz', 'CRTFRQ'], '10': ['Maximal Usable Frequency (MUF)', 'Hz', 'MAXUFZ'], '11': ['Peak Height (hm)', 'm', 'PEAKH'], '12': ['Peak Density', 'm-3', 'PEAKDEN'], '13': ['Equivalent Slab Thickness (tau)', 'km', 'EQSLABT'], '14-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_3", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Magnetic Field Magnitude', 'T', 'BTOT'], '1': ['1st Vector Component of Magnetic Field', 'T', 'BVEC1'], '2': ['2nd Vector Component of Magnetic Field', 'T', 'BVEC2'], '3': ['3rd Vector Component of Magnetic Field', 'T', 'BVEC3'], '4': ['Electric Field Magnitude', 'V m-1', 'ETOT'], '5': ['1st Vector Component of Electric Field', 'V m-1', 'EVEC1'], '6': ['2nd Vector Component of Electric Field', 'V m-1', 'EVEC2'], '7': ['3rd Vector Component of Electric Field', 'V m-1', 'EVEC3'], '8-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_4", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Proton Flux (Differential)', '(m2 s sr eV)-1', 'DIFPFLUX'], '1': ['Proton Flux (Integral)', '(m2 s sr)-1', 'INTPFLUX'], '2': ['Electron Flux (Differential)', '(m2 s sr eV)-1', 'DIFEFLUX'], '3': ['Electron Flux (Integral)', '(m2 s sr)-1', 'INTEFLUX'], '4': ['Heavy Ion Flux (Differential)', '(m2 s sr eV / nuc)-1', 'DIFIFLUX'], '5': ['Heavy Ion Flux (iIntegral)', '(m2 s sr)-1', 'INTIFLUX'], '6': ['Cosmic Ray Neutron Flux', 'h-1', 'NTRNFLUX'], '7-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_5", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_5", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Amplitude', 'rad', 'AMPL'], '1': ['Phase', 'rad', 'PHASE'], '2': ['Frequency', 'Hz', 'FREQ'], '3': ['Wavelength', 'm', 'WAVELGTH'], '4-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_6", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_6", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Integrated Solar Irradiance', 'W m-2', 'TSI'], '1': ['Solar X-ray Flux (XRS Long)', 'W m-2', 'XLONG'], '2': ['Solar X-ray Flux (XRS Short)', 'W m-2', 'XSHRT'], '3': ['Solar EUV Irradiance', 'W m-2', 'EUVIRR'], '4': ['Solar Spectral Irradiance', 'W m-2 nm-1', 'SPECIRR'], '5': ['F10.7', 'W m-2 Hz-1', 'F107'], '6': ['Solar Radio Emissions', 'W m-2 Hz-1', 'SOLRF'], '7-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_7", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_7", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Limb Intensity', 'J m-2 s-1', 'LMBINT'], '1': ['Disk Intensity', 'J m-2 s-1', 'DSKINT'], '2': ['Disk Intensity Day', 'J m-2 s-1', 'DSKDAY'], '3': ['Disk Intensity Night', 'J m-2 s-1', 'DSKNGT'], '4-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_8", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_8", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['X-Ray Radiance', 'W sr-1 m-2', 'XRAYRAD'], '1': ['EUV Radiance', 'W sr-1 m-2', 'EUVRAD'], '2': ['H-Alpha Radiance', 'W sr-1 m-2', 'HARAD'], '3': ['White Light Radiance', 'W sr-1 m-2', 'WHTRAD'], '4': ['CaII-K Radiance', 'W sr-1 m-2', 'CAIIRAD'], '5': ['White Light Coronagraph Radiance', 'W sr-1 m-2', 'WHTCOR'], '6': ['Heliospheric Radiance', 'W sr-1 m-2', 'HELCOR'], '7': ['Thematic Mask', 'Numeric', 'MASK'], '8': ['Solar Induced Chlorophyll Fluorscence', 'W sr-1 m-2', 'SICFL'], '9-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section4_discipline4.table_4_2_4_9", "modulename": "grib2io.tables.section4_discipline4", "qualname": "table_4_2_4_9", "kind": "variable", "doc": "

\n", "default_value": "{'0': ['Pedersen Conductivity', 'S m-1', 'SIGPED'], '1': ['Hall Conductivity', 'S m-1', 'SIGHAL'], '2': ['Parallel Conductivity', 'S m-1', 'SIGPAR'], '3-191': ['Reserved', 'unknown', 'unknown'], '192-254': ['Reserved for Local Use', 'unknown', 'unknown'], '255': ['Missing', 'unknown', 'unknown']}"}, {"fullname": "grib2io.tables.section5", "modulename": "grib2io.tables.section5", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section5.table_5_0", "modulename": "grib2io.tables.section5", "qualname": "table_5_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Grid Point Data - Simple Packing (see Template 5.0)', '1': 'Matrix Value at Grid Point - Simple Packing (see Template 5.1)', '2': 'Grid Point Data - Complex Packing (see Template 5.2)', '3': 'Grid Point Data - Complex Packing and Spatial Differencing (see Template 5.3)', '4': 'Grid Point Data - IEEE Floating Point Data (see Template 5.4)', '5-39': 'Reserved', '40': 'Grid point data - JPEG 2000 code stream format (see Template 5.40)', '41': 'Grid point data - Portable Network Graphics (PNG) (see Template 5.41)', '42': 'Grid point data - CCSDS recommended lossless compression (see Template 5.42)', '43-49': 'Reserved', '50': 'Spectral Data - Simple Packing (see Template 5.50)', '51': 'Spectral Data - Complex Packing (see Template 5.51)', '52': 'Reserved', '53': 'Spectral data for limited area models - complex packing (see Template 5.53)', '54-60': 'Reserved', '61': 'Grid Point Data - Simple Packing With Logarithm Pre-processing (see Template 5.61)', '62-199': 'Reserved', '200': 'Run Length Packing With Level Values (see Template 5.200)', '201-49151': 'Reserved', '49152-65534': 'Reserved for Local Use', '65535': 'Missing'}"}, {"fullname": "grib2io.tables.section5.table_5_1", "modulename": "grib2io.tables.section5", "qualname": "table_5_1", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Floating Point', '1': 'Integer', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section5.table_5_2", "modulename": "grib2io.tables.section5", "qualname": "table_5_2", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Explicit Coordinate Values Set', '1': 'Linear Coordinates f(1) = C1 f(n) = f(n-1) + C2', '2-10': 'Reserved', '11': 'Geometric Coordinates f(1) = C1 f(n) = C2 x f(n-1)', '12-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section5.table_5_3", "modulename": "grib2io.tables.section5", "qualname": "table_5_3", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'Direction Degrees True', '2': 'Frequency (s-1)', '3': 'Radial Number (2pi/lamda) (m-1)', '4-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section5.table_5_4", "modulename": "grib2io.tables.section5", "qualname": "table_5_4", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Row by Row Splitting', '1': 'General Group Splitting', '2-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section5.table_5_5", "modulename": "grib2io.tables.section5", "qualname": "table_5_5", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'No explicit missing values included within the data values', '1': 'Primary missing values included within the data values', '2': 'Primary and secondary missing values included within the data values', '3-191': 'Reserved', '192-254': 'Reserved for Local Use'}"}, {"fullname": "grib2io.tables.section5.table_5_6", "modulename": "grib2io.tables.section5", "qualname": "table_5_6", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'First-Order Spatial Differencing', '2': 'Second-Order Spatial Differencing', '3-191': 'Reserved', '192-254': 'Reserved for Local Use', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section5.table_5_7", "modulename": "grib2io.tables.section5", "qualname": "table_5_7", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Reserved', '1': 'IEEE 32-bit (I=4 in Section 7)', '2': 'IEEE 64-bit (I=8 in Section 7)', '3': 'IEEE 128-bit (I=16 in Section 7)', '4-254': 'Reserved', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section5.table_5_40", "modulename": "grib2io.tables.section5", "qualname": "table_5_40", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'Lossless', '1': 'Lossy', '2-254': 'Reserved', '255': 'Missing'}"}, {"fullname": "grib2io.tables.section6", "modulename": "grib2io.tables.section6", "kind": "module", "doc": "

\n"}, {"fullname": "grib2io.tables.section6.table_6_0", "modulename": "grib2io.tables.section6", "qualname": "table_6_0", "kind": "variable", "doc": "

\n", "default_value": "{'0': 'A bit map applies to this product and is specified in this section.', '1-253': 'A bit map pre-determined by the orginating/generating center applies to this product and is not specified in this section.', '254': 'A bit map previously defined in the same GRIB2 message applies to this product.', '255': 'A bit map does not apply to this product.'}"}, {"fullname": "grib2io.templates", "modulename": "grib2io.templates", "kind": "module", "doc": "

GRIB2 section templates classes and metadata descriptor classes

\n"}, {"fullname": "grib2io.templates.Grib2Metadata", "modulename": "grib2io.templates", "qualname": "Grib2Metadata", "kind": "class", "doc": "

Class to hold GRIB2 metadata both as numeric code value as stored in\nGRIB2 and its plain langauge definition.

\n\n

Attributes

\n\n

value : int\n GRIB2 metadata integer code value.

\n\n

table : str, optional\n GRIB2 table to lookup the value. Default is None.

\n\n

definition : str\n Plain language description of numeric metadata.

\n"}, {"fullname": "grib2io.templates.Grib2Metadata.__init__", "modulename": "grib2io.templates", "qualname": "Grib2Metadata.__init__", "kind": "function", "doc": "

\n", "signature": "(value, table=None)"}, {"fullname": "grib2io.templates.Grib2Metadata.value", "modulename": "grib2io.templates", "qualname": "Grib2Metadata.value", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.templates.Grib2Metadata.table", "modulename": "grib2io.templates", "qualname": "Grib2Metadata.table", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.templates.Grib2Metadata.definition", "modulename": "grib2io.templates", "qualname": "Grib2Metadata.definition", "kind": "variable", "doc": "

\n"}, {"fullname": "grib2io.templates.Grib2Metadata.show_table", "modulename": "grib2io.templates", "qualname": "Grib2Metadata.show_table", "kind": "function", "doc": "

Provide the table related to this metadata.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "grib2io.templates.IndicatorSection", "modulename": "grib2io.templates", "qualname": "IndicatorSection", "kind": "class", "doc": "

GRIB2 Indicator Section (0)

\n"}, {"fullname": "grib2io.templates.Discipline", "modulename": "grib2io.templates", "qualname": "Discipline", "kind": "class", "doc": "

Discipline

\n"}, {"fullname": "grib2io.templates.IdentificationSection", "modulename": "grib2io.templates", "qualname": "IdentificationSection", "kind": "class", "doc": "

GRIB2 Section 1, Identification Section

\n"}, {"fullname": "grib2io.templates.OriginatingCenter", "modulename": "grib2io.templates", "qualname": "OriginatingCenter", "kind": "class", "doc": "

Originating Center

\n"}, {"fullname": "grib2io.templates.OriginatingSubCenter", "modulename": "grib2io.templates", "qualname": "OriginatingSubCenter", "kind": "class", "doc": "

Originating SubCenter

\n"}, {"fullname": "grib2io.templates.MasterTableInfo", "modulename": "grib2io.templates", "qualname": "MasterTableInfo", "kind": "class", "doc": "

GRIB2 Master Table Version

\n"}, {"fullname": "grib2io.templates.LocalTableInfo", "modulename": "grib2io.templates", "qualname": "LocalTableInfo", "kind": "class", "doc": "

GRIB2 Local Tables Version Number

\n"}, {"fullname": "grib2io.templates.SignificanceOfReferenceTime", "modulename": "grib2io.templates", "qualname": "SignificanceOfReferenceTime", "kind": "class", "doc": "

Significance of Reference Time

\n"}, {"fullname": "grib2io.templates.Year", "modulename": "grib2io.templates", "qualname": "Year", "kind": "class", "doc": "

Year of reference time

\n"}, {"fullname": "grib2io.templates.Month", "modulename": "grib2io.templates", "qualname": "Month", "kind": "class", "doc": "

Month of reference time

\n"}, {"fullname": "grib2io.templates.Day", "modulename": "grib2io.templates", "qualname": "Day", "kind": "class", "doc": "

Day of reference time

\n"}, {"fullname": "grib2io.templates.Hour", "modulename": "grib2io.templates", "qualname": "Hour", "kind": "class", "doc": "

Hour of reference time

\n"}, {"fullname": "grib2io.templates.Minute", "modulename": "grib2io.templates", "qualname": "Minute", "kind": "class", "doc": "

Minute of reference time

\n"}, {"fullname": "grib2io.templates.Second", "modulename": "grib2io.templates", "qualname": "Second", "kind": "class", "doc": "

Second of reference time

\n"}, {"fullname": "grib2io.templates.RefDate", "modulename": "grib2io.templates", "qualname": "RefDate", "kind": "class", "doc": "

Reference Date. NOTE: This is a datetime.datetime object.

\n"}, {"fullname": "grib2io.templates.ProductionStatus", "modulename": "grib2io.templates", "qualname": "ProductionStatus", "kind": "class", "doc": "

Production Status of Processed Data

\n"}, {"fullname": "grib2io.templates.TypeOfData", "modulename": "grib2io.templates", "qualname": "TypeOfData", "kind": "class", "doc": "

Type of Processed Data in this GRIB message

\n"}, {"fullname": "grib2io.templates.GridDefinitionSection", "modulename": "grib2io.templates", "qualname": "GridDefinitionSection", "kind": "class", "doc": "

GRIB2 Section 3, Grid Definition Section

\n"}, {"fullname": "grib2io.templates.SourceOfGridDefinition", "modulename": "grib2io.templates", "qualname": "SourceOfGridDefinition", "kind": "class", "doc": "

Source of Grid Definition

\n"}, {"fullname": "grib2io.templates.NumberOfDataPoints", "modulename": "grib2io.templates", "qualname": "NumberOfDataPoints", "kind": "class", "doc": "

Number of Data Points

\n"}, {"fullname": "grib2io.templates.InterpretationOfListOfNumbers", "modulename": "grib2io.templates", "qualname": "InterpretationOfListOfNumbers", "kind": "class", "doc": "

Interpretation of List of Numbers

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplateNumber", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplateNumber", "kind": "class", "doc": "

Grid Definition Template Number

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate", "kind": "class", "doc": "

Grid definition template

\n"}, {"fullname": "grib2io.templates.EarthParams", "modulename": "grib2io.templates", "qualname": "EarthParams", "kind": "class", "doc": "

Metadata about the shape of the Earth

\n"}, {"fullname": "grib2io.templates.DxSign", "modulename": "grib2io.templates", "qualname": "DxSign", "kind": "class", "doc": "

Sign of Grid Length in X-Direction

\n"}, {"fullname": "grib2io.templates.DySign", "modulename": "grib2io.templates", "qualname": "DySign", "kind": "class", "doc": "

Sign of Grid Length in Y-Direction

\n"}, {"fullname": "grib2io.templates.LLScaleFactor", "modulename": "grib2io.templates", "qualname": "LLScaleFactor", "kind": "class", "doc": "

Scale Factor for Lats/Lons

\n"}, {"fullname": "grib2io.templates.LLDivisor", "modulename": "grib2io.templates", "qualname": "LLDivisor", "kind": "class", "doc": "

Divisor Value for scaling Lats/Lons

\n"}, {"fullname": "grib2io.templates.XYDivisor", "modulename": "grib2io.templates", "qualname": "XYDivisor", "kind": "class", "doc": "

Divisor Value for scaling grid lengths

\n"}, {"fullname": "grib2io.templates.ShapeOfEarth", "modulename": "grib2io.templates", "qualname": "ShapeOfEarth", "kind": "class", "doc": "

Shape of the Reference System

\n"}, {"fullname": "grib2io.templates.EarthShape", "modulename": "grib2io.templates", "qualname": "EarthShape", "kind": "class", "doc": "

Description of the shape of the Earth

\n"}, {"fullname": "grib2io.templates.EarthRadius", "modulename": "grib2io.templates", "qualname": "EarthRadius", "kind": "class", "doc": "

Radius of the Earth (Assumes \"spherical\")

\n"}, {"fullname": "grib2io.templates.EarthMajorAxis", "modulename": "grib2io.templates", "qualname": "EarthMajorAxis", "kind": "class", "doc": "

Major Axis of the Earth (Assumes \"oblate spheroid\" or \"ellipsoid\")

\n"}, {"fullname": "grib2io.templates.EarthMinorAxis", "modulename": "grib2io.templates", "qualname": "EarthMinorAxis", "kind": "class", "doc": "

Minor Axis of the Earth (Assumes \"oblate spheroid\" or \"ellipsoid\")

\n"}, {"fullname": "grib2io.templates.Nx", "modulename": "grib2io.templates", "qualname": "Nx", "kind": "class", "doc": "

Number of grid points in the X-direction (generally East-West)

\n"}, {"fullname": "grib2io.templates.Ny", "modulename": "grib2io.templates", "qualname": "Ny", "kind": "class", "doc": "

Number of grid points in the Y-direction (generally North-South)

\n"}, {"fullname": "grib2io.templates.ScanModeFlags", "modulename": "grib2io.templates", "qualname": "ScanModeFlags", "kind": "class", "doc": "

Scanning Mode

\n"}, {"fullname": "grib2io.templates.ResolutionAndComponentFlags", "modulename": "grib2io.templates", "qualname": "ResolutionAndComponentFlags", "kind": "class", "doc": "

Resolution and Component Flags

\n"}, {"fullname": "grib2io.templates.LatitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "LatitudeFirstGridpoint", "kind": "class", "doc": "

Latitude of first gridpoint

\n"}, {"fullname": "grib2io.templates.LongitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "LongitudeFirstGridpoint", "kind": "class", "doc": "

Longitude of first gridpoint

\n"}, {"fullname": "grib2io.templates.LatitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "LatitudeLastGridpoint", "kind": "class", "doc": "

Latitude of last gridpoint

\n"}, {"fullname": "grib2io.templates.LongitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "LongitudeLastGridpoint", "kind": "class", "doc": "

Longitude of last gridpoint

\n"}, {"fullname": "grib2io.templates.LatitudeCenterGridpoint", "modulename": "grib2io.templates", "qualname": "LatitudeCenterGridpoint", "kind": "class", "doc": "

Latitude of center gridpoint

\n"}, {"fullname": "grib2io.templates.LongitudeCenterGridpoint", "modulename": "grib2io.templates", "qualname": "LongitudeCenterGridpoint", "kind": "class", "doc": "

Longitude of center gridpoint

\n"}, {"fullname": "grib2io.templates.GridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridlengthXDirection", "kind": "class", "doc": "

Grid lenth in the X-Direction

\n"}, {"fullname": "grib2io.templates.GridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridlengthYDirection", "kind": "class", "doc": "

Grid lenth in the Y-Direction

\n"}, {"fullname": "grib2io.templates.LatitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "LatitudeSouthernPole", "kind": "class", "doc": "

Latitude of the Southern Pole for a Rotated Lat/Lon Grid

\n"}, {"fullname": "grib2io.templates.LongitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "LongitudeSouthernPole", "kind": "class", "doc": "

Longitude of the Southern Pole for a Rotated Lat/Lon Grid

\n"}, {"fullname": "grib2io.templates.AnglePoleRotation", "modulename": "grib2io.templates", "qualname": "AnglePoleRotation", "kind": "class", "doc": "

Angle of Pole Rotation for a Rotated Lat/Lon Grid

\n"}, {"fullname": "grib2io.templates.LatitudeTrueScale", "modulename": "grib2io.templates", "qualname": "LatitudeTrueScale", "kind": "class", "doc": "

Latitude at which grid lengths are specified

\n"}, {"fullname": "grib2io.templates.GridOrientation", "modulename": "grib2io.templates", "qualname": "GridOrientation", "kind": "class", "doc": "

Longitude at which the grid is oriented

\n"}, {"fullname": "grib2io.templates.ProjectionCenterFlag", "modulename": "grib2io.templates", "qualname": "ProjectionCenterFlag", "kind": "class", "doc": "

Projection Center

\n"}, {"fullname": "grib2io.templates.StandardLatitude1", "modulename": "grib2io.templates", "qualname": "StandardLatitude1", "kind": "class", "doc": "

First Standard Latitude (from the pole at which the secant cone cuts the sphere)

\n"}, {"fullname": "grib2io.templates.StandardLatitude2", "modulename": "grib2io.templates", "qualname": "StandardLatitude2", "kind": "class", "doc": "

Second Standard Latitude (from the pole at which the secant cone cuts the sphere)

\n"}, {"fullname": "grib2io.templates.SpectralFunctionParameters", "modulename": "grib2io.templates", "qualname": "SpectralFunctionParameters", "kind": "class", "doc": "

Spectral Function Parameters

\n"}, {"fullname": "grib2io.templates.ProjParameters", "modulename": "grib2io.templates", "qualname": "ProjParameters", "kind": "class", "doc": "

PROJ Parameters to define the reference system

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate0", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate0", "kind": "class", "doc": "

Grid Definition Template 0

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate0.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate0.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate0.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate0.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate0.latitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate0.latitudeLastGridpoint", "kind": "variable", "doc": "

Latitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate0.longitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate0.longitudeLastGridpoint", "kind": "variable", "doc": "

Longitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate0.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate0.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate0.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate0.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1", "kind": "class", "doc": "

Grid Definition Template 1

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.latitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.latitudeLastGridpoint", "kind": "variable", "doc": "

Latitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.longitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.longitudeLastGridpoint", "kind": "variable", "doc": "

Longitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.latitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.latitudeSouthernPole", "kind": "variable", "doc": "

Latitude of the Southern Pole for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.longitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.longitudeSouthernPole", "kind": "variable", "doc": "

Longitude of the Southern Pole for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate1.anglePoleRotation", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate1.anglePoleRotation", "kind": "variable", "doc": "

Angle of Pole Rotation for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10", "kind": "class", "doc": "

Grid Definition Template 10

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.latitudeTrueScale", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.latitudeTrueScale", "kind": "variable", "doc": "

Latitude at which grid lengths are specified

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.latitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.latitudeLastGridpoint", "kind": "variable", "doc": "

Latitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.longitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.longitudeLastGridpoint", "kind": "variable", "doc": "

Longitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.gridOrientation", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.gridOrientation", "kind": "variable", "doc": "

Longitude at which the grid is oriented

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate10.projParameters", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate10.projParameters", "kind": "variable", "doc": "

PROJ Parameters to define the reference system

\n", "annotation": ": dict"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20", "kind": "class", "doc": "

Grid Definition Template 20

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20.latitudeTrueScale", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20.latitudeTrueScale", "kind": "variable", "doc": "

Latitude at which grid lengths are specified

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20.gridOrientation", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20.gridOrientation", "kind": "variable", "doc": "

Longitude at which the grid is oriented

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20.projectionCenterFlag", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20.projectionCenterFlag", "kind": "variable", "doc": "

Projection Center

\n", "annotation": ": list"}, {"fullname": "grib2io.templates.GridDefinitionTemplate20.projParameters", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate20.projParameters", "kind": "variable", "doc": "

PROJ Parameters to define the reference system

\n", "annotation": ": dict"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30", "kind": "class", "doc": "

Grid Definition Template 30

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.latitudeTrueScale", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.latitudeTrueScale", "kind": "variable", "doc": "

Latitude at which grid lengths are specified

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.gridOrientation", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.gridOrientation", "kind": "variable", "doc": "

Longitude at which the grid is oriented

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.projectionCenterFlag", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.projectionCenterFlag", "kind": "variable", "doc": "

Projection Center

\n", "annotation": ": list"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.standardLatitude1", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.standardLatitude1", "kind": "variable", "doc": "

First Standard Latitude (from the pole at which the secant cone cuts the sphere)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.standardLatitude2", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.standardLatitude2", "kind": "variable", "doc": "

Second Standard Latitude (from the pole at which the secant cone cuts the sphere)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.latitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.latitudeSouthernPole", "kind": "variable", "doc": "

Latitude of the Southern Pole for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.longitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.longitudeSouthernPole", "kind": "variable", "doc": "

Longitude of the Southern Pole for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate30.projParameters", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate30.projParameters", "kind": "variable", "doc": "

PROJ Parameters to define the reference system

\n", "annotation": ": dict"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31", "kind": "class", "doc": "

Grid Definition Template 31

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.latitudeTrueScale", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.latitudeTrueScale", "kind": "variable", "doc": "

Latitude at which grid lengths are specified

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.gridOrientation", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.gridOrientation", "kind": "variable", "doc": "

Longitude at which the grid is oriented

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.projectionCenterFlag", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.projectionCenterFlag", "kind": "variable", "doc": "

Projection Center

\n", "annotation": ": list"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.standardLatitude1", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.standardLatitude1", "kind": "variable", "doc": "

First Standard Latitude (from the pole at which the secant cone cuts the sphere)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.standardLatitude2", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.standardLatitude2", "kind": "variable", "doc": "

Second Standard Latitude (from the pole at which the secant cone cuts the sphere)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.latitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.latitudeSouthernPole", "kind": "variable", "doc": "

Latitude of the Southern Pole for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate31.longitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate31.longitudeSouthernPole", "kind": "variable", "doc": "

Longitude of the Southern Pole for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate40", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate40", "kind": "class", "doc": "

Grid Definition Template 40

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate40.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate40.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate40.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate40.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate40.latitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate40.latitudeLastGridpoint", "kind": "variable", "doc": "

Latitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate40.longitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate40.longitudeLastGridpoint", "kind": "variable", "doc": "

Longitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate40.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate40.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate40.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate40.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41", "kind": "class", "doc": "

Grid Definition Template 41

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.latitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.latitudeLastGridpoint", "kind": "variable", "doc": "

Latitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.longitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.longitudeLastGridpoint", "kind": "variable", "doc": "

Longitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.latitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.latitudeSouthernPole", "kind": "variable", "doc": "

Latitude of the Southern Pole for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.longitudeSouthernPole", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.longitudeSouthernPole", "kind": "variable", "doc": "

Longitude of the Southern Pole for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate41.anglePoleRotation", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate41.anglePoleRotation", "kind": "variable", "doc": "

Angle of Pole Rotation for a Rotated Lat/Lon Grid

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate50", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate50", "kind": "class", "doc": "

Grid Definition Template 50

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate50.spectralFunctionParameters", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate50.spectralFunctionParameters", "kind": "variable", "doc": "

Spectral Function Parameters

\n", "annotation": ": list"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32768", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32768", "kind": "class", "doc": "

Grid Definition Template 32768

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32768.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32768.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32768.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32768.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32768.latitudeCenterGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32768.latitudeCenterGridpoint", "kind": "variable", "doc": "

Latitude of center gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32768.longitudeCenterGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32768.longitudeCenterGridpoint", "kind": "variable", "doc": "

Longitude of center gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32768.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32768.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32768.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32768.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769", "kind": "class", "doc": "

Grid Definition Template 32769

\n"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769.latitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769.latitudeFirstGridpoint", "kind": "variable", "doc": "

Latitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769.longitudeFirstGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769.longitudeFirstGridpoint", "kind": "variable", "doc": "

Longitude of first gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769.latitudeCenterGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769.latitudeCenterGridpoint", "kind": "variable", "doc": "

Latitude of center gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769.longitudeCenterGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769.longitudeCenterGridpoint", "kind": "variable", "doc": "

Longitude of center gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769.gridlengthXDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769.gridlengthXDirection", "kind": "variable", "doc": "

Grid lenth in the X-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769.gridlengthYDirection", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769.gridlengthYDirection", "kind": "variable", "doc": "

Grid lenth in the Y-Direction

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769.latitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769.latitudeLastGridpoint", "kind": "variable", "doc": "

Latitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.GridDefinitionTemplate32769.longitudeLastGridpoint", "modulename": "grib2io.templates", "qualname": "GridDefinitionTemplate32769.longitudeLastGridpoint", "kind": "variable", "doc": "

Longitude of last gridpoint

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.gdt_class_by_gdtn", "modulename": "grib2io.templates", "qualname": "gdt_class_by_gdtn", "kind": "function", "doc": "

Provides a Grid Definition Template class via the template number

\n\n

Parameters

\n\n

gdtn : int\n Grid definition template number.

\n\n

Returns

\n\n

Grid definition template class object (not an instance).

\n", "signature": "(gdtn):", "funcdef": "def"}, {"fullname": "grib2io.templates.ProductDefinitionTemplateNumber", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplateNumber", "kind": "class", "doc": "

Product Definition Template Number

\n"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate", "kind": "class", "doc": "

Product Definition Template

\n"}, {"fullname": "grib2io.templates.ParameterCategory", "modulename": "grib2io.templates", "qualname": "ParameterCategory", "kind": "class", "doc": "

Parameter Category

\n"}, {"fullname": "grib2io.templates.ParameterNumber", "modulename": "grib2io.templates", "qualname": "ParameterNumber", "kind": "class", "doc": "

Parameter Number

\n"}, {"fullname": "grib2io.templates.VarInfo", "modulename": "grib2io.templates", "qualname": "VarInfo", "kind": "class", "doc": "

Variable Information. These are the metadata returned for a specific variable according\nto discipline, parameter category, and parameter number.

\n"}, {"fullname": "grib2io.templates.FullName", "modulename": "grib2io.templates", "qualname": "FullName", "kind": "class", "doc": "

Full name of the Variable

\n"}, {"fullname": "grib2io.templates.Units", "modulename": "grib2io.templates", "qualname": "Units", "kind": "class", "doc": "

Units of the Variable

\n"}, {"fullname": "grib2io.templates.ShortName", "modulename": "grib2io.templates", "qualname": "ShortName", "kind": "class", "doc": "

Short name of the variable (i.e. the variable abbreviation)

\n"}, {"fullname": "grib2io.templates.TypeOfGeneratingProcess", "modulename": "grib2io.templates", "qualname": "TypeOfGeneratingProcess", "kind": "class", "doc": "

Type of Generating Process

\n"}, {"fullname": "grib2io.templates.BackgroundGeneratingProcessIdentifier", "modulename": "grib2io.templates", "qualname": "BackgroundGeneratingProcessIdentifier", "kind": "class", "doc": "

Background Generating Process Identifier

\n"}, {"fullname": "grib2io.templates.GeneratingProcess", "modulename": "grib2io.templates", "qualname": "GeneratingProcess", "kind": "class", "doc": "

Generating Process

\n"}, {"fullname": "grib2io.templates.HoursAfterDataCutoff", "modulename": "grib2io.templates", "qualname": "HoursAfterDataCutoff", "kind": "class", "doc": "

Hours of observational data cutoff after reference time

\n"}, {"fullname": "grib2io.templates.MinutesAfterDataCutoff", "modulename": "grib2io.templates", "qualname": "MinutesAfterDataCutoff", "kind": "class", "doc": "

Minutes of observational data cutoff after reference time

\n"}, {"fullname": "grib2io.templates.UnitOfForecastTime", "modulename": "grib2io.templates", "qualname": "UnitOfForecastTime", "kind": "class", "doc": "

Units of Forecast Time

\n"}, {"fullname": "grib2io.templates.ValueOfForecastTime", "modulename": "grib2io.templates", "qualname": "ValueOfForecastTime", "kind": "class", "doc": "

Value of forecast time in units defined by UnitofForecastTime

\n"}, {"fullname": "grib2io.templates.LeadTime", "modulename": "grib2io.templates", "qualname": "LeadTime", "kind": "class", "doc": "

Forecast Lead Time. NOTE: This is a datetime.timedelta object.

\n"}, {"fullname": "grib2io.templates.FixedSfc1Info", "modulename": "grib2io.templates", "qualname": "FixedSfc1Info", "kind": "class", "doc": "

Information of the first fixed surface via table 4.5

\n"}, {"fullname": "grib2io.templates.FixedSfc2Info", "modulename": "grib2io.templates", "qualname": "FixedSfc2Info", "kind": "class", "doc": "

Information of the seconds fixed surface via table 4.5

\n"}, {"fullname": "grib2io.templates.TypeOfFirstFixedSurface", "modulename": "grib2io.templates", "qualname": "TypeOfFirstFixedSurface", "kind": "class", "doc": "

Type of First Fixed Surface

\n"}, {"fullname": "grib2io.templates.ScaleFactorOfFirstFixedSurface", "modulename": "grib2io.templates", "qualname": "ScaleFactorOfFirstFixedSurface", "kind": "class", "doc": "

Scale Factor of First Fixed Surface

\n"}, {"fullname": "grib2io.templates.ScaledValueOfFirstFixedSurface", "modulename": "grib2io.templates", "qualname": "ScaledValueOfFirstFixedSurface", "kind": "class", "doc": "

Scaled Value Of First Fixed Surface

\n"}, {"fullname": "grib2io.templates.UnitOfFirstFixedSurface", "modulename": "grib2io.templates", "qualname": "UnitOfFirstFixedSurface", "kind": "class", "doc": "

Units of First Fixed Surface

\n"}, {"fullname": "grib2io.templates.ValueOfFirstFixedSurface", "modulename": "grib2io.templates", "qualname": "ValueOfFirstFixedSurface", "kind": "class", "doc": "

Value of First Fixed Surface

\n"}, {"fullname": "grib2io.templates.TypeOfSecondFixedSurface", "modulename": "grib2io.templates", "qualname": "TypeOfSecondFixedSurface", "kind": "class", "doc": "

Type of Second Fixed Surface

\n"}, {"fullname": "grib2io.templates.ScaleFactorOfSecondFixedSurface", "modulename": "grib2io.templates", "qualname": "ScaleFactorOfSecondFixedSurface", "kind": "class", "doc": "

Scale Factor of Second Fixed Surface

\n"}, {"fullname": "grib2io.templates.ScaledValueOfSecondFixedSurface", "modulename": "grib2io.templates", "qualname": "ScaledValueOfSecondFixedSurface", "kind": "class", "doc": "

Scaled Value Of Second Fixed Surface

\n"}, {"fullname": "grib2io.templates.UnitOfSecondFixedSurface", "modulename": "grib2io.templates", "qualname": "UnitOfSecondFixedSurface", "kind": "class", "doc": "

Units of Second Fixed Surface

\n"}, {"fullname": "grib2io.templates.ValueOfSecondFixedSurface", "modulename": "grib2io.templates", "qualname": "ValueOfSecondFixedSurface", "kind": "class", "doc": "

Value of Second Fixed Surface

\n"}, {"fullname": "grib2io.templates.Level", "modulename": "grib2io.templates", "qualname": "Level", "kind": "class", "doc": "

Level (same as provided by wgrib2)

\n"}, {"fullname": "grib2io.templates.TypeOfEnsembleForecast", "modulename": "grib2io.templates", "qualname": "TypeOfEnsembleForecast", "kind": "class", "doc": "

Type of Ensemble Forecast

\n"}, {"fullname": "grib2io.templates.PerturbationNumber", "modulename": "grib2io.templates", "qualname": "PerturbationNumber", "kind": "class", "doc": "

Ensemble Perturbation Number

\n"}, {"fullname": "grib2io.templates.NumberOfEnsembleForecasts", "modulename": "grib2io.templates", "qualname": "NumberOfEnsembleForecasts", "kind": "class", "doc": "

Total Number of Ensemble Forecasts

\n"}, {"fullname": "grib2io.templates.TypeOfDerivedForecast", "modulename": "grib2io.templates", "qualname": "TypeOfDerivedForecast", "kind": "class", "doc": "

Type of Derived Forecast

\n"}, {"fullname": "grib2io.templates.ForecastProbabilityNumber", "modulename": "grib2io.templates", "qualname": "ForecastProbabilityNumber", "kind": "class", "doc": "

Forecast Probability Number

\n"}, {"fullname": "grib2io.templates.TotalNumberOfForecastProbabilities", "modulename": "grib2io.templates", "qualname": "TotalNumberOfForecastProbabilities", "kind": "class", "doc": "

Total Number of Forecast Probabilities

\n"}, {"fullname": "grib2io.templates.TypeOfProbability", "modulename": "grib2io.templates", "qualname": "TypeOfProbability", "kind": "class", "doc": "

Type of Probability

\n"}, {"fullname": "grib2io.templates.ScaleFactorOfThresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ScaleFactorOfThresholdLowerLimit", "kind": "class", "doc": "

Scale Factor of Threshold Lower Limit

\n"}, {"fullname": "grib2io.templates.ScaledValueOfThresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ScaledValueOfThresholdLowerLimit", "kind": "class", "doc": "

Scaled Value of Threshold Lower Limit

\n"}, {"fullname": "grib2io.templates.ScaleFactorOfThresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ScaleFactorOfThresholdUpperLimit", "kind": "class", "doc": "

Scale Factor of Threshold Upper Limit

\n"}, {"fullname": "grib2io.templates.ScaledValueOfThresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ScaledValueOfThresholdUpperLimit", "kind": "class", "doc": "

Scaled Value of Threshold Upper Limit

\n"}, {"fullname": "grib2io.templates.ThresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ThresholdLowerLimit", "kind": "class", "doc": "

Threshold Lower Limit

\n"}, {"fullname": "grib2io.templates.ThresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ThresholdUpperLimit", "kind": "class", "doc": "

Threshold Upper Limit

\n"}, {"fullname": "grib2io.templates.Threshold", "modulename": "grib2io.templates", "qualname": "Threshold", "kind": "class", "doc": "

Threshold string (same as wgrib2)

\n"}, {"fullname": "grib2io.templates.PercentileValue", "modulename": "grib2io.templates", "qualname": "PercentileValue", "kind": "class", "doc": "

Percentile Value

\n"}, {"fullname": "grib2io.templates.YearOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "YearOfEndOfTimePeriod", "kind": "class", "doc": "

Year of End of Forecast Time Period

\n"}, {"fullname": "grib2io.templates.MonthOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "MonthOfEndOfTimePeriod", "kind": "class", "doc": "

Month Year of End of Forecast Time Period

\n"}, {"fullname": "grib2io.templates.DayOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "DayOfEndOfTimePeriod", "kind": "class", "doc": "

Day Year of End of Forecast Time Period

\n"}, {"fullname": "grib2io.templates.HourOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "HourOfEndOfTimePeriod", "kind": "class", "doc": "

Hour Year of End of Forecast Time Period

\n"}, {"fullname": "grib2io.templates.MinuteOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "MinuteOfEndOfTimePeriod", "kind": "class", "doc": "

Minute Year of End of Forecast Time Period

\n"}, {"fullname": "grib2io.templates.SecondOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "SecondOfEndOfTimePeriod", "kind": "class", "doc": "

Second Year of End of Forecast Time Period

\n"}, {"fullname": "grib2io.templates.Duration", "modulename": "grib2io.templates", "qualname": "Duration", "kind": "class", "doc": "

Duration of time period. NOTE: This is a datetime.timedelta object.

\n"}, {"fullname": "grib2io.templates.ValidDate", "modulename": "grib2io.templates", "qualname": "ValidDate", "kind": "class", "doc": "

Valid Date of the forecast. NOTE: This is a datetime.datetime object.

\n"}, {"fullname": "grib2io.templates.NumberOfTimeRanges", "modulename": "grib2io.templates", "qualname": "NumberOfTimeRanges", "kind": "class", "doc": "

Number of time ranges specifications describing the time intervals used to calculate the statistically-processed field

\n"}, {"fullname": "grib2io.templates.NumberOfMissingValues", "modulename": "grib2io.templates", "qualname": "NumberOfMissingValues", "kind": "class", "doc": "

Total number of data values missing in statistical process

\n"}, {"fullname": "grib2io.templates.StatisticalProcess", "modulename": "grib2io.templates", "qualname": "StatisticalProcess", "kind": "class", "doc": "

Statistical Process

\n"}, {"fullname": "grib2io.templates.TypeOfTimeIncrementOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "TypeOfTimeIncrementOfStatisticalProcess", "kind": "class", "doc": "

Type of Time Increment of Statistical Process

\n"}, {"fullname": "grib2io.templates.UnitOfTimeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "UnitOfTimeRangeOfStatisticalProcess", "kind": "class", "doc": "

Unit of Time Range of Statistical Process

\n"}, {"fullname": "grib2io.templates.TimeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "TimeRangeOfStatisticalProcess", "kind": "class", "doc": "

Time Range of Statistical Process

\n"}, {"fullname": "grib2io.templates.UnitOfTimeRangeOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "UnitOfTimeRangeOfSuccessiveFields", "kind": "class", "doc": "

Unit of Time Range of Successive Fields

\n"}, {"fullname": "grib2io.templates.TimeIncrementOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "TimeIncrementOfSuccessiveFields", "kind": "class", "doc": "

Time Increment of Successive Fields

\n"}, {"fullname": "grib2io.templates.TypeOfStatisticalProcessing", "modulename": "grib2io.templates", "qualname": "TypeOfStatisticalProcessing", "kind": "class", "doc": "

Type of Statistical Processing

\n"}, {"fullname": "grib2io.templates.NumberOfDataPointsForSpatialProcessing", "modulename": "grib2io.templates", "qualname": "NumberOfDataPointsForSpatialProcessing", "kind": "class", "doc": "

Number of Data Points for Spatial Processing

\n"}, {"fullname": "grib2io.templates.TypeOfAerosol", "modulename": "grib2io.templates", "qualname": "TypeOfAerosol", "kind": "class", "doc": "

Type of Aerosol

\n"}, {"fullname": "grib2io.templates.TypeOfIntervalForAerosolSize", "modulename": "grib2io.templates", "qualname": "TypeOfIntervalForAerosolSize", "kind": "class", "doc": "

Type of Interval for Aerosol Size

\n"}, {"fullname": "grib2io.templates.ScaleFactorOfFirstSize", "modulename": "grib2io.templates", "qualname": "ScaleFactorOfFirstSize", "kind": "class", "doc": "

Scale Factor of First Size

\n"}, {"fullname": "grib2io.templates.ScaledValueOfFirstSize", "modulename": "grib2io.templates", "qualname": "ScaledValueOfFirstSize", "kind": "class", "doc": "

Scaled Value of First Size

\n"}, {"fullname": "grib2io.templates.ScaleFactorOfSecondSize", "modulename": "grib2io.templates", "qualname": "ScaleFactorOfSecondSize", "kind": "class", "doc": "

Scale Factor of Second Size

\n"}, {"fullname": "grib2io.templates.ScaledValueOfSecondSize", "modulename": "grib2io.templates", "qualname": "ScaledValueOfSecondSize", "kind": "class", "doc": "

Scaled Value of Second Size

\n"}, {"fullname": "grib2io.templates.TypeOfIntervalForAerosolWavelength", "modulename": "grib2io.templates", "qualname": "TypeOfIntervalForAerosolWavelength", "kind": "class", "doc": "

Type of Interval for Aerosol Wavelength

\n"}, {"fullname": "grib2io.templates.ScaleFactorOfFirstWavelength", "modulename": "grib2io.templates", "qualname": "ScaleFactorOfFirstWavelength", "kind": "class", "doc": "

Scale Factor of First Wavelength

\n"}, {"fullname": "grib2io.templates.ScaledValueOfFirstWavelength", "modulename": "grib2io.templates", "qualname": "ScaledValueOfFirstWavelength", "kind": "class", "doc": "

Scaled Value of First Wavelength

\n"}, {"fullname": "grib2io.templates.ScaleFactorOfSecondWavelength", "modulename": "grib2io.templates", "qualname": "ScaleFactorOfSecondWavelength", "kind": "class", "doc": "

Scale Factor of Second Wavelength

\n"}, {"fullname": "grib2io.templates.ScaledValueOfSecondWavelength", "modulename": "grib2io.templates", "qualname": "ScaledValueOfSecondWavelength", "kind": "class", "doc": "

Scaled Value of Second Wavelength

\n"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0", "kind": "class", "doc": "

Product Definition Template 0

\n"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.parameterCategory", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.parameterCategory", "kind": "variable", "doc": "

Parameter Category

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.parameterNumber", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.parameterNumber", "kind": "variable", "doc": "

Parameter Number

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.typeOfGeneratingProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.typeOfGeneratingProcess", "kind": "variable", "doc": "

Type of Generating Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.generatingProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.generatingProcess", "kind": "variable", "doc": "

Generating Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.backgroundGeneratingProcessIdentifier", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.backgroundGeneratingProcessIdentifier", "kind": "variable", "doc": "

Background Generating Process Identifier

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.hoursAfterDataCutoff", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.hoursAfterDataCutoff", "kind": "variable", "doc": "

Hours of observational data cutoff after reference time

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.minutesAfterDataCutoff", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.minutesAfterDataCutoff", "kind": "variable", "doc": "

Minutes of observational data cutoff after reference time

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.unitOfForecastTime", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.unitOfForecastTime", "kind": "variable", "doc": "

Units of Forecast Time

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.valueOfForecastTime", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.valueOfForecastTime", "kind": "variable", "doc": "

Value of forecast time in units defined by UnitofForecastTime

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.typeOfFirstFixedSurface", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.typeOfFirstFixedSurface", "kind": "variable", "doc": "

Type of First Fixed Surface

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.scaleFactorOfFirstFixedSurface", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.scaleFactorOfFirstFixedSurface", "kind": "variable", "doc": "

Scale Factor of First Fixed Surface

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.scaledValueOfFirstFixedSurface", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.scaledValueOfFirstFixedSurface", "kind": "variable", "doc": "

Scaled Value Of First Fixed Surface

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.typeOfSecondFixedSurface", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.typeOfSecondFixedSurface", "kind": "variable", "doc": "

Type of Second Fixed Surface

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.scaleFactorOfSecondFixedSurface", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.scaleFactorOfSecondFixedSurface", "kind": "variable", "doc": "

Scale Factor of Second Fixed Surface

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate0.scaledValueOfSecondFixedSurface", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate0.scaledValueOfSecondFixedSurface", "kind": "variable", "doc": "

Scaled Value Of Second Fixed Surface

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate1", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate1", "kind": "class", "doc": "

Product Definition Template 1

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate1.typeOfEnsembleForecast", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate1.typeOfEnsembleForecast", "kind": "variable", "doc": "

Type of Ensemble Forecast

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate1.perturbationNumber", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate1.perturbationNumber", "kind": "variable", "doc": "

Ensemble Perturbation Number

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate1.numberOfEnsembleForecasts", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate1.numberOfEnsembleForecasts", "kind": "variable", "doc": "

Total Number of Ensemble Forecasts

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate2", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate2", "kind": "class", "doc": "

Product Definition Template 2

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate2.typeOfDerivedForecast", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate2.typeOfDerivedForecast", "kind": "variable", "doc": "

Type of Derived Forecast

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate2.numberOfEnsembleForecasts", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate2.numberOfEnsembleForecasts", "kind": "variable", "doc": "

Total Number of Ensemble Forecasts

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5", "kind": "class", "doc": "

Product Definition Template 5

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.forecastProbabilityNumber", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.forecastProbabilityNumber", "kind": "variable", "doc": "

Forecast Probability Number

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.totalNumberOfForecastProbabilities", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.totalNumberOfForecastProbabilities", "kind": "variable", "doc": "

Total Number of Forecast Probabilities

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.typeOfProbability", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.typeOfProbability", "kind": "variable", "doc": "

Type of Probability

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.scaleFactorOfThresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.scaleFactorOfThresholdLowerLimit", "kind": "variable", "doc": "

Scale Factor of Threshold Lower Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.scaledValueOfThresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.scaledValueOfThresholdLowerLimit", "kind": "variable", "doc": "

Scaled Value of Threshold Lower Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.scaleFactorOfThresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.scaleFactorOfThresholdUpperLimit", "kind": "variable", "doc": "

Scale Factor of Threshold Upper Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.scaledValueOfThresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.scaledValueOfThresholdUpperLimit", "kind": "variable", "doc": "

Scaled Value of Threshold Upper Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.thresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.thresholdLowerLimit", "kind": "variable", "doc": "

Threshold Lower Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.thresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.thresholdUpperLimit", "kind": "variable", "doc": "

Threshold Upper Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate5.threshold", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate5.threshold", "kind": "variable", "doc": "

Threshold string (same as wgrib2)

\n", "annotation": ": str"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate6", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate6", "kind": "class", "doc": "

Product Definition Template 6

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate6.percentileValue", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate6.percentileValue", "kind": "variable", "doc": "

Percentile Value

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8", "kind": "class", "doc": "

Product Definition Template 8

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.yearOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.yearOfEndOfTimePeriod", "kind": "variable", "doc": "

Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.monthOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.monthOfEndOfTimePeriod", "kind": "variable", "doc": "

Month Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.dayOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.dayOfEndOfTimePeriod", "kind": "variable", "doc": "

Day Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.hourOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.hourOfEndOfTimePeriod", "kind": "variable", "doc": "

Hour Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.minuteOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.minuteOfEndOfTimePeriod", "kind": "variable", "doc": "

Minute Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.secondOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.secondOfEndOfTimePeriod", "kind": "variable", "doc": "

Second Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.numberOfTimeRanges", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.numberOfTimeRanges", "kind": "variable", "doc": "

Number of time ranges specifications describing the time intervals used to calculate the statistically-processed field

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.numberOfMissingValues", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.numberOfMissingValues", "kind": "variable", "doc": "

Total number of data values missing in statistical process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.statisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.statisticalProcess", "kind": "variable", "doc": "

Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.typeOfTimeIncrementOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.typeOfTimeIncrementOfStatisticalProcess", "kind": "variable", "doc": "

Type of Time Increment of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.unitOfTimeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.unitOfTimeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Unit of Time Range of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.timeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.timeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Time Range of Statistical Process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.unitOfTimeRangeOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.unitOfTimeRangeOfSuccessiveFields", "kind": "variable", "doc": "

Unit of Time Range of Successive Fields

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate8.timeIncrementOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate8.timeIncrementOfSuccessiveFields", "kind": "variable", "doc": "

Time Increment of Successive Fields

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9", "kind": "class", "doc": "

Product Definition Template 9

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.forecastProbabilityNumber", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.forecastProbabilityNumber", "kind": "variable", "doc": "

Forecast Probability Number

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.totalNumberOfForecastProbabilities", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.totalNumberOfForecastProbabilities", "kind": "variable", "doc": "

Total Number of Forecast Probabilities

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.typeOfProbability", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.typeOfProbability", "kind": "variable", "doc": "

Type of Probability

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.scaleFactorOfThresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.scaleFactorOfThresholdLowerLimit", "kind": "variable", "doc": "

Scale Factor of Threshold Lower Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.scaledValueOfThresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.scaledValueOfThresholdLowerLimit", "kind": "variable", "doc": "

Scaled Value of Threshold Lower Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.scaleFactorOfThresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.scaleFactorOfThresholdUpperLimit", "kind": "variable", "doc": "

Scale Factor of Threshold Upper Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.scaledValueOfThresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.scaledValueOfThresholdUpperLimit", "kind": "variable", "doc": "

Scaled Value of Threshold Upper Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.thresholdLowerLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.thresholdLowerLimit", "kind": "variable", "doc": "

Threshold Lower Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.thresholdUpperLimit", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.thresholdUpperLimit", "kind": "variable", "doc": "

Threshold Upper Limit

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.threshold", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.threshold", "kind": "variable", "doc": "

Threshold string (same as wgrib2)

\n", "annotation": ": str"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.yearOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.yearOfEndOfTimePeriod", "kind": "variable", "doc": "

Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.monthOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.monthOfEndOfTimePeriod", "kind": "variable", "doc": "

Month Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.dayOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.dayOfEndOfTimePeriod", "kind": "variable", "doc": "

Day Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.hourOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.hourOfEndOfTimePeriod", "kind": "variable", "doc": "

Hour Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.minuteOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.minuteOfEndOfTimePeriod", "kind": "variable", "doc": "

Minute Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.secondOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.secondOfEndOfTimePeriod", "kind": "variable", "doc": "

Second Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.numberOfTimeRanges", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.numberOfTimeRanges", "kind": "variable", "doc": "

Number of time ranges specifications describing the time intervals used to calculate the statistically-processed field

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.numberOfMissingValues", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.numberOfMissingValues", "kind": "variable", "doc": "

Total number of data values missing in statistical process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.statisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.statisticalProcess", "kind": "variable", "doc": "

Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.typeOfTimeIncrementOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.typeOfTimeIncrementOfStatisticalProcess", "kind": "variable", "doc": "

Type of Time Increment of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.unitOfTimeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.unitOfTimeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Unit of Time Range of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.timeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.timeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Time Range of Statistical Process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.unitOfTimeRangeOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.unitOfTimeRangeOfSuccessiveFields", "kind": "variable", "doc": "

Unit of Time Range of Successive Fields

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate9.timeIncrementOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate9.timeIncrementOfSuccessiveFields", "kind": "variable", "doc": "

Time Increment of Successive Fields

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10", "kind": "class", "doc": "

Product Definition Template 10

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.percentileValue", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.percentileValue", "kind": "variable", "doc": "

Percentile Value

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.yearOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.yearOfEndOfTimePeriod", "kind": "variable", "doc": "

Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.monthOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.monthOfEndOfTimePeriod", "kind": "variable", "doc": "

Month Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.dayOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.dayOfEndOfTimePeriod", "kind": "variable", "doc": "

Day Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.hourOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.hourOfEndOfTimePeriod", "kind": "variable", "doc": "

Hour Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.minuteOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.minuteOfEndOfTimePeriod", "kind": "variable", "doc": "

Minute Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.secondOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.secondOfEndOfTimePeriod", "kind": "variable", "doc": "

Second Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.numberOfTimeRanges", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.numberOfTimeRanges", "kind": "variable", "doc": "

Number of time ranges specifications describing the time intervals used to calculate the statistically-processed field

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.numberOfMissingValues", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.numberOfMissingValues", "kind": "variable", "doc": "

Total number of data values missing in statistical process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.statisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.statisticalProcess", "kind": "variable", "doc": "

Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.typeOfTimeIncrementOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.typeOfTimeIncrementOfStatisticalProcess", "kind": "variable", "doc": "

Type of Time Increment of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.unitOfTimeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.unitOfTimeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Unit of Time Range of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.timeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.timeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Time Range of Statistical Process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.unitOfTimeRangeOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.unitOfTimeRangeOfSuccessiveFields", "kind": "variable", "doc": "

Unit of Time Range of Successive Fields

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate10.timeIncrementOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate10.timeIncrementOfSuccessiveFields", "kind": "variable", "doc": "

Time Increment of Successive Fields

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11", "kind": "class", "doc": "

Product Definition Template 11

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.typeOfEnsembleForecast", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.typeOfEnsembleForecast", "kind": "variable", "doc": "

Type of Ensemble Forecast

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.perturbationNumber", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.perturbationNumber", "kind": "variable", "doc": "

Ensemble Perturbation Number

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.numberOfEnsembleForecasts", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.numberOfEnsembleForecasts", "kind": "variable", "doc": "

Total Number of Ensemble Forecasts

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.yearOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.yearOfEndOfTimePeriod", "kind": "variable", "doc": "

Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.monthOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.monthOfEndOfTimePeriod", "kind": "variable", "doc": "

Month Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.dayOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.dayOfEndOfTimePeriod", "kind": "variable", "doc": "

Day Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.hourOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.hourOfEndOfTimePeriod", "kind": "variable", "doc": "

Hour Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.minuteOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.minuteOfEndOfTimePeriod", "kind": "variable", "doc": "

Minute Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.secondOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.secondOfEndOfTimePeriod", "kind": "variable", "doc": "

Second Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.numberOfTimeRanges", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.numberOfTimeRanges", "kind": "variable", "doc": "

Number of time ranges specifications describing the time intervals used to calculate the statistically-processed field

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.numberOfMissingValues", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.numberOfMissingValues", "kind": "variable", "doc": "

Total number of data values missing in statistical process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.statisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.statisticalProcess", "kind": "variable", "doc": "

Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.typeOfTimeIncrementOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.typeOfTimeIncrementOfStatisticalProcess", "kind": "variable", "doc": "

Type of Time Increment of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.unitOfTimeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.unitOfTimeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Unit of Time Range of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.timeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.timeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Time Range of Statistical Process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.unitOfTimeRangeOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.unitOfTimeRangeOfSuccessiveFields", "kind": "variable", "doc": "

Unit of Time Range of Successive Fields

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate11.timeIncrementOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate11.timeIncrementOfSuccessiveFields", "kind": "variable", "doc": "

Time Increment of Successive Fields

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12", "kind": "class", "doc": "

Product Definition Template 12

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.typeOfDerivedForecast", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.typeOfDerivedForecast", "kind": "variable", "doc": "

Type of Derived Forecast

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.numberOfEnsembleForecasts", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.numberOfEnsembleForecasts", "kind": "variable", "doc": "

Total Number of Ensemble Forecasts

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.yearOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.yearOfEndOfTimePeriod", "kind": "variable", "doc": "

Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.monthOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.monthOfEndOfTimePeriod", "kind": "variable", "doc": "

Month Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.dayOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.dayOfEndOfTimePeriod", "kind": "variable", "doc": "

Day Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.hourOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.hourOfEndOfTimePeriod", "kind": "variable", "doc": "

Hour Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.minuteOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.minuteOfEndOfTimePeriod", "kind": "variable", "doc": "

Minute Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.secondOfEndOfTimePeriod", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.secondOfEndOfTimePeriod", "kind": "variable", "doc": "

Second Year of End of Forecast Time Period

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.numberOfTimeRanges", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.numberOfTimeRanges", "kind": "variable", "doc": "

Number of time ranges specifications describing the time intervals used to calculate the statistically-processed field

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.numberOfMissingValues", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.numberOfMissingValues", "kind": "variable", "doc": "

Total number of data values missing in statistical process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.statisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.statisticalProcess", "kind": "variable", "doc": "

Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.typeOfTimeIncrementOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.typeOfTimeIncrementOfStatisticalProcess", "kind": "variable", "doc": "

Type of Time Increment of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.unitOfTimeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.unitOfTimeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Unit of Time Range of Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.timeRangeOfStatisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.timeRangeOfStatisticalProcess", "kind": "variable", "doc": "

Time Range of Statistical Process

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.unitOfTimeRangeOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.unitOfTimeRangeOfSuccessiveFields", "kind": "variable", "doc": "

Unit of Time Range of Successive Fields

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate12.timeIncrementOfSuccessiveFields", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate12.timeIncrementOfSuccessiveFields", "kind": "variable", "doc": "

Time Increment of Successive Fields

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate15", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate15", "kind": "class", "doc": "

Product Definition Template 15

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate15.statisticalProcess", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate15.statisticalProcess", "kind": "variable", "doc": "

Statistical Process

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate15.typeOfStatisticalProcessing", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate15.typeOfStatisticalProcessing", "kind": "variable", "doc": "

Type of Statistical Processing

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate15.numberOfDataPointsForSpatialProcessing", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate15.numberOfDataPointsForSpatialProcessing", "kind": "variable", "doc": "

Number of Data Points for Spatial Processing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48", "kind": "class", "doc": "

Product Definition Template 48

\n", "bases": "ProductDefinitionTemplate0"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.typeOfAerosol", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.typeOfAerosol", "kind": "variable", "doc": "

Type of Aerosol

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.typeOfIntervalForAerosolSize", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.typeOfIntervalForAerosolSize", "kind": "variable", "doc": "

Type of Interval for Aerosol Size

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.scaleFactorOfFirstSize", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.scaleFactorOfFirstSize", "kind": "variable", "doc": "

Scale Factor of First Size

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.scaledValueOfFirstSize", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.scaledValueOfFirstSize", "kind": "variable", "doc": "

Scaled Value of First Size

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.scaleFactorOfSecondSize", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.scaleFactorOfSecondSize", "kind": "variable", "doc": "

Scale Factor of Second Size

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.scaledValueOfSecondSize", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.scaledValueOfSecondSize", "kind": "variable", "doc": "

Scaled Value of Second Size

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.typeOfIntervalForAerosolWavelength", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.typeOfIntervalForAerosolWavelength", "kind": "variable", "doc": "

Type of Interval for Aerosol Wavelength

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.scaleFactorOfFirstWavelength", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.scaleFactorOfFirstWavelength", "kind": "variable", "doc": "

Scale Factor of First Wavelength

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.scaledValueOfFirstWavelength", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.scaledValueOfFirstWavelength", "kind": "variable", "doc": "

Scaled Value of First Wavelength

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.scaleFactorOfSecondWavelength", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.scaleFactorOfSecondWavelength", "kind": "variable", "doc": "

Scale Factor of Second Wavelength

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.ProductDefinitionTemplate48.scaledValueOfSecondWavelength", "modulename": "grib2io.templates", "qualname": "ProductDefinitionTemplate48.scaledValueOfSecondWavelength", "kind": "variable", "doc": "

Scaled Value of Second Wavelength

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.pdt_class_by_pdtn", "modulename": "grib2io.templates", "qualname": "pdt_class_by_pdtn", "kind": "function", "doc": "

Provides a Product Definition Template class via the template number

\n\n

Parameters

\n\n

pdtn : int\n Product definition template number.

\n\n

Returns

\n\n

Product definition template class object (not an instance).

\n", "signature": "(pdtn):", "funcdef": "def"}, {"fullname": "grib2io.templates.NumberOfPackedValues", "modulename": "grib2io.templates", "qualname": "NumberOfPackedValues", "kind": "class", "doc": "

Number of Packed Values

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplateNumber", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplateNumber", "kind": "class", "doc": "

Data Representation Template Number

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate", "kind": "class", "doc": "

Data Representation Template

\n"}, {"fullname": "grib2io.templates.RefValue", "modulename": "grib2io.templates", "qualname": "RefValue", "kind": "class", "doc": "

Reference Value (represented as an IEEE 32-bit floating point value)

\n"}, {"fullname": "grib2io.templates.BinScaleFactor", "modulename": "grib2io.templates", "qualname": "BinScaleFactor", "kind": "class", "doc": "

Binary Scale Factor

\n"}, {"fullname": "grib2io.templates.DecScaleFactor", "modulename": "grib2io.templates", "qualname": "DecScaleFactor", "kind": "class", "doc": "

Decimal Scale Factor

\n"}, {"fullname": "grib2io.templates.NBitsPacking", "modulename": "grib2io.templates", "qualname": "NBitsPacking", "kind": "class", "doc": "

Minimum number of bits for packing

\n"}, {"fullname": "grib2io.templates.TypeOfValues", "modulename": "grib2io.templates", "qualname": "TypeOfValues", "kind": "class", "doc": "

Type of Original Field Values

\n"}, {"fullname": "grib2io.templates.GroupSplittingMethod", "modulename": "grib2io.templates", "qualname": "GroupSplittingMethod", "kind": "class", "doc": "

Group Splitting Method

\n"}, {"fullname": "grib2io.templates.TypeOfMissingValueManagement", "modulename": "grib2io.templates", "qualname": "TypeOfMissingValueManagement", "kind": "class", "doc": "

Type of Missing Value Management

\n"}, {"fullname": "grib2io.templates.PriMissingValue", "modulename": "grib2io.templates", "qualname": "PriMissingValue", "kind": "class", "doc": "

Primary Missing Value

\n"}, {"fullname": "grib2io.templates.SecMissingValue", "modulename": "grib2io.templates", "qualname": "SecMissingValue", "kind": "class", "doc": "

Secondary Missing Value

\n"}, {"fullname": "grib2io.templates.NGroups", "modulename": "grib2io.templates", "qualname": "NGroups", "kind": "class", "doc": "

Number of Groups

\n"}, {"fullname": "grib2io.templates.RefGroupWidth", "modulename": "grib2io.templates", "qualname": "RefGroupWidth", "kind": "class", "doc": "

Reference Group Width

\n"}, {"fullname": "grib2io.templates.NBitsGroupWidth", "modulename": "grib2io.templates", "qualname": "NBitsGroupWidth", "kind": "class", "doc": "

Number of bits for Group Width

\n"}, {"fullname": "grib2io.templates.RefGroupLength", "modulename": "grib2io.templates", "qualname": "RefGroupLength", "kind": "class", "doc": "

Reference Group Length

\n"}, {"fullname": "grib2io.templates.GroupLengthIncrement", "modulename": "grib2io.templates", "qualname": "GroupLengthIncrement", "kind": "class", "doc": "

Group Length Increment

\n"}, {"fullname": "grib2io.templates.LengthOfLastGroup", "modulename": "grib2io.templates", "qualname": "LengthOfLastGroup", "kind": "class", "doc": "

Length of Last Group

\n"}, {"fullname": "grib2io.templates.NBitsScaledGroupLength", "modulename": "grib2io.templates", "qualname": "NBitsScaledGroupLength", "kind": "class", "doc": "

Number of bits of Scaled Group Length

\n"}, {"fullname": "grib2io.templates.SpatialDifferenceOrder", "modulename": "grib2io.templates", "qualname": "SpatialDifferenceOrder", "kind": "class", "doc": "

Spatial Difference Order

\n"}, {"fullname": "grib2io.templates.NBytesSpatialDifference", "modulename": "grib2io.templates", "qualname": "NBytesSpatialDifference", "kind": "class", "doc": "

Number of bytes for Spatial Differencing

\n"}, {"fullname": "grib2io.templates.Precision", "modulename": "grib2io.templates", "qualname": "Precision", "kind": "class", "doc": "

Precision for IEEE Floating Point Data

\n"}, {"fullname": "grib2io.templates.TypeOfCompression", "modulename": "grib2io.templates", "qualname": "TypeOfCompression", "kind": "class", "doc": "

Type of Compression

\n"}, {"fullname": "grib2io.templates.TargetCompressionRatio", "modulename": "grib2io.templates", "qualname": "TargetCompressionRatio", "kind": "class", "doc": "

Target Compression Ratio

\n"}, {"fullname": "grib2io.templates.RealOfCoefficient", "modulename": "grib2io.templates", "qualname": "RealOfCoefficient", "kind": "class", "doc": "

Real of Coefficient

\n"}, {"fullname": "grib2io.templates.CompressionOptionsMask", "modulename": "grib2io.templates", "qualname": "CompressionOptionsMask", "kind": "class", "doc": "

Compression Options Mask for AEC/CCSDS

\n"}, {"fullname": "grib2io.templates.BlockSize", "modulename": "grib2io.templates", "qualname": "BlockSize", "kind": "class", "doc": "

Block Size for AEC/CCSDS

\n"}, {"fullname": "grib2io.templates.RefSampleInterval", "modulename": "grib2io.templates", "qualname": "RefSampleInterval", "kind": "class", "doc": "

Reference Sample Interval for AEC/CCSDS

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate0", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate0", "kind": "class", "doc": "

Data Representation Template 0

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate0.refValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate0.refValue", "kind": "variable", "doc": "

Reference Value (represented as an IEEE 32-bit floating point value)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.DataRepresentationTemplate0.binScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate0.binScaleFactor", "kind": "variable", "doc": "

Binary Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate0.decScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate0.decScaleFactor", "kind": "variable", "doc": "

Decimal Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate0.nBitsPacking", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate0.nBitsPacking", "kind": "variable", "doc": "

Minimum number of bits for packing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2", "kind": "class", "doc": "

Data Representation Template 2

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.refValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.refValue", "kind": "variable", "doc": "

Reference Value (represented as an IEEE 32-bit floating point value)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.binScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.binScaleFactor", "kind": "variable", "doc": "

Binary Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.decScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.decScaleFactor", "kind": "variable", "doc": "

Decimal Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.nBitsPacking", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.nBitsPacking", "kind": "variable", "doc": "

Minimum number of bits for packing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.groupSplittingMethod", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.groupSplittingMethod", "kind": "variable", "doc": "

Group Splitting Method

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.typeOfMissingValueManagement", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.typeOfMissingValueManagement", "kind": "variable", "doc": "

Type of Missing Value Management

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.priMissingValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.priMissingValue", "kind": "variable", "doc": "

Primary Missing Value

\n", "annotation": ": [<class 'float'>, <class 'int'>]"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.secMissingValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.secMissingValue", "kind": "variable", "doc": "

Secondary Missing Value

\n", "annotation": ": [<class 'float'>, <class 'int'>]"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.nGroups", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.nGroups", "kind": "variable", "doc": "

Number of Groups

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.refGroupWidth", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.refGroupWidth", "kind": "variable", "doc": "

Reference Group Width

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.nBitsGroupWidth", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.nBitsGroupWidth", "kind": "variable", "doc": "

Number of bits for Group Width

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.refGroupLength", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.refGroupLength", "kind": "variable", "doc": "

Reference Group Length

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.groupLengthIncrement", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.groupLengthIncrement", "kind": "variable", "doc": "

Group Length Increment

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.lengthOfLastGroup", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.lengthOfLastGroup", "kind": "variable", "doc": "

Length of Last Group

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate2.nBitsScaledGroupLength", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate2.nBitsScaledGroupLength", "kind": "variable", "doc": "

Number of bits of Scaled Group Length

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3", "kind": "class", "doc": "

Data Representation Template 3

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.refValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.refValue", "kind": "variable", "doc": "

Reference Value (represented as an IEEE 32-bit floating point value)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.binScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.binScaleFactor", "kind": "variable", "doc": "

Binary Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.decScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.decScaleFactor", "kind": "variable", "doc": "

Decimal Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.nBitsPacking", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.nBitsPacking", "kind": "variable", "doc": "

Minimum number of bits for packing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.groupSplittingMethod", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.groupSplittingMethod", "kind": "variable", "doc": "

Group Splitting Method

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.typeOfMissingValueManagement", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.typeOfMissingValueManagement", "kind": "variable", "doc": "

Type of Missing Value Management

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.priMissingValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.priMissingValue", "kind": "variable", "doc": "

Primary Missing Value

\n", "annotation": ": [<class 'float'>, <class 'int'>]"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.secMissingValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.secMissingValue", "kind": "variable", "doc": "

Secondary Missing Value

\n", "annotation": ": [<class 'float'>, <class 'int'>]"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.nGroups", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.nGroups", "kind": "variable", "doc": "

Number of Groups

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.refGroupWidth", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.refGroupWidth", "kind": "variable", "doc": "

Reference Group Width

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.nBitsGroupWidth", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.nBitsGroupWidth", "kind": "variable", "doc": "

Number of bits for Group Width

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.refGroupLength", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.refGroupLength", "kind": "variable", "doc": "

Reference Group Length

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.groupLengthIncrement", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.groupLengthIncrement", "kind": "variable", "doc": "

Group Length Increment

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.lengthOfLastGroup", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.lengthOfLastGroup", "kind": "variable", "doc": "

Length of Last Group

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.nBitsScaledGroupLength", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.nBitsScaledGroupLength", "kind": "variable", "doc": "

Number of bits of Scaled Group Length

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.spatialDifferenceOrder", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.spatialDifferenceOrder", "kind": "variable", "doc": "

Spatial Difference Order

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.DataRepresentationTemplate3.nBytesSpatialDifference", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate3.nBytesSpatialDifference", "kind": "variable", "doc": "

Number of bytes for Spatial Differencing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate4", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate4", "kind": "class", "doc": "

Data Representation Template 4

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate4.precision", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate4.precision", "kind": "variable", "doc": "

Precision for IEEE Floating Point Data

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.DataRepresentationTemplate40", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate40", "kind": "class", "doc": "

Data Representation Template 40

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate40.refValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate40.refValue", "kind": "variable", "doc": "

Reference Value (represented as an IEEE 32-bit floating point value)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.DataRepresentationTemplate40.binScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate40.binScaleFactor", "kind": "variable", "doc": "

Binary Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate40.decScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate40.decScaleFactor", "kind": "variable", "doc": "

Decimal Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate40.nBitsPacking", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate40.nBitsPacking", "kind": "variable", "doc": "

Minimum number of bits for packing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate40.typeOfCompression", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate40.typeOfCompression", "kind": "variable", "doc": "

Type of Compression

\n", "annotation": ": grib2io.templates.Grib2Metadata"}, {"fullname": "grib2io.templates.DataRepresentationTemplate40.targetCompressionRatio", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate40.targetCompressionRatio", "kind": "variable", "doc": "

Target Compression Ratio

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate41", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate41", "kind": "class", "doc": "

Data Representation Template 41

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate41.refValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate41.refValue", "kind": "variable", "doc": "

Reference Value (represented as an IEEE 32-bit floating point value)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.DataRepresentationTemplate41.binScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate41.binScaleFactor", "kind": "variable", "doc": "

Binary Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate41.decScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate41.decScaleFactor", "kind": "variable", "doc": "

Decimal Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate41.nBitsPacking", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate41.nBitsPacking", "kind": "variable", "doc": "

Minimum number of bits for packing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate42", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate42", "kind": "class", "doc": "

Data Representation Template 42

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate42.refValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate42.refValue", "kind": "variable", "doc": "

Reference Value (represented as an IEEE 32-bit floating point value)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.DataRepresentationTemplate42.binScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate42.binScaleFactor", "kind": "variable", "doc": "

Binary Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate42.decScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate42.decScaleFactor", "kind": "variable", "doc": "

Decimal Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate42.nBitsPacking", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate42.nBitsPacking", "kind": "variable", "doc": "

Minimum number of bits for packing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate42.compressionOptionsMask", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate42.compressionOptionsMask", "kind": "variable", "doc": "

Compression Options Mask for AEC/CCSDS

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate42.blockSize", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate42.blockSize", "kind": "variable", "doc": "

Block Size for AEC/CCSDS

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate42.refSampleInterval", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate42.refSampleInterval", "kind": "variable", "doc": "

Reference Sample Interval for AEC/CCSDS

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate50", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate50", "kind": "class", "doc": "

Data Representation Template 50

\n"}, {"fullname": "grib2io.templates.DataRepresentationTemplate50.refValue", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate50.refValue", "kind": "variable", "doc": "

Reference Value (represented as an IEEE 32-bit floating point value)

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.DataRepresentationTemplate50.binScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate50.binScaleFactor", "kind": "variable", "doc": "

Binary Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate50.decScaleFactor", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate50.decScaleFactor", "kind": "variable", "doc": "

Decimal Scale Factor

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate50.nBitsPacking", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate50.nBitsPacking", "kind": "variable", "doc": "

Minimum number of bits for packing

\n", "annotation": ": int"}, {"fullname": "grib2io.templates.DataRepresentationTemplate50.realOfCoefficient", "modulename": "grib2io.templates", "qualname": "DataRepresentationTemplate50.realOfCoefficient", "kind": "variable", "doc": "

Real of Coefficient

\n", "annotation": ": float"}, {"fullname": "grib2io.templates.drt_class_by_drtn", "modulename": "grib2io.templates", "qualname": "drt_class_by_drtn", "kind": "function", "doc": "

Provides a Data Representation Template class via the template number

\n\n

Parameters

\n\n

drtn : int\n Data Representation template number.

\n\n

Returns

\n\n

Data Representation template class object (not an instance).

\n", "signature": "(drtn):", "funcdef": "def"}, {"fullname": "grib2io.utils", "modulename": "grib2io.utils", "kind": "module", "doc": "

Collection of utility functions to assist in the encoding and decoding\nof GRIB2 Messages.

\n"}, {"fullname": "grib2io.utils.int2bin", "modulename": "grib2io.utils", "qualname": "int2bin", "kind": "function", "doc": "

Convert integer to binary string or list

\n\n

Parameters

\n\n

i : int\n Integer value to convert to binary representation.

\n\n

nbits : int, optional\n Number of bits to return. Valid values are 8 [DEFAULT], 16, 32, and 64.

\n\n

output : type\n Return data as str [DEFAULT] or list (list of ints).

\n\n

Returns

\n\n

str or list (list of ints) of binary representation of the integer value.

\n", "signature": "(i, nbits=8, output=<class 'str'>):", "funcdef": "def"}, {"fullname": "grib2io.utils.ieee_float_to_int", "modulename": "grib2io.utils", "qualname": "ieee_float_to_int", "kind": "function", "doc": "

Convert an IEEE 32-bit float to a 32-bit integer.

\n\n

Parameters

\n\n

f : float\n Floating-point value.

\n\n

Returns

\n\n

numpy.int32 representation of an IEEE 32-bit float.

\n", "signature": "(f):", "funcdef": "def"}, {"fullname": "grib2io.utils.ieee_int_to_float", "modulename": "grib2io.utils", "qualname": "ieee_int_to_float", "kind": "function", "doc": "

Convert a 32-bit integer to an IEEE 32-bit float.

\n\n

Parameters

\n\n

i : int\n Integer value.

\n\n

Returns

\n\n

numpy.float32 representation of a 32-bit int.

\n", "signature": "(i):", "funcdef": "def"}, {"fullname": "grib2io.utils.get_leadtime", "modulename": "grib2io.utils", "qualname": "get_leadtime", "kind": "function", "doc": "

Computes lead time as a datetime.timedelta object using information from\nGRIB2 Identification Section (Section 1), Product Definition Template\nNumber, and Product Definition Template (Section 4).

\n\n

Parameters

\n\n

idsec : list or array_like\n Seqeunce containing GRIB2 Identification Section (Section 1).

\n\n

pdtn : int\n GRIB2 Product Definition Template Number

\n\n

pdt : list or array_like\n Seqeunce containing GRIB2 Product Definition Template (Section 4).

\n\n

Returns

\n\n

datetime.timedelta object representing the lead time of the GRIB2 message.

\n", "signature": "(idsec, pdtn, pdt):", "funcdef": "def"}, {"fullname": "grib2io.utils.get_duration", "modulename": "grib2io.utils", "qualname": "get_duration", "kind": "function", "doc": "

Computes a time duration as a datetime.timedelta using information from\nProduct Definition Template Number, and Product Definition Template (Section 4).

\n\n

Parameters

\n\n

pdtn : int\n GRIB2 Product Definition Template Number

\n\n

pdt : list or array_like\n Sequence containing GRIB2 Product Definition Template (Section 4).

\n\n

Returns

\n\n

datetime.timedelta object representing the time duration of the GRIB2 message.

\n", "signature": "(pdtn, pdt):", "funcdef": "def"}, {"fullname": "grib2io.utils.decode_wx_strings", "modulename": "grib2io.utils", "qualname": "decode_wx_strings", "kind": "function", "doc": "

Decode GRIB2 Local Use Section to obtain NDFD/MDL Weather Strings. The\ndecode procedure is defined here.

\n\n

Parameters

\n\n

lus : bytes\n GRIB2 Local Use Section containing NDFD weather strings.

\n\n

Returns

\n\n

dict of NDFD/MDL weather strings. Keys are an integer value that represent \nthe sequential order of the key in the packed local use section and the value is \nthe weather key.

\n", "signature": "(lus):", "funcdef": "def"}, {"fullname": "grib2io.utils.get_wgrib2_prob_string", "modulename": "grib2io.utils", "qualname": "get_wgrib2_prob_string", "kind": "function", "doc": "

Return a wgrib2-formatted string explaining probabilistic\nthreshold informaiton. Logic from wgrib2 source, Prob.c,\nis replicated here.

\n\n

Parameters

\n\n

probtype : int\n Type of probability (Code Table 4.9).

\n\n

sfacl : int\n Scale factor of lower limit.

\n\n

svall : int\n Scaled value of lower limit.

\n\n

sfacu : int\n Scale factor of upper limit.

\n\n

svalu : int\n Scaled value of upper limit.

\n\n

Returns

\n\n

wgrib2-formatted string of probability threshold.

\n", "signature": "(probtype, sfacl, svall, sfacu, svalu):", "funcdef": "def"}, {"fullname": "grib2io.utils.arakawa_rotated_grid", "modulename": "grib2io.utils.arakawa_rotated_grid", "kind": "module", "doc": "

Functions for handling an Arakawa Rotated Lat/Lon Grids.

\n\n

This grid is not often used, but is currently used for the NCEP/RAP using\nGRIB2 Grid Definition Template 32769

\n\n

These functions are adapted from the NCAR Command Language (ncl),\nfrom NcGRIB2.c

\n"}, {"fullname": "grib2io.utils.arakawa_rotated_grid.DEG2RAD", "modulename": "grib2io.utils.arakawa_rotated_grid", "qualname": "DEG2RAD", "kind": "variable", "doc": "

\n", "default_value": "0.017453292519943295"}, {"fullname": "grib2io.utils.arakawa_rotated_grid.RAD2DEG", "modulename": "grib2io.utils.arakawa_rotated_grid", "qualname": "RAD2DEG", "kind": "variable", "doc": "

\n", "default_value": "57.29577951308232"}, {"fullname": "grib2io.utils.arakawa_rotated_grid.ll2rot", "modulename": "grib2io.utils.arakawa_rotated_grid", "qualname": "ll2rot", "kind": "function", "doc": "

Rotate a latitude/longitude pair.

\n\n

Parameters

\n\n

latin: float\n Latitudes in units of degrees.

\n\n

lonin: float\n Longitudes in units of degrees.

\n\n

latpole: float\n Latitude of Pole.

\n\n

lonpole: float\n Longitude of Pole.

\n\n

Returns

\n\n

tlat, tlons\n Returns two floats of rotated latitude and longitude in units of degrees.

\n", "signature": "(latin, lonin, latpole, lonpole):", "funcdef": "def"}, {"fullname": "grib2io.utils.arakawa_rotated_grid.rot2ll", "modulename": "grib2io.utils.arakawa_rotated_grid", "qualname": "rot2ll", "kind": "function", "doc": "

Unrotate a latitude/longitude pair.

\n\n

Parameters

\n\n

latin: float\n Latitudes in units of degrees.

\n\n

lonin: float\n Longitudes in units of degrees.

\n\n

latpole: float\n Latitude of Pole.

\n\n

lonpole: float\n Longitude of Pole.

\n\n

Returns

\n\n

tlat, tlons\n Returns two floats of unrotated latitude and longitude in units of degrees.

\n", "signature": "(latin, lonin, latpole, lonpole):", "funcdef": "def"}, {"fullname": "grib2io.utils.arakawa_rotated_grid.vector_rotation_angles", "modulename": "grib2io.utils.arakawa_rotated_grid", "qualname": "vector_rotation_angles", "kind": "function", "doc": "

Generate a rotation angle value that can be applied to a vector quantity to\nmake it Earth-oriented.

\n\n

Parameters

\n\n

tlat: float\n True latitude in units of degrees.

\n\n

**tlon**:float`\n True longitude in units of degrees..

\n\n

clat: float\n Latitude of center grid point in units of degrees.

\n\n

losp: float\n Longitude of the southern pole in units of degrees.

\n\n

xlat: float\n Latitude of the rotated grid in units of degrees.

\n\n

Returns

\n\n

rot : float\n Rotation angle in units of radians.

\n", "signature": "(tlat, tlon, clat, losp, xlat):", "funcdef": "def"}, {"fullname": "grib2io.utils.gauss_grid", "modulename": "grib2io.utils.gauss_grid", "kind": "module", "doc": "

Tools for working with Gaussian grids.

\n\n

Adopted from: https://gist.github.com/ajdawson/b64d24dfac618b91974f

\n"}, {"fullname": "grib2io.utils.gauss_grid.gaussian_latitudes", "modulename": "grib2io.utils.gauss_grid", "qualname": "gaussian_latitudes", "kind": "function", "doc": "

Construct latitudes for a Gaussian grid.

\n\n

Parameters

\n\n

nlat : int\n The number of latitudes in the Gaussian grid.

\n\n

Returns

\n\n

numpy.ndarray of latitudes (in degrees) with a length of nlat.

\n", "signature": "():", "funcdef": "def"}, {"fullname": "grib2io.utils.rotated_grid", "modulename": "grib2io.utils.rotated_grid", "kind": "module", "doc": "

Tools for working with Rotated Lat/Lon Grids.

\n"}, {"fullname": "grib2io.utils.rotated_grid.RAD2DEG", "modulename": "grib2io.utils.rotated_grid", "qualname": "RAD2DEG", "kind": "variable", "doc": "

\n", "default_value": "57.29577951308232"}, {"fullname": "grib2io.utils.rotated_grid.DEG2RAD", "modulename": "grib2io.utils.rotated_grid", "qualname": "DEG2RAD", "kind": "variable", "doc": "

\n", "default_value": "0.017453292519943295"}, {"fullname": "grib2io.utils.rotated_grid.rotate", "modulename": "grib2io.utils.rotated_grid", "qualname": "rotate", "kind": "function", "doc": "

Perform grid rotation. This function is adapted from ECMWF's ecCodes library\nvoid function, rotate().

\n\n

https://github.com/ecmwf/eccodes/blob/develop/src/grib_geography.cc

\n\n

Parameters

\n\n

latin : float or array_like\n Latitudes in units of degrees.

\n\n

lonin : float or array_like\n Longitudes in units of degrees.

\n\n

aor : float\n Angle of rotation as defined in GRIB2 GDTN 4.1.

\n\n

splat : float\n Latitude of South Pole as defined in GRIB2 GDTN 4.1.

\n\n

splon : float\n Longitude of South Pole as defined in GRIB2 GDTN 4.1.

\n\n

Returns

\n\n

lats, lons : numpy.ndarray\n numpy.ndarrays with dtype=numpy.float32 of grid latitudes and\n longitudes in units of degrees.

\n", "signature": "(latin, lonin, aor, splat, splon):", "funcdef": "def"}, {"fullname": "grib2io.utils.rotated_grid.unrotate", "modulename": "grib2io.utils.rotated_grid", "qualname": "unrotate", "kind": "function", "doc": "

Perform grid un-rotation. This function is adapted from ECMWF's ecCodes library\nvoid function, unrotate().

\n\n

https://github.com/ecmwf/eccodes/blob/develop/src/grib_geography.cc

\n\n

Parameters

\n\n

latin : float or array_like\n Latitudes in units of degrees.

\n\n

lonin : float or array_like\n Longitudes in units of degrees.

\n\n

aor : float\n Angle of rotation as defined in GRIB2 GDTN 4.1.

\n\n

splat : float\n Latitude of South Pole as defined in GRIB2 GDTN 4.1.

\n\n

splon : float\n Longitude of South Pole as defined in GRIB2 GDTN 4.1.

\n\n

Returns

\n\n

lats, lons : numpy.ndarray\n numpy.ndarrays with dtype=numpy.float32 of grid latitudes and\n longitudes in units of degrees.

\n", "signature": "(latin, lonin, aor, splat, splon):", "funcdef": "def"}]; // mirrored in build-search-index.js (part 1) // Also split on html tags. this is a cheap heuristic, but good enough.