commit e606448b0a4ca69b48796e3fac8e04d674432b64 Author: tsuki Date: Mon Dec 22 22:53:49 2025 +0800 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..892d8d3 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,204 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "csv" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938" +dependencies = [ + "csv-core", + "itoa", + "ryu", + "serde_core", +] + +[[package]] +name = "csv-core" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782" +dependencies = [ + "memchr", +] + +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "flate2" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "memchr" +version = "2.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "nom" +version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" +dependencies = [ + "memchr", +] + +[[package]] +name = "proc-macro2" +version = "1.0.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rbufr" +version = "0.1.0" +dependencies = [ + "csv", + "encoding_rs", + "flate2", + "nom", + "serde", + "thiserror", +] + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "simd-adler32" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" + +[[package]] +name = "syn" +version = "2.0.111" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "unicode-ident" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..b2545e2 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "rbufr" +version = "0.1.0" +edition = "2024" + +[lib] +name = "librbufr" +path = "src/lib.rs" + +[dependencies] +csv = "1.4.0" +encoding_rs = "0.8.35" +flate2 = "1.1.5" +nom = "8.0.0" +serde = { version = "1.0.228", features = ["derive"] } +thiserror = "2.0.17" diff --git a/src/block.rs b/src/block.rs new file mode 100644 index 0000000..1a7e51d --- /dev/null +++ b/src/block.rs @@ -0,0 +1,77 @@ +use crate::errors::Result; +use crate::{discriptor_table::*, structs::versions::BUFRMessage}; + +pub struct MessageBlock { + message: BUFRMessage, +} + +impl std::fmt::Display for MessageBlock { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.message) + } +} + +impl MessageBlock { + pub fn new(message: BUFRMessage) -> Self { + MessageBlock { message } + } + + pub fn load_data(&self) -> Result<()> { + let table_info = self.message.table_info(); + + let mut b_table_loader = TableLoader::::new(); + let master_b_sequences = + b_table_loader.load_table(TT::Standard, table_info.master_table_version)?; + + let mut d_table_loader = TableLoader::::new(); + let master_d_sequences = + d_table_loader.load_table(TT::Standard, table_info.master_table_version)?; + + let local_table_version = table_info.local_table_version as u32; + + if local_table_version > 0 { + let local_b_sequences = b_table_loader.load_table( + TT::Localized(local_table_version), + table_info.local_table_version, + )?; + + let local_d_sequences = d_table_loader.load_table( + TT::Localized(local_table_version), + table_info.local_table_version, + )?; + } + + Ok(()) + // master_b_table.load_table(TT::Standard); + } +} + +pub struct BUFRFile { + messages: Vec, +} + +impl BUFRFile { + pub fn new() -> Self { + BUFRFile { + messages: Vec::new(), + } + } + + pub(crate) fn push_message(&mut self, message: BUFRMessage) { + self.messages.push(MessageBlock::new(message)); + } + + /// Get the number of successfully parsed messages + pub fn message_count(&self) -> usize { + self.messages.len() + } + + pub fn message_at(&self, index: usize) -> Option<&MessageBlock> { + self.messages.get(index) + } + + /// Get a reference to all parsed messages + pub fn messages(&self) -> &[MessageBlock] { + &self.messages + } +} diff --git a/src/discriptor_table.rs b/src/discriptor_table.rs new file mode 100644 index 0000000..8e68f55 --- /dev/null +++ b/src/discriptor_table.rs @@ -0,0 +1,162 @@ +use crate::errors::Result; +use encoding_rs::WINDOWS_1252; +use std::fs; +use std::path::{Path, PathBuf}; +mod btable; +mod dtable; + +pub use btable::BTable; +pub use dtable::DTable; + +#[repr(C)] +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum TableType { + A, + B, + C, + D, +} + +pub struct BUFRTable; +pub trait TableTrait { + fn file_path(table_type: TableType, sub_center: Option, table_version: u8) -> PathBuf; +} + +impl BUFRTable { + pub fn file_path(table_type: TableType, table_version: u8) -> PathBuf { + let base_dir = Path::new("tables/bufr"); + let file_name = match table_type { + TableType::A => format!("bufrtaba_{}.csv", table_version), + TableType::B => format!("bufrtabb_{}.csv", table_version), + TableType::C => format!("bufrtabc_{}.csv", table_version), + TableType::D => format!("bufrtabd_{}.csv", table_version), + }; + base_dir.join(file_name) + } +} + +pub struct LocalTable; + +impl LocalTable { + pub fn file_path(table_type: TableType, sub_center: u32, table_version: u8) -> PathBuf { + let base_dir = Path::new("tables/local"); + let file_name = match table_type { + TableType::A => format!("loctaba_{}_{}.csv", sub_center * 256, table_version), + TableType::B => format!("loctabb_{}_{}.csv", sub_center * 256, table_version), + TableType::C => format!("loctabc_{}_{}.csv", sub_center * 256, table_version), + TableType::D => format!("loctabd_{}_{}.csv", sub_center * 256, table_version), + }; + base_dir.join(file_name) + } +} + +impl TableTrait for BUFRTable { + fn file_path(table_type: TableType, sub_center: Option, table_version: u8) -> PathBuf { + BUFRTable::file_path(table_type, table_version) + } +} + +impl TableTrait for LocalTable { + fn file_path(table_type: TableType, sub_center: Option, table_version: u8) -> PathBuf { + let sub_center = sub_center.expect("Sub-center must be provided for LocalTable"); + LocalTable::file_path(table_type, sub_center, table_version) + } +} + +#[derive(Debug, Clone)] +pub struct TableLoader { + sequences: Vec, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum TT { + Localized(u32), // sub_center + Standard, +} + +impl TableLoader { + pub fn new() -> Self { + Self { + sequences: Vec::new(), + } + } + + pub fn load_table(&mut self, table_type: TT, table_version: u8) -> Result> { + let table_kind = T::table_type(); + + let local_table_path = match table_type { + TT::Localized(sc) => LocalTable::file_path(table_kind, sc, table_version), + TT::Standard => BUFRTable::file_path(table_kind, table_version), + }; + + // Here you would add code to actually load and parse the table from the file at `path`. + println!("Loading table from path: {:?}", local_table_path); + let raw = fs::read(&local_table_path)?; + + let fixed = normalize_dashes(raw); + let text = decode_tabd_text(fixed); + + let mut table = T::default(); + + for line in text.lines() { + if let Some(seq) = table.parse_line(line) { + self.sequences.push(seq); + } + } + + if let Some(seq) = table.finish() { + self.sequences.push(seq); + } + + let mut sequences = Vec::new(); + std::mem::swap(&mut sequences, &mut self.sequences); + + Ok(sequences) + } +} + +fn normalize_dashes(mut bytes: Vec) -> Vec { + for b in &mut bytes { + match *b { + 0x96 | 0x97 => *b = b'-', // EN / EM dash → '-' + _ => {} + } + } + bytes +} + +fn decode_tabd_text(bytes: Vec) -> String { + let (text, _, _) = WINDOWS_1252.decode(&bytes); + text.into_owned() +} + +pub trait TableT: Default { + type Seq; + + fn table_type() -> TableType; + fn parse_line(&mut self, line: &str) -> Option; + fn finish(&mut self) -> Option { + None + } +} + +#[derive(Debug, Clone)] +pub struct Descriptor { + pub f: i32, + pub x: i32, + pub y: i32, +} + +#[cfg(test)] +mod test { + use crate::discriptor_table::{TableLoader, btable::BTable, dtable::DTable}; + + #[test] + fn test_read_table() { + // let mut bufr_table: super::Table = super::Table::new(); + let mut bufr_table = TableLoader::::new(); + bufr_table.load_table(super::TT::Standard, 11).unwrap(); + + println!("{:#?}", bufr_table.sequences); + } +} diff --git a/src/discriptor_table/btable.rs b/src/discriptor_table/btable.rs new file mode 100644 index 0000000..f5088bc --- /dev/null +++ b/src/discriptor_table/btable.rs @@ -0,0 +1,51 @@ +use crate::discriptor_table::{Descriptor, TableT}; + +#[derive(Debug, Clone, Default)] +pub struct BTable; + +#[derive(Debug, Clone)] +pub struct BSeq { + pub d: Descriptor, + pub scale: i32, + pub dw: i32, + pub refval: f32, + pub unit: String, + pub elname: String, +} + +impl TableT for BTable { + type Seq = BSeq; + fn table_type() -> super::TableType { + super::TableType::B + } + + fn parse_line(&mut self, line: &str) -> Option { + let fields: Vec<&str> = line.split(';').collect(); + if fields.len() < 8 { + return None; + } + + let parse_i = |s: &str| s.parse::().ok(); + let parse_f = |s: &str| s.parse::().ok(); + + let f = parse_i(fields[0])?; + let x = parse_i(fields[1])?; + let y = parse_i(fields[2])?; + + let name = fields[3]; + let unit = fields[4]; + + let scale = parse_i(fields[5])?; + let refval = parse_f(fields[6])?; + let dw = parse_i(fields[7])?; + + Some(BSeq { + d: Descriptor { f, x, y }, + scale, + dw, + refval, + unit: unit.to_string(), + elname: name.to_string(), + }) + } +} diff --git a/src/discriptor_table/dtable.rs b/src/discriptor_table/dtable.rs new file mode 100644 index 0000000..b9c7d19 --- /dev/null +++ b/src/discriptor_table/dtable.rs @@ -0,0 +1,78 @@ +use crate::discriptor_table::{Descriptor, TableT, TableType}; + +#[derive(Debug, Clone)] +pub struct DD { + pub f: i32, + pub x: i32, + pub y: i32, +} + +#[derive(Debug, Clone)] +pub struct DSeq { + pub d: Descriptor, + pub del: Vec
, +} + +#[derive(Debug, Clone, Default)] +pub struct DTable { + current_seq: Option, +} + +impl TableT for DTable { + type Seq = DSeq; + + fn table_type() -> TableType { + TableType::D + } + + fn parse_line(&mut self, line: &str) -> Option { + let fields: Vec<&str> = line.split(';').collect(); + + if fields.len() < 6 { + return None; + } + + let parse_i = |s: &str| s.trim().parse::().unwrap_or(0); + + let isf = parse_i(fields[0]); + let isx = parse_i(fields[1]); + let isy = parse_i(fields[2]); + let idf = parse_i(fields[3]); + let idx = parse_i(fields[4]); + let idy = parse_i(fields[5]); + + let mut finished_seq = None; + let current = &mut self.current_seq; + + if isf == 3 || isx != 0 || isy != 0 { + if let Some(prev) = current.take() { + finished_seq = Some(prev); + } + + *current = Some(DSeq { + d: Descriptor { + f: isf, + x: isx, + y: isy, + }, + del: Vec::new(), + }); + } + + if idf != 0 || idx != 0 || idy != 0 { + if let Some(seq) = current.as_mut() { + seq.del.push(DD { + f: idf, + x: idx, + y: idy, + }); + } + } + + finished_seq + } + + fn finish(&mut self) -> Option { + self.current_seq.take() + } +} diff --git a/src/errors.rs b/src/errors.rs new file mode 100644 index 0000000..a8b04d6 --- /dev/null +++ b/src/errors.rs @@ -0,0 +1,31 @@ +use nom; +use thiserror::Error; + +#[derive(Error, Debug)] +pub enum Error { + #[error("IO Error: {0}")] + Io(#[from] std::io::Error), + + #[error("CSV Error: {0}")] + Csv(#[from] csv::Error), + + #[error("Table not found for type {0:?}, sub_center {1:?}, version {2}")] + TableNotFound(crate::discriptor_table::TableType, Option, u8), + + #[error("Parse Error: {0}")] + ParseError(String), + + #[error("File is not a valid BUFR file")] + Nom(String), + + #[error("Unsupported BUFR version: {0}")] + UnsupportedVersion(u8), +} + +impl<'a> From>> for Error { + fn from(value: nom::Err>) -> Self { + Self::Nom(value.to_string()) + } +} + +pub type Result = std::result::Result; diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..e00d30f --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,5 @@ +mod block; +mod discriptor_table; +mod errors; +pub mod parser; +pub mod structs; diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..e7a11a9 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +} diff --git a/src/parser.rs b/src/parser.rs new file mode 100644 index 0000000..10494c9 --- /dev/null +++ b/src/parser.rs @@ -0,0 +1,165 @@ +use crate::block::{BUFRFile, MessageBlock}; +use crate::errors::Result; +use crate::structs::versions::BUFRMessage; +use flate2::read::GzDecoder; +use std::{ + fs::File, + io::{BufReader, Cursor, Read, Seek, SeekFrom}, + path::Path, +}; + +const BUFR_PATTERN: &[u8] = b"BUFR"; +const BUFFER_SIZE: usize = 8192; // 8KB buffer for scanning +// const MAX_MESSAGE_SIZE: usize = 500_000; // 500KB max message size + +pub struct Parser; + +impl Parser { + pub fn new() -> Self { + Self + } + + /// Find all offsets in the file where "BUFR" appears using streaming approach + fn find_bufr_offsets(reader: &mut R) -> Result> { + let mut offsets = Vec::new(); + let mut buffer = vec![0u8; BUFFER_SIZE]; + let mut file_offset = 0u64; + let mut overlap = vec![0u8; BUFR_PATTERN.len() - 1]; + let mut overlap_len = 0; + + reader.seek(SeekFrom::Start(0))?; + + loop { + let bytes_read = reader.read(&mut buffer)?; + if bytes_read == 0 { + break; + } + + // Create a combined view of overlap + new data + let mut search_buffer = Vec::with_capacity(overlap_len + bytes_read); + search_buffer.extend_from_slice(&overlap[..overlap_len]); + search_buffer.extend_from_slice(&buffer[..bytes_read]); + + // Search for BUFR pattern + for i in 0..search_buffer.len().saturating_sub(BUFR_PATTERN.len() - 1) { + if search_buffer.len() >= i + BUFR_PATTERN.len() + && &search_buffer[i..i + BUFR_PATTERN.len()] == BUFR_PATTERN + { + let actual_offset = file_offset - overlap_len as u64 + i as u64; + offsets.push(actual_offset); + } + } + + // Save overlap for next iteration + if bytes_read >= BUFR_PATTERN.len() - 1 { + overlap_len = BUFR_PATTERN.len() - 1; + overlap[..overlap_len] + .copy_from_slice(&buffer[bytes_read - overlap_len..bytes_read]); + } else { + overlap_len = bytes_read; + overlap[..overlap_len].copy_from_slice(&buffer[..bytes_read]); + } + + file_offset += bytes_read as u64; + } + + Ok(offsets) + } + + /// Read a BUFR message from file at specific offset + fn read_message_at_offset(reader: &mut R, offset: u64) -> Result> { + reader.seek(SeekFrom::Start(offset))?; + + // Read Section 0 to get total length + let mut section0_buf = [0u8; 8]; + reader.read_exact(&mut section0_buf)?; + + // Parse total length (3 bytes starting at offset 4) + let total_length = + u32::from_be_bytes([0, section0_buf[4], section0_buf[5], section0_buf[6]]); + + // Limit message size for safety + // if total_length as usize > MAX_MESSAGE_SIZE { + // return Err(crate::errors::Error::ParseError(format!( + // "Message too large: {} bytes", + // total_length + // ))); + // } + + // Read entire message + let mut message_buf = vec![0u8; total_length as usize]; + reader.seek(SeekFrom::Start(offset))?; + reader.read_exact(&mut message_buf)?; + + Ok(message_buf) + } + + /// Parse a file containing one or more BUFR messages using streaming approach + pub fn parse>(&mut self, path: P) -> Result { + let file = File::open(path)?; + let mut reader = BufReader::new(file); + + // Try to detect gzip compression + let mut magic_bytes = [0u8; 2]; + reader.read_exact(&mut magic_bytes)?; + reader.seek(SeekFrom::Start(0))?; + if magic_bytes == [0x1F, 0x8B] { + // Gzip magic number detected + let mut gz_decoder = GzDecoder::new(reader); + let mut bytes = vec![]; + gz_decoder.read_to_end(&mut bytes)?; + + self.parse_inner(&mut Cursor::new(bytes)) + } else { + // Not compressed + // Rewind reader + reader.seek(SeekFrom::Start(0))?; + self.parse_inner(&mut reader) + } + } + + fn parse_inner(&self, buf_reader: &mut R) -> Result + where + R: Read + Seek, + { + // Find all BUFR message offsets + let offsets = Self::find_bufr_offsets(buf_reader)?; + + let mut file_block = BUFRFile::new(); + + // Parse each BUFR message + for offset in offsets { + match Self::read_message_at_offset(buf_reader, offset) { + Ok(message_data) => match BUFRMessage::parse(&message_data) { + Ok((_, message)) => { + file_block.push_message(message); + } + Err(e) => { + eprintln!("Failed to parse BUFR message at offset {}: {:?}", offset, e); + } + }, + Err(e) => { + eprintln!("Failed to read BUFR message at offset {}: {:?}", offset, e); + } + } + } + + Ok(file_block) + } +} + +#[cfg(test)] +mod tests { + + use super::Parser; + + #[test] + fn test() { + let mut parser = Parser::new(); + if let Ok(file) = parser.parse("/Users/xiang.li1/Downloads/36_2025-12-22T11_00_00.bufr") { + for message in file.messages() { + println!("{}", message); + } + } + } +} diff --git a/src/structs/bit.rs b/src/structs/bit.rs new file mode 100644 index 0000000..b8933da --- /dev/null +++ b/src/structs/bit.rs @@ -0,0 +1,22 @@ +use nom::IResult; +use nom::bits::{bits, bytes, complete::take}; + +pub type BitInput<'a> = (&'a [u8], usize); + +pub fn parse_arbitrary_bits(input: BitInput, count: usize) -> IResult { + take(count)(input) +} + +#[cfg(test)] +mod test { + use crate::structs::bit::parse_arbitrary_bits; + + #[test] + fn test() { + let data = [0xA0, 0xA0, 0x01, 0xA0]; + + let result = parse_arbitrary_bits((&data, 0), 16).unwrap(); + + println!("{:?}", result); + } +} diff --git a/src/structs/mod.rs b/src/structs/mod.rs new file mode 100644 index 0000000..eda93aa --- /dev/null +++ b/src/structs/mod.rs @@ -0,0 +1,25 @@ +use nom::{ + IResult, + bytes::complete::{tag, take}, + number::complete::{be_u8, be_u16, be_u24}, +}; +pub mod bit; +pub mod versions; + +#[inline] +pub fn skip(n: usize) -> impl Fn(&[u8]) -> IResult<&[u8], ()> { + move |input: &[u8]| { + let (input, _) = take(n)(input)?; + Ok((input, ())) + } +} + +#[inline] +pub fn skip1(input: &[u8]) -> IResult<&[u8], ()> { + skip(1)(input) +} + +#[inline] +pub fn skip2(input: &[u8]) -> IResult<&[u8], ()> { + skip(2)(input) +} diff --git a/src/structs/versions/mod.rs b/src/structs/versions/mod.rs new file mode 100644 index 0000000..c903173 --- /dev/null +++ b/src/structs/versions/mod.rs @@ -0,0 +1,89 @@ +pub mod v2; +pub mod v4; +pub(super) use super::{skip, skip1, skip2}; +use crate::errors::{Error, Result}; +use nom::{ + IResult, + bytes::complete::{tag, take}, + number::complete::{be_u8, be_u16, be_u24}, +}; + +#[derive(Clone)] +pub enum BUFRMessage { + V2(v2::BUFRMessageV2), + V4(v4::BUFRMessageV4), +} + +impl BUFRMessage { + pub fn parse(input: &[u8]) -> Result<(&[u8], Self)> { + let (_, section0) = parse_section0(input)?; + match section0.version { + 2 => { + let (input, msg) = v2::BUFRMessageV2::parse(input)?; + Ok((input, BUFRMessage::V2(msg))) + } + 4 => { + let (input, msg) = v4::BUFRMessageV4::parse(input)?; + Ok((input, BUFRMessage::V4(msg))) + } + _ => Err(Error::UnsupportedVersion(section0.version)), + } + } + + pub fn version(&self) -> u8 { + match self { + BUFRMessage::V2(_) => 2, + BUFRMessage::V4(_) => 4, + } + } + + pub fn table_info(&self) -> TableInfo { + match self { + BUFRMessage::V2(msg) => msg.table_info(), + BUFRMessage::V4(msg) => msg.table_info(), + } + } +} + +impl std::fmt::Display for BUFRMessage { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + BUFRMessage::V2(msg) => msg.description(f), + BUFRMessage::V4(msg) => msg.description(f), + } + } +} + +pub trait MessageVersion: Sized { + fn parse(input: &[u8]) -> IResult<&[u8], Self>; + + fn description(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result; + + fn table_info(&self) -> TableInfo; +} + +pub struct TableInfo { + pub master_table_version: u8, + pub local_table_version: u8, + pub center_id: u16, + pub subcenter_id: u16, +} + +#[derive(Clone)] +struct Section0 { + pub total_length: u32, + pub version: u8, +} + +fn parse_section0(input: &[u8]) -> IResult<&[u8], Section0> { + let (input, _) = tag("BUFR")(input)?; + let (input, total_length) = be_u24(input)?; + let (input, edition) = be_u8(input)?; + Ok(( + input, + Section0 { + total_length, + version: edition, + }, + )) +} diff --git a/src/structs/versions/v2.rs b/src/structs/versions/v2.rs new file mode 100644 index 0000000..b99cc7c --- /dev/null +++ b/src/structs/versions/v2.rs @@ -0,0 +1,281 @@ +use nom::{ + IResult, + bytes::complete::{tag, take}, + number::complete::{be_u8, be_u16, be_u24}, +}; + +use crate::structs::versions::MessageVersion; + +use super::skip1; + +#[derive(Clone)] +pub struct BUFRMessageV2 { + pub section0: Section0, + pub section1: Section1, + pub section2: Option, + pub section3: Section3, + pub section4: Section4, +} + +impl MessageVersion for BUFRMessageV2 { + fn parse(input: &[u8]) -> IResult<&[u8], Self> { + let (input, section0) = parse_section0(input)?; + let (input, section1) = parse_section1(input)?; + let (input, section2) = if section1.optional_section_present { + let (input, sec2) = parse_section2(input)?; + (input, Some(sec2)) + } else { + (input, None) + }; + let (input, section3) = parse_section3(input)?; + let (input, section4) = parse_section4(input)?; + let (input, _section5) = parse_section5(input)?; + + Ok(( + input, + BUFRMessageV2 { + section0, + section1, + section2, + section3, + section4, + }, + )) + } + + fn description(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "BUFR Message V2:\n")?; + write!(f, "{}\n", self.section1)?; + Ok(()) + } + fn table_info(&self) -> super::TableInfo { + super::TableInfo { + master_table_version: self.section1.master_table_version, + local_table_version: self.section1.local_table_version, + center_id: self.section1.centre as u16, + subcenter_id: self.section1.subcentre as u16, + } + } +} + +#[derive(Clone)] +pub struct Section0 { + pub total_length: u32, + pub version: u8, +} + +fn parse_section0(input: &[u8]) -> IResult<&[u8], Section0> { + let (input, _) = tag("BUFR")(input)?; + let (input, total_length) = be_u24(input)?; + let (input, edition) = be_u8(input)?; + Ok(( + input, + Section0 { + total_length, + version: edition, + }, + )) +} + +#[derive(Clone, Debug)] +pub struct Section1 { + pub length: usize, + pub master_table: u8, // octet 4 + pub subcentre: u8, // octet 5 + pub centre: u8, // octet 6 + pub update_sequence_number: u8, // octet 7 + pub optional_section_present: bool, // octet 8 bit1 (MSB) + pub data_category: u8, // octet 9 + pub data_subcategory: u8, // octet 10 + pub master_table_version: u8, // octet 11 + pub local_table_version: u8, // octet 12 + pub year: u8, // octet 13 (year of century) + pub month: u8, // octet 14 + pub day: u8, // octet 15 + pub hour: u8, // octet 16 + pub minute: u8, // octet 17 + // octet 18- local use: 你可以选择保存或直接跳过 +} + +fn parse_section1(input: &[u8]) -> IResult<&[u8], Section1> { + let (input, length) = be_u24(input)?; + let length = length as usize; + + const FIXED_LEN: usize = 17; + if length < FIXED_LEN { + return Err(nom::Err::Error(nom::error::Error::new( + input, + nom::error::ErrorKind::LengthValue, + ))); + } + + let (input, master_table) = be_u8(input)?; + let (input, subcentre) = be_u8(input)?; + let (input, centre) = be_u8(input)?; + let (input, update_sequence_number) = be_u8(input)?; + let (input, optional_section_flag) = be_u8(input)?; + let optional_section_present = (optional_section_flag & 0x80) != 0; + + let (input, data_category) = be_u8(input)?; + let (input, data_subcategory) = be_u8(input)?; + let (input, master_table_version) = be_u8(input)?; + let (input, local_table_version) = be_u8(input)?; + let (input, year) = be_u8(input)?; + let (input, month) = be_u8(input)?; + let (input, day) = be_u8(input)?; + let (input, hour) = be_u8(input)?; + let (input, minute) = be_u8(input)?; + + // 剩余 local-use + let local_len = length - FIXED_LEN; + let (input, _) = nom::bytes::complete::take(local_len)(input)?; + + Ok(( + input, + Section1 { + length, + master_table, + subcentre, + centre, + update_sequence_number, + optional_section_present, + data_category, + data_subcategory, + master_table_version, + local_table_version, + year, + month, + day, + hour, + minute, + }, + )) +} + +#[derive(Clone)] +pub struct Section2 { + pub length: usize, + pub data: Vec, +} + +fn parse_section2(input: &[u8]) -> IResult<&[u8], Section2> { + let (input, length) = be_u24(input)?; + let (input, _) = skip1(input)?; + let (input, data) = take(length - 4)(input)?; + Ok(( + input, + Section2 { + length: length as usize, + data: data.to_vec(), + }, + )) +} + +#[derive(Clone)] +pub struct Section3 { + pub length: usize, + pub number_of_subsets: u16, + pub is_observation: bool, + pub is_compressed: bool, + pub data: Vec, +} + +fn parse_section3(input: &[u8]) -> IResult<&[u8], Section3> { + let (input, length) = be_u24(input)?; + let (input, _) = skip1(input)?; + let (input, number_of_subsets) = be_u16(input)?; + let (input, flags) = be_u8(input)?; + let is_observation = (flags & 0b1000_0000) != 0; + let is_compressed = (flags & 0b0100_0000) != 0; + let (input, data) = take(length - 7)(input)?; + Ok(( + input, + Section3 { + length: length as usize, + number_of_subsets, + is_observation, + is_compressed, + data: data.to_vec(), + }, + )) +} + +#[derive(Clone)] +pub struct Section4 { + pub length: usize, + pub data: Vec, +} + +fn parse_section4(input: &[u8]) -> IResult<&[u8], Section4> { + let (input, length) = be_u24(input)?; + let (input, _) = skip1(input)?; + let (input, data) = take(length - 4)(input)?; + Ok(( + input, + Section4 { + length: length as usize, + data: data.to_vec(), + }, + )) +} + +impl std::fmt::Display for Section1 { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + writeln!(f, "Section 1 (BUFR v2):")?; + writeln!(f, " Length: {} bytes", self.length)?; + writeln!(f)?; + writeln!(f, " Organization:")?; + writeln!( + f, + " Centre: {:<5} (0x{:02X})", + self.centre, self.centre + )?; + writeln!( + f, + " Sub-centre: {:<5} (0x{:02X})", + self.subcentre, self.subcentre + )?; + writeln!( + f, + " Update Sequence: {}", + self.update_sequence_number + )?; + writeln!(f)?; + writeln!(f, " Data Classification:")?; + writeln!(f, " Category: {}", self.data_category)?; + writeln!(f, " Sub-category: {}", self.data_subcategory)?; + writeln!(f)?; + writeln!(f, " Table Versions:")?; + writeln!( + f, + " Master Table: {} (v{})", + self.master_table, self.master_table_version + )?; + writeln!(f, " Local Table: v{}", self.local_table_version)?; + writeln!(f)?; + writeln!(f, " Observation Time:")?; + writeln!( + f, + " DateTime: 19{:02}-{:02}-{:02} {:02}:{:02}:00 UTC", + self.year, self.month, self.day, self.hour, self.minute + )?; + writeln!(f)?; + writeln!(f, " Optional Data:")?; + write!( + f, + " Section 2 Present: {}", + if self.optional_section_present { + "Yes" + } else { + "No" + } + ) + } +} + +pub struct Section5; + +fn parse_section5(input: &[u8]) -> IResult<&[u8], Section5> { + let (input, _) = tag("7777")(input)?; + Ok((input, Section5 {})) +} diff --git a/src/structs/versions/v4.rs b/src/structs/versions/v4.rs new file mode 100644 index 0000000..20c8038 --- /dev/null +++ b/src/structs/versions/v4.rs @@ -0,0 +1,345 @@ +use crate::structs::versions::MessageVersion; +use nom::{ + IResult, + bytes::complete::{tag, take}, + error::{Error, ErrorKind}, + number::complete::{be_u8, be_u16, be_u24}, +}; + +use super::skip1; + +#[derive(Clone)] +pub struct BUFRMessageV4 { + pub section0: Section0, + pub section1: Section1, + pub section2: Option, + pub section3: Section3, + pub section4: Section4, +} + +impl MessageVersion for BUFRMessageV4 { + fn parse(input: &[u8]) -> IResult<&[u8], Self> { + let (input, section0) = parse_section0(input)?; + let (input, section1) = parse_section1(input)?; + let (input, section2) = if section1.optional_section_present { + let (input, sec2) = parse_section2(input)?; + (input, Some(sec2)) + } else { + (input, None) + }; + let (input, section3) = parse_section3(input)?; + let (input, section4) = parse_section4(input)?; + let (input, _section5) = parse_section5(input)?; + + Ok(( + input, + BUFRMessageV4 { + section0, + section1, + section2, + section3, + section4, + }, + )) + } + + fn description(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "BUFR Message V4:\n")?; + write!(f, "{}\n", self.section1)?; + Ok(()) + } + + fn table_info(&self) -> super::TableInfo { + super::TableInfo { + master_table_version: self.section1.master_table_version, + local_table_version: self.section1.local_table_version, + center_id: self.section1.centre as u16, + subcenter_id: self.section1.subcentre as u16, + } + } +} + +#[derive(Clone)] +pub struct Section0 { + pub total_length: u32, + pub version: u8, +} + +fn parse_section0(input: &[u8]) -> IResult<&[u8], Section0> { + let (input, _) = tag("BUFR")(input)?; + let (input, total_length) = be_u24(input)?; + let (input, edition) = be_u8(input)?; + Ok(( + input, + Section0 { + total_length, + version: edition, + }, + )) +} + +#[derive(Clone, Debug)] +pub struct Section1 { + pub length: usize, // octet 1-3 + pub master_table: u8, // octet 4 + pub centre: u16, // octet 5-6 + pub subcentre: u16, // octet 7-8 + pub update_sequence_number: u8, // octet 9 + pub optional_section_present: bool, // octet 10 bit1 + pub data_category: u8, // octet 11 + pub international_data_subcategory: u8, // octet 12 + pub local_subcategory: u8, // octet 13 + pub master_table_version: u8, // octet 14 + pub local_table_version: u8, // octet 15 + pub year: u16, // octet 16-17 (4 digits) + pub month: u8, // octet 18 + pub day: u8, // octet 19 + pub hour: u8, // octet 20 + pub minute: u8, // octet 21 + pub second: u8, // octet 22 + pub local_use: Vec, // octet 23- +} + +fn parse_section1(input: &[u8]) -> IResult<&[u8], Section1> { + let (input, length_u24) = be_u24(input)?; + let length = length_u24 as usize; + + const FIXED_LEN: usize = 22; + if length < FIXED_LEN { + return Err(nom::Err::Error(Error::new(input, ErrorKind::LengthValue))); + } + + let (input, master_table) = be_u8(input)?; + let (input, centre) = be_u16(input)?; + let (input, subcentre) = be_u16(input)?; + let (input, update_sequence_number) = be_u8(input)?; + + let (input, flags) = be_u8(input)?; + let optional_section_present = (flags & 0x80) != 0; + + let (input, data_category) = be_u8(input)?; + let (input, international_data_subcategory) = be_u8(input)?; + let (input, local_subcategory) = be_u8(input)?; + let (input, master_table_version) = be_u8(input)?; + let (input, local_table_version) = be_u8(input)?; + + let (input, year) = be_u16(input)?; + let (input, month) = be_u8(input)?; + let (input, day) = be_u8(input)?; + let (input, hour) = be_u8(input)?; + let (input, minute) = be_u8(input)?; + let (input, second) = be_u8(input)?; + + let local_len = length - FIXED_LEN; + let (input, local_bytes) = take(local_len)(input)?; + + Ok(( + input, + Section1 { + length, + master_table, + centre, + subcentre, + update_sequence_number, + optional_section_present, + data_category, + international_data_subcategory, + local_subcategory, + master_table_version, + local_table_version, + year, + month, + day, + hour, + minute, + second, + local_use: local_bytes.to_vec(), + }, + )) +} + +impl std::fmt::Display for Section1 { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + writeln!(f, "Section 1:")?; + writeln!(f, " Length: {} bytes", self.length)?; + writeln!(f)?; + writeln!(f, " Organization:")?; + writeln!( + f, + " Centre: {:<5} (0x{:04X})", + self.centre, self.centre + )?; + writeln!( + f, + " Sub-centre: {:<5} (0x{:04X})", + self.subcentre, self.subcentre + )?; + writeln!( + f, + " Update Sequence: {}", + self.update_sequence_number + )?; + writeln!(f)?; + writeln!(f, " Data Classification:")?; + writeln!(f, " Category: {}", self.data_category)?; + writeln!( + f, + " International Sub: {}", + self.international_data_subcategory + )?; + writeln!(f, " Local Sub: {}", self.local_subcategory)?; + writeln!(f)?; + writeln!(f, " Table Versions:")?; + writeln!( + f, + " Master Table: {} (v{})", + self.master_table, self.master_table_version + )?; + writeln!(f, " Local Table: v{}", self.local_table_version)?; + writeln!(f)?; + writeln!(f, " Observation Time:")?; + writeln!( + f, + " DateTime: {:04}-{:02}-{:02} {:02}:{:02}:{:02} UTC", + self.year, self.month, self.day, self.hour, self.minute, self.second + )?; + writeln!(f)?; + writeln!(f, " Optional Data:")?; + writeln!( + f, + " Section 2 Present: {}", + if self.optional_section_present { + "Yes" + } else { + "No" + } + )?; + write!(f, " Local Use Data: {} bytes", self.local_use.len()) + } +} + +#[derive(Clone)] +pub struct Section2 { + pub length: usize, + pub data: Vec, +} + +fn parse_section2(input: &[u8]) -> IResult<&[u8], Section2> { + let (input, length) = be_u24(input)?; + let (input, _) = skip1(input)?; + let (input, data) = take(length - 4)(input)?; + Ok(( + input, + Section2 { + length: length as usize, + data: data.to_vec(), + }, + )) +} + +#[derive(Clone)] +pub struct Section3 { + pub length: usize, + pub number_of_subsets: u16, + pub is_observation: bool, + pub is_compressed: bool, + pub data: Vec, +} + +fn parse_section3(input: &[u8]) -> IResult<&[u8], Section3> { + let (input, length) = be_u24(input)?; + let (input, _) = skip1(input)?; + let (input, number_of_subsets) = be_u16(input)?; + let (input, flags) = be_u8(input)?; + let is_observation = (flags & 0b1000_0000) != 0; + let is_compressed = (flags & 0b0100_0000) != 0; + let (input, data) = take(length - 7)(input)?; + Ok(( + input, + Section3 { + length: length as usize, + number_of_subsets, + is_observation, + is_compressed, + data: data.to_vec(), + }, + )) +} + +#[derive(Clone)] +pub struct Section4 { + pub length: usize, + pub data: Vec, +} + +fn parse_section4(input: &[u8]) -> IResult<&[u8], Section4> { + let (input, length) = be_u24(input)?; + let (input, _) = skip1(input)?; + let (input, data) = take(length - 4)(input)?; + Ok(( + input, + Section4 { + length: length as usize, + data: data.to_vec(), + }, + )) +} + +pub struct Section5; + +fn parse_section5(input: &[u8]) -> IResult<&[u8], Section5> { + let (input, _) = tag("7777")(input)?; + Ok((input, Section5 {})) +} + +fn parse_message(input: &[u8]) -> IResult<&[u8], ()> { + let (input, section0) = parse_section0(input)?; + let (input, section1) = parse_section1(input)?; + let (input, section2) = if section1.optional_section_present { + let (input, sec2) = parse_section2(input)?; + (input, Some(sec2)) + } else { + (input, None) + }; + let (input, section3) = parse_section3(input)?; + let (input, section4) = parse_section4(input)?; + let (input, section5) = parse_section5(input)?; + + Ok((input, ())) +} + +#[derive(Clone)] +pub struct BUFRMessage { + pub section0: Section0, + pub section1: Section1, + pub section2: Option, + pub section3: Section3, + pub section4: Section4, +} + +impl BUFRMessage { + pub fn parse(input: &[u8]) -> IResult<&[u8], BUFRMessage> { + let (input, section0) = parse_section0(input)?; + let (input, section1) = parse_section1(input)?; + let (input, section2) = if section1.optional_section_present { + let (input, sec2) = parse_section2(input)?; + (input, Some(sec2)) + } else { + (input, None) + }; + let (input, section3) = parse_section3(input)?; + let (input, section4) = parse_section4(input)?; + let (input, _section5) = parse_section5(input)?; + + Ok(( + input, + BUFRMessage { + section0, + section1, + section2, + section3, + section4, + }, + )) + } +} diff --git a/tables/bufr/bufrtabb_11.csv b/tables/bufr/bufrtabb_11.csv new file mode 100644 index 0000000..fbc58d3 --- /dev/null +++ b/tables/bufr/bufrtabb_11.csv @@ -0,0 +1,1485 @@ +BUFR TABLES RELATIVE TO SECTION 3 (Version 11-05/11/2003);;; +;;; +BUFR Table B - Classification of elements;;; +;;; +F;X;Class;Comments +0;0;BUFR table entries; +0;1;Identification;Identifies origin and type of data +0;2;Instrumentation;Defines instrument types used +0;3;Reserved; +0;4;Location (time);Defines time and time derivatives +0;5;Location (horizontal - 1);Defines geographical position, including horizontal derivatives, in association with class 06 (first dimension of horizontal space) +0;6;Location (horizontal - 2);Defines geographical position, including horizontal derivatives, in association with class 05 (second dimension of horizontal space) +0;7;Location (vertical);Defines height, altitude, pressure level, including vertical derivatives of position +0;8;Significance qualifiers;Defines special character of data +0;9;Reserved; +0;10;Vertical elements and pressure;Height, altitude, pressure and derivatives observed or measured, not defined as a vertical location +0;11;Wind and turbulence;Wind speed, direction, etc. +0;12;Temperature; +0;13;Hygrographic and hydrological elements;Humidity, rainfall, snowfall, etc. +0;14;Radiation and radiance; +0;15;Physical/chemical constituents; +0;19;Synoptic features; +0;20;Observed phenomena;Defines present/past weather, special phenomena, etc. +0;21;Radar data; +0;22;Oceanographic elements; +0;23;Dispersal and transport; +0;24;Radiological elements; +0;25;Processing information; +0;26;Non-coordinate location (time);Defines time and time derivatives that are not coordinates +0;27;Non-coordinate location (horizontal - 1);Defines geographical positions, in conjunction with class 28, that are not coordinates +0;28;Non-coordinate location (horizontal - 2);Defines geographical positions, in conjunction with class 27, that are not coordinates +0;29;Map data; +0;30;Image; +0;31;Data description operator qualifiers;Elements used in conjunction with data description operators +0;33;Quality information; +0;35;Data monitoring; +;;; +Notes:;;; +-1;Where a code table or flag table is appropriate, code table or flag table respectively is entered in the UNITS column.;; +-2;The code tables and flag tables associated with Table B are numbered to correspond with the F, X and Y part of the table reference.;; +-3;To encode values into BUFR, the data (with units as specified in the UNITS column) must be multiplied by 10 to the power SCALE. Then subtract the REFERENCE VALUE to give the coded value found in Section 4 of the BUFR message. For example, a measured latitude is -45.76 degrees. The coarse accuracy descriptor is 0 05 002 and the encoded value is -45.76 x 102 - (-9000) = 4424.;; +-4;Where UNITS are given as CCITT IA5, data shall be coded as character data left justified within the field width indicated using CCITT International Alphabet No. 5, and blank filled to the full field width indicated.;; +-5;"Classes 48 to 63 are reserved for local use; all other classes are reserved for future development.";; +-6;Entries 192 to 255 within all classes are reserved for local use.;; +-7;The use of local descriptors, as defined in Notes (5) and (6), in messages intended for non-local or international exchange is strongly discouraged. They should be kept to the barest minimum possible and must also be by-passed by the use of descriptor 2 06 YYY.;; +-8;First-order statistics are included in Table B only when they are produced, as such, by the observing system.;; + +Class 00 - BUFR/CREX(*) table entries;;; +;;;;;;;;;;; +;;;;;;;;;;; +;;;;BUFR;;;;CREX;;; +;;;;;;;;;;; +TABLE REFERENCE;;;TABLE;;;REFERENCE VALUE;DATA WIDTH (Bits);;;DATA; +F;X;Y;ELEMENT NAME;UNIT;SCALE;;;UNIT;SCALE;WIDTH (Characters); +0;0;1;Table A: entry;CCITT IA5;0;0;24;Character;0;3; +0;0;2;Table A: data category description, line 1;CCITT IA5;0;0;256;Character;0;32; +0;0;3;Table A: data category description, line 2;CCITT IA5;0;0;256;Character;0;32; +0;0;5;BUFR/CREX edition number;CCITT IA5;0;0;24;Character;0;3; +0;0;10;F descriptor to be added or defined;CCITT IA5;0;0;8;Character;0;1; +0;0;11;X descriptor to be added or defined;CCITT IA5;0;0;16;Character;0;2; +0;0;12;Y descriptor to be added or defined;CCITT IA5;0;0;24;Character;0;3; +0;0;13;Element name, line 1;CCITT IA5;0;0;256;Character;0;32; +0;0;14;Element name, line 2;CCITT IA5;0;0;256;Character;0;32; +0;0;15;Units name;CCITT IA5;0;0;192;Character;0;24; +0;0;16;Units scale sign;CCITT IA5;0;0;8;Character;0;1; +0;0;17;Units scale;CCITT IA5;0;0;24;Character;0;3;; +0;0;18;Units reference sign;CCITT IA5;0;0;8;Character;0;1; +0;0;19;Units reference value;CCITT IA5;0;0;80;Character;0;10;; +0;0;20;Element data width;CCITT IA5;0;0;24;Character;0;3;; +0;0;30;Descriptor defining sequence;CCITT IA5;0;0;48;Character;0;6;; +;;;;;;;;;;;; +Note : (*) For CREX descriptors F = B, not 0.;;;;;;;;;;;; +Class 01 - Identification;;;;;;;;;;;; +;;;;;;;;;;;; +TABLE REFERENCE;;;; ;BUFR;;;;CREX;;; +;;;;TABLE;;;;DATA WIDTH (Bits);;;DATA; +;;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;;UNIT;SCALE;WIDTH (Characters); +F;X;Y;;;;;;;;;; +0;1;1;WMO block number;Numeric;0;0;7;Numeric;0;2; +0;1;2;WMO station number;Numeric;0;0;10;Numeric;0;3; +0;1;3;WMO Region number/geographical area;Code table;0;0;3;Code table;0;1; +0;1;4;WMO Region sub-area (see Note 9);Numeric;0;0;3;Numeric;0;1; +0;1;5;Buoy/platform identifier;Numeric;0;0;17;Numeric;0;5; +0;1;6;Aircraft flight number;CCITT IA5;0;0;64;Character;0;8; +0;1;7;Satellite identifier;Code table;0;0;10;Code table;0;4; +0;1;8;Aircraft registration number or other identification;CCITT IA5;0;0;64;Character;0;8; +0;1;9;Type of commercial aircraft;CCITT IA5;0;0;64;Character;0;8; +0;1;10;"Stationary buoy platform identifier; e.g. C-MAN buoys";CCITT IA5;0;0;64;Character;0;8; +0;1;11;Ship or mobile land station identifier;CCITT IA5;0;0;72;Character;0;9; +0;1;12;Direction of motion of moving observing platform**;Degree true;0;0;9;Degree true;0;3; +0;1;13;Speed of motion of moving observing platform**;m s-1;0;0;10;m s-1;0;3; +0;1;14;Platform drift speed (high precision);m s-1;2;0;10;m s-1;2;4; +0;1;15;Station or site name;CCITT IA5;0;0;160;Character;0;20; +0;1;18;Short station or site name;CCITT IA5;0;0;40;Character;0;5; +0;1;19;Long Station or site name;CCITT IA5;0;0;256;Character;0;32; +0;1;20;WMO Region sub-area;Numeric;0;0;4;Numeric;0;2; +0;1;21;Synoptic feature identifier;Numeric;0;0;14;Numeric;0;4; +0;1;22;Name of feature (see Note 11);CCITT IA5;0;0;224;Character;0;28; +0;1;23;Observation sequence number ;Numeric;0;0;9;Numeric;0;3; +0;1;25;Storm identifier;CCITT IA5;0;0;24;Character;0;3; +0;1;26;WMO storm name*;CCITT IA5;0;0;64;Character;0;8; +0;1;27;WMO long storm name;CCITT IA5;0;0;80;Character;0;10; +0;1;31;Identification of originating/generating centre (see Note 10);Code table;0;0;16;Code table;0;5; +0;1;32;Generating application;Code table defined by originating/ generating centre (Notes (3), (4) and (5));0;0;8;Code table;0;3; +0;1;33;Identification of originating/generating centre;Common Code Table C-1;0;0;8;Common Code Table C-1;0;3; +0;1;34;Identification of originating/generating sub-centre;Common Code Table C-12;0;0;8;Common Code Table C-12;0;3; +0;1;35;Originating Centre;Common Code Table C-11;0;0;16;Common Code Table C-11;0;5; +0;1;36;Agency in charge of operating the Observing platform;Code table;0;0;20;Code table;0;7; +0;1;41;Absolute platform velocity - first component (see Note 6);m s-1;5;-1073741824;31;m s-1;5;10; +0;1;42;Absolute platform velocity - second component (see Note 6);m s-1;5;-1073741824;31;m s-1;5;10; +0;1;43;Absolute platform velocity - third component (see Note 6);m s-1;5;-1073741824;31;m s-1;5;10; +0;1;50;Platform transmitter ID number;Numeric;0;0;17;Numeric;0;6; +0;1;51;Platform transmitter ID number;CCITT IA5;0;0;96;Character;0;12; +0;1;60;Aircraft reporting point (Beacon identifier);CCITT IA5;0;0;64;Character;0;8; +0;1;62;Short ICAO location indicator;CCITT IA5;0;0;32;Character;0;4; +0;1;63;ICAO location indicator;CCITT IA5;0;0;64;Character;0;8; +0;1;64;Runway designator;CCITT IA5;0;0;32;Character;0;4; +0;1;75;Tide station identification;CCITT IA5;0;0;40;Character;0;5; +0;1;80;Ship line number according to SOOP;CCITT IA5;0;0;32;Character;0;4; +0;1;81;Radiosonde serial number ;CCITT IA5;0;0;160;Character;0;20; +0;1;82;Radiosonde ascension number (see Note 12);Numeric;0;0;14;Numeric;0;4; +0;1;83;Radiosonde release number (see Note 12);Numeric;0;0;3;Numeric;0;1; +0;1;85;Observing platform manufacturer's model;CCITT IA5;0;0;160;Character;0;20; +0;1;86;Observing platform manufacturer's serial number;CCITT IA5;0;0;256;Character;0;32; +0;1;90; Technique for making up initial perturbations;Code table;0;0;8;Code table;0;3; +0;1;91;Ensemble member number ;Numeric;0;0;10;Numeric;0;4; +0;1;92;Type of ensemble forecast;Code table;0;0;8;Code table;0;3; +0;1;93;Balloon lot number;CCITT IA5;0;0;96;Character;0;12; +0;1;94;WBAN Number;Numeric;0;0;17;Numeric;0;5; +0;1;95;Observer identification;CCITT IA5;0;0;32;Character;0;4; +;;;;;;;;;;;; +;;;;;;;;;;;; +Notes:;;;;;;;;;;;; +;;;;;;;;;;;; +-1;"The storm identifier (descriptor 0 01 025) has the following meaning: the first two characters shall be a numeric sequence number assigned by the originator of the message; the third character is a letter indicating the ocean basin where the storm is located, as follows:";;;;;;;;;;; +W;NW Pacific Ocean;;;;;;;;;;; +E;NE Pacific Ocean to 140W;;;;;;;;;;; +C;NE Pacific Ocean 140W - 180W;;;;;;;;;;; +L;N Atlantic Ocean, including Caribbean and Gulf of Mexico;;;;;;;;;;; +A;N Arabian Sea;;;;;;;;;;; +B;Bay of Bengal;;;;;;;;;;; +S;S Indian Ocean;;;;;;;;;;; +P;S Pacific Ocean;;;;;;;;;;; +F;RSMC Nadi's zone in South Pacific;;;;;;;;;;; +U;Australia +O;South China Sea +T;East China Sea +There is no requirement that differing observers coordinate sequence numbers even though they both may be reporting the same storm.; +-2;WMO storm name (descriptor 0 01 027): the storm name NAMELESS shall be used in those cases where an identifiable tropical disturbance has not reached tropical storm strength and has not been assigned an official name. +-3;Where a centre other than the originating centre generates quality information, replacement or substitute values, and/or statistical information, the centre may be indicated by using 0 01 033. +-4;"A generating centre may wish to indicate a reference to the application that generated quality information, etc.; it may use descriptor 0 01 032 for this purpose. However, the corresponding code tables will vary from centre to centre." +-5;Code table 0 01 032 is to be generated by each centre. +-6;The components of absolute platform velocity (0 01 041, 0 01 042, 0 01 043) are defined as follows: +-;First component: From the Earths centre to 0 degree longitude at the Equator: velocity of the platform along this line relative to the Earths centre. +-;Second component: From the Earths centre to 90 degrees East longitude at the Equator: velocity of the platform along this line relative to the Earths centre. +-;Third component: From the Earths centre to the North Pole: velocity of the platform along this line relative to the Earths centre. +-7;The values for descriptors 0 01 041, 0 01 042 and 0 01 043 have been chosen to be suitable for polar orbiting satellites in approximately Sun-synchronous orbits. Geostationary orbits would require greater data widths for distance and slightly less for speed. +-8;Left handed xyz axes have been chosen for descriptors 0 01 041, 0 01 042 and 0 01 043. +-9;Descriptor 0 01 020 should be used instead of 0 01 004 for encoding this element. +-10;Descriptor 0 01 033 shall be used instead of descriptor 0 01 031 for encoding originating/generating centre. Code table 0 01 034 is to be established by the associated originating/generating centre identified by descriptor 0 01 033 and provided to the Secretariat for publication. +-11;For 0 01 022, the character string representing the Name of feature should be of the form: Type of phenomenon - Location or geographical name (e.g.: volcano - Popocatepetl, oil fire - Kuwait);;;;;;;;;; +-12;Descriptor 0-01-082 is to be used for reporting the sequential number of the current radiosonde reporting period (e.g. synoptic cycle) within a given year or other similar locally-defined length of time. Descriptor 0-01-083 is to be used in the case of multiple sequential radiosonde releases during a single reporting period (e.g. synoptic cycle), in order to indicate which particular release generated the corresponding data values.;;;;;;;;;; +;;;;;;;;;;; + +Class 02 - Instrumentation;;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;REFERENCE VALUE;DATA;;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;;WIDTH;UNIT;SCALE;WIDTH (Characters); +F;X;Y;;;;;(Bits);;;; +0;2;1;Type of station;Code table;0;0;2;Code table;0;1; +0;2;2;Type of instrumentation for wind measurement;Flag table;0;0;4;Flag table;0;2; +0;2;3;Type of measuring equipment used;Code table;0;0;4;Code table;0;2; +0;2;4;Type of instrumentation for evaporation measurement or type of crop for which evapotranspiration is reported;Code table;0;0;4;Code table;0;2; +0;2;5;Precision of temperature observation;K;2;0;7;K;2;3; +0;2;11;Radiosonde type;Code table;0;0;8;Code table;0;3; +0;2;12;Radiosonde computational method;Code table;0;0;4;Code table;0;2; +0;2;13;Solar and infrared radiation correction;Code table;0;0;4;Code table;0;2; +0;2;14;Tracking technique/status of system used;Code table;0;0;7;Code table;0;3; +0;2;15;Radiosonde completeness;Code table;0;0;4;Code table;0;2; +0;2;16;Radiosonde configuration;Flag table;0;0;5;Flag table;0;2; +0;2;19;Satellite instruments;Code table;0;0;11;Code table;0;4; +0;2;20;Satellite classification;Code table;0;0;9;Code table;0;3; +0;2;21;Satellite instrument data used in processing*;Flag table;0;0;9;Flag table;0;3; +0;2;22;Satellite data-processing technique used;Flag table;0;0;8;Flag table;0;3; +0;2;23;Satellite derived wind computation method;Code table;0;0;4;Code table;0;2; +0;2;24;Integrated mean humidity computational method;Code table;0;0;4;Code table;0;2; +0;2;25;Satellite channel(s) used in computation;Flag table;0;0;25;Flag table;0;9; +0;2;26;Cross track resolution;m;2;0;12;m;2;4; +0;2;27;Along track resolution;m;2;0;12;m;2;4; +0;2;28;Segment size at nadir in X direction;m;0;0;18;m;0;6; +0;2;29;Segment size at nadir in Y direction;m;0;0;18;m;0;6; +0;2;30;Method of current measurement;Code table;0;0;3;Code table;0;1; +0;2;31;Duration and time of current measurement;Code table;0;0;5;Code table;0;2; +0;2;32;Indicator for digitization;Code table;0;0;2;Code table;0;1; +0;2;33;Method of salinity/depth measurement;Code table;0;0;3;Code table;0;1; +0;2;34;Drogue type;Code table;0;0;5;Code table;0;2; +0;2;35;Cable length;m;0;0;9;m;0;3; +0;2;36;Buoy type;Code table;0;0;2;Code table;0;1; +0;2;37;Method of tidal observation;Code table;0;0;3;Code table;0;1; +0;2;38;Method of water temperature and/or salinity measurement;Code table;0;0;4;Code table;0;2; +0;2;39;Method of wet-bulb temperature measurement;Code table;0;0;3;Code table;0;1; +0;2;40;Method of removing velocity and motion of platform from current;Code table;0;0;4;Code table;0;2; +0;2;41;Method for estimating reports related to synoptic features;Code table;0;0;6;Code table;0;2; +0;2;44;Indicator for method of calculating spectral wave data;Code table;0;0;4;Code table;0;2; +0;2;45;Indicator for type of platform;Code table;0;0;4;Code table;0;2; +0;2;46;Wave measurement instrumentation;Code table;0;0;4;Code table;0;2; +0;2;48;Satellite sensor indicator;Code table;0;0;4;Code table;0;2; +0;2;49;Geostationary satellite data-processing technique used;Flag table;0;0;8;Flag table;0;3; +0;2;50;Geostationary sounder satellite channels used;Flag table;0;0;20;Flag table;0;7; +0;2;51;Indicator to specify observing method for extreme temperatures;Code table;0;0;4;Code table;0;2; +0;2;52;Geostationary imager satellite channels used;Flag table;0;0;6;Flag table;0;2; +0;2;53;GOES-I/M brightness temperature characteristics;Code table;0;0;4;Code table;0;2; +0;2;54;GOES-I/M soundings parameter characteristics;Code table;0;0;4;Code table;0;2; +0;2;55;Geostationary soundings statistical parameters;Code table;0;0;4;Code table;0;2; +0;2;56;Geostationary soundings accuracy statistics;Code table;0;0;4;Code table;0;2; +0;2;57;Origin of first guess information for GOES-I/M soundings;Code table;0;0;4;Code table;0;2; +0;2;58;Valid times of first guess information for GOES-I/M soundings;Code table;0;0;4;Code table;0;2; +0;2;59;Origin of analysis information for GOES-I/M soundings;Code table;0;0;4;Code table;0;2; +0;2;60;Origin of surface information for GOES-I/M soundings;Code table;0;0;4;Code table;0;2; +0;2;61;Aircraft navigational system;Code table;0;0;3;Code table;0;1; +0;2;62;Type of aircraft data relay system;Code table;0;0;4;Code table;0;2; +0;2;63;Aircraft roll angle;Degree;2;-18000;16;Degree;2;5; +0;2;64;Aircraft roll angle quality;Code table;0;0;2;Code table;0;1; +0;2;65;ACARS ground receiving station;CCITT IA5;0;0;40;Character;0;5; +0;2;66;Radiosonde ground receiving system;Code table;0;0;6;Code table;0;2; +0;2;67;Radiosonde operating frequency;Hz;-5;0;15;Hz;-5;5; +0;2;70;Original specification of latitude/longitude;Code table;0;0;4;Code table;0;2; +0;2;80;Balloon manufacturer;Code table;0;0;6;Code table;0;2; +0;2;81;Type of balloon;Code table;0;0;5;Code table;0;2; +0;2;82;Weight of balloon;kg;3;0;12;Kg;3;4; +0;2;83;Type of balloon shelter;Code table;0;0;4;Code table;0;2; +0;2;84;Type of gas used in balloon;Code table;0;0;4;Code table;0;2; +0;2;85;Amount of gas used in balloon;kg;3;0;13;Kg;3;4; +0;2;86;Balloon flight train length;m;1;0;10;m;1;4; +0;2;91;Entry sensor 4/20 mA;A;4;0;10;A;4;3; +0;2;95;Type of pressure sensor;Code table;0;0;5;Code table;0;2; +0;2;96;Type of temperature sensor;Code table;0;0;5;Code table;0;2; +0;2;97;Type of humidity sensor;Code table;0;0;5;Code table;0;2; +0;2;100;Radar constant*;dB;1;0;12;dB;1;4; +0;2;101;Type of antenna;Code table;0;0;4;Code table;0;2; +0;2;102;Antenna height above tower base;m;0;0;8;m;0;3; +0;2;103;Radome;Flag table;0;0;2;Flag table;0;1; +0;2;104;Antenna polarisation;Code table;0;0;4;Code table;0;2; +0;2;105;Maximum antenna gain;dB;0;0;6;dB;0;2; +0;2;106;3-dB beamwidth;Degree;1;0;6;Degree;1;2; +0;2;107;Sidelobe suppression;dB;0;0;6;dB;0;2; +0;2;108;Crosspol discrimination (on axis);dB;0;0;6;dB;0;2; +0;2;109;Antenna speed (azimuth);Degree s-1;2;0;12;Degree s-1;2;4; +0;2;110;Antenna speed (elevation);Degree s-1;2;0;12;Degree s-1;2;4; +0;2;111;Radar incidence angle;Degree;1;0;10;Degree;1;4; +0;2;112;Radar look angle;Degree;1;0;12;Degree;1;4; +0;2;113;Number of azimuth looks;Numeric;0;0;4;Numeric;0;2; +0;2;114;Antenna effective surface area;m2;0;0;15;m2;0;5; +0;2;115;Type of surface observing equipment;Code table;0;0;5;Code table;0;2; +0;2;121;Mean frequency;Hz;-8;0;7;Hz;-8;3; +0;2;122;Frequency agility range;Hz;-6;-128;8;Hz;-6;3; +0;2;123;Peak power;W;-4;0;7;W;-4;3; +0;2;124;Average power;W;-1;0;7;W;-1;3; +0;2;125;Pulse repetition frequency;Hz;-1;0;8;Hz;-1;3; +0;2;126;Pulse width;s;7;0;6;s;7;2; +0;2;127;Receiver intermediate frequency;Hz;-6;0;7;Hz;-6;3; +0;2;128;Intermediate frequency bandwidth;Hz;-5;0;6;Hz;-5;2; +0;2;129;Minimum detectable signal;dB;0;-150;5;dB;0;3; +0;2;130;Dynamic range;dB;0;0;7;dB;0;3; +0;2;131;Sensitivity time control (STC);Flag table;0;0;2;Flag table;0;1; +0;2;132;Azimuth pointing accuracy;Degree;2;0;6;Degree;2;2; +0;2;133;Elevation pointing accuracy;Degree;2;0;6;Degree;2;2; +0;2;134;Antenna beam azimuth;Degree;2;0;16;Degree;2;5; +0;2;135;Antenna elevation;Degree;2;-9000;15;Degree;2;5; +0;2;136;Range processed by range attenuation correction;m;-3;0;16;m;-3;5; +0;2;140;Satellite radar beam azimuth angle;Degree;0;0;9;Degree;0;3; +0;2;141;Measurement type;CCITT IA5;0;0;24;Character;0;3; +0;2;142;Ozone instrument serial number/ identification;CCITT IA5;0;0;32;Character;0;4; +0;2;143;Ozone instrument type;Code table;0;0;7;Code table;0;3; +0;2;144;Light source type for Brewer spectro photometer;Code table;0;0;4;Code table;0;2; +0;2;145;Wave length setting for Dobson instruments;Code table;0;0;4;Code table;0;2; +0;2;146;Source conditions for Dobson instruments;Code table;0;0;4;Code table;0;2; +0;2;148;Data collection and/or location system;Code table;0;0;5;Code table;0;2; +0;2;149;Type of data buoy;Code table;0;0;6;Code table;0;2; +0;2;150;TOVS/ATOVS/AVHRR instrumentation channel number;Code table;0;0;6;Code table;0;2; +0;2;151;Radiometer identifier;Code table;0;0;11;Code table;0;4; +0;2;152;Satellite instrument used in data processing(6);Flag table;0;0;31;Flag table;0;10; +0;2;153;Satellite channel centre frequency;Hz;-8;0;26;Hz;?8;8; +0;2;154;Satellite channel band width;Hz;-8;0;26;Hz;?8;8; +0;2;163;Height assignment method;Code table;0;0;4;Code table;0;2; +0;2;164;Tracer correlation method;Code table;0;0;3;Code table;0;1; +0;2;166;Radiance type;Code table;0;0;4;Code table;0;2; +0;2;167;Radiance computational method;Code table;0;0;4;Code table;0;2; +0;2;168;Hydrostatic pressure of lower end of cable (thermistor string);Pa;-3;0;16;KPa;0;5; +0;2;169;Anemometer type;Code table;0;0;4;Code table;0;2; +0;2;172;Product type for retrieved atmospheric gases;Code table;0;0;8;Code table;0;3; +0;2;173;Square of the off nadir angle (7);Degree2;4;0;10;Degree2;4;4; +0;2;175;Method of precipitation measurement ;Code table;0;0;4;Code table;0;2; +0;2;176;Method of state of ground measurement ;Code table;0;0;4;Code table;0;2; +0;2;177;Method of snow depth measurement ;Code table;0;0;4;Code table;0;2; +0;2;178;Method of liquid content measurement of precipitation;Code table;0;0;4;Code table;0;2; +0;2;179;Type of sky condition algorithm ;Code table;0;0;4;Code table;0;2; +0;2;180;Main present weather detecting system ;Code table;0;0;4;Code table;0;2; +0;2;181;Supplementary present weather sensor;Flag table;0;0;21;Flag table;0;7; +0;2;182;Visibility measurement system ;Code table;0;0;4;Code table;0;2; +0;2;183;Cloud detection system;Code table;0;0;4;Code table;0;2; +0;2;184;Type of lightning detection sensor;Code table;0;0;4;Code table;0;2; +0;2;185;Method of evaporation measurement;Code table;0;0;4;Code table;0;2; +0;2;186;Capability to detect precipitation phenomena;Flag table;0;0;30;Flag table;0;10; +0;2;187;Capability to detect other weather phenomena;Flag table;0;0;18;Flag table;0;6; +0;2;188;Capability to detect obscuration;Flag table;0;0;21;Flag table;0;7; +0;2;189;Capability to discriminate lightning strikes;Flag table;0;0;12;Flag table;0;4; +0;2;190;Lagrangian drifter submergence (% time submerged);%;0;0;7;%;0;3; +;;;;;;;;;;; +Notes:;;;;;;;;;;; +-1;This class shall contain elements to describe the instrumentation used to obtain the meteorological elements reported.;;;;;;;;;; +-2;This class may also contain elements relating to observational procedures.;;;;;;;;;; +-3;Some indication of expected accuracy may be implied in conjunction with certain elements in this class.;;;;;;;;;; +-4;Note that descriptor 0 02 140 is the Azimuth angle measured anticlockwise from satellite heading vector.;;;;;;;;;; +-5;In descriptor 0 02 142: Ozone instrument serial number/identification is four characters long. For Japanese Dobsons instruments, omit the leading digit(s).;;;;;;;;;; +(6) Descriptor 0 02 019 should be used instead of descriptor 0 02 152 for single satellite instrument identification.;;;;;;;;;;; +-7;Square of off nadir angle computed from Ku waveform derived parameters, Unit 10-4 deg2, Common min value 0, Common max value 900.;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; + +Class 04 - Location (time);;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;;DATA WIDTH ;;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;(Bits);UNIT;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;4;1;Year;Year;0;0;12;Year;0;4; +0;4;2;Month;Month;0;0;4;Month;0;2; +0;4;3;Day;Day;0;0;6;Day;0;2; +0;4;4;Hour;Hour;0;0;5;Hour;0;2; +0;4;5;Minute;Minute;0;0;6;Minute;0;2; +0;4;6;Second;Second;0;0;6;Second;0;2; +0;4;7;Seconds within a minute (microsecond accuracy);Second;6;0;26;Second;6;8; +0;4;11;Time increment;Year;0;-1024;11;Year;0;4; +0;4;12;Time increment;Month;0;-1024;11;Month;0;4; +0;4;13;Time increment;Day;0;-1024;11;Day;0;4; +0;4;14;Time increment;Hour;0;-1024;11;Hour;0;4; +0;4;15;Time increment;Minute;0;-2048;12;Minute;0;4; +0;4;16;Time increment;Second;0;-4096;13;Second;0;4; +0;4;17;Reference time period for accumulated or extreme data;Minute;0;-1440;12;Minute;0;4; +0;4;21;Time period or displacement;Year;0;-1024;11;Year;0;4; +0;4;22;Time period or displacement;Month;0;-1024;11;Month;0;4; +0;4;23;Time period or displacement;Day;0;-1024;11;Day;0;4; +0;4;24;Time period or displacement;Hour;0;-2048;12;Hour;0;4; +0;4;25;Time period or displacement;Minute;0;-2048;12;Minute;0;4; +0;4;26;Time period or displacement;Second;0;-4096;13;Second;0;4; +0;4;31;Duration of time relating to following value;Hour;0;0;8;Hour;0;3; +0;4;32;Duration of time relating to following value;Minute;0;0;6;Minute;0;2; +0;4;41;Time difference, UTC -LMT (see Note 6);Minute;0;-1440;12;Minute;0;4; +0;4;43;Day of the year;Day;0;0;9;Day;0;3; +0;4;51;Principal time of daily reading of maximum temperature;Hour;0;0;5;Hour ;0;2; +0;4;52;Principal time of daily reading of minimum temperature;Hour;0;0;5;Hour ;0;2; +0;4;53;Number of days with precipitation equal to or more than 1 mm;Numeric;0;0;6;Numeric;0;2; +0;4;59;Times of observation used to compute the reported mean values;Flag table;0;0;6;Flag table;0;2; +0;4;65;Short time increment;Minute;0;-128;8;Minute;0;2; +0;4;73;Short time period or displacement;Day;0;-128;8;Day;0;2; +0;4;74;Short time period or displacement;Hour;0;-128;8;Hour;0;2; +0;4;75;Short time period or displacement;Minute;0;-128;8;Minute;0;2; +;;;;;;;;;;; +Notes:;;;;;;;;;;; +-1;The significance of time periods or displacements may be indicated using the time significance code corresponding to table reference 0 08 021.;;;;;;;;;; +-2;Where more than one time period or displacement is required to define complex time structures, they shall be defined in immediate succession, and the following ordering shall apply: ensemble period (if required), followed by forecast period (if required), followed by period for averaging or accumulation (if required).;;;;;;;;;; +-3;Time periods or displacements and time increments require an initial time location to be defined prior to their use, followed where appropriate by a time significance definition.;;;;;;;;;; +-4;"The time location, when used with forecast values, shall indicate the time of the initial state for the forecast, or the beginning of the forecast period; when used with ensemble means of forecast values, the time location shall indicate the initial state or the beginning of the first forecast over which ensemble means are derived.";;;;;;;;;; +-5;Negative time periods or displacements shall be used to indicate time periods or displacements preceding the currently defined time.;;;;;;;;;;; +-6;Descriptor 0 04 041 has been replaced by the combination of 0 08 025 and 0 26 003 and should not be used for encoding this element.;;;;;;;;;;; +-7;All times are Universal Time Coordinated (UTC) unless otherwise noted.;;;;;;;;;;; +;;;;;;;;;;;; + +Class 05 - Location (horizontal -1);;;;;;;;;;;; +;;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;;CREX;;; +;;;TABLE;;;REFERENCE VALUE;DATA WIDTH (Bits);;;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;;;UNIT;;SCALE;WIDTH; +F;X;Y;;;;;;;;;(Characters); +0;5;1;Latitude (high accuracy);Degree;5;-9000000;25;Degree;;5;7; +0;5;2;Latitude (coarse accuracy);Degree;2;-9000;15;Degree;;2;4; +0;5;11;Latitude increment (high accuracy);Degree;5;-9000000;25;Degree;;5;7; +0;5;12;Latitude increment (coarse accuracy);Degree;2;-9000;15;Degree;;2;4; +0;5;21;Bearing or azimuth;Degree true;2;0;16;Degree true;;2;5; +0;5;22;Solar azimuth;Degree true;2;0;16;Degree true;;2;5; +0;5;30;Direction (spectral);Degree;0;0;12;Degree;;0;4; +0;5;31;Row number;Numeric;0;0;12;Numeric;;0;4; +0;5;33;Pixel size on horizontal - 1;m;-1;0;16;m;;-1;5; +0;5;34;Along track row number;Numeric;0;0;11;Numeric;;0;4; +0;5;36;Ship transect number according to SOOP;Numeric;0;0;7;Numeric;;0;2; +0;5;40;Orbit number;Numeric;0;0;24;Numeric;;0;8; +0;5;41;Scan line number;Numeric;0;0;8;Numeric;;0;3; +0;5;42;Channel number;Numeric;0;0;6;Numeric;;0;2; +0;5;43;Field of view number;Numeric;0;0;8;Numeric;;0;3; +0;5;44;Satellite cycle number;Numeric;0;0;11;Numeric;;0;4; +0;5;52;Channel number increment;Numeric;0;0;5;Numeric;;0;2; +0;5;53;Field of view number increment;Numeric;0;0;5;Numeric;;0;2; +;;;;;;;;;;;; +;;;;;;;;;;;; +Notes:;;;;;;;;;;;; +-1;Values of latitude and latitude increments are limited to the range -90 degrees to +90 degrees.;;;;;;;;;; +-2;South latitude shall be assigned negative values.;;;;;;;;;; +-3;North to south increments shall be assigned negative values.;;;;;;;;;; +-4;Bearing or azimuth shall only be used with respect to a stated location, and shall not redefine that location.;;;;;;;;;; +-5;The Pixel size on horizontal - 1 is given at location where map scale factor is unity.;;;;;;;;;; +;;;;;;;;;;; + +Class 06 - Location (horizontal - 2);;;;;;;;;;; +;;;;;;;;;;; +;;;;BUFR;;;;CREX;;; +TABLE REFERENCE;;;TABLE ;;;REFERENCE VALUE;DATA WIDTH (Bits);;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;;;UNIT;SCALE ;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;6;1;Longitude (high accuracy);Degree;5;-18000000;26;Degree;5;8; +0;6;2;Longitude (coarse accuracy);Degree;2;-18000;16;Degree;2;5; +0;6;11;Longitude increment (high accuracy);Degree;5;-18000000;26;Degree;5;8; +0;6;12;Longitude increment (coarse accuracy);Degree;2;-18000;16;Degree;2;5; +0;6;21;Distance;m;-1;0;13;m;-1;4; +0;6;30;Wave number (spectral);rad m-1;5;0;13;rad m-1;5;4; +0;6;31;Column number;Numeric;0;0;12;Numeric;0;4; +0;6;33;Pixel size on horizontal - 2;m;-1;0;16;m;-1;5; +0;6;34;Cross-track cell number;Numeric;0;0;7;Numeric;0;3; +0;6;40;Radius of confidence;m;0;0;13;m;0;4; +;;;;;;;;;;; +Notes:;;;;;;;;;;; +-1;Values of longitude are limited to the range -180 degrees to +180 degrees.;;;;;;;;;; +-2;West longitude shall be assigned negative values.;;;;;;;;;; +-3;East to west increments shall be assigned negative values.;;;;;;;;;; +-4;"Distance shall only be used with respect to a stated location and a bearing, azimuth or elevation; it shall not redefine that location.";;;;;;;;;; +-5;The Pixel size on horizontal - 2 is given at location where map scale factor is unity.;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; + +Class 07 - Location (vertical);;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +;;;;BUFR;;;;CREX;;; +TABLE REFERENCE;;;TABLE;;;;;;;; +;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;DATA WIDTH (Bits);;;DATA ; +;;;;;;;;UNIT;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;7;1;Height of station (see Note 1);m;0;-400;15;m;0;5; +0;7;2;Height or altitude;m;-1;-40;16;m;-1;5; +0;7;3;Geopotential;m2 s-2;-1;-400;17;m2 s-2;?1;6; +0;7;4;Pressure;Pa;-1;0;14;Pa;-1;5; +0;7;5;Height increment;m;0;-400;12;m;0;4; +0;7;6;Height above station;m;0;0;15;m;0;5; +0;7;7;Height;m;0;-1000;17;m;0;6; +0;7;8;Geopotential;m2 s-2;0;-10000;20;m2 s-2;0;7; +0;7;9;Geopotential height;gpm;0;-1000;17;gpm;0;5; +0;7;10;Flight level;m;0;-1024;16;ft;-1;5; +0;7;21;Elevation (see Note 2);Degree;2;-9000;15;Degree;2;5; +0;7;22;Solar elevation;Degree;2;-9000;15;Degree;2;5; +0;7;24;Satellite zenith angle;Degree;2;-9000;15;Degree;2;5; +0;7;25;Solar zenith angle;Degree;2;-9000;15;Degree;2;5; +0;7;30;Height of station ground above mean sea level (see Note 3);m;1;-4000;17;m;1;5; +0;7;31;Height of barometer above mean sea level (see Note 4);m;1;-4000;17;m;1;5; +0;7;32;Height of sensor above local ground (or deck of marine platform) (see Note 5);m;2;0;16;m;2;5; +0;7;33;Height of sensor above water surface (see Note 6);m;1;0;12;m;1;4; +0;7;61;Depth below land surface;m;2;0;14;m;2;5; +0;7;62;Depth below sea/water surface;m;1;0;17;m;1;6; +0;7;64;Height above station (sensor height artificially corrected) (see Note 7);m;0;0;4;m;0;2; +0;7;70;Drogue depth;m;0;0;10;m;0;4; +;;;;;;;;;;; +Notes:; +; +-1;Regarding data from ground based stations, this descriptor should be used for archived data only. Descriptors 0 07 030 and 0 07 031 should be used and preferred to represent ground elevation and elevation of barometer, respectively, as defined in Observing Stations, WMO Publication No. 9, Volume A1. Regarding marine stations, this descriptor refers to the height above mean sea level of the deck of marine platform where the instruments stand. +; +-2;"Elevation shall only be used with respect to a stated location and a bearing, azimuth or distance; it shall not redefine that location." +; +-3;Height of station ground above mean sea level is defined as the height above mean sea-level of the ground on which the raingauge stands or, if there is no raingauge, the ground beneath the thermometer screen. If there is neither raingauge nor screen, it is the average level of terrain in the vicinity of the station (Reference: Guide to Meteorological Instruments and Methods of Observation, WMO-No. 8. 1996). +-4;Height of barometer above mean sea level, referring to the location of barometer of a station, does not redefine the descriptor 0 07 030. +-5;Height of sensor above local ground (or deck of marine platform) is the actual height of sensor above ground (or deck of marine platform) at the point where the sensor is located. This descriptor does not redefine the descriptor either 0 07 030 or 0 07 033. +-6;Height of sensor above water surface is the height of sensor above water surface of sea or lake. This descriptor does not redefine the descriptor either 0 07 030 or 0 07 032. +; +-7;"Height above station at which sensor height is artificially corrected to standard value using formula. For example, standard height for wind is 10 metres but anemometers or buoys are placed at much lower height; such height is sometimes corrected using a formula." + +Class 08 - Significance qualifiers; +; +; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;REFERENCE VALUE;DATA WIDTH (Bits);;;DATA ; +;;;ELEMENT NAME;UNIT;SCALE;;;UNIT;SCALE ;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;8;1;Vertical sounding significance;Flag table;0;0;7;Flag table;0;3; +0;8;2;Vertical significance (surface observations);Code table;0;0;6;Code table;0;2; +0;8;3;Vertical significance (satellite observations);Code table;0;0;6;Code table;0;2; +0;8;4;Phase of aircraft flight;Code table;0;0;3;Code table ;0;1; +0;8;5;Meteorological attribute significance;Code table;0;0;4;Code table ;0;2; +0;8;6;Ozone vertical sounding significance;Flag table;0;0;9;Flag table ;0;3; +0;8;7;Dimensional significance;Code table;0;0;4;Code table;0;2; +0;8;8;Radiation vertical sounding significance;Flag table;0;0;9;Flag table ;0;3; +0;8;9;Detailed phase of flight;Code Table;0;0;4;Code table;0;2; +0;8;10;Surface qualifier (temperature data);Code table;0;0;5;Code table;0;2; +0;8;11;Meteorological feature;Code table;0;0;6;Code table ;0;2; +0;8;12;Land/sea qualifier;Code table;0;0;2;Code table ;0;1; +0;8;13;Day/night qualifier;Code table;0;0;2;Code table;0;1; +0;8;14;Qualifier for runway visual range;Code table;0;0;4;Code table;0;2; +0;8;16;Change qualifier of a trend-type forecast or an aerodrome forecast;Code table;0;0;3;Code table;0;1; +0;8;17;Qualifier of the time when the forecast change is expected;Code table;0;0;2;Code table;0;1; +0;8;18;SEAWINDS land/ice surface type;Flag table;0;0;17;Flag table;0;6; +0;8;20;Total number of missing entities (with respect to accumulation or average);Numeric;0;0;16;Numeric;0;5; +0;8;21;Time significance;Code table;0;0;5;Code table ;0;2; +0;8;22;Total number (with respect to accumulation or average);Numeric;0;0;16;Numeric;0;5; + +;;;;;;;;;;; +0;8;23;First order statistics;Code table;0;0;6;Code table;0;2; +0;8;24;Difference statistics;Code table;0;0;6;Code table ;0;2; +0;8;25;Time difference qualifier;Code table;0;0;4;Code table;0;2; +0;8;29;Remotely sensed surface type;Code table;0;0;8;Code table;0;3; +0;8;30;Manual on Codes (Volume I.1, Section C) Code table from which data are derived;Numeric;0;0;13;Numeric;0;4; +0;8;31;Data category CREX table A;Numeric;0;0;8;Numeric;0;3; +0;8;33;Method of derivation of percentage confidence;Code table;0;0;7;Code table;0;3 +0;8;35;Type of monitoring exercise;Code table;0;0;3;Code table;0;1 +0;8;36;Type of centre or station performing monitoring;Code table;0;0;3;Code table;0;1 +0;8;40;Flight Level significance;Code table;0;0;6;Code table;0;2 +0;8;41;Data significance;Code table;0;0;5;Code table;0;2 +0;8;50;Qualifier for number of missing values in calculation of statistic;Code table;0;0;4;Code table;0;2 +0;8;51;Qualifier for number of missing values in calculation of statistic;Code table;0;0;3;Code table ;0;1 +0;8;52;Condition for which number of days of occurrence follows;Code table;0;0;5;Code table ;0;2 +0;8;53;Day of occurrence qualifier;Code table;0;0;2;Code table;0;1 +0;8;60;Sample scanning mode significance;Code table;0;0;4;Code table;0;2 +0;8;70;TOVS/ATOVS product qualifier;Code table;0;0;4;Code table;0;2 +0;8;72;Pixel(s) type;Code table;0;0;3;Code table;0;1 +0;8;74;Altimeter echo type;Code table;0;0;2;Code table;0;1 +0;8;75;Ascending/Descending Orbit Qualifier;Code table;0;0;2;Code table;0;1 +0;8;76;Type of band;Code table;0;0;6;Code table;0;2 +0;8;80;Qualifier for GTSPP quality flag;Code table;0;0;6;Code table;0;2 +;;;;;;;;;;; +Notes:;;;;;;;;;;; +-1;Where values are accumulated or averaged (for example over a time period), the total number of values from which the accumulated or averaged values are obtained may be represented using reference 0 08 022.;;;;;;;;;; +-2;A previously defined significance may be cancelled by transmitting a missing from the appropriate code or flag table.;;;;;;;;;; +-3;First order statistics have values with a similar range and the same dimensions as the corresponding reported values (e.g., maxima, minima, means, etc.).;;;;;;;;;; +-4;"Difference statistics are difference values; they have dimensions similar to the corresponding reported values with respect to units, but assume a range centred on zero (e.g., the difference between reported and analysed values, the difference between reported and forecast values, etc.).";;;;;;;;;; +-5;Descriptor 0 08 025 is to be used with 0 26 003 (time difference).;;;;;;;;;; +-6;Descriptor 0 08 033 is to be used by preceding the element 0 33 007 as part of quality control information in order to specify the method used to calculate the percentage confidence.;;;;;;;;;; + +Class 10 - Non-coordinate location (vertical);;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;UNIT;SCALE;REFERENCE VALUE;DATA WIDTH (Bits);;;DATA; +;;;ELEMENT NAME;;;;;UNIT;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;10;1;Height of land surface;m;0;-400;15;m;0;5; +0;10;2;Height;m;-1;-40;16;m;-1;5; +0;10;3;Geopotential;m2 s-2;-1;-400;17;m2 s-2;-1;6; +0;10;4;Pressure;Pa;-1;0;14;Pa;?1;5; +0;10;7;Height;m;0;-1000;17;m;0;6; +0;10;8;Geopotential;m2 s-2;0;-10000;20;m2 s-2;0;7; +0;10;9;Geopotential height;gpm;0;-1000;17;gpm;0;5; +0;10;10;Minimum pressure reduced to mean sea level;Pa;-1;0;14;Pa;-1;5; +0;10;11;Maximum pressure reduced to mean sea level;Pa;-1;0;14;Pa;-1;5; +0;10;31;In direction of the North Pole, distance from the Earths centre;m;2;-1073741824;31;m;2;10; +0;10;40;Number of retrieved layers;Numeric;0;0;10;Numeric;0;4; +0;10;50;Standard deviation altitude;m;2;0;16;m;2;5; +0;10;51;Pressure reduced to mean sea level;Pa;-1;0;14;Pa;?1;5; +0;10;52;Altimeter setting (QNH);Pa;-1;0;14;Pa;?1;5; +0;10;60;Pressure change;Pa;-1;-1024;11;Pa;?1;4; +0;10;61;3-hour pressure change;Pa;-1;-500;10;Pa;-1;4; +0;10;62;24-hour pressure change;Pa;-1;-1000;11;Pa;-1;4; +0;10;63;Characteristic of pressure tendency;Code table;0;0;4;Code table;0;2; +0;10;70;Indicated aircraft altitude;m;0;-400;16;m;0;5; +;;;;;;;;;;; +Notes:;;;;;;;;;;; +-1;Vertical elements and pressure shall be used to define values of these elements independent of the element or variable denoting the vertical coordinate.;;;;;;;;;; +-2;The value for descriptor 0 10 031 has been chosen to be suitable for polar orbiting satellites in approximately sun-synchronous orbits. Geostationary orbits would require greater data widths for distance and slightly less for speed.;;;;;;;;;; +-3;Left handed xyz axes have been chosen for descriptor 0 10 031.;;;;;;;;;; +;;;;;;;;;;; + +Class 11 - Wind and turbulence;;;;;;;;;;; +;;;;;;;;;;; +;;;;BUFR;;;;CREX;;; +TABLE REFERENCE;;;TABLE;;;;DATA WIDTH (Bits);;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;;UNIT;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;11;1;Wind direction;Degree true;0;0;9;Degree true;0;3; +0;11;2;Wind speed;m s-1;1;0;12;m s-1;1;4; +0;11;3;u-component;m s-1;1;-4096;13;m s-1;1;4; +0;11;4;v-component;m s-1;1;-4096;13;m s-1;1;4; +0;11;5;w-component;Pa s-1;1;-512;10;Pa s-1;1;4; +0;11;6;w-component;m s-1;2;-4096;13;m s-1;2;4; +0;11;10;Wind direction associated with wind speed which follows;Degree true;0;0;9;Degree true;0;3; +0;11;11;Wind direction at 10 m;Degree true;0;0;9;Degree true;0;3; +0;11;12;Wind speed at 10 m;m s-1;1;0;12;m s-1;1;4; +0;11;13;Wind direction at 5 m;Degree true;0;0;9;Degree true;0;3; +0;11;14;Wind speed at 5 m;m s-1;1;0;12;m s-1;1;4; +0;11;16;Extreme counterclockwise wind direction of a variable wind;Degree true;0;0;9;Degree true;0;3; +0;11;17;Extreme clockwise wind direction of a variable wind;Degree true;0;0;9;Degree true;0;3; +0;11;19;Steadiness of wind (6);%;0;0;7;%;0;3; +0;11;21;Relative vorticity;s-1;9;-65536;17;s-1;9;6; +0;11;22;Divergence;s-1;9;-65536;17;s-1;9;6; +0;11;23;Velocity potential;m2 s-1;-2;-65536;17;m2 s-1;-2;6; +0;11;31;Degree of turbulence;Code table;0;0;4;Code table;0;2; +0;11;32;Height of base of turbulence;m;-1;-40;16;m;-1;5; +0;11;33;Height of top of turbulence;m;-1;-40;16;m;-1;5; +0;11;34;Vertical gust velocity;m s-1;1;-1024;11;m s-1;1;4; +0;11;35;Vertical gust acceleration;m s-2;2;-8192;14;m s-2;2;5; +0;11;36;Maximum derived equivalent vertical gust speed;m s-1;1;0;10;m s-1;1;4; +0;11;37;Turbulence Index;Code table;0;0;6;Code table;0;2; +0;11;38;Time of occurrence of Peak Eddy Dissipation Rate;Code table;0;0;5;Code table;0;2; +0;11;39;Extended time of occurrence of peak Eddy Dissipation Rate;Code table;0;0;6;Code table;0;2; +0;11;40;Maximum wind speed (mean wind);m s-1;1;0;12;m s-1;1;4; +0;11;41;Maximum wind gust speed;m s-1;1;0;12;m s-1;1;4; +0;11;42;Maximum wind speed (10-min mean wind);m s-1;1;0;12;m s-1;1;4; +0;11;43;Maximum wind gust direction;Degree true;0;0;9;Degree true;0;3; +0;11;44;Mean wind direction for surface - 1500 m (5000 feet);Degree true;0;0;9;Degree true;0;3; +0;11;45;Mean wind speed for surface - 1500 m (5000 feet);m s-1;1;0;12;m s-1;1;4; +0;11;46;Maximum instantaneous wind speed;m s-1;1;0;12;m s-1;1;4; +0;11;47;Maximum instantaneous wind speed over 10 minutes;m s-1;1;0;12;m s-1;1;4; +0;11;49;Standard deviation of wind direction;Degree true;0;0;9;Degree true;0;3; +0;11;50;Standard deviation of horizontal wind speed;m s-1;1;0;12;m s-1;1;4; +0;11;51;Standard deviation of vertical wind speed;m s-1;1;0;8;m s-1;1;3; +0;11;52;Formal uncertainty in wind speed;m s-1;2;0;13;m s-1;2;5; +0;11;53;Formal uncertainty in wind direction;Degree true;2;0;15;Degree true;2;5; +0;11;61;Absolute wind shear in 1 km layer below;m s-1;1;0;12;m s-1;1;4; +0;11;62;Absolute wind shear in 1 km layer above;m s-1;1;0;12;m s-1;1;4; +0;11;70;Designator of the runway affected by wind shear (including ALL);CCITT IA5;0;0;32;Character;0;4; +0;11;71;Turbulent vertical momentum flux;m2 s-2;3;-128;14;m2 s-2;3;5; +0;11;72;Turbulent vertical buoyancy flux;K m s-1;3;-128;11;K m s-1;3;4; +0;11;73;Turbulent kinetic energy;m2 s-2;2;-1024;13;m2 s-2;2;4; +0;11;74;Dissipation energy;m2 s-2;2;-1024;10;m2 s-2;2;4; +0;11;75;Mean turbulence intensity (eddy dissipation rate);m2/3 s-1;2;0;8;m2/3 s-1;2;3; +0;11;76;Peak turbulence intensity (eddy dissipation rate);m2/3 s-1;2;0;8;m2/3 s-1;2;3; +0;11;77;Reporting interval or averaging time for Eddy Dissipation Rate;s;0;0;12;s;0;4; +0;11;81;Model wind direction at 10m;Degree true;2;0;16;Degree true;2;5; +0;11;82;Model wind speed at 10m;m s-1;2;0;14;m s-1;2;4; +Notes:;;;;;;;;;;; +-1;West to east u-components shall be assigned positive values.;;;;;;;;;; +-2;South to north v-components shall be assigned positive values.;;;;;;;;;; +-3;Upward w-components shall be assigned positive values where units are m s-1.;;;;;;;;;; +-4;Downward w-components shall be assigned positive values where units are Pa s-1.;;;;;;;;;; +;;;;;;;;;;; +-5;Wind reporting standards:;;;;;;;;;; +;;;;;;;;;;; +;Speed;Direction;;;;;;;;; +No observation;Missing;Missing;;;;;;;;; +Calm;0;0;;;;;;;;; +Normal observation;> 0;1 - 360;;;;;;;;; +Speed only;> 0;Missing;;;;;;;;; +Direction only;Missing;1 - 360;;;;;;;;; +Light and variable;> 0;0;;;;;;;;; +;;;;;;;;;;; +-6;The steadiness factor (descriptor 0 11 019) is the ratio of speed of the monthly mean vector wind to the speed of the monthly mean scalar wind expressed as a percentage. It is reported to the nearest one percent.;;;;;;;;;; + +Class 12 - Temperature;;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;;DATA WIDTH (Bits);;;DATA ; +;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;;UNIT ;SCALE ;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;12;1;Temperature/dry-bulb temperature;K;1;0;12;C;1;3; +0;12;2;Wet-bulb temperature;K;1;0;12;C;1;3; +0;12;3;Dew-point temperature;K;1;0;12;C;1;3; +0;12;4;Dry-bulb temperature at 2 m;K;1;0;12;C;1;3; +0;12;5;Wet-bulb temperature at 2 m;K;1;0;12;C;1;3; +0;12;6;Dew-point temperature at 2 m;K;1;0;12;C;1;3; +0;12;7;Virtual temperature;K;1;0;12;C;1;3; +0;12;11;Maximum temperature, at height and over period specified;K;1;0;12;C;1;3; +0;12;12;Minimum temperature, at height and over period specified;K;1;0;12;C;1;3; +0;12;13;Ground minimum temperature, past 12 hours;K;1;0;12;C;1;3; +0;12;14;Maximum temperature at 2 m, past 12 hours;K;1;0;12;C;1;3; +0;12;15;Minimum temperature at 2 m, past 12 hours;K;1;0;12;C;1;3; +0;12;16;Maximum temperature at 2 m, past 24 hours;K;1;0;12;C;1;3; +0;12;17;Minimum temperature at 2 m, past 24 hours;K;1;0;12;C;1;3; +0;12;21;Maximum temperature at 2m;K;2;0;16;C;2;4; +0;12;22;Minimum temperature at 2m;K;2;0;16;C;2;4; +0;12;30;Soil temperature;K;1;0;12;C;1;3; +0;12;51;Standard deviation temperature;K;1;0;10;C;1;3; +0;12;52;Highest daily mean temperature;K;1;0;12;C;1;3; +0;12;53;Lowest daily mean temperature;K;1;0;12;C;1;3; +0;12;61;Skin temperature;K;1;0;12;C;1;3; +0;12;62;Equivalent black body temperature;K;1;0;12;C;1;3; +0;12;63;Brightness temperature;K;1;0;12;C;1;3; +0;12;64;Instrument temperature;K;1;0;12;K;1;4; +0;12;65;Standard deviation brightness temperature;K;1;0;12;K;1;4; +0;12;70;Warm load temperature;K;2;0;16;K;2;5; +0;12;71;Coldest cluster temperature;K;1;0;12;K;1;4; +0;12;72;Radiance;W m-2 sr-1;6;0;31;W m-2sr-1;6;9; +0;12;75;Spectral radiance;W m-3 sr-1;-3;0;16;W m-3sr-1;-3;5; +0;12;76;Radiance;W m-2 sr-1;3;0;16;W m-2sr-1;3;5; +0;12;101;Temperature/dry-bulb temperature;K;2;0;16;C;2;4; +0;12;102;Wet-bulb temperature;K;2;0;16;C;2;4; +0;12;103;Dew-point temperature;K;2;0;16;C;2;4; +0;12;104;Dry-bulb temperature at 2m;K;2;0;16;C;2;4; +0;12;105;Web-bulb temperature at 2m;K;2;0;16;C;2;4; +0;12;106;Dew-point temperature at 2m;K;2;0;16;C;2;4; +0;12;107;Virtual temperature;K;2;0;16;C;2;4; +0;12;111;Maximum temperature, at height and over period specified ;K;2;0;16;C;2;4; +0;12;112;Minimum temperature, at height and over period specified;K;2;0;16;C;2;4; +0;12;113;Ground minimum temperature, past 12 hours;K;2;0;16;C;2;4; +0;12;114;Maximum temperature at 2m, past 12 hours;K;2;0;16;C;2;4; +0;12;115;Minimum temperature at 2m, past 12 hours;K;2;0;16;C;2;4; +0;12;116;Maximum temperature at 2m, past 24 hours;K;2;0;16;C;2;4; +0;12;117;Minimum temperature at 2m, past 24 hours;K;2;0;16;C;2;4; +0;12;118;Maximum temperature at height specified, past 24 hours;K;2;0;16;C;2;4; +0;12;119;Minimum temperature at height specified, past 24 hours;K;2;0;16;C;2;4; +0;12;130;Soil temperature;K;2;0;16;C;2;4; +0;12;151;Standard deviation of daily mean temperature;K;2;0;12;C;2;4; +0;12;152;Highest daily mean temperature;K;2;0;16;C;2;4; +0;12;153;Lowest daily mean temperature;K;2;0;16;C;2;4; +0;12;161;Skin temperature;K;2;0;16;C;2;4; +0;12;162;Equivalent black body temperature;K;2;0;16;C;2;4; +0;12;163;Brightness temperature;K;2;0;16;C;2;4; +0;12;164;Instrument temperature;K;2;0;16;K;2;5; +0;12;171;Coldest cluster temperature;K;2;0;16;K;2;5;;; +;;;;;;;;;;;;; +;;;;;;;;;;;;; +Notes:;;;;;;;;;;;;; +;;;;;;;;;;;;; +-1;Where the expression at height and over period specified is entered under ELEMENT NAME, an appropriate vertical location shall be specified using descriptors from class 07, together with an appropriate period using descriptors from class 04.;;;;;;;;;;;; +;;;;;;;;;;;;; +-2;Descriptor 0 12 076 should be used instead of descriptor 0 12 072 to encode radiance.;;;;;;;;;;;; +;;;;;;;;;;;;; + +Class 13 - Hygrographic and hydrological elements;;;;;;;;;;;;; +;;;;;;;;;;;;; +;;;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;;;; +;;;TABLE;;;;DATA WIDTH (Bits);;;;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;;UNIT;SCALE;;;WIDTH; +F;X;Y;;;;;;;;;;(Characters); +0;13;1;Specific humidity;kg kg-1;5;0;14;kg kg-1;5;;;5; +0;13;2;Mixing ratio;kg kg-1;5;0;14;kg kg-1;5;;;5; +0;13;3;Relative humidity;%;0;0;7;%;0;;;3; +0;13;4;Vapour pressure;Pa;-1;0;10;Pa;-1;;;4; +0;13;5;Vapour density;kg m-3;3;0;7;kg m-3;;3;;3; +0;13;6;Mixing heights;m;-1;-40;16;m;-1;;;5; +0;13;7;Minimum relative humidity;%;0;0;7;%;0;;;3; +0;13;8;Maximum relative humidity;%;0;0;7;%;0;;;3; +0;13;9;Relative humidity;%;1;-1000;12;%;1;;;4; +0;13;11;Total precipitation/total water equivalent;kg m-2;1;-1;14;kg m-2;1;;;5; +0;13;12;Depth of fresh snow;m;2;-2;12;m;2;;;4; +0;13;13;Total snow depth;m;2;-2;16;m;2;;;5; +0;13;14;Rainfall/water equivalent of snow (averaged rate);kg m-2 s-1;4;0;12;kg m-2 s-1;4;;;4; +0;13;15;Snowfall (averaged rate);m s-1;7;0;12;m s-1;7;;;4; +0;13;16;Precipitable water;kg m-2;0;0;7;kg m-2;0;;;3; +0;13;19;Total precipitation past 1 hour;kg m-2;1;-1;14;kg m-2;1;;;4; +0;13;20;Total precipitation past 3 hours;kg m-2;1;-1;14;kg m-2;1;;;5; +0;13;21;Total precipitation past 6 hours;kg m-2;1;-1;14;kg m-2;1;;;5; +0;13;22;Total precipitation past 12 hours;kg m-2;1;-1;14;kg m-2;1;;;5; +0;13;23;Total precipitation past 24 hours;kg m-2;1;-1;14;kg m-2;1;;;5; +0;13;31;Evapotranspiration;kg m-2;0;0;7;kg m-2;0;;;3; +0;13;32;Evaporation/evapotranspiration;kg m-2;1;0;8;kg m-2;1;;;3; +0;13;33;Evaporation/evapotranspiration;kg m-2;1;0;10;kg m-2;1;;;4; +0;13;38;Superadiabatic indicator;Code table;0;0;2;Code table;0;;;1; +0;13;39;Terrain type (ice/snow);Code table;0;0;3;Code table;0;;;1; +0;13;40;Surface flag;Code table;0;0;4;Code table;0;;;2; +0;13;41;Pasquill-Gifford stability category;Code table;0;0;4;Code table;0;;;2; +0;13;42;Parcel lifted index (to 500 hPa);K;0;-20;6;K;0;;;2; +0;13;43;Best lifted index (to 500 hPa);K;0;-20;6;K;0;;;2; +0;13;51;Frequency group, precipitation;Code table;0;0;4;Code table;0;;;2; +0;13;52;Highest daily amount of precipitation;kg m-2;1;-1;14;kg m-2;1;;;5; +0;13;55;Intensity of precipitation;Kg m-2 s-1;4;0;8;mm h-1 ;1;;;4; +0;13;58;Size of precipitating element;m;4;0;7;mm;1;;;3; +0;13;59;Number of flashes (thunderstorm);Numeric;0;0;7;Numeric;0;;;3; +0;13;60;Total accumulated precipitation;kg m-2;1;-1;17;kg m-2;1;;;5; +0;13;71;Upstream water level;m;2;0;14;m;2;;;4; +0;13;72;Downstream water level;m;2;0;14;m;;;2;4; +0;13;73;Maximum water level;m;2;0;14;m;;;2;4; +0;13;80;Water pH;pH unit;1;0;10;pH unit;;;1;3; +0;13;81;Water conductivity;S m-1;3;0;14;S m-1;;;3;4; +0;13;82;Water temperature;K;1;0;12;K;;;1;4; +0;13;83;Dissolved oxygen;kg m-3;6;0;15;kg m-3;;;6;5; +0;13;84;Turbidity;Lumen;0;0;14;Lumen;;;0;4; +0;13;85;Oxydation Reduction Potential (ORP);V;3;0;14;V;;;3;4; +0;13;90;Radiometer water vapour content;kg m-2;1;0;10;kg m-2;;;1;4; +0;13;91;Radiometer liquid content;kg m-2;2;0;8;kg m-2;;;2;3; +;;;;;;;;;;;;; +;;;;;;;;;;;;;; +Notes:;;;;;;;;;;;;;; +-1;"A precipitation value of -0.1kg m-2 before scaling (-1 after scaling or in CREX) shall indicate a ""trace"" (non-measurable, less than 0.05 kg m-2).";;;;;;;;;;;;; +-2;"A snow depth value of -0.01 m before scaling (-1 after scaling or in CREX) shall indicate a little (less than 0.005 m) snow. A value of -0.02 m (-2 after scaling or in CREX) shall indicate ""snow cover not continuous"".";;;;;;;;;;;;; +-3;The parcel lifted index (as defined in the International Meteorological Vocabulary (WMO-No. 182) under the listing lifted index) is defined as the temperature difference between the ambient 500 hPa temperature (T500) and that of a parcel of air lifted from the surface (Tparcel) following the dry and moist adiabatic process. Negative values of (T500 - Tparcel) suggest instability. The best lifted index is defined as the most unstable of a collection of parcel lifted indices, with parcel initial conditions defined for a collection of 30 hPa thick layers stacked one upon the other with the lowest resting on the ground. Commonly four to six such layers are used in the calculation.;;;;;;;;;;;;; +-4;"Since the two lifted indices (042 and 043) are defined as temperature differences, they may take on negative values, even though the units are kelvin; hence the non-zero reference value.";;;;;;;;;;;;; +-5;Descriptor 0 13 033 should be used instead of descriptor 0 13 032 to encode evaporation/evapotranspiration.;;;;;;;;;;;;; +-6;Concerning descriptor 0 13 009, the originators of these data want to be able to retain the raw (i.e. unprocessed) relative humidity value reported by the sensor in order to be able to track, among other things, when a sensor begins to malfunction. The latter case is when a negative value might occur. For world-wide exchange with other countries, it is possible that only the processed data would ever be sent.;;;;;;;;;;;;; + +Class 14 - Radiation and radiance;;;;;;;;;;;;;; +;;;;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;;CREX;;;;; +;;;TABLE;;;REFERENCE VALUE;;DATA WIDTH (Bits);;;;DATA;; +;;;ELEMENT NAME;UNIT;SCALE;;;;UNIT;SCALE;;WIDTH;; +F;X;Y;;;;;;;;;;(Characters);; +0;14;1;Long-wave radiation, integrated over 24 hours;J m-2;-3;-2048;;12;J m-2;-3;;4;; +0;14;2;Long-wave radiation, integrated over period specified;J m-2;-3;-2048;;12;J m-2;-3;;4;; +0;14;3;Short-wave radiation, integrated over 24 hours;J m-2;-3;-2048;;12;J m-2;-3;;4;; +0;14;4;Short-wave radiation, integrated over period specified;J m-2;-3;-2048;;12;J m-2;-3;;4;; +0;14;11;Net long-wave radiation, integrated over 24 hours;J m-2;-3;-2048;;12;J m-2;-3;;4;; +0;14;12;Net long-wave radiation, integrated over period specified;J m-2;-3;-2048;;12;J m-2;-3;;4;; +0;14;13;Net short-wave radiation, integrated over 24 hours;J m-2;-3;-2048;;12;J m-2;-3;;4;; +0;14;14;Net short-wave radiation, integrated over period specified;J m-2;-3;-2048;;12;J m-2;-3;;4;; +0;14;15;Net radiation, integrated over 24 hours;J m-2;-4;-16384;;15;J m-2;-4;;5;; +0;14;16;Net radiation, integrated over period specified;J m-2;-4;-16384;;15;J m-2;-4;;5;; +0;14;17;Instantaneous long-wave radiation;W m-2;-3;-2048;;12;W m-2;-3;;4;; +0;14;18;Instantaneous short-wave radiation;W m-2;-3;-2048;;12;W m-2;-3;;4;; +0;14;19;Surface albedo;%;0;0;;7;%;0;;3;; +0;14;20;Global solar radiation, integrated over 24 hours;J m-2;-4;0;;15;J m-2;-4;;5;; +0;14;21;Global solar radiation, integrated over period specified;J m-2;-4;0;;15;J m-2;-4;;5;; +0;14;22;Diffuse solar radiation, integrated over 24 hours;J m-2;-4;0;;15;J m-2;-4;;5;; +0;14;23;Diffuse solar radiation, integrated over period specified;J m-2;-4;0;;15;J m-2;-4;;5;; +0;14;24;Direct solar radiation, integrated over 24 hours;J m-2;-4;0;;15;J m-2;-4;;5;; +0;14;25;Direct solar radiation, integrated over period specified;J m-2;-4;0;;15;J m-2;-4;;5;; +0;14;26;Albedo at the top of clouds;%;0;0;;7;%;0;;3;; +0;14;27;Albedo;%;0;0;;7;%;0;;3;; +0;14;28;Global solar radiation (high accuracy), integrated over period specified;J m-2;-2;0;;16;J m-2;-2;;5;; +0;14;29;Diffuse solar radiation (high accuracy), integrated over period specified;J m-2;-2;0;;16;J m-2;-2;;5;; +0;14;30;Direct solar radiation (high accuracy), integrated over period specified;J m-2;-2;0;;16;J m-2;-2;;5;; +0;14;31;Total sunshine;Minute;0;0;;11;Minute;0;;4;; +0;14;32;Total sunshine;Hour;0;0;;10;Hour;0;;4;; +0;14;33;Total sunshine;%;0;0;9;;%;;0;;3; +0;14;34;Sunshine over period specified;Minute;0;0;11;;Minute;;0;;4; +0;14;42;Bi-directional reflectance;%;0;0;7;;%;;0;;3; +0;14;45;Channel radiance;Wm-2 sr-1 cm-1;0;0;11;;Wm-2sr-1cm-1;;0;;4; +0;14;50;Emissivity (see note 5);%;1;0;10;;%;;1;;4; +0;14;51;Direct solar radiation, integrated over last hour;J m-2;-3;0;14;;Jm-2;;?3;;4; +;;;;;;;;;;;;;; +;;;;;;;;;;; +Notes:;;;;;;;;;;; +-1;Downward radiation shall be assigned negative values.;;;;;;;;;; +-2;Upward radiation shall be assigned positive values.;;;;;;;;;; +-3;Where the expression period specified is entered under ELEMENT NAME, an appropriate period shall be specified using descriptors from class 04.;;;;;;;;;; +-4;Channel radiance (014045) uses cm to represent the wave number.;;;;;;;;;; +-5;Emissivity is the ratio of the amount of energy emitted from a particular object compared to the amount that would be emitted by a blackbody at the same temperature (I.e. the Planck function). Multiplying by 100 gives a percent (and provides 2 digits of precision at the same time).;;;;;;;;;; +;;;;;;;;;;; + +Class 15 - Physical/chemical constituents;;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;REFERENCE VALUE;DATA WIDTH (Bits);;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;;;UNIT;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;15;1;Total ozone;DU;0;0;10;DU;0;4; +0;15;2;Air mass (slant path at 22 km);Numeric;2;0;10;Numeric;2;3; +0;15;3;Measured ozone partial pressure (sounding);Pascal;4;0;9;nbar;0;3; +0;15;4;Ozone sounding correction factor;Numeric;3;0;11;Numeric;3;4; +0;15;5;Ozone p;DU;0;0;10;DU;0;3; +0;15;11;Log 10 of integrated electron density;log (1/m2);3;14000;13;log (m-2);3;4; +0;15;15;Maximum image spectral component before normalization;Numeric;0;0;31;Numeric;0;10; +0;15;20;Integrated 03 density;kg m-2;8;0;21;kg m-2;8;7; +0;15;31;Atmospheric path delay in satellite signal;m;4;10000;15;m;4;5; +0;15;32;Estimated error in atmospheric path delay;m;4;0;10;m;4;4; +0;15;33;Difference in path delays for limb views at extremes of scan;m;5;-10000;15;m;5;5; +0;15;34;Estimated error in path delay difference;m;5;0;14;m;5;5; +0;15;35;Component of zenith path delay due to water vapour;m;4;0;14;m;4;5; +;;;;;;;;;;; +Notes:;;;;;;;;;;; +;;;;;;;;;;; +-1;0 15 003 is partial pressur of ozone, measured at the pressure level identified by 0 07 004.;;;;;;;;;; +;;;;;;;;;;; +-2;0 15 004 (CF) is defined as:;;;;;;;;;; +;CF = TOI/TOS;;;;;;;;;; +"where TOI is the integrated ozone value obtained ""simultaneously to a sounding"" from a Dobson or Brewer spectrophotometer at the site or ""nearby"" and TOS is the total ozone obtained from the sounding. TOS is sum of the integrated ozone below the lowest pressure level reached by the sounding and the estimate of the amount above. In the absence of any spectrophotometer measurement, CF = Missing value.";;;;;;;;;;; +;;;;;;;;;;; +-3;0 15 005 is the value obtained as the result of the vertical integration of the sounding values (0 15 003) measured below the lowest pressure level reached by the sonde, multiplied by 0 15 004.;;;;;;;;;; +;;;;;;;;;;; +-4;DU = Dobson unit.;;;;;;;;;; +;;;;;;;;;;; + +Class 19 - Synoptic features;;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;REFERENCE VALUE;DATA WIDTH (Bits);;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;;;UNIT;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;19;1;Type of synoptic feature;Code table;0;0;6;Code table;0;2; +0;19;2;Effective radius of feature;m;-2;0;12;m;-2;4; +0;19;3;Wind speed threshold;m s-1;0;0;8;m s-1;0;3; +0;19;4;Effective radius with respect to wind speeds above threshold;m;-2;0;12;m;-2;4; +0;19;5;Direction of motion of feature;Degree true;0;0;9;Degree true;0;3; +0;19;6;Speed of motion of feature;m s-1;2;0;14;m s-1;2;5; +0;19;7;Effective radius of feature;m;-3;0;12;m;-3;4; +0;19;8;Vertical extent of circulation;Code table;0;0;3;Code table;0;1; +0;19;9;Effective radius with respect to wind speeds above threshold (large storms);m;-3;0;12;m;-3;4; +0;19;10;Method for tracking the centre of synoptic feature;Code table;0;0;4;Code table;0;2; +;;;;;;;;;;; +Notes:;;;;;;;;;;; +;;;;;;;;;;; +-1;The effective radius of feature shall be defined with respect to the radius of the 1000-hPa isobars at mean sea level.;;;;;;;;;; +;;;;;;;;;;; +-2;Maximum wind and effective radius of maximum wind shall be indicated by means of the 0 19 003 and 0 19 004 entries.;;;;;;;;;; +;;;;;;;;;;; + +Class 20 - Observed phenomena;;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;REFERENCE VALUE;DATA WIDTH (Bits);;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;;;UNIT;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;20;1;Horizontal visibility;m;-1;0;13;m;-1;4; +0;20;2;Vertical visibility;m;-1;0;7;m;-1;3; +0;20;3;Present weather (see note 1);Code table;0;0;9;Code table;0;3; +0;20;4;Past weather (1) (see note 2);Code table;0;0;5;Code table;0;2; +0;20;5;Past weather (2) (see note 2);Code table;0;0;5;Code table;0;2; +0;20;8;Cloud distribution for aviation;Code table;0;0;5;Code table;0;2; +0;20;9;General Weather Indicator (TAF/METAR);Code table;0;0;4;Code table;0;2; +0;20;10;Cloud cover (total);%;0;0;7;%;0;3; +0;20;11;Cloud amount;Code table;0;0;4;Code table;0;2; +0;20;12;Cloud type;Code table;0;0;6;Code table;0;2; +0;20;13;Height of base of cloud;m;-1;-40;11;m;-1;4; +0;20;14;Height of top of cloud;m;-1;-40;11;m;-1;4; +0;20;15;Pressure at base of cloud;Pa;-1;0;14;Pa;-1;5; +0;20;16;Pressure at top of cloud;Pa;-1;0;14;Pa;-1;5; +0;20;17;Cloud top description;Code table;0;0;4;Code table;0;2; +0;20;18;Tendency of runway visual range;Code table;0;0;2;Code table;0;1; +0;20;19;Significant present or forecast weather;CCITT IA5;0;0;72;Character;0;9; +0;20;20;Significant recent weather phenomena;CCITT IA5;0;0;32;Character;0;4; +0;20;21;Type of precipitation;Flag table;0;0;30;Flag table;0;10; +0;20;22;Character of precipitation;Code table;0;0;4;Code table;0;2; +0;20;23;Other weather phenomena;Flag table;0;0;18;Flag table;0;6; +0;20;24;Intensity of phenomena;Code table;0;0;3;Code table;0;1; +0;20;25;Obscuration;Flag table;0;0;21;Flag table;0;7; +0;20;26;Character of obscuration;Code table;0;0;4;Code table;0;2; +0;20;27;Phenomena occurrence;Flag table;0;0;9;Flag table;0;3; +0;20;29;Rain flag;Code table;0;0;2;Code table;0;1; +0;20;31;Ice deposit (thickness);m;2;0;7;m;2;3; +0;20;32;Rate of ice accretion;Code table;0;0;3;Code table;0;1; +0;20;33;Cause of ice accretion;Flag table;0;0;4;Flag table;0;2; +0;20;34;Sea ice concentration;Code table;0;0;5;Code table;0;2; +0;20;35;Amount and type of ice;Code table;0;0;4;Code table;0;2; +0;20;36;Ice situation;Code table;0;0;5;Code table;0;2; +0;20;37;Ice development;Code table;0;0;5;Code table;0;2; +0;20;38;Bearing of ice edge (see note 3);Degree true;0;0;12*;Degree true;0;3; +0;20;39;Ice distance;m;-1;0;13;m;-1;4; +0;20;41;Airframe icing;Code table;0;0;4;Code table;0;2; +0;20;42;Airframe icing present;Code table;0;0;2;Code table;0;1; +0;20;43;Peak liquid water content;kg m-3;4;0;7;kg m-3;4;2; +0;20;44;Average liquid water content;kg m-3;4;0;7;kg m-3;4;2; +0;20;45;Supercooled large droplet (SLD) conditions;Code table;0;0;2;Code table;0;1; +0;20;51;Amount of low clouds;%;0;0;7;%;0;3; +0;20;52;Amount of middle clouds;%;0;0;7;%;0;3; +0;20;53;Amount of high clouds;%;0;0;7;%;0;3; +0;20;61;Runway visual range (RVR);m;0;0;12;m;0;4; +0;20;62;State of the ground (with or without snow);Code table;0;0;5;Code table;0;2; +0;20;63;Special phenomena;Code table;0;0;10;Code table;0;4; +0;20;65;Snow cover (see note 4);%;0;0;7;%;0;3; +0;20;70;Minimum number of atmospherics;Numeric;0;0;7;Numeric;0;3; +0;20;71;Accuracy of fix and rate of atmospherics;Code table;0;0;4;Code table;0;2; +0;20;81;Cloud amount in segment;%;0;0;7;%;0;3; +0;20;82;Amount segment cloud free;%;0;0;7;%;0;3; +0;20;90;Special clouds;Code table;0;0;4;Code table;0;2; +;;;;;;;;;;; +Notes:;;;;;;;;;;; +;;;;;;;;;;; +-1;When encoding present weather reported from an automatic weather station, the appropriate combination of descriptors 0-20-021, 0-20-022, 0-20-023, 0-20-024, 0-20-025, 0-20-026 and 0-20-027 should be used and preferred. A descriptor 0-20-003 should be used only when descriptors mentioned above are not applicable.;;;;;;;;;; +;;;;;;;;;;; +-2;When encoding past weather reported from an automatic weather station, the appropriate combination of descriptors 0-20-021, 0-20-022, 0-20-023, 0-20-024, 0-20-025, 0-20-026 and 0-20-027 should be used and preferred. Descriptors 0-20-004 or 0-20-005 should be used only when descriptors mentioned above are not applicable.;;;;;;;;;; +;;;;;;;;;;; +-3;The data width for descriptor 0 20 038 originally defined to be 12 is wrong. Nine bits are sufficient as for all the other degree true quantities. However, the 12-bit width is maintained for historical consistency.;;;;;;;;;; +;;;;;;;;;;; +-4;Snow cover will be reported for each satellite pixel as a percentage of coverage of the pixel. It does not seem feasible to try to use existing descriptor 0 20 062 for such a purpose because the use of that descriptor additionally implies details on, e.g. snow drifts, wet compared to dry snow, etc. that a satellite obviously cannot accurately detect.;;;;;;;;;; +;;;;;;;;;;; + +Class 21 - Radar data;;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;;DATA WIDTH (Bits);;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;;UNIT;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;21;1;Horizontal reflectivity;dB;0;-64;7;dB;0;3; +0;21;2;Vertical reflectivity;dB;0;-64;7;dB;0;3; +0;21;3;Differential reflectivity;dB;1;-5;7;dB;1;3; +0;21;5;Linear depolarisation ratio ;dB;0;-65;6;dB;0;2; +0;21;6;Circular depolarisation ratio ;dB;0;-65;6;dB;0;2; +0;21;11;Doppler mean velocity in X-direction;m s-1;0;-128;8;m s-1;0;3; +0;21;12;Doppler mean velocity in Y-direction;m s-1;0;-128;8;m s-1;0;3; +0;21;13;Doppler mean velocity in Z-direction;m s-1;0;-128;8;m s-1;0;3; +0;21;14;Doppler mean velocity (radial);m s-1;1;-4096;13;m s-1;1;4; +0;21;17;Doppler velocity spectral width;m s-1;1;0;8;m s-1;1;3; +0;21;21;Echo tops ;m;-3;0;4;m;-3;2; +0;21;30;Signal to noise ratio;dB;0;-32;8;dB;0;3; +0;21;31;Vertically integrated liquid-water content;kg m-2;0;0;7;kg m-2;0;3; +0;21;36;Radar rainfall intensity ;m s-1;7;0;12;m s-1;7;4; +0;21;41;Bright-band height ;m;-2;0;8;m;-2;3; +0;21;51;Signal power above 1 mW;dB;0;-256;8;dB;0;3; +0;21;62;Backscatter;dB;2;-5000;13;dB;2;4; +0;21;63;Radiometric resolution (noise value);%;1;0;10;%;1;4; +0;21;64;Clutter noise estimate;Numeric;0;0;8;Numeric;0;3; +0;21;65;Missing packet counter;Numeric;0;-127;8;Numeric;0;3; +0;21;66;Wave scatterometer product confidence data;Flag table;0;0;12;Flag table;0;4; +0;21;67;Wind product confidence data;Flag table;0;0;13;Flag table;0;5; +0;21;68;Radar altimeter product confidence data;Flag table;0;0;8;Flag table;0;3; +0;21;69;SST product confidence data;Flag table;0;0;10;Flag table;0;4; +0;21;70;SST product confidence data (SADIST-2);Flag table;0;0;23;Flag table;0;6; +0;21;71;Peakiness;Numeric;0;0;16;Numeric;0;5; +0;21;72;Satellite altimeter calibration status;Flag table;0;0;4;Flag table;0;2; +0;21;73;Satelllite altimeter instrument mode;Flag table;0;0;9;Flag table;0;3; +0;21;75;Image spectrum intensity;Numeric;0;0;8;Numeric;0;3; +0;21;76;Representation of intensities;Code table;0;0;3;Code table;0;1; +0;21;77;Altitude correction (ionosphere);m;3;0;14;m;3;5; +0;21;78;Altitude correction (dry troposphere);m;3;0;9;m;3;3; +0;21;79;Altitude correction (wet troposphere);m;3;2000;10;m;3;4; +0;21;80;Altitude correction (calibration constant);m;3;0;11;m;3;4; +0;21;81;Open loop correction (height-time loop);m;3;0;10;m;3;4; +0;21;82;Open loop correction (auto gain control);dB;3;-3000;14;dB;3;5; +0;21;83;Warm target calibration;Numeric;0;0;16;Numeric;0;5; +0;21;84;Cold target calibration;Numeric;0;0;16;Numeric;0;5; +0;21;85;ATSR sea surface temperature across- track band number;Numeric;0;0;4;Numeric;0;2; +0;21;91;Radar signal Doppler spectrum 0th moment;dB;0;-100;8;dB;0;3; +0;21;92;RASS signal Doppler spectrum 0th moment, referring to RASS signal;dB;0;-100;8;dB;0;3; +0;21;101;Number of vector ambiguities;Numeric;0;0;3;Numeric;0;1; +0;21;102;Index of selected wind vector;Numeric;0;0;3;Numeric;0;1; +0;21;103;Total number of sigma-0 measurements;Numeric;0;0;5;Numeric;0;2; +0;21;104;Likelihood computed for solution;Numeric;3;-30000;15;Numeric;3;5; +0;21;105;Normalized radar cross-section;dB;2;-10000;14;dB;2;5; +0;21;106;Kp variance coefficient (Alpha);Numeric;3;0;14;Numeric;3;5; +0;21;107;Kp variance coefficient (Beta);Numeric;8;0;16;Numeric;8;5; +0;21;109;SEAWINDS wind vector cell quality;Flag table;0;0;17;Flag table;0;6; +0;21;110;Number of inner-beam Sigma-0 (forward of satellite);Numeric;0;0;6;Numeric;0;2; +0;21;111;Number of outer-beam Sigma-0 (forward of satellite);Numeric;0;0;6;Numeric;0;2; +0;21;112;Number of inner-beam Sigma-0 (aft of satellite);Numeric;0;0;6;Numeric;0;2; +0;21;113;Number of outer-beam Sigma-0 (aft of satellite);Numeric;0;0;6;Numeric;0;2; +0;21;114;Kp variance coefficent (Gamma);dB;3;-140000;18;dB;3;6; +0;21;115;SEAWINDS sigma-0 quality;Flag table;0;0;17;Flag table;0;6; +0;21;116;SEAWINDS sigma-0 mode;Flag table;0;0;17;Flag table;0;6; +0;21;117;Sigma-0 variance quality control;Numeric;2;0;16;Numeric;2;5; +0;21;118;Attenuation correction on sigma-0;dB;2;-10000;14;dB;2;5; +0;21;119;Wind scatterometer geophysical model function;Code table;0;0;6;Code table;0;2; +0;21;120;Probability of rain;Numeric;3;0;10;Numeric;3;4; +0;21;121;SEAWINDS NOF* rain index;Numeric;0;0;8;Numeric;0;3; +0;21;122;Attenuation correction of sigma-0 (from tB);dB;2;-10000;14;dB;2;5; +0;21;123;SEAWINDS normalized radar cross section;dB;2;-30000;15;dB;2;5; +0;21;128;Number of valid points per second used to derive previous parameters;Numeric;0;0;8;Numeric;0;3; +;;;;;;;;;;; +Note:;NOF = Normalized Objective Function;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; + +Class 22 - Oceanographic elements;;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;REFERENCE VALUE;DATA WIDTH (Bits);;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;;;UNITS;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;22;1;Direction of waves ;Degree true;0;0;9;Degree true;0;3; +0;22;2;Direction of wind waves ;Degree true;0;0;9;Degree true;0;3; +0;22;3;Direction of swell waves ;Degree true;0;0;9;Degree true;0;3; +0;22;4;Direction of current ;Degree true;0;0;9;Degree true;0;3; +0;22;11;Period of waves ;s;0;0;6;s;0;2; +0;22;12;Period of wind waves ;s;0;0;6;s;0;2; +0;22;13;Period of swell waves ;s;0;0;6;s;0;2; +0;22;21;Height of waves ;m;1;0;10;m;1;4; +0;22;22;Height of wind waves ;m;1;0;10;m;1;4; +0;22;23;Height of swell waves ;m;1;0;10;m;1;4; +0;22;25;Standard deviation wave height;m;2;0;10;m;2;4; +0;22;26;Standard deviation of significant wave height;m;2;0;10;m;2;4; +0;22;31;Speed of current ;m s-1;2;0;13;m s-1;2;4; +0;22;35;Tidal elevation with respect to local chart datum;m;2;0;14;m;2;4; +0;22;36;Meteorological residual tidal elevation (surge or offset);m;2;0;14;m;2;4; +0;22;37;Tidal elevation with respect to national land datum;m;3;-10000;15;m;3;5; +0;22;38;Tidal elevation with respect to local chart datum;m;3;-10000;15;m;3;5; +0;22;39;Meteorological residual tidal elevation (surge or offset);m;3;-5000;12;m;3;4; +0;22;40;Meteorological residual tidal elevation (surge or offset);m;3;-5000;14;m;3;5; +0;22;41;Sea-surface temperature (15-day running mean);K;1;0;12;K;1;4; +0;22;42;Sea/water temperature;K;1;0;12;K;1;4; +0;22;43;Sea/water temperature;K;2;0;15;K;2;5; +0;22;44;Sound velocity ;m s-1;1;0;14;m s-1;1;5; +0;22;45;Sea/water temperature;K;3;0;19;K;3;6; +0;22;50;Standard deviation sea-surface temperature;K;2;0;8;K;2;3; +0;22;55;Float cycle number;Numeric;0;0;10;Numeric;0;3; +0;22;56;Direction of profile;Code table;0;0;2;Code table;0;1; +0;22;61;State of the sea ;Code table;0;0;4;Code table;0;2; +0;22;62;Salinity;Part per thousand;2;0;14;Part per thousand;2;5; +0;22;63;Total water depth ;m;0;0;14;m;0;5; +0;22;64;Salinity;Part per thousand;3;0;17;Part per thousand;3;6; +0;22;65;Water pressure;Pa;-3;0;17;Pa;-3;6; +0;22;66;Water conductivity;S m-1;6;0;26;S m-1;6;8; +0;22;67;Instrument type for water temperature profile measurement;Code table;0;0;10;Code table;0;4; +0;22;68;Water temperature profile recorder types;Code table;0;0;7;Code table;0;3; +0;22;70;Significant wave height;m;2;0;13;m;2;4; +0;22;71;Spectral peak wave period;s;1;0;9;s;1;3; +0;22;72;Spectral peak wave length;m;0;0;13;m;0;4; +0;22;73;Maximum wave height;m;2;0;13;m;2;4; +0;22;74;Average wave period;s;1;0;9;s;1;3; +0;22;75;Average wave length;m;0;0;13;m;0;4; +0;22;76;Direction from which dominant waves are coming;Degree true;0;0;9;Degree true;0;3; +0;22;77;Directional spread of dominant wave;Degree;0;0;9;Degree;0;3; +0;22;78;Duration of wave record;s;0;0;12;s;0;4; +0;22;79;Length of wave record;m;0;0;16;m;0;5; +0;22;80;Waveband central frequency;Hz;3;0;10;Hz;3;4; +0;22;81;Waveband central wave number;m-1;5;0;13;m-1;5;4; +0;22;82;Maximum non-directional spectral wave density;m2 s;2;0;20;m2 s;2;7; +0;22;83;Maximum non-directional spectral wave number;m3;2;0;20;m3;2;7; +0;22;84;Band containing maximum non- directional spectral wave density;Numeric;0;0;7;Numeric;0;3; +0;22;85;Spectral wave density ratio;Numeric;0;0;7;Numeric;0;3; +0;22;86;Mean direction from which waves are coming;Degree true;0;0;9;Degree true;0;3; +0;22;87;Principal direction from which waves are coming;Degree true;0;0;9;Degree true;0;3; +0;22;88;First normalized polar coordinate from Fourier coefficients;Numeric;2;0;7;Numeric;2;3; +0;22;89;Second normalized polar coordinate from Fourier coefficients;Numeric;2;0;7;Numeric;2;3; +0;22;90;Non-directional spectral estimate by wave frequency;m2 s;2;0;20;m2 s;2;7; +0;22;91;Non-directional spectral estimate by wave number;m3;2;0;20;m3;2;7; +0;22;92;Directional spectral estimate by wave frequency;m2 rad-1 s;2;0;20;m2 rad-1 s;2;7; +0;22;93;Directional spectral estimate by wave number;m4;2;0;20;m4;2;7; +0;22;94;Total number of wave bands;Numeric;0;0;7;Numeric;0;3; +0;22;95;Directional spread of individual waves;Degree;0;0;8;Degree;0;3; +0;22;96;Spectral band width;s-1;3;0;4;s-1;3;2; +0;22;97;Mean wavelength > 731 m of image spectrum at low wave numbers;m;0;0;14;m;0;5; +0;22;98;Wavelength spread (wavelength > 731 m) at low wave numbers;m;0;0;14;m;0;5; +0;22;99;Mean direction at low wave numbers (wavelength > 731 m);Degree true;0;0;9;Degree true;0;3; +0;22;100;Direction spread at low wave numbers(wavelength > 731 m);Degree;0;0;9;Degree;0;3; +0;22;101;Total energy (wavelength > 731m) at low wave numbers;Numeric;0;0;31;Numeric;0;10; +0;22;120;Tide station automated water level check;Code table;0;0;5;Code table;0;2; +0;22;121;Tide station manual water level check;Code table;0;0;5;Code table;0;2; +0;22;122;Tide station automated meteorological data check;Code table;0;0;5;Code table;0;2; +0;22;123;Tide station manual meteorological data check;Code table;0;0;5;Code table;0;2; +0;22;141;Sea-surface temperature (15-day running mean);K;2;0;15;K;2;5; +;;;;;;;;;;; +;;;;;;;;;;; +Notes:;;;;;;;;;;; +-1;The significant wave height is defined as four times the square root of the energy spectrum integrated over direction and frequency. It corresponds to about the height that one-third of all waves exceed.;;;;;;;;;; +;;;;;;;;;;; +-2;The dominant wave is the one that has the maximum energy in the energy spectrum.;;;;;;;;;; +;;;;;;;;;;; +-3;Mean Wave Direction is the angle alpha 1 and Principal Wave Direction is the angle alpha 2, in the expression S(f, alpha) approximately equals:;;;;;;;;;; +c11 x (0.5 + r1 x cos (alpha-alpha 1) + r2 x cos (2 (alpha-alpha 2) ) ) / pi;;;;;;;;;;; +in which S(f, alpha) is the wave directional spectrum and c11 is the non directional spectrum, and the right hand side of this expression is the first two terms of the Fourier series expansion of S(f, alpha). If the mean and principal directions differ significantly (e.g, more than 15 degrees) for a given frequency, crossing seas are indicated.;;;;;;;;;;; +; +-4;Descriptor 0 22 040 should be used instead of 0 22 039 for encoding meteorological residual tidal elevation (surge or offset). +; +-5;Additional information: +0 22 097 nominal input range 0 - 10000; +0 22 098 nominal input range 0 - 10000; +0 22 099 nominal input range 0 - 359; +0 22 100 nominal input range 0 - 359; +0 22 101 nominal input range 0 - 2 x 106, but may be greater because of uncertainty.; +; +-6;Descriptors 0 22 001, 0 22 002, 0 22 003: the direction given in these entries is the direction which waves are coming from. +; +-7;Descriptor 0 22 004: the direction given in this entry is the direction towards which the current is flowing. +; +-8;Wind waves and waves reporting standards +; +Observation;Speed;Direction;;;;;;;;; +;;;;;;;;;;; +No observation;Missing;Missing;;;;;;;;; +Calm;0;0;;;;;;;;; +Normal observation;>0;1-360;;;;;;;;; +Speed only;>0;Missing;;;;;;;;; +Direction only;Missing;1-360;;;;;;;;; +"""Light and variable""";>0;0;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; + +Class 23 - Dispersal and transport;;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;;DATA WIDTH (Bits);;;DATA ; +;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;;UNITS ;SCALE ;WIDTH ; +F;X;Y;;;;;;;;(Characters); +0;23;1;Accident early notification - article applicable;Code table;0;0;3;Code table ;0;1; +0;23;2;Activity or facility involved in incident;Code table;0;0;5;Code table ;0;2; +0;23;3;Type of release ;Code table;0;0;3;Code table ;0;1; +0;23;4;Countermeasures taken near border;Code table;0;0;3;Code table ;0;1; +0;23;5;Cause of incident ;Code table;0;0;2;Code table ;0;1; +0;23;6;Incident situation ;Code table;0;0;3;Code table ;0;1; +0;23;7;Characteristics of release;Code table;0;0;3;Code table ;0;1; +0;23;8;State of current release ;Code table;0;0;2;Code table ;0;1; +0;23;9;State of expected release ;Code table;0;0;2;Code table ;0;1; +0;23;16;Possibility of significant chemical toxic health effect;Code table;0;0;2;Code table ;0;1; +0;23;17;Flow discharge of major recipient;m3 s-1 ;6;0;20;m3 s-1;6;7; +0;23;18;Release behaviour over time;Code table;0;0;3;Code table ;0;1; +0;23;19;Actual release height;m;0;-15000;17;m ;0;6; +0;23;21;Effective release height;m;0;-15000;17;m ;0;6; +0;23;22;Distance of release point or site of incident;m;0;0;24;m ;0;8; +0;23;23;Main transport speed in the atmosphere;m s-1 ;1;0;12;m s-1;1;4; +0;23;24;Main transport speed in water;m s-1 ;2;0;13;m s-1;2;4; +0;23;25;Main transport speed in ground water;m s-1 ;2;0;13;m s-1;2;4; +0;23;27;Main transport direction in the atmosphere;Degree true ;0;0;9;Degree true ;0;3; +0;23;28;Main transport direction in water;Degree true ;0;0;9;Degree true ;0;3; +0;23;29;Main transport direction in ground water;Degree true ;0;0;9;Degree true ;0;3; +0;23;31;Possibility that plume will encounter precipitation in State in which incident occurred;Code table;0;0;2;Code table ;0;1; +0;23;32;Plume will encounter change in wind direction and/or speed flag;Code table;0;0;2;Code table ;0;1; +;;;;;;;;;;; +;;;;;;;;;;; + +Class 24 - Radiological elements;;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;;DATA WIDTH (Bits);;;DATA ; +;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;;UNIT ;SCALE ;WIDTH ; +F;X;Y;;;;;;;;(Characters); +0;24;1;Estimate of amount of radioactivity released up to specified time;Bq*;-11;0;28;Bq* ;-11;9; +0;24;2;Estimated maximum potential release;Bq;-11;0;28;Bq ;-11;9; +0;24;3;Composition of release;Code table;0;0;5;Code table ;0;2; +0;24;4;Element name;CCITT IA5;0;0;16;Character;0;2; +0;24;5;Isotope mass;Numeric;0;0;9;Numeric ;0;3; +0;24;11;Dose;mSv*/**;2;0;32;mSv*/**;2;10; +0;24;12;Trajectory dose (defined location and expected time of arrival);mSv;2;0;32;mSv;2;10; +0;24;13;Gamma dose in air along the main transport path (defined location and time period);mSv;2;0;32;mSv ;2;10; +0;24;21;Air concentration (of named isotope type including gross beta);Bq m-3;2;0;32;Bq m-3;2;10; +0;24;22;Concentration in precipitation (of names isotope type);Bq 1-1;2;0;32;Bq l-1;2;10; +0;24;23;Pulse rate of beta radiation;s-1;1;0;14;s-1;1;4; +0;24;24;Pulse rate of gamma radiation;s-1;1;0;14;s-1;1;4; +;;;;;;;;;;; +;;;; +Note:;Useful ranges used above:;;; +"1011 Bq to 1019 Bq for releases;";;;; +10-2 Bq to 107 Bq and 10-2 mSv to 107 mSv for concentration and doses.;;;; +;;;; +__________;;;; +;;;; +*;New named unit and symbol;In other SI units;Old special unit and symbol;Relationship, old to new units +;becquerel (Bq);s-1;curie (Ci);1 Ci = 3.7 x 1010 Bq +;sievert (Sv);J kg-1;rem (rem);1 rem = 0.01 Sv +**;Millisievert;;; +;;;; +;;;; +;;;; +;;;; +;;;; + +Class 25 - Processing information;;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;;DATA WIDTH (Bits);;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;;UNIT;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;25;1;Range-gate length;m;-1;0;6;m;?1;2; +0;25;2;Number of gates averaged;Numeric;0;0;4;Numeric;0;2; +0;25;3;Number of integrated pulses;Numeric;0;0;8;Numeric;0;3; +0;25;4;Echo processing;Code table;0;0;2;Code table;0;1; +0;25;5;Echo integration;Code table;0;0;2;Code table;0;1; +0;25;6;Z to R conversion;Code table;0;0;3;Code table;0;1; +0;25;7;Z to R conversion factor;Numeric;0;0;12;Numeric;0;4; +0;25;8;Z to R conversion exponent;Numeric;2;0;9;Numeric;2;3; +0;25;9;Calibration method;Flag table;0;0;4;Flag table;0;2; +0;25;10;Clutter treatment;Code table;0;0;4;Code table;0;2; +0;25;11;Ground occultation correction (screening);Code table;0;0;2;Code table;0;1; +0;25;12;Range attenuation correction;Code table;0;0;2;Code table;0;1; +0;25;13;Bright-band correction;Flag table;0;0;2;Flag table;0;1; +0;25;14;Azimuth clutter cut-off (see Note 1);Numeric;0;0;12;Numeric;0;4; +0;25;15;Radome attenuation correction;Flag table;0;0;2;Flag table;0;1; +0;25;16;Clear-air attenuation correction;dB m-1;5;0;6;dB m-1;5;2; +0;25;17;Precipitation attenuation correction;Flag table;0;0;2;Flag table;0;1; +0;25;18;A to Z law for attenuation factor;Numeric;7;0;6;Numeric;7;2; +0;25;19;A to Z law for attenuation exponent;Numeric;2;0;7;Numeric;2;3; +0;25;20;Mean speed estimation;Code table;0;0;2;Code table;0;1; +0;25;21;Wind computation enhancement;Flag table;0;0;8;Flag table;0;3; +0;25;25;Battery voltage;V;1;0;9;V;1;3; +0;25;30;Running mean sea-surface temperature usage;Code table;0;0;2;Code table;0;1; +0;25;32;Wind profiler mode information*;Code table;0;0;2;Code table;0;1; +0;25;33;Wind profiler submode information*;Code table;0;0;2;Code table;0;1; +0;25;34;Wind profiler quality control test results* ;Flag table;0;0;4;Flag table;0;2; +0;25;36;Atmospherics location method;Code table;0;0;4;Code table;0;2; +0;25;40;CO2 wind product derivation;Code table;0;0;4;Code table;0;2; +0;25;41;Moving platform direction reporting method;Code table;0;0;2;Code table;0;1; +0;25;42;Moving platform speed reporting method;Code table;0;0;2;Code table;0;1; +0;25;43;Wave sampling interval (time);s;4;0;15;s;4;5; +0;25;44;Wave sampling interval (space);m;2;0;14;m;2;5; +0;25;45;HIRS channel combination;Flag table;0;0;21;Flag table;0;7; +0;25;46;MSU channel combination;Flag table;0;0;5;Flag table;0;2; +0;25;47;SSU channel combination;Flag table;0;0;4;Flag table;0;2; +0;25;48;AMSU-A channel combination;Flag table;0;0;16;Flag table;0;6; +0;25;49;AMSU-B channel combination;Flag table;0;0;6;Flag table;0;2; +0;25;50;Principal component score;Numeric;4;-131072;18;Numeric;4;6; +0;25;51;AVHRR channel combination;Flag table;0;0;7;Flag table;0;3; +0;25;53;Observation quality;Flag table;0;0;12;Flag table;0;4; +0;25;54;SSMIS Subframe ID nember;Numeric;0;0;5;Numeric;0;2; +0;25;55;Multiplexer housekeeping;K;2;0;16;K;2;5; +0;25;60;Software identification (see Note 2);Numeric;0;0;14;Numeric;0;5; +0;25;61;Software identification and version number;CCITT IA5;0;0;96;Character;0;12; +0;25;65;Orientation correction (azimuth);Degree;2;-1000;11;Degree;2;4; +0;25;66;Orientation correction (elevation);Degree;2;-1000;11;Degree;2;4; +0;25;67;Radiosonde release point pressure correction;Pa;0;-8000;14;Pa;0;4; +0;25;68;Number of archive recomputes;Numeric;0;0;7;Numeric;0;3; +0;25;69;Flight level pressure corrections;Flag table;0;0;8;Flag table;0;3; +0;25;70;Major frame count;Numeric;0;0;4;Numeric;0;2; +0;25;71;Frame count;Numeric;0;0;5;Numeric;0;2; +0;25;75;Satellite antenna corrections version number;Numeric;0;0;5;Numeric;0;2; +0;25;76;Log-10 of (Temperature-radiance central wave number) for ATOVS;Log m-1;8;0;30;log m-1;8;10; +0;25;77;Bandwidth correction coefficient 1 for ATOVS;Numeric;5;-100000;18;Numeric;5;7; +0;25;78;Bandwidth correction coefficient 2 for ATOVS;Numeric;5;0;17;Numeric;5;6; +0;25;79;Albedo-radiance solar filtered irradiance for ATOVS;W m-2;4;0;24;W m-2;4;8; +0;25;80;Albedo-radiance equivalent filter width for ATOVS;m;10;0;14;m;10;5; +0;25;85;Fraction of clear pixels in HIRS FOV;Numeric;0;0;7;Numeric;0;3; +0;25;86;Depth correction indicator;Code table;0;0;2;Code table;0;1; +0;25;91;Structure constant of the refraction index (Cn2);dB;3;-18192;13;dB;3;5; +0;25;92;Acoustic propagation velocity;m s-1;2;28000;14;m s-1;2;5; +0;25;93;RASS computation correction;Flag table;0;0;8;Flag table;0;3; +0;25;95;Altimeter state flag;Flag table;0;0;2;Flag table;0;1; +0;25;96;Radiometer state flag;Flag table;0;0;5;Flag table;0;2; +0;25;97;Three dimensional error estimate of the navigator orbit;Code table;0;0;4;Code table;0;2; +0;25;100;XBT/XCTD fall rate equation coefficient a;Numeric;5;0;20;Numeric;5;6; +0;25;101;XBT/XCTD fall rate equation coefficient b;Numeric;5;-500000;21;Numeric;5;6; +;;;;;;;;;;; +Notes:;;(1) 0 25 014 nominal input range 0 - 2300;;;;;;;;; +;(2) The actual meaning may be obtained from the originator of the data.;;;;;;;;;; + +Class 26 - Non-coordinate location (time);;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;;DATA WIDTH (Bits);;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;;UNIT;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;26;1;Principal time of daily reading in UTC of maximum temperature;Hour;1;0;12;Hour;1;3; +0;26;2;Principal time of daily reading in UTC of minimum temperature;Hour;1;0;12;Hour;1;3; +0;26;3;Time difference;Minute;0;-1440;12;Minute;0;4; +0;26;10;Hours included;Flag table;0;0;26;Flag table;0;9; +0;26;20;Duration of precipitation;Minute;0;0;11;Minute;0;4; +;;;;;;;;;;; +Note:;Descriptor 0 26 003 is to be used with 0 08 025 (time difference qualifier).;;;;;;;;;; + +Class 27 - Non-coordinate location (horizontal - 1);;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;;DATA WIDTH (Bits);;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;;UNIT;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;27;1;Latitude (high accuracy);Degree;5;-9000000;25;Degree;5;7; +0;27;2;Latitude (coarse accuracy);Degree;2;-9000;15;Degree;2;4; +0;27;3;Alternate latitude (coarse accuracy);Degree;2;-9000;15;Degree;2;4; +0;27;4;Alternate latitude (high accuracy);Degree;5;-9000000;25;Degree;5;7; +0;27;20;Satellite location counter;Numeric;0;0;16;Numeric;0;5; +0;27;21;Satellite sublocation dimension;Numeric;0;0;16;Numeric;0;5; +0;27;31;In direction of 0 degrees longitude, distance from the Earths centre;m;2;-1073741824;31;m;2;10; +;;;;;;;;;;; +Notes:;;;;;;;;;;; +-1;The alternate latitude may be used when the computation of the position yields multiple solutions and there is no a priori way to distinguish between them.;;;;;;;;;; +;;;;;;;;;;; +-2;The satellite location counter is calculated as:;;;;;;;;;; +;counter = superswath no. x 1000 + box no. x 10 + minibox no.;;;;;;;;;; +;;;;;;;;;;; +-3;The satellite sublocation dimension is calculated as:;;;;;;;;;; +;dimension = minibox dimension + box dimension;;;;;;;;;; +where:;minibox dimension;= lines x 1000;+ spots x 100;;;;;;;; +;box dimension ;= lines x 10;+ spots;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +-4;The value for descriptor 0 27 031 has been chosen to be suitable for polar orbiting satellites in approximately sun-synchronous orbits. Geostationary orbits would require greater data widths for distance and slightly less for speed.;;;;;;;;;; +;;;;;;;;;;; +-5;Left handed xyz axes have been chosen for descriptor 0 27 031.;;;;;;;;;; + +Class 28 - Non-coordinate location (horizontal - 2);;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;;DATA WIDTH (Bits);;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;;UNIT;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;28;1;Longitude (high accuracy);Degree;5;-18000000;26;Degree;5;8; +0;28;2;Longitude (coarse accuracy);Degree;2;-18000;16;Degree;2;5; +0;28;3;Alternate longitude (coarse accuracy);Degree;2;-18000;16;Degree;2;5; +0;28;4;Alternate longitude (high accuracy);Degree;5;-18000000;26;Degree;5;8; +0;28;31;In direction 90 degrees East, distance from the Earths centre;m;2;-1073741824;31;m;2;10; +;;;;;;;;;;; +;;;;;;;;;;; +Notes:;;;;;;;;;;; +-1;The alternate longitude may be used when the computation of the position yields multiple solutions and there is no a priori way to distinguish between them.;;;;;;;;;; +-2;The value for descriptor 0 28 031 has been chosen to be suitable for polar orbiting satellites in approximately sun-synchronous orbits. Geostationary orbits would require greater data widths for distance and slightly less for speed.;;;;;;;;;; +-3;Left handed xyz axes have been chosen for descriptor 0 28 031.;;;;;;;;;; +;;;;;;;;;;; + +Class 29 - Map data;;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;;DATA WIDTH (Bits);;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;;UNIT;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;29;1;Projection type;Code table;0;0;3;Code table;0;1; +0;29;2;Co-ordinate grid type;Code table;0;0;3;Code table;0;1; +;;;;;;;;;;; +;;;;;;;;;;; + +Class 30 - Image;;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;;DATA WIDTH (Bits);;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;;UNIT;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;30;1;Pixel value (4 bits);Numeric;0;0;4;Numeric;0;2; +0;30;2;Pixel value (8 bits);Numeric;0;0;8;Numeric;0;3; +0;30;4;Pixel value (16 bits);Numeric;0;0;16;Numeric;0;5; +0;30;21;Number of pixels per row;Numeric;0;0;12;Numeric;0;4; +0;30;22;Number of pixels per column;Numeric;0;0;12;Numeric;0;4; +0;30;31;Picture type;Code table;0;0;4;Code table;0;2; +0;30;32;Combination with other data;Flag table;0;0;16;Flag table;0;6; +;;;;;;;;;;; +Notes: ;;;;;;;;;;; +-1;Pixel data width can be changed with descriptor 2 01 YYY.;;;;;;;;;; +-2;In order to distinguish unambiguously the cases of missing data and saturated pixels, n-bit image data should be encoded using a data width of n+1. Where such a descriptor is not already available in Class 30, operator descriptor 2 01 YYY should be used to modify the data width of the existing entry as required.;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; + +Class 31 - Data description operator qualifiers (this class does not exist in CREX);;;;;;; +;;;;;;; +;;;;;;; +;;;;;;; +TABLE REFERENCE;;;TABLE;;;;DATA WIDTH (Bits) +F;X;Y;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE; +0;31;0;Short delayed descriptor replication factor;Numeric;0;0;1 +0;31;1;Delayed descriptor replication factor;Numeric;0;0;8 +0;31;2;Extended delayed descriptor replication factor;Numeric;0;0;16 +0;31;11;Delayed descriptor and data repetition factor;Numeric;0;0;8 +0;31;12;Extended delayed descriptor and data repetition factor;Numeric;0;0;16 +0;31;21;Associated field significance;Code table;0;0;6 +0;31;31;Data present indicator;Flag table;0;0;1 +;;;;;;; +;;;;;;; +Notes:;;;;;;; +(1) The delayed descriptor and data repetition factor is intended for run-length encoding (e.g. scanning an image). It specifies a count N which applies to both descriptor and data, i.e. the value of the single element defined by the following descriptor is repeated N times (at intervals already specified).;;;;;;;;;;; +;;;;;;;;;;; +(2) Descriptor 0 31 031, used in conjunction with quality control or statistics operators 2 22 YYY through 2 32 YYY, shall indicate the presence of quality control information when the indicator value is set to zero. It may be used, in conjunction with the replication operator 1 01 YYY, to construct a table of data present/not present indicators, forming a data present bit-map as defined in Regulation 94.5.5.3. This makes it possible to present quality control information and statistical information for selected data corresponding to element descriptors which precede the 2 22 to 32 YYY operators.;;;;;;;;;;; +;;;;;;;;;;; +-3;Other applications of the data present indicator may be developed.;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; + +Class 33 - Quality information;;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;;DATA WIDTH (Bits);;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;;UNIT;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;33;1;Reserved;;;;;;;; +0;33;2;Quality information;Code table;0;0;2;Code table;0;1; +0;33;3;Quality information;Code table;0;0;3;Code table;0;1; +0;33;4;Reserved;;;;;;;; +0;33;5;Quality information (AWS data);Flag table;0;0;30;Flag table;0;10; +0;33;6;Internal measurement status information (AWS);Code table;0;0;3;Code table;0;1; +0;33;7;Per cent confidence;%;0;0;7;%;0;3; +0;33;15;Data quality check indicator;Code table;0;0;6;Code table;0;2; +0;33;20;Quality control indication of following value;Code table;0;0;3;Code table;0;1; +0;33;21;Quality of following value;Code table;0;0;2;Code table;0;1; +0;33;22;Quality of buoy satellite transmission;Code table;0;0;2;Code table;0;1; +0;33;23;Quality of buoy location;Code table;0;0;2;Code table;0;1; +0;33;24;Station elevation quality mark (for mobile stations);Code table;0;0;4;Code table;0;2; +0;33;25;ACARS interpolated values;Code table;0;0;3;Code table;0;1; +0;33;26;Moisture quality;Code table;0;0;6;Code table;0;2; +0;33;27;Location quality class (range of radius of 66 % confidence);Code table;0;0;3;Code table;0;1; +0;33;30;Scan line status flags for ATOVS;Flag table;0;0;24;Flag table;0;8; +0;33;31;Scan line quality flags for ATOVS;Flag table;0;0;24;Flag table;0;8; +0;33;32;Channel quality flags for ATOVS;Flag table;0;0;24;Flag table;0;8; +0;33;33;Field of view quality flags for ATOVS;Flag table;0;0;24;Flag table;0;8; +0;33;35;Manual/automatic quality control;Code table;0;0;4;Code table;0;2; +0;33;36;Nominal confidence threshold;%;0;0;7;%;0;3; +0;33;37;Wind correlation error;Flag table;0;0;20;Flag table;0;7; +0;33;38;Quality flags for ground-based GNSS data;Flag table;0;0;10;Flag table;0;4; +0;33;40;Confidence interval;%;0;0;7;Percent;0;3; +0;33;41;Attribute of following value;Code table;0;0;2;Code table;0;1; +0;33;50;Global GTSPP quality flag;Code table;0;0;4;Code table;0;2; + +;;;;;;;;;;; +Class 35 - Data monitoring information;;;;;;;;;;; +;;;;;;;;;;; +;;;;;;;;;;; +TABLE REFERENCE;;;;BUFR;;;;CREX;;; +;;;TABLE;;;;DATA WIDTH (Bits);;;DATA; +;;;ELEMENT NAME;UNIT;SCALE;REFERENCE VALUE;;UNIT;SCALE;WIDTH; +F;X;Y;;;;;;;;(Characters); +0;35;0;FM and regional code number;Code table;0;0;10;Code table;0;3; +0;35;1;Time-frame for monitoring;Code table;0;0;3;Code table;0;1; +0;35;11;Number of reports actually received;Numeric;0;0;14;Numeric;0;4; +0;35;21;Bulletin being monitored (TTAAii);CCITT IA5;0;0;48;Character;0;6; +0;35;22;Bulletin being monitored (YYGGgg);CCITT IA5;0;0;48;Character;0;6; +0;35;23;Bulletin being monitored (CCCC);CCITT IA5;0;0;32;Character;0;4; +0;35;24;Bulletin being monitored (BBB);CCITT IA5;0;0;24;Character;0;3; +0;35;30;Discrepancies in the availability of expected data;Code table;0;0;4;Code table;0;1; +0;35;31;Qualifier on monitoring results;Code table;0;0;7;Code table;0;2; +0;35;32;Cause of missing data;Code table;0;0;4;Code table;0;1; +0;35;33;Observation and collection deficiencies;Code table;0;0;7;Code table;0;2; +0;35;34;Statistical trends for availability of data (during the survey period(s));Code table;0;0;3;Code table;0;1; +0;35;35;Reason for termination;Code table;0;0;5;Code table;0;2; +;;;;;;;;;;; + + +* Descriptor 0 01 027 should be used instead of 0 01 026 to encode this element.; +** Descriptors 0 01 012 and 0 01 013 may relate to parameters of various meanings and the corresponding values may be integrated on different periods.; +; +; +; +; +; +; +* Note: Descriptor 0 02 152 should be used instead of 0 02 021 for encoding this element.; +Note: (*);"This constant is defined as follows: Z = P + radar constant where Z = the reflectivity of target in beam direction (dBZ); P = the input receiver power above 1 mW (dBm). This constant is used to normalize the signal to the equivalent 100 km range." +* The meaning of these quantities may be obtained from the originator of the data.; diff --git a/tables/bufr/bufrtabd_11.csv b/tables/bufr/bufrtabd_11.csv new file mode 100644 index 0000000..eb00ca8 --- /dev/null +++ b/tables/bufr/bufrtabd_11.csv @@ -0,0 +1,2404 @@ +BUFR Table D - Lists of common sequences (Version 11-05/11/2003);; +;; +F;X;Category of sequences +3;0;BUFR table entries sequences +3;1;Location and identification sequences +3;2;Meteorological sequences common to surface data +3;3;Meteorological sequences common to vertical soundings data +3;4;Meteorological sequences common to satellite observations +3;5;Meteorological or hydrological sequences common to hydrological observations +3;6;Meteorological or oceanographic sequences common to oceanographic observations +3;7;Surface report sequences (land) +3;8;Surface report sequences (sea) +3;9;Vertical sounding sequences (conventional data) +3;10;Vertical sounding sequences (satellite data) +3;11;Single level report sequences (conventional data) +3;12;Single level report sequences (satellite data) +3;13;Sequences common to image data +3;14;Reserved +3;15;Oceanographic report sequences +3;16;Synoptic feature sequences +3;18;Radiological report sequences +3;21;Radar report sequences +;; +Notes:;; +;; +-1;From a conceptual point of view, Table D is not necessary:; +(a);"The Data description section can fully and completely describe the data using only element descriptors, operator descriptors and the rules of description;"; +(b);"Such a means of defining the data would involve considerable overheads in terms of the length of the Data description section. Table D is a device to reduce these overheads;"; +(c);"Each entry within Table D contains a list of descriptors. Each sequence descriptor that references to Table D may be expanded by replacing it with the list corresponding to that entry. The process of expansion is well defined, provided it results in a set of element descriptors and operator descriptors;"; +(d);"Descriptors listed in entries to Table D may themselves refer to Table D, provided no circularity results on repeated expansion;"; +(e);The initial Table D has been limited to lists of descriptors likely to be used frequently. Every attempt has been made not to produce initial tables that are too comprehensive. Minor differences of reporting practice can be accommodated by not endeavouring to reduce each observation type to a single descriptor. Indeed, much more flexibility is retained if the Data description section is envisaged as containing three or four descriptors.; +-2;It should be noted that, initially, effort has been concentrated on the requirements for observational data. Extensions to forecast data, time series data, products, etc., follow logically, and can be added at an appropriate future date.; +-3;"Category 1 contains common sequences of non-meteorological descriptors; categories 2 to 6 contain common sequences of meteorological descriptors; categories 7 to 21 contain sequences which define reports, or major subsets of reports.";;;;; +-4;Underwater soundings are included, with some minor omissions, to illustrate the facility to describe data of slightly different contents.;;;;; +-5;Satellite data have been split to maximize the benefits of data compression. Compound combinations may easily be defined using the descriptors available.;;;;; +-6;Satellite observation data benefit enormously from being split into fragments (1, 2, 3 . . . 7), then applying data compression to many locations within each fragment. Again, BUFR flexibility enables compound forms to be defined if desired.;;;;; +-7;"Categories 48 to 63 are reserved for local use; all other categories are reserved for future development.";;;;; +-8;Entries 192 to 255 within all categories are reserved for local use.;;;;; + +Category 00 - BUFR table entries sequences;;;;;; +;;;;;; +;;;;;; +TABLE;;;;;; +REFERENCE;;;TABLE;;;ELEMENT NAME +F;X;Y;REFERENCES;;; +3;0;2;0;0;2;Table A category, line 1 +;;;0;0;3;Table A category, line 2 +;;;;;; +3;0;3;0;0;10;F, part descriptor +;;;0;0;11;X, part descriptor +;;;0;0;12;Y, part descriptor +;;;;;; +3;0;4;3;0;3; +;;;0;0;13;Element name, line 1 +;;;0;0;14;Element name, line 2 +;;;0;0;15;Units name +;;;0;0;16;Units scale sign +;;;0;0;17;Units scale +;;;0;0;18;Units reference sign +;;;0;0;19;Units reference value +;;;0;0;20;Element data width +;;;;;; +3;0;10;3;0;3;Table D descriptor to be defined +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;1;Delayed descriptor replication factor; +;;;0;0;30;Descriptor defining sequence; +;;;;;;; +Notes:;;;;;;; +-1;These entries include the facility to update the Table A code figure and data description.;;;;;; +;;;;;;; +-2;"It is better to use different class 00 descriptors for the defining and defined elements, in the same way as different descriptors correspond to pressure considered as a coordinate and pressure measured at a given point; otherwise special rules would be needed to interpret such message.";;;;;; +"Entries 0 00 010 to 0 00 012 define F, X and Y for Tables B and D; entry 0 00 030 is a descriptor used as data and provides the F, X and Y values defining a sequence for Table D entries.";;;;;;; +;;;;;;; +-3;"It could be argued that, as only additions are possible, only complete lines should be allowed; but it is conceivable that local areas will require changes as well as additions, so it is better and in any case clearer to provide descriptions for all the fields.";;;;;; +;;;;;;; +;;;;;;; + +Category 01 - Location and Identification sequences;;;;;;; +;;;;;;; +TABLE;;;;;;; +REFERENCE;;;TABLE;;;ELEMENT NAME; +F;X;Y;REFERENCES;;;; +3;1;1;0;1;1;WMO block number; +;;;0;1;2;WMO station number; +;;;;;;; +3;1;002*;0;1;3;WMO Region number; +;;;0;1;4;WMO Region sub-area; +;;;0;1;5;Buoy/platform identifier; +;;;;;;; +3;1;3;0;1;11;Ship's call sign; +;;;0;1;12;Direction of motion of moving observing platform; +;;;0;1;13;Speed of motion of moving observing platform; +;;;;;;(Surface station identification); +3;1;4;0;1;1;WMO block number; +;;;0;1;2;WMO station number; +;;;0;1;15;Station or site name; +;;;0;2;1;Type of station; +;;;;;;; +3;1;11;0;4;1;Year; +;;;0;4;2;Month; +;;;0;4;3;Day; +;;;;;;; +3;1;12;0;4;4;Hour; +;;;0;4;5;Minute; +;;;;;;; +3;1;13;0;4;4;Hour; +;;;0;4;5;Minute; +;;;0;4;6;Second; +;;;;;;; +3;1;21;0;5;1;Latitude;high accuracy +;;;0;6;1;Longitude; +;;;;;;; +3;1;22;0;5;1;Latitude;high accuracy +;;;0;6;1;Longitude; +;;;0;7;1;Height of station; +;;;;;;; +3;1;23;0;5;2;Latitude;coarse accuracy +;;;0;6;2;Longitude; +;;;;;;; +3;1;24;0;5;2;Latitude;coarse accuracy +;;;0;6;2;Longitude; +;;;0;7;1;Height of station; +;;;;;;; +3;1;25;3;1;23;Latitude and longitude (coarse accuracy); +;;;0;4;3;Day; +;;;3;1;12;Time; +;;;;;;; +3;1;26;3;1;21;Latitude and longitude (high accuracy); +;;;0;4;3;; +;;;0;4;3;(Time period in days); +;;;0;4;4;; +;;;0;4;4;(Time period in hours); +;;;0;4;5;; +;;;0;4;5;(Time period in minutes); +;;;;;;; +3;1;31;3;1;1;WMO block and station number; +;;;0;2;1;Type of station; +;;;3;1;11;Date; +;;;3;1;12;Time; +;;;3;1;22;Latitude and longitude (high accuracy), height of station; +;;;;;;; +3;1;32;3;1;1;WMO block and station number; +;;;0;2;1;Type of station; +;;;3;1;11;Date; +;;;3;1;12;Time; +;;;3;1;24;Latitude and longitude (coarse accuracy), height of station; +;;;;;;(Buoy/platform - fixed); +3;1;33;0;1;5;Buoy/platform identifier; +;;;0;2;1;Type of station; +;;;3;1;11;Date; +;;;3;1;12;Time; +;;;3;1;21;Latitude and longitude (high accuracy); +;;;;;;(Buoy/platform - fixed); +3;1;34;0;1;5;Buoy/platform identifier; +;;;0;2;1;Type of station; +;;;3;1;11;Date; +;;;3;1;12;Time; +;;;3;1;23;Latitude and longitude (coarse accuracy); +;;;;;;(Buoy/platform - moving); +3;1;035**;0;1;5;Buoy/platform identifier; +;;;0;1;12;Direction of motion of moving observing platform; +;;;0;1;13;Speed of motion of moving observing platform; +;;;0;2;1;Type of station; +;;;3;1;11;Date; +;;;3;1;12;Time; +;;;3;1;23;Latitude and longitude (coarse accuracy); +;;;;;;(Ship); +3;1;36;3;1;3;Ship's call sign and motion; +;;;0;2;1;Type of station; +;;;3;1;11;Date; +;;;3;1;12;Time; +;;;3;1;23;Latitude and longitude (coarse accuracy); +;;;;;;(Land station for vertical soundings); +3;1;37;3;1;1;WMO block and station number; +;;;0;2;11;Radiosonde type; +;;;0;2;12;Radiosonde computational method; +;;;3;1;11;Date; +;;;3;1;12;Time; +;;;3;1;22;Latitude and longitude (high accuracy), height of station; +;;;;;;(Land station for vertical soundings); +3;1;38;3;1;1;WMO block and station number; +;;;0;2;11;Radiosonde type; +;;;0;2;12;Radiosonde computational method; +;;;3;1;11;Date; +;;;3;1;12;Time; +;;;3;1;24;Latitude and longitude (coarse accuracy), height of station; +;;;;;;(Ship for vertical soundings); +3;1;39;3;1;3;Ship's call sign and motion; +;;;0;2;11;Radiosonde type; +;;;0;2;12;Radiosonde computational method; +;;;3;1;11;Date; +;;;3;1;12;Time; +;;;3;1;23;Latitude and longitude (coarse accuracy); +;;;;;;; +3;1;40;3;1;3;Ship's call sign and motion; +;;;0;2;11;Radiosonde type; +;;;0;2;12;Radiosonde computational method; +;;;3;1;11;Date; +;;;3;1;12;Time; +;;;3;1;24;Latitude and longitude (coarse accuracy), height of station; +;;;;;;; +3;1;41;0;1;7;Satellite identifier; +;;;0;2;21;Satellite instrument data used in processing; +;;;0;2;22;Satellite data processing technique used; +;;;3;1;11;Date; +;;;3;1;12;Time; +;;;;;;; +3;1;42;3;1;41;"Satellite identifier, data used, and data processing technique; date/time"; +;;;3;1;21;Latitude, longitude; +;;;;;;; +3;1;43;0;1;7;Satellite identifier; +;;;0;2;23;Cloud motion computational method; +;;;3;1;11;Date; +;;;3;1;13;Time; +;;;3;1;21;Latitude, longitude; +;;;;;;; +3;1;44;0;1;7;Satellite identifier; +;;;0;2;24;Integrated mean humidity computational method; +;;;3;1;11;Date; +;;;3;1;13;Time; +;;;3;1;21;Latitude, longitude; +;;;;;;(Satellite location and velocity); +3;1;45;3;1;11;Year, month, day; +;;;3;1;12;Time (hour, minute); +;;;2;1;138;Change width to 16 bits; +;;;2;2;131;Change scale to 3; +;;;0;4;6;Second; +;;;2;1;0;Change width back to Table B; +;;;2;2;0;Change scale back to Table B; +;;;3;4;30;Location relative to the Earths centre; +;;;3;4;31;Velocity relative to the Earths centre; +;;;;;;; +3;1;46;0;1;7;Satellite identifier; +;;;0;1;12;Direction of motion of moving observing platform; +;;;0;2;48;Satellite sensor indicator; +;;;0;21;119;Wind scatterometer geophysical model function; +;;;0;25;60;Software identification; +;;;2;2;124;Change scale; +;;;0;2;26;Cross-track resolution; +;;;0;2;27;Along-tract resolution; +;;;2;2;0;Change scale back to Table B; +;;;0;5;40;Orbit number; +;;;;;;(ERS product header); +3;1;47;0;1;7;Satellite identifier; +;;;0;25;60;Software identification; +;;;0;1;33;Originating/generating centre; +;;;0;1;34;Originating/generating sub-centre; +;;;0;1;12;Direction of motion of moving observation platform; +;;;3;1;45;Satellite location and velocity; +;;;0;2;21;Satellite instrument data used in processing; +;;;3;1;11;Date (year, month, day); +;;;3;1;12;Time (hour, minute); +;;;2;1;138;Change bit width to 16 bits; +;;;2;2;131;Change scale to 3; +;;;0;4;6;Second; +;;;2;1;0;Change width back to Table B; +;;;2;2;0;Change scale back to Table B; +;;;3;1;23;Location (latitude, longitude); +;;;;;;(Radar parameters); +3;1;48;0;2;104;Antenna polarization; +;;;0;2;121;Mean frequency; +;;;0;2;113;Number of azimuth looks; +;;;0;2;26;Cross-track resolution; +;;;0;2;27;Along-track resolution; +;;;0;2;111;Radar incidence angle; +;;;0;2;140;Satellite radar beam azimuth angle; +;;;2;2;127;Change scale to -1; +;;;0;1;13;Radar platform velocity; +;;;2;2;126;Change scale to -2; +;;;0;7;1;Radar platform altitude; +;;;2;2;0;Change scale to Table B; +;;;0;25;10;Clutter treatment; +;;;0;21;64;Clutter noise estimate; +;;;;;;(Radar beam data); +3;1;49;0;2;111;Radar incidence angle; +;;;0;2;112;Radar look angle; +;;;0;21;62;Backscatter; +;;;0;21;63;Radiometric resolution (Noise value); +;;;0;21;65;Missing packet counter; +;;;;;;; +3;1;51;0;1;6;Aircraft flight number; +;;;0;2;61;Navigational system; +;;;3;1;11;Date; +;;;3;1;12;Time; +;;;3;1;21;Latitude, longitude; +;;;0;8;4;Phase of aircraft flight; +;;;;;;; +3;1;55;0;1;5;Buoy/platform identifier; +;;;0;2;1;Type of station; +;;;3;1;11;Date; +;;;3;1;12;Time; +;;;3;1;21;Latitude and longitude (high accuracy); +;;;0;1;12;Direction of motion of moving observing platform; +;;;0;1;14;Platform drift speed (high precision); +;;;;;;(Radar location(s)); +3;1;62;1;1;0;Delayed replication of 1 descriptor; +;;;0;31;1;Replication factor; +;;;3;1;1;WMO block and station number; +;;;;;;(ACARS identification); +3;1;65;0;1;6;Aircraft flight number (see Note); +;;;0;1;8;Aircraft registration number (see Note); +;;;0;2;1;Type of station; +;;;0;2;2;Type of instrumentation for wind measurement; +;;;0;2;5;Precision of temperature observation; +;;;0;2;62;Type of aircraft data relay system; +;;;0;2;70;Original specification of latitude/longitude; +;;;0;2;65;ACARS ground receiving station; +;;;;;;(ACARS location); +3;1;66;3;1;11;Year, month, day; +;;;3;1;13;Hour, minute, second; +;;;3;1;23;Latitude and longitude (coarse accuracy); +;;;0;7;4;Pressure; +;;;0;2;64;Aircraft roll angle quality; +;;;0;8;4;Phase of aircraft flight; +;;;;;;(Satellite identifier/Generating resolution); +3;1;71;0;1;7;Satellite identifier; +;;;0;1;31;Generating centre; +;;;0;2;20;Satellite classification; +;;;0;2;28;Segment size at nadir in X direction; +;;;0;2;29;Segment size at nadir in Y direction; +;;;;;;(Satellite identification); +3;1;72;3;1;71;Satellite identification, Generation resolution; +;;;3;1;11;Date; +;;;3;1;13;Time; +;;;3;1;21;Latitude, longitude; +;;;;;;"(Surface station identification; time, horizontal and vertical co-ordinates)"; +3;1;90;3;1;4;Surface station identification; +;;;3;1;11;Year, month, day; +;;;3;1;12;Hour, minute; +;;;3;1;21;Latitude, longitude (high accuracy); +;;;0;7;30;Height of station ground above mean sea level ; +;;;0;7;31;Height of barometer above mean sea level ; +;;;;;;(Surface station instrumentation); +3;1;91;0;2;180;Main present weather detecting system; +;;;0;2;181;Supplementary present weather sensor; +;;;0;2;182;Visibility measurement system; +;;;0;2;183;Cloud detection system; +;;;0;2;184;Type of lightning detection sensor; +;;;0;2;179;Type of sky condition algorithm ; +;;;0;2;186;Capability to detect precipitation phenomena; +;;;0;2;187;Capability to detect other weather phenomena; +;;;0;2;188;Capability to detect obscuration; +;;;0;2;189;Capability to discriminate lightning strikes; +;;;;;;; +;;;;;;; +**;Descriptor 3 01 055 should be used instead of 3 01 035 to encode moving buoy/platform information.;;;;;; +;;;;;;; +Notes:;(1) As supplied by originating sub-center ARINC, this value is a pseudo-value rather than the actual value. The relationship between this pseudo value and the true value is known only by ARINC.;;;;;; +;(2) Descriptors from 3 01 041 to 3 01 049, 3 01 062, 3 01 071 and 3 01 072 should not be used in CREX for transmission.;;;;;; + +;;;;;;; +Category 02 - Meteorological sequences common to surface data;;;;;;; +;;;;;; +TABLE;;;;;; +REFERENCE;;;TABLE;;;ELEMENT NAME +F;X;Y;REFERENCES;;; +3;2;1;0;10;4;Pressure (at station level) +;;;0;10;51;Pressure reduced to mean sea level +;;;0;10;61;3-hour pressure change +;;;0;10;63;Characteristic of pressure tendency +;;;;;;(High altitude station) +3;2;2;0;10;4;Pressure (at station level) +;;;0;7;4;Pressure level +;;;0;10;3;Geopotential of pressure level +;;;0;10;61;3-hour pressure change +;;;0;10;63;Characteristic of pressure tendency +;;;;;; +3;2;3;0;11;11;Wind direction (10 m) +;;;0;11;12;Wind speed (10 m) +;;;0;12;4;Temperature (2 m) +;;;0;12;6;Dew point (2 m) +;;;0;13;3;Relative humidity +;;;0;20;1;Horizontal visibility +;;;0;20;3;Present weather +;;;0;20;4;Past weather (1) +;;;0;20;5;Past weather (2) +;;;;;;(General cloud information) +3;2;4;0;20;10;Cloud cover (total in %) +;;;0;8;2;Vertical significance +;;;0;20;11;Cloud amount +;;;0;20;13;Height of base of cloud +;;;0;20;12;Cloud type +;;;0;20;12;Cloud type +;;;0;20;12;Cloud type +;;;;;; +3;2;5;0;8;2;Vertical significance +;;;0;20;11;Cloud amount +;;;0;20;12;Cloud type +;;;0;20;13;Height of base of cloud +;;;;;; +3;2;6;0;10;4;Pressure (at station level) +;;;0;10;51;Pressure reduced to mean sea level +;;;0;10;62;24-hour pressure change +;;;0;10;63;Characteristic of pressure tendency +;;;;;;(Low altitude station) +3;2;11;3;2;1;Pressure and pressure change +;;;3;2;3;Wind, temperature, humidity, visibility, weather +;;;3;2;4;Significant cloud layer +;;;;;;(High altitude station) +3;2;12;3;2;2;Pressure and pressure change +;;;3;2;3;Wind, temperature, humidity, visibility, weather +;;;3;2;4;Significant cloud information +;;;;;; +3;2;13;3;2;6;Pressure and pressure change +;;;3;2;3;Wind, temperature, humidity, visibility, weather +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;1;Delayed descriptor replication factor +;;;3;2;5;Cloud layer information +;;;;;; +3;2;21;0;22;1;Direction of waves +;;;0;22;11;Period of waves +;;;0;22;21;Height of waves +;;;;;; +3;2;22;0;22;2;Direction of wind waves +;;;0;22;12;Period of wind waves +;;;0;22;22;Height of wind waves +;;;;;; +3;2;23;0;22;3;Direction of swell waves +;;;0;22;13;Period of swell waves +;;;0;22;23;Height of swell waves +;;;;;; +3;2;24;3;2;22;Wind waves +;;;1;1;2;Replicate 1 descriptor 2 times +;;;3;2;23;Swell waves (2 systems of swell) +;;;;;; +3;2;51;0;10;4;Pressure +;;;0;10;51;Pressure reduced to mean sea level +;;;0;7;4;Pressure (vertical location) +;;;0;10;3;Geopotential +;;;0;12;4;Dry-bulb temperature at 2 m +;;;0;12;51;Standard deviation temperature +;;;0;12;16;Maximum temperature at 2 m, past 24 hours +;;;0;12;17;Minimum temperature at 2 m, past 24 hours +;;;0;13;4;Vapour pressure +;;;1;2;4;Replicate 2 descriptors 4 times +;;;0;8;51;Qualifier for number of missing values in calculation of statistic +;;;0;8;20;Total number of missing entities (with respect to accumulation or average) +;;;;;;(Visibility data) +3;2;69;0;7;32;Height of sensor above local ground +;;;0;7;33;Height of sensor above water surface +;;;0;33;41;Attribute of following value +;;;0;20;1;Horizontal visibility +;;;;;;(Wind data) +3;2;70;0;7;32;Height of sensor above local ground +;;;0;7;33;Height of sensor above water surface +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;0;11;43;Maximum wind gust direction +;;;0;11;41;Maximum wind gust speed +;;;0;11;16;Extreme counterclockwise wind direction of a variable wind +;;;0;11;17;Extreme clockwise wind direction of a variable wind +;;;;;;(Wind data from one-hour period) +3;2;71;0;7;32;Height of sensor above local ground +;;;0;7;33;Height of sensor above water surface +;;;0;8;21;Time significance (= 2 (time averaged)) +;;;0;4;25;Time period (= - 10 minutes, or number of minutes +;;;;;;after a significant change of wind, if any) +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;0;8;21;Time significance (= missing value) +;;;1;3;2;Replicate next 3 descriptors 2 times +;;;0;4;25;Time period +;;;;;;(= - 10 minutes in the first replication, +;;;;;; = - 60 minutes in the second replication) +;;;0;11;43;Maximum wind gust direction +;;;0;11;41;Maximum wind gust speed +;;;0;4;25;Time period (= - 10 minutes) +;;;0;11;16;Extreme counterclockwise wind direction of a variable wind +;;;0;11;17;Extreme clockwise wind direction of a variable wind +;;;;;;(Temperature and humidity data) +3;2;72;0;7;32;Height of sensor above local ground +;;;0;7;33;Height of sensor above water surface +;;;0;12;101;Temperature/dry-bulb temperature (scale 2) +;;;0;12;103;Dew-point temperature (scale 2) +;;;0;13;3;Relative humidity +;;;;;;(Cloud data) +3;2;73;0;20;10;Cloud cover (total) +;;;1;5;4;Replicate 5 descriptors 4 times +;;;0;8;2;Vertical significance +;;;0;20;11;Cloud amount +;;;0;20;12;Cloud type +;;;0;33;41;Attribute of following value +;;;0;20;13;Height of base of cloud +;;;;;;(Present and past weather) +3;2;74;0;20;3;Present weather +;;;0;4;25;Time period +;;;0;20;4;Past weather (1) +;;;0;20;5;Past weather (2) +;;;;;;(Intensity of precipitation, size of precipitation element) +3;2;75;0;8;21;Time significance (= 2 (time averaged)) +;;;0;4;25;Time period (= - 10 minutes) +;;;0;13;55;Intensity of precipitation +;;;0;13;58;Size of precipitation element +;;;0;8;21;Time significance (= missing value) +;;;;;;(Precipitation, obscuration and other phenomena) +3;2;76;0;20;21;Type of precipitation +;;;0;20;22;Character of precipitation +;;;0;26;20;Duration of precipitation +;;;0;20;23;Other weather phenomena +;;;0;20;24;Intensity of phenomena +;;;0;20;25;Obscuration +;;;0;20;26;Character of obscuration +;;;;;;(Extreme temperature data) +3;2;77;0;7;32;Height of sensor above local ground +;;;0;7;33;Height of sensor above water surface +;;;0;4;25;Time period +;;;0;12;111;Maximum temperature (scale 2) at height and +;;;;;;over period specified +;;;0;12;112;Minimum temperature (scale 2) at height and +;;;;;;over period specified +;;;0;7;32;Height of sensor above local ground +;;;;;;(for ground temperature) +;;;0;4;25;Time period +;;;0;12;112;Minimum temperature (scale 2) at height and +;;;;;;over period specified (for ground temperature) +;;;;;;(State of ground and snow depth measurement) +3;2;78;0;2;176;Method of state of ground measurement +;;;0;20;62;State of ground (with or without snow) +;;;0;2;177;Method of snow depth measurement +;;;0;13;13;Total snow depth +;;;;;;(Precipitation measurement) +3;2;79;0;7;32;Height of sensor above local ground +;;;0;2;175;Method of precipitation measurement +;;;0;2;178;Method of liquid water content measurement of precipitation +;;;0;4;25;Time period +;;;0;13;11;Total precipitation / total water equivalent of snow +;;;;;;(Evaporation measuremen)t +3;2;80;0;2;185;Method of evaporation measurement +;;;0;4;25;Time period +;;;0;13;33;Evaporation /evapotranspiration +;;;;;;(Total sunshine data) +3;2;81;0;4;25;Time period +;;;0;14;31;Total sunshine +;;;;;;Radiation data +3;2;82;0;4;25;Time period +;;;0;14;2;Long-wave radiation, integrated over period specified +;;;0;14;4;Short-wave radiation, integrated over period specified +;;;0;14;16;Net radiation, integrated over period specified +;;;0;14;28;Global solar radiation (high accuracy), integrated over period specified +;;;0;14;29;Diffuse solar radiation (high accuracy), integrated over period specified +;;;0;14;30;Direct solar radiation (high accuracy), integrated over period specified +;;;;;;First order statistics of P, W, T, U data +3;2;83;0;4;25;Time period +;;;0;8;23;First order statistics +;;;0;10;4;Pressure +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;0;12;101;Temperature/dry-bulb temperature (scale 2) +;;;0;13;3;Relative humidity +;;;0;8;23;First order statistics (= missing value) +;;;;;; + +Category 03 - Meteorological sequences common to vertical soundings data;;;;;; +;;;;;; +;;;;;; +TABLE REFERENCE;;;;;; +F;X;Y;TABLE REFERENCES;;;ELEMENT NAME +3;3;1;0;7;3;Geopotential +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;;;; +3;3;2;0;7;4;Pressure +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;;;; +3;3;3;0;7;4;Pressure +;;;0;10;3;Geopotential +;;;0;12;1;Temperature +;;;0;12;3;Dew point +;;;;;; +3;3;4;0;7;4;Pressure +;;;0;10;3;Geopotential +;;;0;12;1;Temperature +;;;0;12;3;Dew point +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;;;; +3;3;11;0;7;3;Geopotential +;;;0;8;1;Vertical sounding significance +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;;;; +3;3;12;0;7;4;Pressure +;;;0;8;1;Vertical sounding significance +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;;;; +3;3;13;0;7;4;Pressure +;;;0;8;1;Vertical sounding significance +;;;0;10;3;Geopotential +;;;0;12;1;Temperature +;;;0;13;3;Relative humidity +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;;;; +3;3;14;0;7;4;Pressure +;;;0;8;1;Vertical sounding significance +;;;0;10;3;Geopotential +;;;0;12;1;Temperature +;;;0;12;3;Dew point +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;;;; +3;3;21;0;7;4;Pressure (1) +;;;0;7;4;Pressure (2) defines layer +;;;2;4;7;Add associated field of 7 bits +;;;0;31;21;Additional field significance +;;;;;; +3;3;22;3;3;21;Layer, quality +;;;0;10;3;Geopotential (layer mean thickness) +;;;2;4;0;Cancel the added associated field +;;;;;; +3;3;23;3;3;21;Layer, quality +;;;0;12;1;Temperature (layer mean) +;;;2;4;0;Cancel the added associated field +;;;;;; +3;3;24;3;3;21;Layer, quality +;;;0;13;16;Precipitation water +;;;2;4;0;Cancel the added associated field +;;;;;; +3;3;25;0;2;25;Satellite channel +;;;2;4;7;Add associated field of 7 bits +;;;0;31;21;Additional field significance +;;;0;12;63;Brightness temperature +;;;2;4;0;Cancel the added associated field +;;;;;; +3;3;26;0;7;4;Pressure +;;;0;8;3;Vertical significance +;;;2;4;7;Add associated field of 7 bits +;;;0;31;21;Additional field significance +;;;0;12;1;Temperature +;;;2;4;0;Cancel the added associated field +;;;;;; +3;3;27;0;7;4;Pressure +;;;2;4;7;Add associated field of 7 bits +;;;0;31;21;Additional field significance +;;;0;10;3;Geopotential +;;;2;4;0;Cancel the added associated field +;;;;;; +3;3;31;0;7;4;Pressure +;;;0;8;3;Vertical significance (base of sounding) +;;;0;7;21;Elevation (local zenith) +;;;0;7;22;Solar elevation (solar zenith) +;;;0;8;12;Land/sea qualifier +;;;0;12;61;Skin temperature +;;;;;; +3;3;32;0;20;11;Cloud amount +;;;0;20;16;Pressure at top of cloud +;;;;;; +3;3;33;0;20;10;Cloud cover (total) +;;;0;20;16;Pressure at the top of cloud +;;;;;;(Wind sequence) +3;3;41;0;2;152;Geostationary satellite instrument used +;;;0;2;23;Cloud motion computational method +;;;0;7;4;Pressure +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;0;2;153;Satellite channel centre frequency +;;;0;2;154;Satellite channel band width +;;;0;12;71;Coldest cluster T +;;;;;; +;;Note: Descriptors 3 03 021 to 3 03 027 are not available in CREX.;;;; + +Category 04 - Meteorological sequences common to satellite observations;;;;;; +;;;;;; +;;;;;; +TABLE REFERENCE;;;;;; +F;X;Y;TABLE REFERENCES;;;ELEMENT NAME +3;4;1;0;8;3;Vertical significance +;;;0;10;4;Pressure +;;;0;12;1;Temperature +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;;;; +3;4;2;0;8;3;Vertical significance +;;;0;10;4;Pressure +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;;;; +3;4;3;0;8;3;Vertical significance +;;;0;12;1;Temperature +;;;;;; +3;4;4;0;8;3;Vertical significance +;;;0;10;4;Pressure +;;;0;20;10;Cloud cover (total) +;;;0;12;1;Temperature +;;;;;; +3;4;5;0;2;24;Integrated mean humidity computational method +;;;0;7;4;Pressure(1) +;;;0;7;4;Pressure (2) defines layer +;;;0;13;3;Relative humidity +;;;;;; +3;4;6;0;14;1;Outgoing long-wave radiation +;;;0;14;1;Incoming long-wave radiation +;;;0;14;3;Outgoing short-wave radiation +;;;;;;(GOES-I/M info) +3;4;11;0;2;163;Height assignment method +;;;0;2;164;Tracer correlation method +;;;0;8;12;Land/sea qualifier +;;;0;7;24;Satellite zenith angle +;;;0;2;57;Origin of first guess information +;;;0;8;21;Time significance +;;;0;4;1;Year +;;;0;4;2;Month +;;;0;4;3;Day +;;;0;4;4;Hour +;;;0;8;21;Time significance +;;;0;4;24;Time period or displacement +;;;1;10;4;Replicate 10 descriptors 4 times +;;;0;8;21;Time significance +;;;0;4;4;Hour +;;;0;4;5;Minute +;;;0;4;6;Second +;;;0;8;21;Time significance +;;;0;4;4;Hour +;;;0;4;5;Minute +;;;0;4;6;Second +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;1;3;10;Replicate 3 descriptors 10 times +;;;0;2;163;Height assignment method +;;;0;7;4;Pressure +;;;0;12;1;Temperature +;;;;;;(Location of platform) +3;4;30;0;27;31;In direction of 0 degree longitude, distance from the Earths centre +;;;0;28;31;In direction of 90 degrees East longitude, distance from the Earths centre +;;;0;10;31;In direction of North Pole, distance from Earths centre +;;;;;;(Speed of platform) +3;4;31;0;1;41;Absolute platform velocity - first component +;;;0;1;42;Absolute platform velocity - second component +;;;0;1;43;Absolute platform velocity - third component +;;;;;;(Cloud fraction) +3;4;32;0;2;153;Satellite channel centre frequency +;;;0;2;154;Satellite channel band width +;;;0;20;81;Cloud amount in segment +;;;0;20;82;Amount segment cloud free +;;;0;20;12;Cloud type +;;;;;;(Clear sky radiance) +3;4;33;0;2;152;Satellite instrument used in data processing +;;;0;2;166;Radiance type +;;;0;2;167;Radiance computational method +;;;0;2;153;Satellite channel centre frequency +;;;0;2;154;Satellite channel band width +;;;0;12;75;Spectral radiance +;;;0;12;76;Radiance +;;;0;12;63;Brightness temperature +;;;;;; +3;4;34;1;2;4;Replicating next two descriptors 4 times +;;;0;27;1;Latitude (high accuracy) +;;;0;28;1;Longitude (high accuracy) +;;;0;7;22;Solar elevation +;;;0;5;43;Field of view number +;;;0;20;10;Cloud cover (total) +;;;0;20;16;Pressure at top of cloud +;;;0;33;3;Quality information table +;;;0;10;40;Number of retrieved layers +;;;;;; + +Category 05 - Meteorological or hydrological sequences common to hydrological observations;;;;;; +;;;;;; +TABLE;;;TABLE;;;ELEMENT NAME +REFERENCE;;;REFERENCES;;; +F;X;Y;;;; +;;;;;;(SADC-HYCOS measurement array definition) +3;5;3;3;1;12;Hour, minute of first single measurement minus increment +;;;0;4;65;Short time increment - time interval between measuremens +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;1;Replication factor +;;;3;5;1;Single measurement +;;;;;; +;;;;;;(MEDHYCOS measurement) +3;5;6;0;13;72;Downstream water level +;;;0;13;82;Water temperature +;;;0;13;19;Precipitation last hour +;;;0;12;1;Air temperature +;;;0;13;73;Maximum water height observed +;;;0;13;60;Total accumulated precipitation +;;;;;; +;;;;;;(MEDHYCOS report) +3;5;7;3;1;29;Identification +;;;3;1;12;Hour, minute (time of first measurement) +;;;0;4;65;Short time increment - time interval between measurements +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;1;Replication factor +;;;3;5;6;Single measurement +;;;;;; +;;;;;;(AOCHYCOS - Chad measurement) +3;5;8;3;5;6;Same as MEDHYCOS type measurement +;;;0;12;30;Soil temperature at -50 cm +;;;;;; +;;;;;;(AOCHYCOS-Chad report) +3;5;9;3;1;29;Identification +;;;3;1;12;Hour, minute (time of first measurement) +;;;0;4;65;Short time increment - time interval between measurements +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;1;Replication factor +;;;3;5;8;Single measurement +;;;;;; +;;;;;;(MEDHYCOS report type 2) +3;5;11;3;1;29;Identification +;;;3;1;12;Hour, minute (time of first measurement) +;;;0;4;65;Short time increment - time interval between measurements +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;1;Replication factor +;;;3;5;10;Single measurement +;;;;;; +;;;;;;(MEDHYCOS report with meteorology and water quality data) +3;5;18;3;1;29;Identification +;;;3;1;12;Hour, minute (time) of first measurement +;;;0;4;65;Hour increment +;;;1;3;0;Delayed replications of 3 descriptors +;;;0;31;1;Replication factor +;;;3;5;8;Same as AOCHYCOS type measurement +;;;3;5;16;Meteorological parameters associated to hydrological data +;;;3;5;17;Water quality measurement + +Category 06 - Meteorological or oceanographic sequences common ;;;;;; +to oceanographic observations;;;;;; +;;;;;; +;;;;;; +;;;;;; +TABLE REFERENCE;;;;;; +F;X;Y;TABLE REFERENCES;;;ELEMENT NAME +3;6;1;0;2;32;Indicator for digitization +;;;1;2;0;Delayed replication of 2 descriptors +;;;0;31;1;Replication factor +;;;0;7;62;Depth below sea surface +;;;0;22;42;Subsurface sea temperature +;;;;;; +3;6;2;0;2;31;Method of current measurement (duration and time) +;;;0;22;4;Direction of current +;;;0;22;31;Speed of current +;;;;;; +3;6;3;0;2;2;Wind instrumentation +;;;0;11;11;Wind direction (10 m) +;;;0;11;12;Wind speed (10 m) +;;;0;12;4;Dry-bulb temperature (2 m) +;;;;;; +3;6;4;0;2;32;Indicator for digitization +;;;0;2;33;Method of salinity/depth measurement +;;;1;3;0;Delayed replication of 3 descriptors +;;;0;31;1;Replication factor +;;;0;7;62;Depth below sea surface +;;;0;22;43;Subsurface sea temperature +;;;0;22;62;Salinity +;;;;;; +3;6;5;0;2;31;Method of current measurement (duration and time) +;;;1;3;0;Delayed replication of 3 descriptors +;;;0;31;1;Replication factor +;;;0;7;62;Depth below sea surface +;;;0;22;4;Direction of current +;;;0;22;31;Speed of current +;;;;;;(Under water sounding (optional) parameters) +3;6;6;3;6;3;Surface wind and temperature +;;;3;6;2;Current +;;;0;22;63;Total water depth +;;;;;;(Buoy spare block parameters) +3;6;7;0;1;12;Direction of motion of moving observing platform +;;;0;1;14;Platform drift speed (high precision) +;;;3;6;8;Buoy instrumentation +;;;0;4;24;Time period +;;;0;27;3;Alternate latitude +;;;0;28;3;Alternate longitude +;;;;;;(Buoy instrumentation parameters) +3;6;8;0;2;34;Drogue type +;;;0;2;35;Cable length +;;;0;2;36;Buoy type +;;;;;; +3;6;23;0;1;15;Station or site name +;;;3;1;23;Latitude, longitude +;;;3;1;11;Year, month, day +;;;3;1;12;Hour, minute +;;;0;22;38;Tidal level with respect to local chart datum +;;;0;22;39;Meteorological residual tidal elevation +;;;0;22;120;Tide station automated water level check +;;;0;22;121;Tide station manual water level check +;;;;;; + +Category 07 - Surface report sequences (land);;;;;; +;;;;;; +;;;;;;; +TABLE REFERENCE;;;;;;; +F;X;Y;TABLE REFERENCES;;;ELEMENT NAME; +;;;;;;(Low altitude station); +3;7;1;3;1;31;Identification, type, date/time, position (high accuracy), height; +;;;3;2;11;Basic surface report; +;;;;;;(Low altitude station); +3;7;2;3;1;32;Identification, type, date/time, position (coarse accuracy), height; +;;;3;2;11;Basic surface report; +;;;;;;(Low altitude station); +3;7;3;3;7;1;Location (high accuracy) and basic report; +;;;1;1;0;Delayed replication of 1 descriptor; +;;;0;31;1;Replication factor; +;;;3;2;5;Cloud layer information; +;;;;;;(Low altitude station); +3;7;4;3;7;2;Location (coarse accuracy) and basic report; +;;;1;1;0;Delayed replication of 1 descriptor; +;;;0;31;1;Replication factor; +;;;3;2;5;Cloud layer information; +;;;;;;(Low altitude station); +3;7;5;3;7;1;Location (high accuracy) and basic report; +;;;1;1;4;Replicate 1 descriptor 4 times; +;;;3;2;5;Cloud layer information (4 layers); +;;;;;;(Low altitude station); +3;7;6;3;7;2;Location (coarse accuracy) and basic report; +;;;1;1;4;Replicate 1 descriptor 4 times; +;;;3;2;5;Cloud layer information (4 layers); +;;;;;;(High altitude station); +3;7;7;3;1;31;Identification, type, date/time, position (high accuracy), height; +;;;3;2;12;Basic surface report; +;;;;;;(High altitude station); +3;7;8;3;1;32;Identification, type, date/time, position (coarse accuracy), height; +;;;3;2;12;Basic surface report; +3;7;9;3;1;31;Identification, type, date/time, position (high accuracy), height; +;;;3;2;13;Basic surface report; +;;;;;;(Main part of data for representation of METAR/SPECI code in BUFR); +3;7;11;0;1;63;ICAO location indicator;CCCC +;;;0;2;1;Type of station;(AUTO) +;;;3;1;11;Year, month, day (YY); +;;;3;1;12;GG, gg; +;;;3;1;24;Latitude-longitude (coarse accuracy), height of station; +;;;0;7;6;Height above station (= height of an anemometer); +;;;0;11;1;Wind direction;ddd +;;;0;11;16;Extreme counterclockwise wind direction of a variable wind;dndndn +;;;0;11;17;Extreme clockwise wind direction of a variable wind;dxdxdx +;;;0;11;2;Wind speed;ff +;;;0;11;41;Maximum wind speed (gusts);fmfm +;;;0;7;6;Height above station (= height of a thermometer); +;;;0;12;1;Temperature;TT +;;;0;12;3;Dew-point temperature;TdTd +;;;0;10;52;Altimeter setting (QNH);PHPHPHPH +;;;0;20;9;General Weather Indicator TAF/METAR; +;;;;;;(DvVVVV); +3;7;12;1;3;0;Delayed replication of 3 descriptors; +;;;0;31;1;Number of replication (up to 3); +;;;0;8;23;First order statistics; +;;;0;5;21;Direction of visibility observed;Dv +;;;0;20;1;Horizontal visibility;VVVV +;;;;;;(DRDRVRVRVRVR); +3;7;13;1;6;0;Delayed replication of 6 descriptors; +;;;0;31;1;Number of replication (up to 4); +;;;0;1;64;Runway designator;DRDR +;;;0;8;14;Qualification for runway visual range; +;;;0;20;61;Runway visual range;VRVRVRVR +;;;0;8;14;Qualification for runway visual range; +;;;0;20;61;Runway visual range;VRVRVRVR +;;;0;20;18;Tendency of runway visual range;i +;;;;;;(ww); +3;7;14;1;1;0;Delayed replication of 1 descriptor; +;;;0;31;1;Number of replication (up to 3); +;;;0;20;19;Significant present weather;ww +;;;;;;(Clouds group(s)); +3;7;15;1;1;0;Delayed replication of 1 descriptor; +;;;0;31;1;Number of replication; +;;;3;2;5;(NsNsNs, CC, hshshs); +;;;0;20;2;Vertical visibility;VVhshshs +;;;;;;(REww); +3;7;16;1;1;0;Delayed replication of 1 descriptor; +;;;0;31;1;Number of replication (up to 3); +;;;0;20;20;Significant recent weather phenomena;REww +;;;;;;(Wind shear on runways(s)); +3;7;17;1;1;0;Delayed replication of 1 descriptor; +;;;0;31;1;Number of replication; +;;;0;11;70;Runway designator of the runway affected by wind shear (including ALL);WS RWYDRDR +;;;;;;(Trend-type landing forecast); +3;7;18;0;8;16;Change qualifier of a trend-type;TTTTT +;;;;;;forecast or an aerodrome forecast; +;;;1;2;0;Delayed replication of 2 descriptors; +;;;0;31;1;Number of replication (up to 2); +;;;0;8;17;Qualifier of the time when the forecast;TT +;;;;;;change is expected (FM, TL, AT); +;;;3;1;12;GG, gg; +;;;1;4;0;Delayed replication of 4 descriptor; +;;;0;31;1;Number of replication (up to 1); +;;;0;7;6;Height above station; +;;;0;11;1;Wind direction;ddd +;;;0;11;2;Wind speed;ff +;;;0;11;41;Maximum wind speed (gusts);fmfm +;;;0;20;9;General Weather Indicator; +;;;1;1;0;Delayed replication of 1 descriptor; +;;;0;31;1;Number of replication (up to 1); +;;;0;20;1;Horizontal visibility;VVVV +;;;3;7;14;ww; +;;;;;;(Short METAR/SPECI); +3;7;20;3;7;11;Main part of data; +;;;3;7;14;ww; +;;;3;7;16;REww; +;;;;;;(Total sequence for representation of METAR/SPECI code in BUFR); +3;7;21;3;7;11;Main part of data; +;;;3;7;12;DvVVVV; +;;;3;7;13;DRDRVRVRVRVR; +;;;3;7;14;ww; +;;;3;7;15;Clouds group(s); +;;;3;7;16;REww; +;;;3;7;17;Wind shear on runway(s); +;;;3;7;18;Trend-type landing forecast; +;;;3;7;15;Clouds group(s); +;;;;;;(Ground-based GNSS data); +3;7;22;0;1;15;Station or site name; +;;;3;1;11;Year, Month, Day; +;;;3;1;12;Hour, Minute; +;;;3;1;22;Latitude (high accuracy), Longitude (high accuracy), Height of station; +;;;0;8;21;Time significance (= 23, monitoring period); +;;;0;4;25;Time period or displacement; +;;;0;10;4;Pressure; +;;;0;12;1;Temperature; +;;;0;13;3;Relative humidity; +;;;0;33;38;Quality flags for ground-based GNSS data; +;;;0;8;22;Total number (Number of GNSS satellites used); +;;;1;6;25;Replication; +;;;0;2;20;Satellite classification; +;;;0;1;50;Platform transmitter Id. number; +;;;0;5;21;Azimuth; +;;;0;7;21;Elevation; +;;;0;15;31;Atmospheric path delay in satellite signal; +;;;0;15;32;Estimated error in atmospheric path delay; +;;;0;8;60;Sample scanning mode significance (=5 for North/South); +;;;0;15;33;Difference in path delays for limb views at extremes of scan; +;;;0;15;34;Estimated error in path delay difference; +;;;0;8;60;Sample scanning mode significance (=6 for East/West); +;;;0;15;33;Difference in path delays for limb views at extremes of scan; +;;;0;15;34;Estimated error in path delay difference; +;;;0;15;35;Component of zenith path delay due to water vapour; +;;;2;1;131;Change data width; +;;;2;2;129;Change scale; +;;;0;13;16;Precipitable water; +;;;2;2;0;Reset scale; +;;;2;1;0;Reset data width; +;;;0;15;11;Log10 of integrated electron density; +;;;;;;; + +Category 08 - Surface report sequences (sea);;;;;;; +;;;;;;; +;;;;;;; +TABLE REFERNCE;;;;;;; +F;X;Y;TABLE REFERENCES;;;ELEMENT NAME; +;;;;;;(Buoy/platform - fixed); +3;8;1;3;1;33;Identification, type, date/time, position (high accuracy); +;;;3;2;11;Basic surface report; +;;;0;22;42;Sea-surface temperature; +;;;;;;(Buoy/platform - fixed) +3;8;2;3;1;34;Identification, type, date/time, position (coarse accuracy) +;;;3;2;11;Basic surface report +;;;0;22;42;Sea-surface temperature +;;;;;;(Buoy/platform - moving) +3;8;3;3;1;35;Identification, movement, type, date/time, position (coarse accuracy) +;;;3;2;11;Basic surface report +;;;0;22;42;Sea-surface temperature +;;;;;;(Ship) +3;8;4;3;1;36;Identification, movement, type, date/time, position (coarse accuracy) +;;;3;2;11;Basic surface report +;;;0;22;42;Sea-surface temperature +3;8;5;3;8;4;Basic ship report +;;;3;2;24;Wind waves and swell waves +;;;;;;(Buoy Section 1 optional parameters) +3;8;6;0;10;4;Pressure +;;;0;10;61;3-hour pressure change +;;;0;10;63;Characteristic of pressure tendency +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;0;12;4;Dry-bulb temperature at 2 m +;;;0;13;3;Relative humidity +;;;0;22;42;Sea temperature +3;8;7;3;1;55;Identification, movement type, date/time, position (high accuracy) +;;;3;2;11;Basic surface report +;;;0;7;62;Depth below sea/water surface +;;;0;22;42;Sea/water temperature +;;;;;; +Note:;Descriptor 3 08 007 should be used instead of 3 08 003 to encode moving buoy/platform information.;;;;; +;;;;;; + +Category 09 - Vertical sounding sequences (conventional data);;;;;; +;;;;;;; +;;;;;;; +TABLE REFERENCE;;;;;;; +F;;X;Y;TABLE REFERENCES;;;ELEMENT NAME +;;;;;;;(Vertical wind profile) +3;;9;1;3;1;37;Identification, etc. (land station, high accuracy position) +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;11;Winds at heights +;;;;;;;(Vertical wind profile) +3;;9;2;3;1;38;Identification, etc. (land station, coarse accuracy position) +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;11;Winds at heights +;;;;;;;(Vertical wind profile) +3;;9;3;3;1;37;Identification, etc. (land station, high accuracy position) +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;12;Winds at pressure levels +;;;;;;;(Vertical wind profile) +3;;9;4;3;1;38;Identification, etc. (land station, coarse accuracy position) +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;12;Winds at pressure levels +;;;;;;;(Vertical sounding with relative humidity) +3;;9;5;3;1;37;Identification, etc. (land station, high accuracy position) +;;;;3;2;4;Significant cloud information +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;13;Pressure, geopotential, temperature and wind data +;;;;;;;(Vertical sounding with relative humidity) +3;;9;6;3;1;38;Identification, etc. (land station, coarse accuracy position) +;;;;3;2;4;Significant cloud information +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;13;Pressure, geopotential, temperature and wind data +;;;;;;;(Vertical sounding with dew-point data) +3;;9;7;3;1;37;Identification, etc. (land station, high accuracy position) +;;;;3;2;4;Significant cloud information +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;14;Pressure, geopotential, temperature and wind data +;;;;;;;(Vertical sounding with dew-point data) +3;;9;8;3;1;38;Identification, etc. (land station, coarse accuracy position) +;;;;3;2;4;Significant cloud information +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;14;Pressure, geopotential, temperature and wind data +;;;;;;;(Vertical wind profile) +3;;9;11;3;1;39;Ship's identification, etc. +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;11;Winds at heights +;;;;;;;(Vertical wind profile) +3;;9;12;3;1;39;Ship's identification, etc. +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;12;Winds at pressure levels +;;;;;;;(Vertical sounding with relative humidity) +3;;9;13;3;1;39;Ship's identification, etc. +;;;;3;2;4;Significant cloud information +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;13;Pressure, geopotential, temperature and wind data +;;;;;;;(Vertical sounding with dew-point data) +3;9;;14;3;1;39;Ship's identification, etc. +;;;;3;2;4;Significant cloud information +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;14;Pressure, geopotential, temperature and wind data +;;;;;;;(Vertical wind profile) +3;9;;15;3;1;40;Ship's identification, etc. +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;11;Winds at heights +;;;;;;;(Vertical wind profile) +3;9;;16;3;1;40;Ship's identification, etc. +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;12;Winds at pressure levels +;;;;;;;(Vertical sounding with relative humidity) +3;9;;17;3;1;40;Ship's identification, etc. +;;;;3;2;4;Significant cloud information +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;13;Pressure, geopotential, temperature and wind data +;;;;;;;(Vertical sounding with dew-point data) +3;9;;18;3;1;40;Ship's identification, etc. +;;;;3;2;4;Significant cloud information +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;14;Pressure, geopotential, temperature and wind data +;;;;;;;(Wind profiler - wind data sounding) +3;9;;19;3;1;31;Identification, etc. +;;;;0;2;3;Type of measuring equipment used +;;;;1;1;0;Delayed replication of 1 descriptor +;;;;0;31;1;Replication factor +;;;;3;3;11;Winds at heights +;;;;;;; + +;;;;;;; +TABLE REFERENCE;;;;;;; +F;X;Y;TABLE REFERENCE;;;ELEMENT NAME; +;;;;;;(Wind profiler - Cartesian coordinates); +3;9;20;3;1;31;Identification, etc.; +;;;0;2;3;Type of measuring equipment used; +;;;1;4;0;Delayed replication of 4 descriptors; +;;;0;31;1;Replication factor; +;;;0;7;3;Geopotential; +;;;0;11;3;u-component; +;;;0;11;4;v-component; +;;;0;11;5;w-component; +;;;;;;(Ozone sonde flight data) +3;9;30;0;15;4;Ozone sounding correction factor +;;;0;15;5;Ozone p +;;;1;4;0;Delayed replication of 4 descriptors +;;;0;31;1;Replication factor +;;;0;4;15;"Time increment since launch time, if needed; in minutes" +;;;0;8;6;Ozone vertical sounding significance +;;;0;7;4;Pressure +;;;0;15;3;Measured ozone partial pressure +;;;;;; + +Category 10 - Vertical sounding sequences (satellite data);;;;;; +;;;;;; +TABLE REFERENCE;;;;;; +F;X;Y;TABLE REFERENCES;;;ELEMENT NAME +;;;;;;(Satellite - brightness temperature) +3;10;1;3;1;42;Identification, method, date/time +;;;3;3;31;Significance data, land/sea, skin temperature +;;;3;3;32;Cloud +;;;1;1;26;Replicate 1 descriptor 26 times +;;;3;3;25;Satellite channel and brightness temperature +;;;;;;(Satellite - low level) +3;10;2;3;1;42;Identification, method, date/time +;;;3;3;31;Significance data, land/sea, skin temperature +;;;3;3;32;Cloud +;;;1;1;9;Replicate 1 descriptor 9 times +;;;3;3;23;Layer mean temperature +;;;;;;(Satellite - high level) +3;10;3;3;1;42;Identification, method, date/time +;;;3;3;31;Significance data, land/sea, skin temperature +;;;3;3;32;Cloud +;;;1;1;6;Replicate 1 descriptor 6 times +;;;3;3;23;Layer mean temperature +;;;;;;(Satellite - precipitable water) +3;10;4;3;1;42;Identification, method, date/time +;;;3;3;31;Significance data, land/sea, skin temperature +;;;3;3;32;Cloud +;;;1;1;3;Replicate 1 descriptor 3 times +;;;3;3;24;Precipitable water +;;;;;; +3;10;5;3;1;42;Identification, method, date/time +;;;3;3;31;Significance data, land/sea, skin temperature +;;;3;3;33;Cloud +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;1;Delayed descriptor replication factor +;;;3;3;25;Satellite channel and brightness temperature +;;;;;; +3;10;6;3;1;42;Identification, method, date/time +;;;3;3;31;Significance data, land/sea, skin temperature +;;;3;3;33;Cloud +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;1;Delayed descriptor replication factor +;;;3;3;23;Layer mean temperature +;;;;;; +3;10;7;3;1;42;Identification, method, date/time +;;;3;3;31;Significance data, land/sea, skin temperature +;;;3;3;33;Cloud +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;1;Delayed descriptor replication factor +;;;3;3;24;Precipitable water + +;;;;;; +;;;;;;(ATOVS HIRS report) +3;10;8;3;10;11;ATOVS field of view variables +;;;1;1;19;Replicate 1 descriptor 19 times +;;;3;10;12;ATOVS channel variables +;;;0;2;150;TOVS/ATOVS/AVHRR instrumentation channel number +;;;0;25;79;Albedo-radiance solar filtered irradiance for ATOVS +;;;0;25;80;Albedo-radiance equivalent filter width for ATOVS +;;;0;33;32;Channel quality flags for ATOVS +;;;0;14;45;Channel radiance +;;;;;;(ATOVS AMSU-A report) +3;10;9;3;10;11;ATOVS field of view variables +;;;1;1;15;Replicate 1 descriptor 15 times +;;;3;10;12;ATOVS channel variables +;;;;;;(ATOVS AMSU-B report) +3;10;10;3;10;11;ATOVS field of view variables +;;;1;1;5;Replicate 1 descriptor 5 times +;;;3;10;12;ATOVS channel variables +;;;;;;(ATOVS field of view variables) +3;10;11;0;8;70;TOVS/ATOVS product qualifier +;;;0;1;33;Identification of originating/generating centre +;;;0;1;34;Identification of originating/generating centre +;;;0;8;70;TOVS/ATOVS product qualifier +;;;0;1;33;Identification of originating/generating centre +;;;0;1;34;Identification of originating/generating centre +;;;0;1;7;Satellite identification +;;;0;2;48;Satellite sensor indicator +;;;0;5;40;Orbit number +;;;0;25;75;Satellite antenna corrections version number +;;;2;1;133;Change width +;;;0;5;41;Scan line number +;;;2;1;0;Change width +;;;0;5;43;Field of view number +;;;0;25;70;Major frame count +;;;0;33;30;Scan line status flags for ATOVS +;;;0;33;31;Scan line quality flags for ATOVS +;;;0;4;1;Year +;;;0;4;2;Month +;;;0;4;3;Day +;;;0;4;4;Hour +;;;0;4;5;Minute +;;;2;2;131;Change scale +;;;2;1;138;Change width +;;;0;4;6;Second +;;;2;1;0;Change width +;;;2;2;0;Change scale +;;;0;5;1;Latitude +;;;0;6;1;Longitude +;;;2;2;126;Change scale +;;;0;7;1;Height of station +;;;2;2;0;Change scale +;;;0;7;24;Satellite zenith angle +;;;0;5;21;Satellite azimuth +;;;0;7;25;Solar zenith angle +;;;0;5;22;Solar azimuth +;;;0;33;33;Field of view quality flags for ATOVS +;;;0;2;151;Radiometer identifier +;;;0;12;64;Instrument temperature +;;;0;2;151;Radiometer identifier +;;;0;12;64;Instrument temperature +;;;0;2;151;Radiometer identifier +;;;0;12;64;Instrument temperature +;;;0;2;151;Radiometer identifier +;;;0;12;64;Instrument temperature +;;;;;;(ATOVS channel variables) +3;10;12;0;2;150;TOVS/ATOVS/AVHRR instrumentation channel number +;;;0;25;76;Log-10 of (temperature-radiance central wavenumber) for ATOVS +;;;0;25;77;Bandwidth correction coefficient 1 for ATOVS +;;;0;25;78;Bandwidth correction coefficient 2 for ATOVS +;;;0;33;32;Channel quality flags for ATOVS +;;;2;1;132;Change width +;;;2;2;129;Change scale +;;;0;12;63;Brightness temperature +;;;2;2;0;Change scale +;;;2;1;0;Change width +;;;;;;(AVHRR (GAC) report) +3;10;13;0;1;7;Satellite ID +;;;0;5;40;Orbit number +;;;0;4;1;Year +;;;0;4;2;Month +;;;0;4;3;Day +;;;0;4;4;Hour +;;;0;4;5;Minute +;;;0;4;6;Second +;;;0;5;1;Latitude +;;;0;6;1;Longitude +;;;0;7;25;Solar zenith angle +;;;0;5;43;Field of view number +;;;0;25;85;Fraction of clear pixels in HIRS field of view +;;;2;1;131;Change width +;;;2;2;129;Change scale +;;;0;2;150;TOVS/ATOVS/AVHRR instrumentation channel number +;;;0;8;23;First order statistics +;;;0;8;72;Pixel(s) type +;;;0;14;27;Albedo +;;;0;8;72;Pixel(s) type +;;;0;14;27;Albedo +;;;0;2;150;TOVS/ATOVS/AVHRR instrumentation channel number +;;;0;8;23;First order statistics +;;;0;8;72;Pixel(s) type +;;;0;14;27;Albedo +;;;0;8;72;Pixel(s) type +;;;0;14;27;Albedo +;;;0;2;150;ATOVS/AVHRR instrumentation channel number +;;;0;8;23;First order statistics +;;;0;8;72;Pixel(s) type +;;;0;14;27;Albedo +;;;0;8;72;Pixel(s) type +;;;0;14;27;Albedo +;;;2;2;0;Change scale +;;;2;1;0;Change width +;;;2;1;132;Change width +;;;2;2;129;Change scale +;;;0;2;150;ATOVS/AVHRR instrumentation channel number +;;;0;8;23;First order statistics +;;;0;8;72;Pixel(s) type +;;;0;12;63;Brightness temperature +;;;0;8;72;Pixel(s) type +;;;0;12;63;Brightness temperature +;;;0;2;150;ATOVS/AVHRR instrumentation channel number +;;;0;8;23;First order statistics +;;;0;8;72;Pixel(s) type +;;;0;12;63;Brightness temperature +;;;0;8;72;Pixel(s) type +;;;0;12;63;Brightness temperature +;;;0;8;23;First order statistics +;;;0;8;72;Pixel(s) type +;;;0;12;63;Brightness temperature +;;;0;8;72;Pixel(s) type +;;;0;12;63;Brightness temperature +;;;0;2;150;ATOVS/AVHRR instrumentation channel number +;;;0;8;23;First order statistics +;;;0;8;72;Pixel(s) type +;;;0;12;63;Brightness temperature +;;;0;8;72;Pixel(s) type +;;;0;12;63;Brightness temperature +;;;2;2;0;Change scale +;;;2;1;0;Change width +;;;;;;(Satellite - geostationnary wind data) +3;10;14;3;1;72;Satellite identification, date, time, latitude, longitude +;;;3;3;41;Wind sequence +;;;3;4;11;GOES-I/M information +;;;;;;(Meteosat radiace data) +3;10;15;3;1;72;Satellite identification +;;;0;7;24;Satellite zenith angle +;;;0;10;2;Height +;;;3;3;41;Wind sequence +;;;1;1;3;Replicate next descriptor 3 times +;;;3;4;32;Cloud fraction +;;;0;2;152;Satellite instrument used in data processing +;;;0;2;24;Integrated mean humidity computational method +;;;0;7;4;Pressure +;;;0;7;4;Pressure +;;;0;13;3;Relative humidity +;;;1;1;3;Replicate next descriptor 3 times +;;;3;4;33;Clear sky radiance +;;;;;;(Meteosat Second Generation (MSG) radiance data) +3;10;16;3;1;72;Satellite identification +;;;0;7;24;Satellite zenith angle +;;;0;10;2;Height +;;;3;3;41;Wind sequence +;;;1;1;12;Replicate next descriptor 12 times +;;;3;4;32;Cloud fraction +;;;0;2;152;Satellite instrument used in data processing +;;;0;2;24;Integrated mean humidity computational method +;;;0;7;4;Pressure +;;;0;7;4;Pressure +;;;0;13;3;Relative humidity +;;;1;1;12;Replicate next descriptor 12 times +;;;3;4;33;Clear sky radiance +;;;;;;(Retrieved ozone data) +3;10;20;3;10;22; +;;;3;1;11;Year, month, day +;;;3;1;13;Hour, minute, second +;;;3;1;21;Lat., long. (high accuracy) +;;;3;4;34; +;;;3;10;21; +;;;;;; +3;10;21;1;8;0;Delayed replication of 8 next descriptors +;;;0;31;1;Delayed descriptor replication factor +;;;2;1;131;Change data width +;;;2;2;129;Change scale +;;;0;7;4;Pressure +;;;0;7;4;Pressure +;;;2;2;0;Change scale back to Table B +;;;2;1;0;Change data width back to Table B +;;;0;15;20;Integrated 03 density +;;;0;10;2;Height +;;;;;; +3;10;22;0;1;7;Satellite identifier +;;;0;2;19;Satellite instrument used +;;;0;1;33;Identification of originating/generating centre +;;;0;2;172;Product type for retrieved atmospheric gases +;;;;;;(Geostationary multi-channel satellite radiance data) +3;10;23;3;1;72;Satellite identification +;;;0;30;21;Number of pixels per row +;;;0;30;22;Number of pixels per column +;;;0;8;12;Land/sea qualifier +;;;0;7;24;Satellite zenith angle +;;;0;7;25;Solar zenith angle +;;;0;10;2;Height +;;;1;1;12;Replicate next descriptor 12 times +;;;3;4;32;Cloud fraction +;;;1;5;2;Replicate next 5 descriptors 2 times +;;;0;2;152;Satellite instrument used in data processing +;;;0;2;24;Integrated mean humidity computational method +;;;0;7;4;Pressure +;;;0;7;4;Pressure +;;;0;13;3;Relative humidity +;;;1;1;12;Replicate next descriptor 12 times +;;;3;4;33;Radiance + +;;;;;; +;;;;;;(Geostationary three-channel satellite radiance data) +3;10;24;3;1;72;Satellite identification +;;;0;30;21;Number of pixels per row +;;;0;30;22;Number of pixels per column +;;;0;8;12;Land/sea qualifier +;;;0;7;24;Satellite zenith angle +;;;0;7;25;Solar zenith angle +;;;0;10;2;Height +;;;1;1;3;Replicate next descriptor 3 times +;;;3;4;32;Cloud fraction +;;;1;5;2;Replicate next 5 descriptors 2 times +;;;0;2;152;Satellite instrument used in data processing +;;;0;2;24;Integrated mean humidity computational method +;;;0;7;4;Pressure +;;;0;7;4;Pressure +;;;0;13;3;Relative humidity +;;;1;1;3;Replicate next descriptor 3 times +;;;3;4;33;Radiance +;;;;;;(SSMIS Temperature data record) +3;10;25;0;1;7;Satellite id +;;;0;8;21;Scan start +;;;0;4;1;Year +;;;0;4;2;Month +;;;0;4;3;Day +;;;0;4;4;Hour +;;;0;4;5;Minute +;;;2;1;138;Milliseconds +;;;2;2;131; +;;;0;4;6; +;;;2;2;0; +;;;2;1;0; +;;;2;1;132;Scan number +;;;0;5;41; +;;;2;1;0; +;;;2;1;129;Scene number +;;;0;5;43; +;;;2;1;0; +;;;0;5;2;Latitude +;;;0;6;2;Longitude +;;;0;13;40;Surface flag +;;;0;20;29;Rain flag +;;;1;4;24;Repeat 24 times next 4 descriptors +;;;0;5;42;Channel number +;;;0;12;163;Temperature +;;;0;21;83;Warm target calibration +;;;0;21;84;Cold target calibration +;;;1;15;3;Replicate ephemeris data (15 descriptors) 3 times +;;;0;4;1;Year +;;;0;4;2; +;;;0;4;3; +;;;2;1;142;Ephemeris milliseconds +;;;2;2;131; +;;;0;4;26; +;;;2;2;0; +;;;2;1;0; +;;;0;5;1;Ephemeris latitude, longitude +;;;0;6;1; +;;;2;1;138;Ephemeris height +;;;2;2;129; +;;;0;7;1; +;;;2;2;0; +;;;2;1;0; +;;;0;8;21;Orbit start, year, month, day, hour, minute +;;;0;4;1; +;;;0;4;2; +;;;0;4;3; +;;;0;4;4; +;;;0;4;5; +;;;0;5;40;Orbit number +;;;1;1;3;Repeat 3 times +;;;0;12;70;Warm load temperature +;;;0;25;54;SSMIS subframe id number +;;;1;1;4;Repeat 4 times +;;;0;25;55;Multiplexer housekeeping values +;;;0;8;7;Dimensional significance (line) +;;;1;4;28;Repeat 28 times next 4 descriptors +;;;0;5;2;Latitude +;;;0;6;2;Longitude +;;;0;2;111;Earth angle +;;;0;5;21;Azimuth +;;;;;; + +Category 11 - Single level report sequences (conventional data);;;;;; +;;;;;; +;;;;;; +TABLE REFERENCE;;;;;; +F;X;Y;TABLE REFERENCES;;;ELEMENT NAME +;;;;;;(Aircraft reports) +3;11;1;3;1;51;ASDAR aircraft flight number, navigational system, date/time, position, phase of aircraft flight +;;;0;7;2;Altitude +;;;0;12;1;Temperature +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;0;11;31;Degree of turbulence +;;;0;11;32;Height of base of turbulence +;;;0;11;33;Height of top of turbulence +;;;0;20;41;Airframe icing +;;;;;;(ACARS reports) +3;11;2;3;1;65;ACARS identification +;;;3;1;66;ACARS location +;;;3;11;3;ACARS standard reported variables +;;;3;11;4;ACARS supplementary reported variables +;;;;;;(ACARS standard reported variables) +3;11;3;0;10;70;Indicated aircraft altitude +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;0;12;1;Temperature/dry-bulb temperature +;;;0;13;2;Mixing ratio +;;;;;;(ACARS supplementary reported variables) +3;11;4;1;1;0;Delayed replication of one descriptor +;;;0;31;0;Short delayed descriptor replication factor +;;;0;11;34;Vertical gust velocity +;;;1;1;0;Delayed replication of one descriptor +;;;0;31;0;Short delayed descriptor replication factor +;;;0;11;35;Vertical gust acceleration +;;;1;1;0;Delayed replication of one descriptor +;;;0;31;0;Short delayed descriptor replication factor +;;;0;11;75;Mean turbulence intensity (eddy dissipation rate) +;;;1;1;0;Delayed replication of one descriptor +;;;0;31;0;Short delayed descriptor replication factor +;;;0;11;76;Peak turbulence intensity (eddy dissipation rate) +;;;1;1;0;Delayed replication of one descriptor +;;;0;31;0;Short delayed descriptor replication factor +;;;0;33;25;ACARS interpolated values +;;;1;1;0;Delayed replication of one descriptor +;;;0;31;0;Short delayed descriptor replication factor +;;;0;33;26;Mixing ratio quality +;;;;;;(Standard AMDAR reports) +3;11;5;0;1;8;Aircraft identification +;;;0;1;23;Sequence number +;;;3;1;21;Latitude and longitude +;;;3;1;11;Year, month and day +;;;3;1;13;Hour, minute and second +;;;0;7;10;Flight level +;;;0;8;9;Detailed phase of flight +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;0;11;31;Degree of turbulence +;;;0;11;36;Derived equivalent vertical gust speed +;;;0;12;101;Temperature/dry-bulb temperature +;;;0;33;25;ACARS interpolated values +;;;;;;(AMDAR sounding data) +3;11;6;0;7;10;Flight level +;;;0;11;1;Wind direction +;;;0;11;2;Wind speed +;;;0;2;64;Roll angle quality +;;;0;12;101;Temperature/dry-bulb temperature +;;;0;12;103;Dew-point temperature +;;;;;; +;;;;;; + +Category 12 - Single level report sequences (satellite data);;;;;; +;;;;;; +;;;;;; +TABLE REFERENCE;;;;;; +F;X;Y;TABLE REFERENCES;;;ELEMENT NAME +3;12;1;3;1;43;Satellite identifier, instrumentation, location, date/time +;;;3;4;1;Cloud top pressure, temperature, wind +;;;;;; +3;12;2;3;1;43;Satellite identifier, instrumentation, location, date/time +;;;3;4;2;Cloud top pressure, wind +;;;;;; +3;12;3;3;1;42;Satellite identifier, instrumentation, location, date/time +;;;3;4;3;Surface temperature +;;;;;; +3;12;4;3;1;42;Satellite identifier, instrumentation, location, date/time +;;;3;4;4;Cloud cover +;;;;;; +3;12;5;3;1;42;Satellite identifier, instrumentation, location, date/time +;;;0;20;14;Height of top of cloud +;;;;;; +3;12;6;3;1;44;Satellite identifier, instrumentation, location, date/time +;;;3;4;5;Layer mean relative humidity +;;;;;; +3;12;7;3;1;42;Satellite identifier, instrumentation, location, date/time +;;;3;4;6;Radiation +;;;;;;(Orbital information, Part I) +3;12;10;0;1;7;Satellite identifier +;;;0;5;40;Orbit number +;;;0;2;21;Satellite instrumentation +;;;0;5;41;Scan line number +;;;0;4;1;Year +;;;0;4;43;Day of year +;;;;;;(Orbital information, Part II) +3;12;11;2;2;131;Change scale +;;;2;1;149;Change width +;;;0;4;6;Second +;;;2;1;0;Change width +;;;2;2;126;Change scale +;;;0;10;2;Height +;;;2;2;0;Change scale +;;;0;5;43;Field of view number +;;;0;5;53;Field of view number increment +;;;;;;(HIRS brightness temperatures - channels 1-19) +3;12;12;2;2;129;Change scale +;;;2;1;132;Change width +;;;1;1;19;Replicate 1 descriptor 19 times +;;;0;12;63;Brightness temperature +;;;2;1;0;Change width +;;;2;2;0;Change scale +;;;;;;(HIRS brightness temperatures - channel 20) +3;12;13;0;5;42;Channel number +;;;2;2;129;Change scale +;;;2;1;135;Change width +;;;0;12;63;Brightness temperature +;;;2;1;0;Change width +;;;2;2;0;Change scale +;;;;;;(HIRS satellite data) +3;12;14;3;12;10;Orbital information, Part I +;;;3;12;11;Orbital information, Part II +;;;1;5;56;Replicate 5 descriptors 56 times +;;;3;1;23;Latitude and longitude (coarse accuracy) +;;;0;5;42;Channel number +;;;0;5;52;Channel number increment +;;;3;12;12;HIRS brightness temperatures - channels 1-19 +;;;3;12;13;HIRS brightness temperature - channel 20 +;;;;;;(MSU brightness temperatures - channels 1-4) +3;12;15;1;9;11;Replicate 9 descriptors 11 times +;;;3;1;23;Latitude and longitude (coarse accuracy) +;;;0;5;42;Channel number +;;;0;5;52;Channel number increment +;;;2;2;129;Change scale +;;;2;1;132;Change width +;;;1;1;4;Replicate 1 descriptor 4 times +;;;0;12;63;Brightness temperature +;;;2;2;0;Change scale +;;;2;1;0;Change width +;;;;;;(MSU satellite data) +3;12;16;3;12;10;Orbital information, Part I +;;;3;12;11;Orbital information, Part II +;;;3;12;15;MSU brightness temperatures - channels 1-4 +;;;;;;(SSU brightness temperatures - channels 1-3) +3;12;17;1;9;8;Replicate 9 descriptors 8 times +;;;3;1;23;Latitude and longitude (coarse accuracy) +;;;0;5;42;Channel number +;;;0;5;52;Channel number increment +;;;2;2;129;Change scale +;;;2;1;132;Change width +;;;1;1;3;Replicate 1 descriptor 3 times +;;;0;12;63;Brightness temperature +;;;2;2;0;Change scale +;;;2;1;0;Change width +;;;;;;(SSU satellite data) +3;12;18;3;12;10;Orbital information, Part I +;;;3;12;11;Orbital information, Part II +;;;3;12;17;SSU brightness temperatures - channels 1-3 +;;;;;;(Wave scatterometer product with width change for wave number (spectral)) +3;12;19;3;1;47;Product header +;;;3;1;48;Radar parameters +;;;0;15;15;Maximum spectrum composition before normalisation +;;;0;29;2;Coordinate grid type +;;;0;21;76;Representation of intensities +;;;1;6;12;Repeat next 6 descriptors 12 times +;;;2;1;129;Change width to 14 bits +;;;0;6;30;Wave number (spectral) +;;;2;1;0;Change width back to Table B +;;;1;2;12;Repeat next 2 descriptors 12 times +;;;0;5;30;Direction (spectral) +;;;0;21;75;Image spectrum intensity +;;;0;21;66;Wave scatterometer product confidence data +;;;;;;(Wave scatterometer product) +3;12;20;3;1;47;Product header +;;;3;1;48;Radar parameters +;;;0;15;15;Maximum spectrum composition before normalization +;;;0;29;2;Coordinate grid type +;;;0;21;76;Representation of intensities +;;;1;4;12;Repeat next 4 descriptors 12 times +;;;0;6;30;Wave number (spectral) +;;;1;2;12;Repeat next 2 descriptors 12 times +;;;0;5;30;Direction (spectral) +;;;0;21;75;Spectral intensity +;;;0;21;66;Wave scatterometer product confidence data +;;;;;;(Wind scatterometer product) +3;12;21;3;1;47;Product header +;;;1;1;3;Repeat 1 descriptor 3 times +;;;3;1;49;Radar beam data +;;;0;11;12;Wind speed at 10 m +;;;0;11;11;Wind direction at 10 m +;;;0;21;67;Wind product confidence data +;;;;;;(Radar altimeter product) +3;12;22;3;1;47;Product header +;;;0;8;22;Number in average +;;;0;11;12;Wind speed +;;;0;11;50;Standard deviation of horizontal wind speed +;;;0;22;70;Significant wave height +;;;0;22;26;Standard deviation of significant wave height +;;;3;12;41;Altitude +;;;0;10;50;Standard deviation of altitude +;;;0;21;68;Radar altimeter product confidence data +;;;0;21;71;Peakiness +;;;0;21;72;Altimeter calibration status +;;;0;21;73;Altimeter instrument mode +;;;3;12;42;Altitude corrections +;;;0;21;62;Backscatter +;;;0;15;11;Log 10 of integrated electron density +;;;;;;(ATSR sea surface temperature product) +3;12;23;3;1;47;Product header +;;;1;3;3;Repeat 3 descriptors 3 times +;;;0;8;22;Number in average +;;;0;12;61;Skin temperature +;;;0;22;50;Standard deviation of sea surface temperature +;;;0;21;69;SST product confidence data +;;;0;21;85;ATSR sea surface temperature across-track band number +;;;;;;(Wave scatterometer product enhanced) +3;12;24;3;12;20;(Wave scatterometer product) +;;;0;8;60;Sample scanning mode significance - range +;;;0;8;22;Number in sample +;;;0;8;60;Sample scanning mode signification - horizontal +;;;0;8;22;Number in sample +;;;0;25;14;Azimuth clutter cut-off +;;;0;22;101;Total energy (wavelength > 731 m) +;;;0;22;97;Mean wavelength of image spectrum +;;;0;22;98;Wavelength spread (wavelength > 731 m) +;;;0;22;99;Mean direction (wavelength > 731 m) +;;;0;22;100;Direction spread (wavelength > 731 m) +;;;;;;(Wave scatterometer enhanced product (with change of width for wave number (spectral)) +3;12;25;3;12;19;Wave scatterometer product with width change for wave +;;;;;;number (spectral) +;;;0;8;60;Sample scanning mode significance - range +;;;0;8;22;Number in sample +;;;0;8;60;Sample scanning mode significance - horizontal +;;;0;8;22;Number in sample +;;;0;25;14;Azimuth clutter cut-off +;;;0;22;101;Total energy (wavelength > 731 m) +;;;0;22;97;Mean wavelength of image spectrum +;;;0;22;98;Wavelength spread (wavelength > 731 m) +;;;0;22;99;Mean direction (wavelength > 731 m) +;;;0;22;100;Direction spread (wavelength > 731 m) +;;;;;;(QUIKSCAT data) +3;12;26;3;1;46; +;;;3;1;11;Data +;;;3;1;13;Time +;;;3;1;23;Location +;;;3;12;31; +;;;1;1;4;Replicate 1 descriptor 4 times +;;;3;12;30; +;;;0;21;110;Number of inner-beam sigma-0 (forward of satellite) +;;;3;1;23;Location +;;;3;21;27; +;;;0;21;111;Number of outer-beam sigma-0 (forward of satellite) +;;;3;1;23;Location +;;;3;21;27; +;;;0;21;112;Number of inner-beam sigma-0 (aft of satellite) +;;;3;1;23;Location +;;;3;21;27; +;;;0;21;113;Number of outer-beam sigma-0 (aft of satellite) +;;;3;1;23;Location +;;;3;21;27; + +;;;;;; +;;;;;;(ATSR SST Product (SADIST-2)) +3;12;27;3;1;47;ERS product header +;;;1;5;9;Repeat next 5 descriptors 9 times +;;;3;1;23;Location (coarse Latitude + Longitude) of 10-arcmin cell +;;;0;7;21;Elevation: Incidence angle Nadir view [set to zero] +;;;0;12;61;Skin temperature: SST [Nadir-only view] +;;;0;7;21;Elevation: Incidence angle Dual view [set to 'missing'] +;;;0;12;61;Skin temperature: SST [Dual view] +;;;0;21;85;ATSR SST across-track band number [0-9] +;;;0;21;70;SST product confidence data (SADIST-2) [23-bit flag] +;;;;;;(SEAWINDS QUIKSCAT data) +3;12;28;3;1;46; +;;;3;1;11; +;;;3;1;13; +;;;3;1;23; +;;;0;8;25;Time difference qualifier +;;;2;1;136;Change data width +;;;0;4;6;Second +;;;2;1;0;Change data width back to Table B +;;;3;12;31; +;;;3;12;32; +;;;1;1;4;Next descriptor replicated four times +;;;3;12;30; +;;;1;1;2;Next descriptor replicated two times +;;;3;12;33; +;;;0;21;110;Number of inner-beam sigma-0 (forward of satellite) +;;;3;1;23; +;;;3;21;28; +;;;0;21;111;Number of outer-beam sigma-0 (forward of satellite) +;;;3;1;23; +;;;3;21;28; +;;;0;21;112;Number of inner-beam sigma-0 (aft of satellite) +;;;3;1;23; +;;;3;21;28; +;;;0;21;113;Number of outer-beam sigma-0 (aft of satellite) +;;;3;1;23; +;;;3;21;28; +;;;;;; +3;12;30;2;1;130;Change data width +;;;2;2;129;Change scale +;;;0;11;12;Wind speed at 10 m +;;;2;2;0;Change scale back to Table B +;;;2;1;0;Change data width back to Table B +;;;0;11;52;Formal uncertainty in wind speed +;;;2;1;135;Change data width +;;;2;2;130;Change scale +;;;0;11;11;Wind direction at 10 m +;;;2;2;0;Change scale back to Table B +;;;2;1;0;Change data width back to Table B +;;;0;11;53;Formal uncertainty in wind direction +;;;0;21;104;Likelihood computed for solution + +;;;;;; +3;12;31;0;5;34;Along-track row number +;;;0;6;34;Cross-track cell number +;;;0;21;109;SEAWINDS wind vector cell quality +;;;0;11;81;Model wind direction at 10 m +;;;0;11;82;Model wind speed at 10 m +;;;0;21;101;Number of vector ambiguities +;;;0;21;102;Index of selected wind vector +;;;0;21;103;Total number of sigma-0 measurements +;;;;;; +3;12;32;0;21;120;Probability of rain +;;;0;21;121;SEAWINDS NOF rain index +;;;0;13;55;Intensity of precipitation +;;;0;21;122;Attenuation correction on sigma-0 (from tB) +;;;;;; +3;12;33;0;2;104;Antenna polarisation +;;;0;8;22;Total number (with respect to accumulation) +;;;0;12;63;Brightness temperature +;;;0;12;65;Standard deviation brightness temperature +;;;;;;(Altitude) +3;12;41;2;1;141;Change width to 28 bits +;;;2;2;130;Change scale to 2 +;;;0;7;1;Altitude +;;;2;1;0;Change width back to Table B +;;;2;2;0;Change scale back to Table B +;;;;;;(Altitude corrections) +3;12;42;0;21;77;Altitude correction, ionosphere +;;;0;21;78;Altitude correction, dry troposphere +;;;0;21;79;Altitude correction, wet troposphere +;;;0;21;80;Altitude correction, calibration constant +;;;0;21;81;Open loop height-time loop calibration correction +;;;0;21;82;Open loop automatic gain control calibration correction +;;;;;; +Notes:;;;;;; +;;;;;; +-1;Separation of single level satellite data into sets of BUFR messages helps compression and results in efficient data transmission and storage.;;;;; +-2;"Each BUFR message may contain data for a number of locations; the BUFR compression technique involves negligible overheads for data items that are invariant.";;;;; +-3;Compound BUFR messages may be described within the data description section, if required (e.g. 3 01 041, 3 04 001, 3 04 002, 3 04 003, 3 04 004, 3 04 005, 3 04 006).;;;;; +;;;;;; + +Category 13 - Sequences common to image data;;;;;; +;;;;;; +TABLE REFERENCE;;;;;; +F;X;Y;TABLE REFERENCES;;;ELEMENT NAME +;;;;;;(Radar reflectivity values) +3;13;9;0;21;1;Horizontal reflectivity +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;1;Replication factor +;;;0;21;1;Horizontal reflectivity +;;;;;;(Radar rainfall intensities) +3;13;10;0;21;36;Radar rainfall intensity +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;1;Replication factor +;;;0;21;36;Radar rainfall intensity +;;;;;;(Non run-length encoded row for Pixel value (4 bits)) +3;13;31;0;6;2;First longitude location minus one increment +;;;0;6;12;Longitude increment +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;2;Extended replication factor +;;;0;30;1;Pixel value (4 bits) +;;;;;;(Non run-length encoded picture data for Pixel value (4 bits)) +3;13;32;0;5;2;First latitude location minus one increment +;;;0;5;12;Latitude increment (signed value so cannot cross pole) +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;2;Extended replication factor +;;;3;13;31;Non run-length encoded row +;;;;;;(Run-length encoded row for Pixel value (4 bits)) +3;13;41;0;6;2;First longitude location minus one increment +;;;1;10;0;Delayed replication of 10 descriptors +;;;0;31;1;Replication factor +;;;1;4;0;Delayed replication of 4 descriptors +;;;0;31;1;Replication factor +;;;0;6;12;Longitude increment +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;12;Repetition factor +;;;0;30;1;Pixel value (4 bits) +;;;0;6;12;Longitude increment +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;1;Replication factor +;;;0;30;1;Pixel value (4 bits) +;;;;;;(Run-length encoded picture data for Pixel value (4 bits)) +3;13;42;0;5;2;First latitude location minus one increment +;;;0;5;12;Latitude increment (signed value so cannot cross pole) +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;2;Extended replication factor +;;;3;13;41;Run-length encoded row + +;;;;;; +TABLE REFERENCE;;;;;; +F;X;Y;TABLE REFERENCES;;;ELEMENT NAME +;;;;;;(Run-length encoded picture data for Pixel value (4 bits), regular grid) +3;13;43;0;6;2;First longitude location minus one increment +;;;0;5;2;First latitude location minus one increment +;;;0;5;12;Latitude increment +;;;1;12;0;Delayed replication of 12 descriptors +;;;0;31;1;Replication factor +;;;1;10;0;Delayed replication of 10 descriptors +;;;0;31;1;Replication factor +;;;1;4;0;Delayed replication of 4 descriptors +;;;0;31;1;Replication factor +;;;0;6;12;Longitude increment +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;11;Repetition factor +;;;0;30;1;Pixel value (4 bits) +;;;0;6;12;Longitude increment +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;1;Replication factor +;;;0;30;1;Pixel value (4 bits) +;;;;;; + +Category 15 - Oceanographic report sequences;;;;;; +;;;;;; +;;;;;; +TABLE REFERENCE;;;;;; +F;X;Y;TABLE REFERENCES;;;ELEMENT NAME +;;;;;;(Typically reported underwater sounding without optional fields) +3;15;1;0;1;11;Ship's call sign +;;;3;1;11;Date +;;;3;1;12;Time +;;;3;1;23;Latitude and longitude (coarse accuracy) +;;;3;6;1;Depth, temperature +;;;;;;(Typically reported underwater sounding without optional fields) +3;15;2;0;1;11;Ship's call sign +;;;3;1;11;Date +;;;3;1;12;Time +;;;3;1;23;Latitude and longitude (coarse accuracy) +;;;3;6;4;Depth, temperature, salinity +;;;;;; + +Category 16 - Synoptic feature sequences;;;;;; +;;;;;; +TABLE REFERENCE;;;;;; +F;X;Y;TABLE REFERENCES;;;ELEMENT NAME +3;16;1;3;1;11;Year, month, day +;;;0;4;4;Hour +;;;3;1;23;Latitude and longitude (coarse accuracy) +;;;0;1;21;Synoptic feature identifier +;;;0;2;41;Method for estimating reports related to synoptic features +;;;0;19;1;Type of synoptic feature +;;;0;10;51;Pressure reduced to mean sea level +;;;0;19;2;Effective radius of feature +;;;0;19;3;Wind speed threshold (15 m s-1 typically) +;;;0;19;4;Effective radius with respect to wind speeds above threshold +;;;;;;(Header) +3;16;2;0;8;21;Data time (analysis) +;;;0;4;1;Year +;;;0;4;2;Month +;;;0;4;3;Day +;;;0;4;4;Hour +;;;0;4;5;Minute +;;;0;1;33;Originating/generating centre +;;;0;8;21;Validity time (fcst) +;;;0;4;1;Year +;;;0;4;2;Month +;;;0;4;3;Day +;;;0;4;4;Hour +;;;0;4;5;Minute +;;;0;7;2;Flight level (altitude) (base of chart layer) +;;;0;7;2;Flight level (altitude) (top of chart layer) +;;;;;;(Jet stream) +3;16;3;1;10;0;Delayed replication +;;;0;31;1;Replication +;;;0;8;11;Meteorological feature (jet stream value) +;;;0;8;7;Dimensional significance (value for line) +;;;1;4;0;Delayed replication +;;;0;31;1;Replication +;;;0;5;2;Latitude (coarse) +;;;0;6;2;Longitude (coarse) +;;;0;10;2;Flight level (altitude) +;;;0;11;2;Wind speed +;;;0;8;7;Dimensional significance (cancel) +;;;0;8;11;Meteorological feature (cancel/end of object) +;;;;;;(Turbulence) +3;16;4;1;11;0;Delayed replication +;;;0;31;1;Replication +;;;0;8;11;Meteorological feature (value for turbulence) +;;;0;8;7;Dimensional significance (value for area) +;;;0;7;2;Flight level (altitude) (base of layer) +;;;0;7;2;Flight level (altitude) (top of layer) +;;;1;2;0;Delayed replication +;;;0;31;1;Replication +;;;0;5;2;Latitude (coarse) +;;;0;6;2;Longitude (coarse) +;;;0;11;031(1);Degree of turbulence +;;;0;8;7;Dimensional significance (cancel) +;;;0;8;11;Meteorological feature (cancel/end of object) +;;;;;;(Storm) +3;16;5;1;8;0;Delayed replication +;;;0;31;1;Replication +;;;0;8;5;Meteorological attribute significance (storm centre) +;;;0;8;7;Dimensional significance (value for point) +;;;0;5;2;Latitude (coarse) +;;;0;6;2;Longitude (coarse) +;;;0;1;26;WMO storm name (use unknown for a sandstorm) +;;;0;19;1;Synoptic features (value for type of storm) +;;;0;8;7;Dimensional significance (cancel) +;;;0;8;5;Meteorological attribute significance (cancel/end of object) +;;;;;;(Cloud) +3;16;6;1;12;0;Delayed replication +;;;0;31;1;Replication +;;;0;8;11;Meteorological feature (value for cloud) +;;;0;8;7;Dimensional significance (value for area) +;;;0;7;2;Flight level (altitude) (base of layer) +;;;0;7;2;Flight level (altitude) (top of layer) +;;;1;2;0;Delayed replication +;;;0;31;1;Replication +;;;0;5;2;Latitude (coarse) +;;;0;6;2;Longitude (coarse) +;;;0;20;011(2);Cloud amount +;;;0;20;12;Cloud type +;;;0;8;7;Dimensional significance (cancel) +;;;0;8;11;Meteorological feature (cancel/end of object) +;;;;;;(Front) +3;16;7;1;10;0;Delayed replication +;;;0;31;1;Replication +;;;0;8;011(3);Meteorological feature (value for type of front) +;;;0;8;7;Dimensional significance (value for line) +;;;1;4;0;Delayed replication +;;;0;31;1;Replication +;;;0;5;2;Latitude (coarse) +;;;0;6;2;Longitude (coarse) +;;;0;19;5;Direction of feature +;;;0;19;6;Speed of feature +;;;0;8;7;Dimensional significance (cancel) +;;;0;8;11;Meteorological feature (cancel/end of object) +;;;;;;(Tropopause) +3;16;8;1;11;0;Delayed replication +;;;0;31;1;Replication +;;;0;8;1;Vertical significance (bit 3 set for tropopause) +;;;0;8;7;Dimensional significance (value for point) +;;;0;8;023(4);Statistic (type of tropopause value) +;;;1;3;0;Delayed replication +;;;0;31;1;Replication +;;;0;5;2;Latitude (coarse) +;;;0;6;2;Longitude (coarse) +;;;0;10;2;Height/altitude +;;;0;8;23;Statistic (cancel) +;;;0;8;7;Dimensional significance (cancel) +;;;0;8;1;Vertical significance (cancel/end of object) +;;;;;;(Airframe icing area) +3;16;9;1;11;0;Delayed replication +;;;0;31;1;Replication +;;;0;8;11;Meteorological feature (value for airframe icing) +;;;0;8;7;Dimensional significance (value for area) +;;;0;7;2;Flight level (altitude) (base of layer) +;;;0;7;2;Flight level (altitude) (top of layer) +;;;1;2;0;Delayed replication +;;;0;31;1;Replication +;;;0;5;2;Latitude (coarse) +;;;0;6;2;Longitude (coarse) +;;;0;20;41;Airframe icing (type of airframe icing) +;;;0;8;7;Dimensional significance (cancel) +;;;0;8;11;Meteorological feature (cancel/end of object) +;;;;;;(Name of feature) +3;16;10;1;7;0;Delayed replication +;;;0;31;1;Replication +;;;0;8;11;Meteorological feature +;;;0;8;7;Dimensional significance (value for point) +;;;0;1;22;Name of feature +;;;0;5;2;Latitude (coarse) +;;;0;6;2;Longitude (coarse) +;;;0;8;7;Dimensional significance (cancel) +;;;0;8;11;Meteorological feature (cancel/end of object) +;;;;;;(Volcano erupting) +3;16;11;1;17;0;Delayed replication +;;;0;31;1;Replication +;;;0;8;11;Meteorological feature (value for special clouds) +;;;0;1;22;Name of feature (volcano name) +;;;0;8;7;Dimensional significance (value for point) +;;;1;2;0;Delayed replication +;;;0;31;1;Replication +;;;0;5;2;Latitude (coarse) +;;;0;6;2;Longitude (coarse) +;;;0;8;21;Time significance (eruption starting time) +;;;0;4;1;Year +;;;0;4;2;Month +;;;0;4;3;Day +;;;0;4;4;Hour +;;;0;4;5;Minute +;;;0;20;90;Special clouds (clouds from volcanic eruptions) +;;;0;8;21;Time significance (cancel) +;;;0;8;7;Dimensional significance (cancel) +;;;0;8;11;Meteorological feature (cancel/end of object) +;;;;;;(Forecast data) +3;16;22;0;1;32;Generating application (NWP model name, etc. code table defined by originating/generating centre) +;;;0;2;41;Method for estimating reports related to synoptic feature +;;;0;19;1;Type of synoptic feature +;;;0;19;10;Method for tracing of the centre of synoptic feature +;;;1;18;0;Delayed replication of 18 descriptors +;;;0;31;1;Replication factor +;;;0;8;21;Time significance (forecast) +;;;0;4;14;Time increment (hour) +;;;0;8;5;Surface synoptic feature significance +;;;3;1;23;Latitude (coarse accuracy), longitude (coarse accuracy) +;;;0;19;5;Direction of motion of feature +;;;0;19;6;Speed of motion of feature +;;;0;10;4;Pressure +;;;0;11;41;Maximum wind speed (gust: e.g. used in US) +;;;0;8;21;Time significance (forecast time averaged) +;;;0;4;75;Time period (minutes) +;;;0;11;40;Maximum wind speed (mean wind) +;;;0;19;8;Vertical extent of feature +;;;1;5;4;Replicate 5 descriptors 4 times +;;;0;5;21;Starting bearing or azimuth +;;;0;5;21;Ending bearing or azimuth +;;;1;2;2;Replicate 2 descriptors 2 times +;;;0;19;3;Wind speed threshold +;;;0;19;4;Effective radius with respect to wind speed above threshold +;;;;;; +Notes:;;;;;; +-1;For MOD OCNL SEV code as 12 (extreme in clear air) or 13 (extreme in cloud);;;;; +-2;Code table values ;: FRQ;;= code figure 8 (8 oktas);; +;;;: OCNL EMBD;= code figure 6 (6 oktas);; +;;;: ISOL;;= code figure 2 (2 oktas) when the cloud = Cb.; +-3;Front direction (towards which the front is moving) must always be given as it is needed for plotting purposes. A front direction with a front speed of zero would indicate a slow front. A value in the code table exists to represent a quasi-stationary front.;;;;; +-4;The statistic is to determine whether the following tropopause levels are minimum, maximum or spot values (missing code value).;;;;; + +Category 18 - Radiological report sequences;;;;;; +;;;;;; +TABLE REFERENCE;;;;;; +F;X;Y;TABLE REFERENCES;;;ELEMENT NAME +3;18;1;3;1;25;Latitude and longitude (coarse accuracy), day and time +;;;0;24;11;Dose +;;;;;; +3;18;3;3;1;26;Latitude and longitude (high accuracy), time periods in days, +;;;;;;hours and minutes +;;;0;24;5;Isotope mass +;;;0;24;4;Element name +;;;0;24;21;Air concentration +;;;;;; +3;18;4;3;1;25;Latitude and longitude (coarse accuracy), day and time +;;;0;4;23;Time period or displacement +;;;0;13;11;Total precipitation/total water equivalent +;;;0;24;5;Isotope mass +;;;0;24;4;Element name +;;;0;24;22;Concentration in precipitation +;;;;;; +;;;;;; + +Category 21 - Radar report sequences;;;;;; +;;;;;; +;;;;;; +TABLE REFERENCE;;;;;; +F;X;Y;TABLE REFERENCES;;;ELEMENT NAME +;;;;;;(Wind profiler - antenna characteristics) +3;21;1;0;2;101;Type of antenna +;;;0;2;114;Antenna effective surface area +;;;0;2;105;Maximum antenna gain +;;;0;2;106;3-dB beamwidth +;;;0;2;107;Sidelobe suppression +;;;0;2;121;Mean frequency +;;;;;;(Wind profiler - moment data) +3;21;3;0;21;51;Signal power above 1 mW +;;;0;21;14;Doppler mean velocity (radial) +;;;0;21;17;Doppler velocity spectral width +;;;0;21;30;Signal to noise ratio +;;;;;;(Wind profiler - moment data sounding) +3;21;4;3;1;31;Identification, type, date/time, position (high accuracy), height +;;;0;2;3;Type of measuring equipment used +;;;1;1;0;Delayed replication of 1 descriptor +;;;0;31;1;Replication factor +;;;3;21;3;Wind profiler - moment data +;;;;;;(Transmitter-receiver characteristics) +3;21;5;0;25;4;Echo processing +;;;0;2;121;Mean frequency +;;;0;2;122;Frequency agility range +;;;0;2;123;Peak power +;;;0;2;124;Average power +;;;0;2;125;Pulse repetition frequency +;;;0;2;126;Pulse width +;;;0;2;127;Receiver intermediate frequency +;;;0;2;128;Intermediate frequency bandwidth +;;;0;2;129;Minimum detectable signal +;;;0;2;130;Dynamic range +;;;0;2;131;Sensitivity time control +;;;;;;(Integration characteristics) +3;21;6;0;25;1;Range-gate length +;;;0;25;2;Number of gates averaged +;;;0;25;3;Number of integrated pulses +;;;0;25;5;Echo integration +;;;;;;(Corrections) +3;21;7;0;25;9;Calibration method +;;;0;25;10;Clutter treatment +;;;0;25;11;Ground occultation correction +;;;0;25;12;Range attenuation correction +;;;0;25;13;Bright-band correction +;;;0;25;15;Radome attenuation correction +;;;0;25;16;Clear-air attenuation correction +;;;0;25;17;Precipitation attenuation correction + +;;;;;; +TABLE REFERENCE;;;;;; +F;X;Y;TABLE REFERENCES;;;ELEMENT NAME +;;;;;;(Z to R conversion) +3;21;8;0;25;6;Z to R conversion +;;;0;25;7;Z to R conversion factor +;;;0;25;8;Z to R conversion exponent +;;;;;;(A to Z law) +3;21;9;0;25;18;A to Z law for attenuation factor +;;;0;25;19;A to Z law for attenuation exponent +;;;;;;(Antenna characteristics) +3;21;10;0;2;101;Type of antenna +;;;0;7;2;Altitude of the tower base +;;;0;2;102;Antenna height above tower base +;;;0;2;103;Radome +;;;0;2;104;Antenna polarisation +;;;0;2;105;Maximum antenna gain +;;;0;2;106;3-dB beamwidth +;;;0;2;107;Sidelobe suppression +;;;0;2;108;Crosspol discrimination (on axis) +;;;0;2;109;Antenna speed (azimuth) +;;;0;2;110;Antenna speed (elevation) +;;;0;2;132;Azimuth pointing accuracy +;;;0;2;133;Elevation pointing accuracy +;;;;;;(General characteristics) +3;21;11;0;30;31;Picture type +;;;0;30;32;Combination with other data +;;;0;29;2;Coordinate grid type +;;;;;;(Antenna elevations) +3;21;12;1;1;0;Delayed replication of 1 descriptor +;;;0;31;1;Replication factor +;;;0;2;135;Antenna elevation +;;;;;;(Basic information (System/site header) on Wind profiler/RASS) +3;21;21;0;2;3;Type of measuring equipment used +;;;0;2;101;Type of antenna +;;;2;1;130;Change width to 8 bits +;;;0;2;106;3-dB beam width +;;;2;1;0;Change width back to table B +;;;2;1;132;Change width to 11 bits +;;;2;2;130;Change scale to -6 +;;;0;2;121;Mean frequency +;;;2;2;0;Change scale back to table B +;;;2;1;0;Change width back to table B +;;;2;1;133;Change width to 11 bits +;;;2;2;129;Change scale to 0 +;;;0;25;1;Range-gate length +;;;2;2;0;Change scale back to table B +;;;2;1;0;Change width back to table B + +;;;;;; +;;;;;;(Wind profiler: Processed-data winds) +3;21;22;0;7;7;Height +;;;2;4;1;Add associated field of 1 bit in length +;;;0;31;21;Associated field significance +;;;0;11;1;Wind direction +;;;2;4;0;Cancel add associated field +;;;0;11;2;Wind speed +;;;2;4;1;Add associated field of 1 bit in length +;;;0;31;21;Associated field significance +;;;0;11;6;w-component +;;;2;4;0;Cancel add associated field +;;;0;21;30;Signal to noise ratio +;;;;;;Wind profiler: Raw-data winds) +3;21;23;0;7;7;Height +;;;0;21;91;Radar signal Doppler spectrum 0th moment +;;;0;21;30;Signal to noise ratio +;;;2;2;129;Change scale to 2 +;;;0;21;14;Doppler mean velocity (radial) +;;;2;1;129;Change width to 9 bits +;;;0;21;17;Doppler velocity spectral width +;;;2;2;0;Change scale back to table B +;;;2;1;0;Change width back to table B +;;;;;;(RASS-Mode: Processed-data RASS) +3;21;24;0;7;7;Height +;;;2;4;1;Add associated field of 1 bit in length +;;;0;31;21;Associated field significance +;;;0;12;7;Virtual temperature +;;;0;11;6;w-component +;;;2;4;0;Cancel add associated field +;;;0;21;30;Signal to noise ratio +;;;;;;(RASS-Mode: Raw-data RASS) +3;21;25;0;7;7;Height +;;;0;21;91;Radar signal Doppler spectrum 0th moment +;;;0;21;30;Signal to noise ratio +;;;2;2;129;Change scale to 2 +;;;0;21;14;Doppler mean velocity (radial) +;;;2;1;129;Change width to 9 bits +;;;0;21;17;Doppler velocity spectral width +;;;2;2;0;Change scale back to table B +;;;2;1;0;Change width back to table B +;;;0;21;92;RASS signal Doppler spectrum 0th moment, referring to RASS signal +;;;0;21;30;Signal to noise ratio, referring to RASS signal +;;;0;25;92;Acoustic propagation velocity +;;;2;1;129;Change width to 9 bits +;;;2;2;129;Change scale to 2 +;;;0;21;17;Doppler velocity spectral width, referring to RASS signal +;;;2;2;0;Change scale back to table B +;;;2;1;0;Change width back to table B + +;;;;;; +;;;;;;(RASS data - fluxes) +3;21;26;0;7;7;Height +;;;2;4;1;Add associated field of 1 bit in length +;;;0;31;21;Associated field significance +;;;0;12;7;Virtual temperature +;;;0;25;91;Structure constant of the refraction index (Cn2) +;;;0;11;71;Turbulent vertical momentum flux +;;;0;11;72;Turbulent vertical buoyancy flux +;;;0;11;73;Turbulent kinetic energy +;;;0;11;74;Dissipation energy +;;;2;4;0;Cancel add associated field +;;;;;; +3;21;27;0;21;118;Attenuation correction on sigma-0 +;;;2;2;129;Change scale +;;;2;1;132;Change data width +;;;0;2;112;Radar look angle +;;;2;1;0;Change data width back to Table B +;;;2;1;131;Change data width +;;;0;2;111;Radar incidence angle +;;;2;1;0;Change data width back to Table B +;;;2;2;0;Change scale back to Table B +;;;0;2;104;Antenna polarization +;;;0;21;105;Normalized radar cross-section +;;;0;21;106;Kp variance coefficient (alpha) +;;;0;21;107;Kp variance coefficient (beta) +;;;0;21;114;Kp variance coefficient (gamma) +;;;0;21;115;SEAWINDS sigma-0 quality +;;;0;21;116;SEAWINDS sigma-0 mode +;;;0;8;18;SEAWINDS land/ice surface type +;;;0;21;117;Sigma-0 variance quality control +;;;;;; +3;21;28;0;21;118;Attenuation correction on sigma-0 +;;;2;2;129;Change scale +;;;2;1;132;Change data width +;;;0;2;112;Radar look angle +;;;2;1;0;Data width back to Table B +;;;2;1;131;Change data width +;;;0;2;111;Radar incidence angle +;;;2;1;0;Data width back to Table B +;;;2;2;0;Scale back to table B +;;;0;2;104;Antenna polarization +;;;0;21;123;SEAWINDS normalized radar cross section +;;;0;21;106;Kp variance coefficient (alpha) +;;;0;21;107;Kp variance coefficient (beta) +;;;0;21;114;Kp variance coefficient (gamma) +;;;0;21;115;SEAWINDS sigma-0 quality flag +;;;0;21;116;SEAWINDS sigma-0 mode flag +;;;0;8;18;SEAWINDS land/ice surface flag +;;;0;21;117;Sigma-0 variance quality control +;;;;;; + + + +* Descriptor 3 01 002 should not be used.