Merge branch 'develop' into feature/BufrIndexing

This commit is contained in:
Shahram Najm 2021-10-12 11:13:58 +01:00
commit 9c729e39e6
2629 changed files with 99050 additions and 43490 deletions

View File

@ -2,7 +2,7 @@
# general configuration #
#---------------------------------#
version: 2.19.0-{build}-{branch}
version: 2.24.0-{build}-{branch}
branches:
only:
@ -38,7 +38,7 @@ clone_depth: 1
# scripts that run after cloning repository
install:
# install ecbuild
- cmd: git clone --depth 1 https://github.com/ecmwf/ecbuild.git %ECBUILD_SRC%
- cmd: git clone --depth 1 https://github.com/ecmwf/ecbuild.git %ECBUILD_SRC% --branch %APPVEYOR_REPO_BRANCH%
# install linux utils
- cmd: conda install -c msys2 m2-bash ^
@ -72,7 +72,6 @@ build_script:
-D CMAKE_INSTALL_PREFIX=%INSTALL_DIR% ^
-D CMAKE_BUILD_TYPE=Release ^
-D ENABLE_FORTRAN=0 ^
-D ENABLE_PYTHON=0 ^
-D ENABLE_NETCDF=1 ^
-D ENABLE_JPG=1 ^
-D IEEE_LE=1 ^

80
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,80 @@
name: ci
# Controls when the action will run
on:
# Trigger the workflow on all pushes, except on tag creation
push:
branches:
- '**'
tags-ignore:
- '**'
# Trigger the workflow on all pull requests
pull_request: ~
# Allow workflow to be dispatched on demand
workflow_dispatch: ~
jobs:
ci:
name: ci
strategy:
matrix:
name:
- gnu-10@ubuntu-20.04
- clang-12@ubuntu-20.04
- gnu-10@ubuntu-18.04
- clang-9@ubuntu-18.04
- gnu-10@macos-10.15
- clang-12@macos-10.15
include:
- name: gnu-10@ubuntu-20.04
os: ubuntu-20.04
compiler: gnu-10
compiler_cc: gcc-10
compiler_fc: gfortran-10
- name: clang-12@ubuntu-20.04
os: ubuntu-20.04
compiler: clang-12
compiler_cc: clang-12
compiler_fc: gfortran-10
- name: gnu-10@ubuntu-18.04
os: ubuntu-18.04
compiler: gnu-10
compiler_cc: gcc-10
compiler_fc: gfortran-10
- name: clang-9@ubuntu-18.04
os: ubuntu-18.04
compiler: clang-9
compiler_cc: clang-9
compiler_fc: gfortran-9
- name: gnu-10@macos-10.15
os: macos-10.15
compiler: gnu-10
compiler_cc: gcc-10
compiler_fc: gfortran-10
- name: clang-12@macos-10.15
os: macos-10.15
compiler: clang-12
compiler_cc: ~
compiler_cxx: ~
compiler_fc: gfortran-10
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Build & Test
id: build-test
uses: ecmwf-actions/build-package@v1
with:
self_coverage: true
dependencies: ecmwf/ecbuild
dependency_branch: develop
- name: Codecov Upload
if: steps.build-test.outputs.coverage_file && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/develop')
uses: codecov/codecov-action@v2
with:
files: ${{ steps.build-test.outputs.coverage_file }}

16
.github/workflows/ecmwflibs.yml vendored Normal file
View File

@ -0,0 +1,16 @@
name: Notify ecmwflibs
on:
push:
branches: [ master ]
jobs:
notify:
runs-on: ubuntu-latest
steps:
- uses: mvasigh/dispatch-action@main
with:
token: ${{ secrets.NOTIFY_ECMWFLIBS }}
repo: ecmwflibs
owner: ecmwf
event_type: eccodes-updated

4
.gitignore vendored
View File

@ -15,9 +15,6 @@ configure
grib_api.spec
grib_api.pc
grib_api_f90.pc
rpms/eccodes.pc
rpms/eccodes.spec
rpms/eccodes_f90.pc
# compiled source #
###################
@ -69,6 +66,7 @@ data/bufr/*test
*.sublime-workspace
.idea
.vscode
build/
*.back

View File

@ -43,7 +43,7 @@ before_install:
install:
# install ecbuild
- git clone --depth 1 https://github.com/ecmwf/ecbuild.git ${ECBUILD_SRC}
- git clone --depth 1 https://github.com/ecmwf/ecbuild.git ${ECBUILD_SRC} --branch ${TRAVIS_BRANCH}
#---------------------------------#
# build configuration #
@ -59,7 +59,6 @@ script:
- mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
- cmake -D CMAKE_INSTALL_PREFIX=${INSTALL_DIR}
-D ENABLE_FORTRAN=0
-D ENABLE_PYTHON=0
-D ENABLE_NETCDF=1
-D ENABLE_JPG=1
-D ENABLE_MEMFS=0

View File

@ -1,19 +0,0 @@
{
"configurations": [
{
"name": "Linux",
"includePath": [
"/usr/include",
"/usr/include/linux",
"/usr/local/apps/gcc/7.3.0/lib64/gcc/x86_64-suse-linux/7.3.0/include",
"${workspaceRoot}"
],
"defines": [],
"compilerPath": "/usr/local/apps/gcc/7.3.0/bin/gcc",
"cStandard": "c89",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}

View File

@ -1,6 +1,7 @@
Enrico Fucile
Shahram Najm
Sandor Kertesz
Sebastien Villaume
Florian Rathgeber
Baudouin Raoult
Cristian Codorean

View File

@ -16,20 +16,12 @@
#
# -DCMAKE_MODULE_PATH=/path/to/ecbuild/cmake
cmake_minimum_required( VERSION 3.6 FATAL_ERROR )
cmake_minimum_required( VERSION 3.12 FATAL_ERROR )
project( eccodes VERSION 2.19.0 LANGUAGES C )
find_package( ecbuild 3.4 REQUIRED HINTS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../ecbuild)
set( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../ecbuild/cmake" )
include( ecbuild_system NO_POLICY_SCOPE )
ecbuild_requires_macro_version( 2.7.2 )
###############################################################################
# local project
ecbuild_declare_project()
# Initialise project
project( eccodes VERSION 2.24.0 LANGUAGES C )
###############################################################################
# system checks needed for eccodes_config.h and some options like MEMFS
@ -77,6 +69,9 @@ ecbuild_add_option( FEATURE PRODUCT_GRIB
ecbuild_add_option( FEATURE PRODUCT_BUFR
DESCRIPTION "Support for the product BUFR"
DEFAULT ON )
if( NOT HAVE_PRODUCT_GRIB AND NOT HAVE_PRODUCT_BUFR )
ecbuild_critical("Cannot disable both GRIB and BUFR! Please specify just one option")
endif()
ecbuild_add_option( FEATURE EXAMPLES
DESCRIPTION "Build the examples"
@ -117,15 +112,20 @@ ecbuild_add_option( FEATURE NETCDF
REQUIRED_PACKAGES NetCDF
NO_TPL )
find_package( AEC )
ecbuild_add_option( FEATURE AEC
DESCRIPTION "Support for Adaptive Entropy Coding"
DEFAULT OFF
REQUIRED_PACKAGES AEC )
CONDITION AEC_FOUND )
ecbuild_add_option( FEATURE PYTHON
ecbuild_find_python( VERSION 2.6 NO_LIBS )
find_package( NumPy )
ecbuild_add_option( FEATURE PYTHON2
DESCRIPTION "Build the ecCodes Python2 interface (deprecated)"
DEFAULT OFF
REQUIRED_PACKAGES "Python VERSION 2.6 NO_LIBS" NumPy )
#CONDITION Python_FOUND AND NumPy_FOUND
CONDITION PYTHON_FOUND AND NUMPY_FOUND
)
# For Python2 we build our own bindings (using SWIG) in the build directory
# but for Python3 one has to add the eccodes from pip3 AFTER the install
if( PYTHON_VERSION_MAJOR EQUAL 3 )
@ -151,7 +151,6 @@ endif()
ecbuild_add_option( FEATURE MEMFS
DESCRIPTION "Memory based access to definitions/samples"
DEFAULT OFF
CONDITION ECCODES_HAVE_FMEMOPEN OR ECCODES_HAVE_FUNOPEN OR (EC_OS_NAME MATCHES "windows")
REQUIRED_PACKAGES PythonInterp )
#if( HAVE_MEMFS AND "${CMAKE_C_COMPILER_ID}" STREQUAL "Cray")
@ -182,7 +181,7 @@ ecbuild_add_option( FEATURE INSTALL_ECCODES_SAMPLES
ecbuild_add_option( FEATURE MEMORY_MANAGEMENT DESCRIPTION "Enable memory management" DEFAULT OFF ADVANCED )
ecbuild_add_option( FEATURE ALIGN_MEMORY DESCRIPTION "Enable memory alignment" DEFAULT OFF ADVANCED )
ecbuild_add_option( FEATURE GRIB_TIMER DESCRIPTION "Enable timer" DEFAULT OFF ADVANCED )
ecbuild_add_option( FEATURE TIMER DESCRIPTION "Enable timer" DEFAULT OFF ADVANCED )
ecbuild_add_option( FEATURE ECCODES_THREADS DESCRIPTION "Enable POSIX threads" DEFAULT OFF ADVANCED )
ecbuild_add_option( FEATURE ECCODES_OMP_THREADS DESCRIPTION "Enable OMP threads" DEFAULT OFF ADVANCED )
ecbuild_add_option( FEATURE EXTRA_TESTS DESCRIPTION "Enable extended regression testing" DEFAULT OFF ADVANCED )
@ -209,11 +208,11 @@ if( ENABLE_JPG )
# which can affect future package discovery if not undone by the caller.
# The current CMAKE_PREFIX_PATH is backed up as _CMAKE_PREFIX_PATH
#
set(CMAKE_WARN_DEPRECATED OFF) # Suppress deprecation message
ecbuild_add_extra_search_paths( jasper )
#set(CMAKE_WARN_DEPRECATED OFF) # Suppress deprecation message
#ecbuild_add_extra_search_paths( jasper )
find_package( Jasper )
set(CMAKE_PREFIX_PATH ${_CMAKE_PREFIX_PATH}) # Restore CMAKE_PREFIX_PATH
set(CMAKE_WARN_DEPRECATED ON) # Remove suppression
#set(CMAKE_PREFIX_PATH ${_CMAKE_PREFIX_PATH}) # Restore CMAKE_PREFIX_PATH
#set(CMAKE_WARN_DEPRECATED ON) # Remove suppression
find_package( OpenJPEG )
@ -241,10 +240,10 @@ endif()
###############################################################################
# other options
if( HAVE_GRIB_TIMER )
set( GRIB_TIMER 1 )
if( HAVE_TIMER )
set( ECCODES_TIMER 1 )
else()
set( GRIB_TIMER 0 )
set( ECCODES_TIMER 0 )
endif()
set( IS_BIG_ENDIAN 0 )
@ -275,6 +274,7 @@ if( HAVE_ECCODES_THREADS )
ecbuild_critical("Pthreads is not supported on your system: thread library found=[${CMAKE_THREAD_LIBS_INIT}]")
endif()
set( GRIB_PTHREADS 1 )
set( ECCODES_PTHREADS_LIBRARIES Threads::Threads ) # ECC-1268
if( ${CMAKE_SYSTEM_NAME} MATCHES "Linux" )
set( GRIB_LINUX_PTHREADS 1 )
endif()
@ -426,10 +426,10 @@ add_subdirectory( ifs_samples ) # must come after samples
# ecbuild_dont_pack( DIRS samples DONT_PACK_REGEX "*.grib" )
ecbuild_dont_pack( DIRS
concepts tests.ecmwf doxygen confluence examples.dev templates parameters java
perl config m4 rpms gaussian_experimental gribex examples/F77
examples/extra examples/deprecated bamboo fortran/fortranCtypes tigge/tools
share/eccodes .settings )
experimental doxygen confluence tests/tests.ecmwf
config m4 examples/F77
examples/examples.dev examples/extra examples/deprecated bamboo
fortran/fortranCtypes tigge/tools share/eccodes .settings )
#ecbuild_dont_pack( DIRS data/bufr DONT_PACK_REGEX "*.bufr" )
#ecbuild_dont_pack( DIRS data/tigge DONT_PACK_REGEX "*.grib" )
@ -446,18 +446,6 @@ if( HAVE_FORTRAN )
list( APPEND ECCODES_LIBRARIES eccodes_f90 )
endif()
# Bundle
if( NOT PROJECT_NAME STREQUAL CMAKE_PROJECT_NAME )
set( ECCODES_FOUND TRUE PARENT_SCOPE )
set( ECCODES_DEFINITIONS ${ECCODES_DEFINITIONS} PARENT_SCOPE )# includes already TPL definitions
set( ECCODES_INCLUDE_DIRS ${ECCODES_INCLUDE_DIRS} ${ECCODES_EXTRA_INCLUDE_DIRS} PARENT_SCOPE )
set( ECCODES_LIBRARIES ${ECCODES_LIBRARIES} ${ECCODES_EXTRA_LIBRARIES} PARENT_SCOPE )
set( ECCODES_INSTALL_EXTRA_TOOLS ${ECCODES_INSTALL_EXTRA_TOOLS} PARENT_SCOPE )
set( ECCODES_DEFINITION_PATH ${CMAKE_BINARY_DIR}/${ECCODES_DEFINITION_SUFF} PARENT_SCOPE )
set( ECCODES_SAMPLES_PATH ${CMAKE_BINARY_DIR}/${ECCODES_SAMPLES_SUFF} PARENT_SCOPE )
set( ECCODES_IFS_SAMPLES_PATH ${CMAKE_BINARY_DIR}/${ECCODES_IFS_SAMPLES_SUFF} PARENT_SCOPE )
endif()
# pkg-config
ecbuild_pkgconfig(
NAME eccodes
@ -467,7 +455,7 @@ ecbuild_pkgconfig(
IGNORE_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS} ${NUMPY_INCLUDE_DIRS} ${NETCDF_INCLUDE_DIRS}
VARIABLES HAVE_MEMFS HAVE_JPEG HAVE_LIBJASPER HAVE_LIBOPENJPEG
HAVE_ECCODES_THREADS HAVE_ECCODES_OMP_THREADS
HAVE_NETCDF HAVE_PYTHON HAVE_FORTRAN HAVE_PNG HAVE_AEC
HAVE_NETCDF HAVE_PYTHON2 HAVE_FORTRAN HAVE_PNG HAVE_AEC
)
if( HAVE_FORTRAN )
ecbuild_pkgconfig(
@ -479,7 +467,7 @@ if( HAVE_FORTRAN )
${PYTHON_INCLUDE_DIRS} ${NUMPY_INCLUDE_DIRS} ${NETCDF_INCLUDE_DIRS}
VARIABLES HAVE_MEMFS HAVE_JPEG HAVE_LIBJASPER HAVE_LIBOPENJPEG
HAVE_ECCODES_THREADS HAVE_ECCODES_OMP_THREADS
HAVE_NETCDF HAVE_PYTHON HAVE_PNG HAVE_AEC
HAVE_NETCDF HAVE_PYTHON2 HAVE_PNG HAVE_AEC
)
endif()
@ -498,11 +486,11 @@ ecbuild_print_summary()
ecbuild_info("")
ecbuild_info(" +--------------------------+")
ecbuild_info(" | ecCodes version ${ECCODES_VERSION} |")
ecbuild_info(" | ecCodes version ${eccodes_VERSION} |")
ecbuild_info(" +--------------------------+")
ecbuild_info("")
if( HAVE_PYTHON )
if( HAVE_PYTHON2 )
ecbuild_deprecate("Python2 support is deprecated and will be discontinued")
endif()

View File

@ -15,6 +15,6 @@ module unload fftw
module unload libemos
module unload metview
module load cmake/3.10.2
module load cmake/3.16.5
module switch gnu clang

View File

@ -14,4 +14,4 @@ module unload fftw
module unload libemos
module unload metview
module load cmake/3.10.2
module load cmake/3.16.5

View File

@ -15,6 +15,6 @@ module unload netcdf4
module list
module load cmake/3.10.2
module load cmake/3.16.5
module switch gnu intel/17.0.3

View File

@ -1 +1,2 @@
SET(ENABLE_EXTRA_TESTS ON CACHE BOOL "Enable extra tests")
SET(ENABLE_EXTRA_TESTS ON CACHE BOOL "Enable extra tests")
SET(ENABLE_ECCODES_THREADS ON CACHE BOOL "Enable POSIX threads")

View File

@ -6,7 +6,7 @@
# granted to it by virtue of its status as an intergovernmental organisation nor
# does it submit to any jurisdiction.
# - Try to find the OpenJPEG includes and library (version 1.5.x, 2.1.x, 2.2.x, 2.3.x)
# - Try to find the OpenJPEG includes and library (version 1.5.x, 2.1.x, 2.2.x, 2.3.x, 2.4.x)
# This module defines
#
# OPENJPEG_FOUND - System has OpenJPEG
@ -20,10 +20,11 @@
# Note: OpenJPEG has a version-specific subdirectory in the include
# e.g. include/openjpeg-2.0 or include/openjpeg-2.1.
# Only version 1.5.x and 2.[123].x are supported.
# Only version 1.5.x and 2.[1234].x are supported.
# The library name is different for 1.x (libopenjpeg) and 2.x (libopenjp2).
set( _suff include include/openjpeg include/openjpeg-1.5 include/openjpeg-2.1 include/openjpeg-2.2 include/openjpeg-2.3)
set( _suff include include/openjpeg include/openjpeg-1.5 include/openjpeg-2.1
include/openjpeg-2.2 include/openjpeg-2.3 include/openjpeg-2.4 )
find_path( OPENJPEG_INCLUDE_DIR openjpeg.h
PATHS ${OPENJPEG_PATH} ENV OPENJPEG_PATH
${OPENJPEG_DIR} ENV OPENJPEG_DIR

File diff suppressed because it is too large Load Diff

View File

@ -14,6 +14,7 @@ GRIB (
grib_nearest
grib_precision
grib_print_data
grib_read_from_file
grib_samples
grib_set_bitmap
grib_set_data
@ -34,6 +35,7 @@ BUFR (
bufr_read_scatterometer
bufr_read_synop
bufr_read_temp
bufr_read_tempf
bufr_set_keys
bufr_subset
bufr_read_tropical_cyclone

View File

@ -1,4 +1,4 @@
Latitude, Longitude, Value
Latitude Longitude Value
20.000 24.000 5
20.000 23.000 4
20.000 22.000 3

View File

@ -1,4 +1,4 @@
Latitude, Longitude, Value
Latitude Longitude Value
20.000 24.000 5
20.000 23.000 4
20.000 22.000 3

View File

@ -1,4 +1,4 @@
Latitude, Longitude, Value
Latitude Longitude Value
20.000 27.000 8
20.000 26.000 7
20.000 25.000 6

View File

@ -1,4 +1,4 @@
Latitude, Longitude, Value
Latitude Longitude Value
20.000 27.000 8
20.000 26.000 7
20.000 25.000 6

View File

@ -1,4 +1,4 @@
Latitude, Longitude, Value
Latitude Longitude Value
59.143 131.824 5
59.882 132.969 4
60.606 134.175 3

View File

@ -1,4 +1,4 @@
Latitude, Longitude, Value
Latitude Longitude Value
59.143 131.824 5
59.882 132.969 4
60.606 134.175 3

View File

@ -1,4 +1,4 @@
Latitude, Longitude, Value
Latitude Longitude Value
56.853 128.720 8
57.628 129.702 7
58.392 130.736 6

View File

@ -1,4 +1,4 @@
Latitude, Longitude, Value
Latitude Longitude Value
56.853 128.720 8
57.628 129.702 7
58.392 130.736 6

View File

@ -1,4 +1,4 @@
Latitude, Longitude, Value
Latitude Longitude Value
17.000 20.000 16
17.000 21.000 17
17.000 22.000 18

View File

@ -1,4 +1,4 @@
Latitude, Longitude, Value
Latitude Longitude Value
14.000 20.000 31
14.000 21.000 32
14.000 22.000 33

View File

@ -1,4 +1,4 @@
Latitude, Longitude, Value
Latitude Longitude Value
17.000 20.000 25
17.000 21.000 26
17.000 22.000 27

View File

@ -1,4 +1,4 @@
Latitude, Longitude, Value
Latitude Longitude Value
14.000 20.000 49
14.000 21.000 50
14.000 22.000 51

View File

@ -1,4 +1,4 @@
Latitude, Longitude, Value
Latitude Longitude Value
63.979 131.793 16
63.226 130.468 17
62.458 129.219 18

View File

@ -1,4 +1,4 @@
Latitude, Longitude, Value
Latitude Longitude Value
65.752 126.092 31
64.938 124.828 32
64.111 123.647 33

View File

@ -1,4 +1,4 @@
Latitude, Longitude, Value
Latitude Longitude Value
63.979 131.793 25
63.226 130.468 26
62.458 129.219 27

View File

@ -1,4 +1,4 @@
Latitude, Longitude, Value
Latitude Longitude Value
65.752 126.092 49
64.938 124.828 50
64.111 123.647 51

View File

@ -75,7 +75,6 @@ tigge_ecmf_sfc_10v.grib
tigge_ecmf_sfc_2d.grib
tigge_ecmf_sfc_2t.grib
tigge_ecmf_sfc_cap.grib
tigge_ecmf_sfc_cape.grib
tigge_ecmf_sfc_mn2t6.grib
tigge_ecmf_sfc_msl.grib
tigge_ecmf_sfc_mx2t6.grib
@ -134,11 +133,8 @@ tigge_kwbc_pv_pt.grib
tigge_kwbc_pv_u.grib
tigge_kwbc_pv_v.grib
tigge_kwbc_sfc_10u.grib
tigge_kwbc_sfc_10v.grib
tigge_kwbc_sfc_2d.grib
tigge_kwbc_sfc_2t.grib
tigge_kwbc_sfc_cap.grib
tigge_kwbc_sfc_cape.grib
tigge_kwbc_sfc_ci.grib
tigge_kwbc_sfc_lsm.grib
tigge_kwbc_sfc_mn2t6.grib
@ -169,7 +165,6 @@ tigge_lfpw_sfc_10u.grib
tigge_lfpw_sfc_10v.grib
tigge_lfpw_sfc_2d.grib
tigge_lfpw_sfc_2t.grib
tigge_lfpw_sfc_cap.grib
tigge_lfpw_sfc_cape.grib
tigge_lfpw_sfc_mn2t6.grib
tigge_lfpw_sfc_msl.grib

View File

@ -8,6 +8,7 @@ dist_definitions_DATA = \
./installDefinitions.sh\
./mars_param.table\
./param_id.table\
./param_limits.def\
./parameters_version.def\
./publish_new_parameters.sh\
./stepUnits.table
@ -14040,7 +14041,6 @@ dist_definitionsgrib2_DATA = \
grib2/template.7.6.def\
grib2/template.7.61.def\
grib2/template.7.second_order.def\
grib2/template.second_order.def\
grib2/tiggeLocalVersion.table\
grib2/tigge_name.def\
grib2/tigge_parameter.def\
@ -19282,10 +19282,6 @@ dist_definitionsmetar_DATA = \
metar/wind_shear.def\
metar/wrong_delayed.def
definitionsmetar_stationsdir = @ECCODES_DEFINITION_PATH@/metar/stations
dist_definitionsmetar_stations_DATA = \
metar/stations/nsd_cccc.txt
definitionstafdir = @ECCODES_DEFINITION_PATH@/taf
dist_definitionstaf_DATA = \
taf/CCCC.txt\

View File

@ -0,0 +1,320 @@
#!/usr/bin/env perl
#
# (C) Copyright 2005- ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
#
# In applying this licence, ECMWF does not waive the privileges and immunities
# granted to it by virtue of its status as an intergovernmental organisation
# nor does it submit to any jurisdiction.
#
#######################################################################
# Script for GRIB2 parameter definitions
# Can either write the *.def files or push to the Parameter DB
#
# Reads an input TSV (tab-separated-value) file which should contain
# parameter keys as columns. See the @columns variable for expected contents
#
#######################################################################
$|=1;
use strict;
use warnings;
use DBI;
use Time::localtime;
$ARGV[0] or die "USAGE: $0 input.tsv\n";
my $SANITY_CHECK = 0;
my $WRITE_TO_FILES = 1;
my $WRITE_TO_PARAMDB = 0; # Be careful. Fill in $contactId before proceeding
my ($paramId, $shortName, $name, $units, $cfVarName, $interpol);
my ($discipline, $pcategory, $pnumber, $type1, $type2, $scaledValue1, $scaleFactor1, $scaledValue2, $scaleFactor2);
my ($stat, $aero, $constit);
my ($typeGen, $localTV, $typeOfWLInt, $scaleFactorWL1, $scaledValueWL1, $scaleFactorWL2, $scaledValueWL2, $sourceSink);
my @columns = ("paramId", "shortName", "name", "units", "interpolation",
"discipline", "parameterCategory", "parameterNumber",
"typeOfFirstFixedSurface", "scaleFactorOfFirstFixedSurface", "scaledValueOfFirstFixedSurface",
"typeOfSecondFixedSurface", "scaleFactorOfSecondFixedSurface", "scaledValueOfSecondFixedSurface",
"typeOfStatisticalProcessing", "aerosolType", "constituentType", "typeOfGeneratingProcess", "localTablesVersion",
"typeOfWavelengthInterval", "scaleFactorOfFirstWavelength", "scaledValueOfFirstWavelength",
"scaleFactorOfSecondWavelength", "scaledValueOfSecondWavelength", "sourceSinkChemicalPhysicalProcess");
my %key_to_attrib_map = (
'discipline' => 4,
'parameterCategory' => 8,
'parameterNumber' => 5,
'localTablesVersion' => 16,
'typeOfFirstFixedSurface' => 6,
'scaleFactorOfFirstFixedSurface' => 7,
'scaledValueOfFirstFixedSurface' => 9,
'typeOfStatisticalProcessing' => 11,
'typeOfSecondFixedSurface' => 13,
'scaledValueOfSecondFixedSurface' => 14,
'scaleFactorOfSecondFixedSurface' => 15,
'typeOfGeneratingProcess' => 28,
'constituentType' => 40,
'aerosolType' => 46
);
my $db = "param";
my $host = $ENV{'PARAM_DB_HOST'} || 'unknown';
my $user = $ENV{'PARAM_DB_USER'} || 'unknown';
my $pass = $ENV{'PARAM_DB_PASS'} || 'unknown';
my $dbh = 0;
my $centre_wmo = -3; # WMO centre ID
my $centre_ecmwf = 98; # ECMWF centre ID
my $edition = 2; # GRIB edition 2
my $contactId; # JIRA issue ID
my $PARAMID_FILENAME = "paramId.def";
my $SHORTNAME_FILENAME = "shortName.def";
my $NAME_FILENAME = "name.def";
my $UNITS_FILENAME = "units.def";
my $CFVARNAME_FILENAME = "cfVarName.def";
my $tm = localtime;
my $today_date = sprintf("%04d-%02d-%02d", $tm->year+1900, ($tm->mon)+1, $tm->mday);
if ($WRITE_TO_FILES) {
create_or_append(\*OUT_PARAMID, "$PARAMID_FILENAME");
create_or_append(\*OUT_SHORTNAME, "$SHORTNAME_FILENAME");
create_or_append(\*OUT_NAME, "$NAME_FILENAME");
create_or_append(\*OUT_UNITS, "$UNITS_FILENAME");
create_or_append(\*OUT_CFVARNAME, "$CFVARNAME_FILENAME");
}
if ($WRITE_TO_PARAMDB) {
$dbh = DBI->connect("dbi:mysql(RaiseError=>1):database=$db;host=$host",$user,$pass) or die $DBI::errstr;
}
my $first = 1;
my $lcount = 0;
if ($SANITY_CHECK) {
print "Checking sanity: uniqueness of paramId and shortName keys ...\n";
while (<>) {
chomp;
s/\r//g; # Remove DOS carriage returns
if ($first == 1) {
$first = 0;
next;
}
$lcount++;
($paramId, $shortName) = split(/\t/);
my $x = $dbh->selectrow_array("select * from param.param where id = ?",undef,$paramId);
die "Error: paramId=$x already exists (line ", $lcount+1, ")\n" if (defined $x);
$x = $dbh->selectrow_array("select shortName from param.param where shortName = ?",undef,$shortName);
die "Error: shortName=$x already exists (line ", $lcount+1, ")\n" if (defined $x);
}
print "Sanity checking completed. $lcount rows checked. No errors\n";
exit 0;
}
while (<>) {
chomp;
s/\r//g; # Remove DOS carriage returns
if ($first == 1) {
check_first_row_column_names($_);
$first = 0;
next;
}
$lcount++;
($paramId, $shortName, $name, $units, $interpol,
$discipline, $pcategory, $pnumber,
$type1, $scaleFactor1, $scaledValue1, $type2, $scaleFactor2, $scaledValue2,
$stat, $aero, $constit,
$typeGen, $localTV, $typeOfWLInt, $scaleFactorWL1, $scaledValueWL1, $scaleFactorWL2, $scaledValueWL2, $sourceSink
) = split(/\t/);
die "Error: paramID \"$paramId\" is not an integer (input row=$lcount)!\n" if (!is_integer($paramId));
die "Error: shortName \"$shortName\" has an invalid character (input row=$lcount)!\n" if ($shortName =~ /[ '"]/);
die "Error: name \"$name\" should have uppercase 1st letter or digit (input row=$lcount)!\n" if ($name !~ /^[A-Z0-9]/);
die "Error: typeOfFirstFixedSurface \"$type1\" is not an integer (input row=$lcount)!\tPick a value from Code Table 4.5\n"
if ($type1 ne "" && !is_integer($type1));
die "Error: typeOfSecondFixedSurface \"$type2\" is not an integer (input row=$lcount)!\tPick a value from Code Table 4.5\n"
if ($type2 ne "" && !is_integer($type2));
$units = "~" if ($units eq "");
$cfVarName = $shortName;
$cfVarName = '\\'.$shortName if ($shortName =~ /^[0-9]/);
$scaleFactorWL1 = undef if ($scaleFactorWL1 =~ /missing/);
$scaledValueWL1 = undef if ($scaledValueWL1 =~ /missing/);
$scaleFactorWL2 = undef if ($scaleFactorWL2 =~ /missing/);
$scaledValueWL2 = undef if ($scaledValueWL2 =~ /missing/);
if ($WRITE_TO_FILES) {
write_out_file(\*OUT_PARAMID, $name, $paramId);
write_out_file(\*OUT_SHORTNAME, $name, $shortName);
write_out_file(\*OUT_NAME, $name, $name);
write_out_file(\*OUT_UNITS, $name, $units);
write_out_file(\*OUT_CFVARNAME, $name, $cfVarName);
}
if ($WRITE_TO_PARAMDB) {
my $units_code = get_db_units_code($units);
my $is_chem = "";
my $is_aero = "";
my $is_srcsink = "";
if ($aero ne "") {
$is_aero = "1";
$is_chem = "";
$is_srcsink = "";
}
if ($constit ne "") {
$is_aero = "";
$is_chem = "1";
$is_srcsink = "";
}
if ($sourceSink ne "") {
$is_aero = "";
$is_chem = "";
$is_srcsink = "1";
}
my $centre = $localTV ne "" ? $centre_ecmwf : $centre_wmo;
die "Error: Both aerosolType and constituentType cannot be set!" if ($constit ne "" && $aero ne "");
die "Error: No contact ID provided\n" if (!$contactId);
print "Inserting paramId $paramId (centre=$centre) ...\n";
$dbh->do("insert into param(id,shortName,name,units_id,insert_date,update_date,contact) values (?,?,?,?,?,?,?)",undef,
$paramId, $shortName, $name , $units_code, $today_date, $today_date, $contactId);
# Table 'grib' columns: param_id edition centre attribute_id attribute_value param_version
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,4, $discipline,0);
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,8, $pcategory,0);
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,5, $pnumber,0);
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,6, $type1,0) if ($type1 ne "");
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,13,$type2,0) if ($type2 ne "");
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,9, $scaledValue1,0) if ($scaledValue1 ne "");
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,7, $scaleFactor1,0) if ($scaleFactor1 ne "");
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,14,$scaledValue2,0) if ($scaledValue2 ne "");
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,15,$scaleFactor2,0) if ($scaleFactor2 ne "");
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,11,$stat,0) if ($stat ne "");
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,46,$aero,0) if ($aero ne "");
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,40,$constit,0) if ($constit ne "");
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,53,$is_chem,0) if ($is_chem ne "");
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,54,$is_aero,0) if ($is_aero ne "");
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,28,$typeGen,0) if ($typeGen ne "");
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,16,$localTV,0) if ($localTV ne "");
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,57,$typeOfWLInt,0) if ($typeOfWLInt ne "");
if (! defined $scaleFactorWL1 || $scaleFactorWL1 ne "") {
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,58,$scaleFactorWL1,0);
}
if (! defined $scaledValueWL1 || $scaledValueWL1 ne "") {
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,59,$scaledValueWL1,0);
}
if (! defined $scaleFactorWL2 ||$scaleFactorWL2 ne "") {
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,60,$scaleFactorWL2,0);
}
if (! defined $scaledValueWL2 || $scaledValueWL2 ne "") {
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,61,$scaledValueWL2,0);
}
$dbh->do("insert into grib values (?,?,?,?,?,?)",undef, $paramId,$edition,$centre,64,$sourceSink,0) if ($is_srcsink ne "");
# format is only GRIB2 hence grib1 entry=0 and grib2=1
$dbh->do("insert into param_format(param_id,grib1,grib2) values (?,?,?)",undef,$paramId,0,1);
}
} # for each input line
if ($WRITE_TO_FILES) {
print "Wrote output files: $PARAMID_FILENAME $SHORTNAME_FILENAME $NAME_FILENAME $UNITS_FILENAME $CFVARNAME_FILENAME\n";
close(OUT_PARAMID) or die "$PARAMID_FILENAME: $!";
close(OUT_SHORTNAME) or die "$SHORTNAME_FILENAME: $!";
close(OUT_NAME) or die "$NAME_FILENAME: $!";
close(OUT_UNITS) or die "$UNITS_FILENAME: $!";
close(OUT_CFVARNAME) or die "$CFVARNAME_FILENAME: $!";
}
if ($WRITE_TO_PARAMDB) {
print "Wrote to Parameter Database. Number of rows processed = $lcount\n";
}
# -------------------------------------------------------------------
sub get_db_units_code {
my $u = shift;
my $unit_id = $dbh->selectrow_array("select id from units where name = ?",undef,$u);
die "Error: Unit not found: '$u'\n" if (!$unit_id);
return $unit_id;
}
sub write_out_file {
my $outfile = $_[0];
my $name = $_[1];
my $key = $_[2];
# Assuming every parameter definition has at least discipline, category and number
print $outfile "#$name\n";
print $outfile "'$key' = {\n";
print $outfile " discipline = $discipline ;\n";
print $outfile " parameterCategory = $pcategory ;\n";
print $outfile " parameterNumber = $pnumber ;\n";
# Optional keys
print $outfile " typeOfFirstFixedSurface = $type1 ;\n" if ($type1 ne "");
print $outfile " typeOfSecondFixedSurface = $type2 ;\n" if ($type2 ne "");
print $outfile " scaledValueOfFirstFixedSurface = $scaledValue1 ;\n" if ($scaledValue1 ne "");
print $outfile " scaleFactorOfFirstFixedSurface = $scaleFactor1 ;\n" if ($scaleFactor1 ne "");
print $outfile " scaledValueOfSecondFixedSurface = $scaledValue2 ;\n" if ($scaledValue2 ne "");
print $outfile " scaleFactorOfSecondFixedSurface = $scaleFactor2 ;\n" if ($scaleFactor2 ne "");
print $outfile " typeOfStatisticalProcessing = $stat ;\n" if ($stat ne "");
print $outfile " aerosolType = $aero ;\n" if ($aero ne "");
print $outfile " constituentType = $constit ;\n" if ($constit ne "");
if ($sourceSink eq "") {
print $outfile " is_aerosol = 1 ;\n" if ($aero ne "");
print $outfile " is_chemical = 1 ;\n" if ($constit ne "");
} else {
print $outfile " is_chemical_srcsink = 1 ;\n";
print $outfile " sourceSinkChemicalPhysicalProcess = $sourceSink ;\n";
}
print $outfile " typeOfGeneratingProcess = $typeGen ;\n" if ($typeGen ne "");
print $outfile " localTablesVersion = $localTV ;\n" if ($localTV ne "");
print $outfile " typeOfWavelengthInterval = $typeOfWLInt ;\n" if ($typeOfWLInt ne "");
print $outfile " scaleFactorOfFirstWavelength = $scaleFactorWL1 ;\n" if ($scaleFactorWL1 ne "");
print $outfile " scaledValueOfFirstWavelength = $scaledValueWL1 ;\n" if ($scaledValueWL1 ne "");
print $outfile " scaleFactorOfSecondWavelength = $scaleFactorWL2 ;\n" if ($scaleFactorWL2 ne "");
print $outfile " scaledValueOfSecondWavelength = $scaledValueWL2 ;\n" if ($scaledValueWL2 ne "");
print $outfile "}\n";
}
sub check_first_row_column_names {
my $line = shift; # This is the first row
my @keys = split(/\t/, $line);
my $c = 0;
my $numkeys = scalar @keys;
my $numcols = scalar @columns;
die "Error: 1st row column titles wrong: Expected $numcols columns, got $numkeys.\nColumns should be:\n@columns\n"
if ($numkeys != $numcols);
for ( my $i = 0; $i < $numkeys; $i++ ) {
if ( $keys[$i] ne $columns[$i] ) {
die "Error: 1st row column titles wrong: check column ", $i+1, ". Expected '$columns[$i]', got '$keys[$i]'.\n";
}
}
#if (@keys ~~ @columns) {
# print "[@keys] and [@columns] match\n";
#} else {
# die "Error: must use these columns: @columns\n";
#}
}
sub create_or_append {
my $outfile = $_[0];
my $fname = $_[1];
if (-f "$fname") {
open($outfile, ">>$fname") or die "Error: $fname: $!";
} else {
open($outfile, ">$fname") or die "Error: $fname: $!";
}
}
sub is_integer {
my $val = shift;
return ($val =~ /^\d+$/);
}

View File

@ -11,7 +11,8 @@ constant definitionFilesVersion="2.0.0.0" : hidden;
constant internalVersion=30 : hidden;
meta checkInternalVersion check_internal_version(internalVersion) : hidden;
UseEcmfConventions = getenv("ECCODES_USE_ECMF_CONVENTIONS","1") :hidden ;
# ECC-806: Local concepts precedence order
transient preferLocalConcepts = 0 : hidden;
constant defaultTypeOfLevel="unknown" : hidden;
@ -24,7 +25,6 @@ if (gribDataQualityChecks) {
# If the environment variable is not defined, the key will be 0
GRIBEX_boustrophedonic = getenv("ECCODES_GRIBEX_BOUSTROPHEDONIC","0") :hidden;
constant zero=0 : hidden;
constant one=1 : hidden;
constant hundred=100 : hidden;

View File

@ -1,20 +1,9 @@
# (C) Copyright 2005- ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
#
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
#
constant domain = "g";
constant levtype = "sfc";
constant param = "128.128";
alias mars.param = param;
alias mars.levtype = levtype;
#alias mars.domain = domain;

View File

@ -1,11 +1,4 @@
# (C) Copyright 2005- ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
#
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
#
section_length[3] section1Length ;
@ -31,27 +24,18 @@ alias ls.levelType=indicatorOfTypeOfLevel;
# NOTE 6 NOT FOUND
unsigned[1] yearOfCentury ;
# Month
unsigned[1] month ;
# Day
unsigned[1] day;
# Hour
unsigned[1] hour ;
# Minute
unsigned[1] minute ;
transient second = 0;
meta dataDate budgdate(yearOfCentury,month,day);
alias ls.date=dataDate;
alias ls.date=dataDate;
meta dataTime time(hour,minute,second);
meta julianDay julian_day(dataDate,hour,minute,second) : edition_specific;
# Indicator of unit of time range
codetable[1] indicatorOfUnitOfTimeRange 'grib1/4.table';
@ -59,13 +43,13 @@ codetable[1] indicatorOfUnitOfTimeRange 'grib1/4.table';
# (number of time units)
unsigned[1] periodOfTime ;
alias P1 = periodOfTime ;
alias P1 = periodOfTime ;
# P2 - Period of time
# (number of time units)
unsigned[1] periodOfTimeIntervals ;
alias P2 = periodOfTimeIntervals ;
alias P2 = periodOfTimeIntervals ;
codetable[1] timeRangeIndicator 'grib1/5.table';

View File

@ -1,11 +1,4 @@
# (C) Copyright 2005- ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
#
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
#
section_length[3] section4Length ;
@ -37,73 +30,64 @@ unsigned[1] reserved=0 : hidden;
ibmfloat floatValues[numberOfFloats];
alias floatVal=floatValues;
if(numberOfBytesPerInteger == 1) { signed[1] integerValues[numberOfIntegers]; }
if(numberOfBytesPerInteger == 2) { signed[2] integerValues[numberOfIntegers]; }
if(numberOfBytesPerInteger == 3) { signed[3] integerValues[numberOfIntegers]; }
if(numberOfBytesPerInteger == 4) { signed[4] integerValues[numberOfIntegers]; }
if (numberOfBytesPerInteger == 1) { signed[1] integerValues[numberOfIntegers]; }
if (numberOfBytesPerInteger == 2) { signed[2] integerValues[numberOfIntegers]; }
if (numberOfBytesPerInteger == 3) { signed[3] integerValues[numberOfIntegers]; }
if (numberOfBytesPerInteger == 4) { signed[4] integerValues[numberOfIntegers]; }
if(numberOfChars >= 12)
{
ascii[2] marsClass;
ascii[2] dummy1;
ascii[2] marsType;
ascii[2] dummy2;
ascii[4] experimentVersionNumber;
if (numberOfChars >= 12) {
ascii[2] marsClass;
ascii[2] dummy1;
ascii[2] marsType;
ascii[2] dummy2;
ascii[4] experimentVersionNumber;
alias expver=experimentVersionNumber;
alias marsExpver=experimentVersionNumber;
alias expver=experimentVersionNumber;
alias marsExpver=experimentVersionNumber;
constant numberOfRemaininChars = numberOfChars - 12;
constant numberOfRemaininChars = numberOfChars - 12;
charValues list(numberOfRemaininChars) {
ascii[1] char;
}
charValues list(numberOfRemaininChars) {
ascii[1] char;
}
constant zero = 0;
concept isEps(zero) { 1 = { marsType = "pf"; } }
concept isSens(zero) { 1 = { marsType = "sf"; } }
constant zero = 0;
concept isEps(zero) { 1 = { marsType = "pf"; } }
concept isSens(zero) { 1 = { marsType = "sf"; } }
constant oper = "oper";
constant oper = "oper";
concept marsStream(oper) {
"enfo" = { marsType = "pf"; }
"enfo" = { marsType = "cf"; }
"sens" = { marsType = "sf"; }
}
concept marsStream(oper) {
"enfo" = { marsType = "pf"; }
"enfo" = { marsType = "cf"; }
"sens" = { marsType = "sf"; }
}
if (isEps) {
constant perturbationNumber = 0;
alias mars.number = perturbationNumber;
}
if(isEps)
{
constant perturbationNumber = 0;
alias mars.number = perturbationNumber;
}
if(isSens)
{
constant iterationNumber = 0;
constant diagnosticNumber = 0;
alias mars.iteration = iterationNumber;
alias mars.diagnostic = diagnosticNumber;
}
# This is commented out because some of the BUDG have the wrong info there
alias mars.stream = marsStream;
alias mars.class = marsClass;
alias mars.type = marsType;
alias mars.expver = marsExpver;
if (isSens) {
constant iterationNumber = 0;
constant diagnosticNumber = 0;
alias mars.iteration = iterationNumber;
alias mars.diagnostic = diagnosticNumber;
}
# This is commented out because some of the BUDG have the wrong info there
alias mars.stream = marsStream;
alias mars.class = marsClass;
alias mars.type = marsType;
alias mars.expver = marsExpver;
}
else
{
charValues list(numberOfChars) {
ascii[1] char;
}
charValues list(numberOfChars) {
ascii[1] char;
}
}
} else {
#TODO: decode properly these old data
#TODO: decode properly these old data
section_padding padding;
}

View File

@ -12,8 +12,8 @@ transient missingValue=999999 : hidden;
transient setToMissingIfOutOfRange=0 : hidden;
# This gets updated twice a year by WMO.
# See http://www.wmo.int/pages/prog/www/WMOCodes/WMO306_vI2/LatestVERSION/LatestVERSION.html
constant masterTablesVersionNumberLatest = 34;
# See https://community.wmo.int/activity-areas/wmo-codes/manual-codes/latest-version
constant masterTablesVersionNumberLatest = 36;
#negative value=not used
transient inputDelayedDescriptorReplicationFactor={-1} : hidden;

View File

@ -18,8 +18,8 @@ alias rdb.localHour=localHour;
alias rdb.localMinute=localMinute;
alias rdb.localSecond=localSecond;
meta localDate sprintf("%.4d%.2d%.2d",localYear,localMonth,localDay) : no_copy,read_only;
meta localTime sprintf("%.2d%.2d",localHour,localMinute) : no_copy,read_only;
meta localDate sprintf("%.4d%.2d%.2d",localYear,localMonth,localDay) : no_copy;
meta localTime sprintf("%.2d%.2d",localHour,localMinute) : no_copy;
meta localDateTime julian_date(localYear,localMonth,localDay,localHour,localMinute,localSecond) : no_copy;
alias mars.date = localDate;
alias mars.time = localTime;
@ -41,34 +41,39 @@ meta rdbtimeSecond bits(rdbtime,17,6) : dump,long_type,no_copy;
meta rdbtimeYear rdbtime_guess_date(typicalYear,typicalMonth,typicalDay,rdbtimeDay,1);
meta rdbtimeMonth rdbtime_guess_date(typicalYear,typicalMonth,typicalDay,rdbtimeDay,2);
meta ls.rdbtimeDate sprintf("%.4d%.2d%.2d",rdbtimeYear,rdbtimeMonth,rdbtimeDay) : no_copy,read_only;
meta ls.rdbtimeTime sprintf("%.2d%.2d%.2d",rdbtimeHour,rdbtimeMinute,rdbtimeSecond) :dump,no_copy,read_only;
meta ls.rdbtimeDate sprintf("%.4d%.2d%.2d",rdbtimeYear,rdbtimeMonth,rdbtimeDay) : no_copy;
meta ls.rdbtimeTime sprintf("%.2d%.2d%.2d",rdbtimeHour,rdbtimeMinute,rdbtimeSecond) :dump,no_copy;
meta rdbDateTime julian_date(rdbtimeYear,rdbtimeMonth,rdbtimeDay,rdbtimeHour,rdbtimeMinute,rdbtimeSecond) : no_copy;
byte[3] rectime;
meta rectimeDay bits(rectime,0,6) : dump,long_type,no_copy;
meta rectimeHour bits(rectime,6,5) : dump,long_type,no_copy;
meta rectimeDay bits(rectime,0,6) : dump,long_type,no_copy;
meta rectimeHour bits(rectime,6,5) : dump,long_type,no_copy;
meta rectimeMinute bits(rectime,11,6) : dump,long_type,no_copy;
meta rectimeSecond bits(rectime,17,6) : dump,long_type,no_copy;
meta restricted bits(rectime,23,1) : dump,long_type,no_copy; # ECC-1136
meta recDateTime julian_date(rdbtimeYear,rdbtimeMonth,rectimeDay,rectimeHour,rectimeMinute,rectimeSecond) : no_copy;
byte[1] corr1Data;
meta correction1 bits(corr1Data,0,6) : dump,long_type,no_copy;
meta correction1Part bits(corr1Data,6,1) : dump,long_type,no_copy;
meta spare1 bits(corr1Data,7,1) : long_type,no_copy;
byte[1] corr2Data;
meta correction2 bits(corr2Data,0,6) : dump,long_type,no_copy;
meta correction2Part bits(corr2Data,6,1) : dump,long_type,no_copy;
meta spare2 bits(corr2Data,7,1) : long_type,no_copy;
byte[1] corr3Data;
meta correction3 bits(corr3Data,0,6) : dump,long_type,no_copy;
meta correction3Part bits(corr3Data,6,1) : dump,long_type,no_copy;
meta spare3 bits(corr3Data,7,1) : long_type,no_copy;
byte[1] corr4Data;
meta correction4 bits(corr4Data,0,6) : dump,long_type,no_copy;
meta correction4Part bits(corr4Data,6,1) : dump,long_type,no_copy;
meta spare4 bits(corr4Data,7,1) : long_type,no_copy;
unsigned[1] qualityControl : dump,long_type;
alias qualityControl=qualityControl;

View File

@ -29,8 +29,8 @@ unsigned[1] typicalMinute : dump;
# unsigned[1] spare; # See ECC-978
transient typicalSecond=0;
meta ls.typicalDate sprintf("%.4d%.2d%.2d",typicalYear,typicalMonth,typicalDay) : dump,no_copy,read_only;
meta ls.typicalTime sprintf("%.2d%.2d%.2d",typicalHour,typicalMinute,typicalSecond) :dump,no_copy,read_only;
meta ls.typicalDate sprintf("%.4d%.2d%.2d",typicalYear,typicalMonth,typicalDay) : dump,no_copy;
meta ls.typicalTime sprintf("%.2d%.2d%.2d",typicalHour,typicalMinute,typicalSecond) :dump,no_copy;
meta typicalDateTime julian_date(typicalYear,typicalMonth,typicalDay,typicalHour,typicalMinute,typicalSecond) ;

View File

@ -35,8 +35,8 @@ unsigned[1] typicalHour : dump;
unsigned[1] typicalMinute : dump;
unsigned[1] typicalSecond : dump;
meta ls.typicalDate sprintf("%.4d%.2d%.2d",typicalYear2,typicalMonth,typicalDay) : dump,no_copy,read_only;
meta ls.typicalTime sprintf("%.2d%.2d%.2d",typicalHour,typicalMinute,typicalSecond) :dump,no_copy,read_only;
meta ls.typicalDate sprintf("%.4d%.2d%.2d",typicalYear2,typicalMonth,typicalDay) : dump,no_copy;
meta ls.typicalTime sprintf("%.2d%.2d%.2d",typicalHour,typicalMinute,typicalSecond) :dump,no_copy;
meta typicalDateTime julian_date(typicalYear2,typicalMonth,typicalDay,typicalHour,typicalMinute,typicalSecond) ;

View File

@ -0,0 +1,4 @@
0 0 SURFACE
1 1 CLOUD
2 2 UNCLASSIFIED
15 15 MISSING VALUE

View File

@ -6,3 +6,11 @@
025202|altimeterTrackingMode|table|Altimeter Tracking Mode|CODE TABLE|0|0|8|Code table|0|3
025203|seaIceFreeboard|double|Sea Ice Freeboard|m|3|-131072|18|m|3|6
033192|psBiasCorrection|double|Surface Pressure Bias Correction|Numeric|2|-300000|19
021192|cloudRadarReflectivity|double|Cloud Radar reflectivity|dbZ|2|-9000|15|NA|0|0
021193|cloudRadarReflectivityUncertainty|double|Cloud Radar Reflectivity Uncertainty|dB|2|-9000|15|NA|0|0
021194|dataClassificationType|long|Radar Data Classification Type|Numeric|0|0|8
021195|cloudFraction|double|Cloud Fraction|Numeric|3|0|11
021196|standardDeviationOfCloudReflectivity|double|Standard Deviation Of Cloud Reflectivity|dB|2|0|14
021197|height|long|Hight|m|0|-5000|18
021198|standardDeviationOfAttenuatedBackscatter|long|Standard Deviation Of Attenuated Backscatter|M-1SR-1|2|0|14
021199|standardDeviationOfExtinctionCoefficient|long|Standard Deviation Of Extinction Coefficient|M-1|2|0|14

View File

@ -10,5 +10,5 @@
11 11 Liquid precipitation, automatically ascertainment
12 12 Solid precipitation, automatically ascertainment
13 13 Liquid and solid precipitation, automatically ascertainment
14 14 Reserved
14 14 Type of precipitation unascertainable and depositional precipitation, automatically ascertainment
15 15 Missing value, Type of precipitation unascertainable, automatically ascertainment

View File

@ -123,8 +123,24 @@
014202|albedoOfSurfaceShortWave|long|ALBEDO OF SURFACE (SHORT WAVE)|%|0|0|7
014203|thermalRadiationOfTheAtmosphere|double|THERMAL RADIATION OF THE ATMOSPHERE|J m-2|-2|0|16
014204|durationOfSunshineUsingTheWoz|long|DURATION OF SUNSHINE USING THE WOZ|min|0|0|11
014205|correctedDiffuseSolarRadiationIntegratedOverPeriodSpecified|double|Corrected diffuse solar radiation (high accuracy), integrated over period specified|J m-2|-2|0|20
014206|calculatedTotalSunshine|long|Calculated total sunshine|min|0|0|11
015192|ozoneVerticallyIntegrated|double|OZONE, VERTICALLY INTEGRATED|Pa|4|0|14
015193|pressureOfOzoneMaximum|double|PRESSURE OF OZONE MAXIMUM|Pa|-1|0|14
015195|pathDelayDueToNeutralAtmosphere|double|Path delay due to neutral atmosphere|m|4|0|20
015196|estimatedErrorInNeutralAtmospherePathDelay|double|Estimated error in neutral atmosphere path delay|m|4|0|14
015197|zenithPathDelayDueToNeutralAtmosphere|double|Zenith path delay due to neutral atmosphere|m|4|0|15
015198|estimatedErrorInNeutralAtmosphereZenithPathDelay|double|Estimated error in neutral atmosphere zenith path delay|m|4|0|12
015199|wetPathDelayDueToNeutralAtmosphere|double|Wet path delay due to neutral atmosphere|m|4|0|18
015200|pathIntegratedWaterVapour|double|Path integrated water vapour|kg m-2|1|0|16
015201|gnssDerivedNeutralAtmosphereGradient|double|GNSS derived neutral atmosphere gradient|m|5|0|14
015202|gnssLeastSquaresResidual|double|GNSS least squares residual|m|4|0|14
015203|gnssMultiPathDelay|double|GNSS multi-path delay|m|4|0|14
015204|gnssHydrostaticMappingFunction|double|GNSS hydrostatic mapping function|Numeric|3|0|16
015205|gnssWetMappingFunction|double|GNSS wet mapping function|Numeric|3|0|16
015206|gnssGradientMappingFunction|double|GNSS gradient mapping function|Numeric|3|0|16
015207|zenithPathDelayDueToNeutralHydrostaticAtmosphere|double|Zenith path delay due to neutral hydrostatic atmosphere|m|4|0|15
015208|pathDelayDueToNeutralHydrostaticAtmosphere|double|Path delay due to neutral hydrostatic atmosphere|m|4|0|20
020192|typeOfSpecialWeatherPhenomena|table|TYPE OF SPECIAL WEATHER PHENOMENA|Code table|0|0|5
020193|additionalWeatherPhenomena|table|ADDITIONAL WEATHER PHENOMENA|Code table|0|0|7
020194|heightOfTopOfPhenomena|double|HEIGHT OF TOP OF PHENOMENA|m|-1|-40|11
@ -209,6 +225,7 @@
024214|exponentOfDecisionThreshold|long|EXPONENT OF DECISION THRESHOLD|Numeric|0|-15|5
025192|dewPointAircraftAlti+airTtIdRecco|table|DEW POINT,AIRCRAFT ALTI+AIR TT ID(RECCO)|Code table|0|0|4
033192|qualityInformationOfLightningNet|table|QUALITY INFORMATION OF LIGHTNING NET|Code table|0|0|2
033193|extendedQualityFlagsForGroundBasedGnssData|flag|Extended quality flags for ground-based GNSS data|Flag table|0|0|32
051192|shortDistanceLightning|long|SHORT DISTANCE LIGHTNING|Numeric|0|0|7
051193|distantLightning|long|DISTANT LIGHTNING|Numeric|0|0|7
052192|landSeaRatio|long|LAND SEA RATIO|%|0|0|7

View File

@ -138,6 +138,7 @@
"307239" = [ 007032, 012101, 002051, 004051, 012118, 004052, 012119, 013004, 012151, 007032, 014032, 008023 ]
"307240" = [ 004001, 004001, 004002, 004003, 004004, 004022, 007032, 008023, 013060, 004053, 008023 ]
"307241" = [ 102008, 008050, 008020 ]
"307242" = [ 001015, 001040, 008021, 301011, 301013, 301022, 010036, 025061, 010004, 012001, 013003, 025060, 008021, 004025, 115000, 031001, 015197, 015198, 008022, 033193, 015207, 015035, 102002, 008060, 015201, 201131, 202129, 013016, 202000, 201000, 015011, 025060, 033193, 125000, 031001, 002020, 001050, 001150, 202127, 304030, 202000, 005021, 007021, 015195, 015196, 015208, 015199, 015200, 015197, 015207, 015035, 102002, 008060, 015201, 015202, 015203, 015204, 015205, 015206, 015011 ]
"308192" = [ 301213, 204005, 031021, 010051, 204000 ]
"308200" = [ 008023, 010051, 007032, 007033, 012101, 013004, 007032, 007033, 302056, 008023 ]
"308201" = [ 004003, 004004, 004023, 007032, 013060, 013051, 004053, 007032 ]

View File

@ -0,0 +1,8 @@
0 0 ANTARCTICA
1 1 REGION I
2 2 REGION II
3 3 REGION III
4 4 REGION IV
5 5 REGION V
6 6 REGION VI
7 7 MISSING VALUE

View File

@ -0,0 +1,10 @@
0 0 INCREASING, THEN DECREASING; ATMOSPHERIC PRESSURE THE SAME OR HIGHER THAN THREE HOURS AGO
1 1 INCREASING, THEN STEADY; OR INCREASING, THEN INCREASING MORE SLOWLY
2 2 INCREASING (STEADILY OR UNSTEADILY)
3 3 DECREASING OR STEADY, THEN INCREASING; OR INCREASING, THEN INCREASING MORE RAPIDLY
4 4 STEADY; ATMOSPHERIC PRESSURE THE SAME AS THREE HOURS AGO
5 5 DECREASING, THEN INCREASING; ATMOSPHERIC PRESSURE THE SAME OR LOWER THAN THREE HOURS AGO
6 6 DECREASING, THEN STEADY; OR DECREASING, THEN DECREASING MORE SLOWLY
7 7 DECREASING (STEADILY OR UNSTEADILY)
8 8 STEADY OR INCREASING, THEN DECREASING; OR DECREASING, THEN DECREASING MORE RAPIDLY
15 15 MISSING VALUE

View File

@ -0,0 +1,4 @@
0 0 SUBSONIC
1 1 TRANSONIC
2 2 SUPERSONIC
7 7 MISSING VALUE

View File

@ -0,0 +1,222 @@
0 0 RESERVED
1 1 ERS 1
2 2 ERS 2
3 3 METOP-1 (METOP-B)
4 4 METOP-2 (METOP-A)
5 5 METOP-3 (METOP-C)
20 20 SPOT1
21 21 SPOT2
22 22 SPOT3
23 23 SPOT4
40 40 OERSTED
41 41 CHAMP
42 42 TERRASAR-X
43 43 TANDEM-X
44 44 PAZ
46 46 SMOS
47 47 CRYOSAT-2
48 48 AEOLUS
50 50 METEOSAT 3
51 51 METEOSAT 4
52 52 METEOSAT 5
53 53 METEOSAT 6
54 54 METEOSAT 7
55 55 METEOSAT 8
56 56 METEOSAT 9
57 57 METEOSAT 10
58 58 METEOSAT 1
59 59 METEOSAT 2
60 60 ENVISAT
61 61 SENTINEL 3A
62 62 SENTINEL 1A
63 63 SENTINEL 1B
64 64 SENTINEL 5P
65 65 SENTINEL 3B
66 66 SENTINEL-6A
67 67 SENTINEL-6B
70 70 METEOSAT 11
120 120 ADEOS
121 121 ADEOS II
122 122 GCOM-W1
140 140 GOSAT
150 150 GMS 3
151 151 GMS 4
152 152 GMS 5
153 153 GMS
154 154 GMS 2
171 171 MTSAT-1R
172 172 MTSAT-2
173 173 HIMAWARI-8
174 174 HIMAWARI-9
200 200 NOAA 8
201 201 NOAA 9
202 202 NOAA 10
203 203 NOAA 11
204 204 NOAA 12
205 205 NOAA 14
206 206 NOAA 15
207 207 NOAA 16
208 208 NOAA 17
209 209 NOAA 18
220 220 LANDSAT 5
221 221 LANDSAT 4
222 222 LANDSAT 7
223 223 NOAA 19
224 224 NPP
225 225 NOAA 20
226 226 NOAA 21
240 240 DMSP 7
241 241 DMSP 8
242 242 DMSP 9
243 243 DMSP 10
244 244 DMSP 11
245 245 DMSP 12
246 246 DMSP 13
247 247 DMSP 14
248 248 DMSP 15
249 249 DMSP 16
250 250 GOES 6
251 251 GOES 7
252 252 GOES 8
253 253 GOES 9
254 254 GOES 10
255 255 GOES 11
256 256 GOES 12
257 257 GOES 13
258 258 GOES 14
259 259 GOES 15
260 260 JASON 1
261 261 JASON 2
262 262 JASON 3
265 265 GEOOPTICS CICERO OP1
266 266 GEOOPTICS CICERO OP2
267 267 PLANETIQ GNOMES-A
268 268 PLANETIQ GNOMES-B
269 269 SPIRE LEMUR 3U CUBESAT
270 270 GOES 16
271 271 GOES 17
272 272 GOES 18
273 273 GOES 19
281 281 QUIKSCAT
282 282 TRMM
283 283 CORIOLIS
285 285 DMSP 17
286 286 DMSP 18
287 287 DMSP 19
288 288 GPM-CORE
289 289 ORBITING CARBON OBSERVATORY - 2 (OCO-2, NASA)
310 310 GOMS 1
311 311 GOMS 2
320 320 METEOR 2-21
321 321 METEOR 3-5
322 322 METEOR 3M-1
323 323 METEOR 3M-2
324 324 METEOR-M N2
325 325 METEOR-M N2 2
341 341 RESURS 01-4
410 410 KALPANA-1
421 421 OCEANSAT-2
422 422 SCATSAT-1
423 423 OCEANSAT-3
430 430 INSAT 1B
431 431 INSAT 1C
432 432 INSAT 1D
440 440 MEGHA-TROPIQUES
441 441 SARAL
450 450 INSAT 2A
451 451 INSAT 2B
452 452 INSAT 2E
470 470 INSAT 3A
471 471 INSAT 3D
472 472 INSAT 3E
473 473 INSAT 3DR
474 474 INSAT 3DS
500 500 FY-1C
501 501 FY-1D
502 502 HAI YANG 2A (HY-2A, SOA/NSOAS CHINA)
503 503 HAI YANG 2B (HY-2B, SOA/NSOAS CHINA)
510 510 FY-2
512 512 FY-2B
513 513 FY-2C
514 514 FY-2D
515 515 FY-2E
516 516 FY-2F
517 517 FY-2G
518 518 FY-2H
520 520 FY-3A
521 521 FY-3B
522 522 FY-3C
523 523 FY-3D
530 530 FY-4A
700 700 TIROS M (ITOS 1)
701 701 NOAA 1
702 702 NOAA 2
703 703 NOAA 3
704 704 NOAA 4
705 705 NOAA 5
706 706 NOAA 6
707 707 NOAA 7
708 708 TIROS-N
710 710 GOES (SMS 1)
711 711 GOES (SMS 2)
720 720 TOPEX
721 721 GFO (GEOSAT FOLLOW ON)
722 722 GRACE A
723 723 GRACE B
724 724 COSMIC-2 P1
725 725 COSMIC-2 P2
726 726 COSMIC-2 P3
727 727 COSMIC-2 P4
728 728 COSMIC-2 P5
729 729 COSMIC-2 P6
731 731 GOES 1
732 732 GOES 2
733 733 GOES 3
734 734 GOES 4
735 735 GOES 5
740 740 COSMIC-1
741 741 COSMIC-2
742 742 COSMIC-3
743 743 COSMIC-4
744 744 COSMIC-5
745 745 COSMIC-6
750 750 COSMIC-2 E1
751 751 COSMIC-2 E2
752 752 COSMIC-2 E3
753 753 COSMIC-2 E4
754 754 COSMIC-2 E5
755 755 COSMIC-2 E6
763 763 NIMBUS 3
764 764 NIMBUS 4
765 765 NIMBUS 5
766 766 NIMBUS 6
767 767 NIMBUS 7
780 780 ERBS
781 781 UARS
782 782 EARTH PROBE
783 783 TERRA
784 784 AQUA
785 785 AURA
786 786 C/NOFS
787 787 CALIPSO
788 788 CLOUDSAT
800 800 SUNSAT
801 801 INTERNATIONAL SPACE STATION (ISS)
802 802 CFOSAT
803 803 GRACE C (GRACE-FO)
804 804 GRACE D (GRACE-FO)
810 810 COMS
811 811 GEO-KOMPSAT-2A
812 812 SCISAT-1
813 813 ODIN
820 820 SAC-C
821 821 SAC-D
825 825 KOMPSAT-5
850 850 COMBINATION OF TERRA AND AQUA
851 851 COMBINATION OF NOAA 16 TO NOAA 19
852 852 COMBINATION OF METOP-1 TO METOP-3
853 853 COMBINATION OF METEOSAT AND DMSP
854 854 NON-SPECIFIC MIXTURE OF GEOSTATIONARY AND LOW EARTH-ORBITING SATELLITES
855 855 COMBINATION OF INSAT 3D AND INSAT 3DR
856 856 COMBINATION OF SENTINEL-3 SATELLITES
1023 1023 MISSING VALUE

View File

@ -0,0 +1,9 @@
0 0 NO WIND SPEED DATA AVAILABLE
1 1 AMSR-E DATA
2 2 TMI DATA
3 3 NWP: ECMWF
4 4 NWP: UK MET OFFICE
5 5 NWP: NCEP
6 6 REFERENCE CLIMATOLOGY
7 7 ERS_SCATTEROMETER
31 31 MISSING VALUE

View File

@ -0,0 +1,7 @@
0 0 NO AOD DATA AVAILABLE
1 1 NESDIS
2 2 NAVOCEANO
3 3 NAAPS
4 4 MERIS
5 5 AATSR
31 31 MISSING VALUE

View File

@ -0,0 +1,8 @@
0 0 NO SSI DATA AVAILABLE
1 1 MSG_SEVIRI
2 2 GOES EAST
3 3 GOES WEST
4 4 ECMWF
5 5 NCEP
6 6 UK MET OFFICE
31 31 MISSING VALUE

View File

@ -0,0 +1,239 @@
0 0 WMO SECRETARIAT
1 1 MELBOURNE
2 2 MELBOURNE
3 3 )
4 4 MOSCOW
5 5 MOSCOW
6 6 )
7 7 US NATIONAL WEATHER SERVICE - NATIONAL CENTRES FOR ENVIRONMENTAL PREDICTION (NCEP)
8 8 US NATIONAL WEATHER SERVICE TELECOMMUNICATIONS GATEWAY (NWSTG)
9 9 US NATIONAL WEATHER SERVICE - OTHER
10 10 CAIRO (RSMC)
11 11 )
12 12 DAKAR (RSMC)
13 13 )
14 14 NAIROBI (RSMC)
15 15 )
16 16 CASABLANCA (RSMC)
17 17 TUNIS (RSMC)
18 18 TUNIS - CASABLANCA (RSMC)
19 19 )
20 20 LAS PALMAS
21 21 ALGIERS (RSMC)
22 22 ACMAD
23 23 MOZAMBIQUE (NMC)
24 24 PRETORIA (RSMC)
25 25 LA RéUNION (RSMC)
26 26 KHABAROVSK (RSMC)
27 27 )
28 28 NEW DELHI (RSMC)
29 29 )
30 30 NOVOSIBIRSK (RSMC)
31 31 )
32 32 TASHKENT (RSMC)
33 33 JEDDAH (RSMC)
34 34 TOKYO (RSMC), JAPAN METEOROLOGICAL AGENCY
35 35 )
36 36 BANGKOK
37 37 ULAANBAATAR
38 38 BEIJING (RSMC)
39 39 )
40 40 SEOUL
41 41 BUENOS AIRES (RSMC)
42 42 )
43 43 BRASILIA (RSMC)
44 44 )
45 45 SANTIAGO
46 46 BRAZILIAN SPACE AGENCY ­ INPE
47 47 COLOMBIA (NMC)
48 48 ECUADOR (NMC)
49 49 PERU (NMC)
50 50 VENEZUELA (BOLIVARIAN REPUBLIC OF) (NMC)
51 51 MIAMI (RSMC)
52 52 MIAMI (RSMC), NATIONAL HURRICANE CENTRE
53 53 MSC MONITORING
54 54 MONTREAL (RSMC)
55 55 SAN FRANCISCO
56 56 ARINC CENTRE
57 57 US AIR FORCE - AIR FORCE GLOBAL WEATHER CENTRAL
58 58 FLEET NUMERICAL METEOROLOGY AND OCEANOGRAPHY CENTER, MONTEREY, CA, UNITED STATES
59 59 THE NOAA FORECAST SYSTEMS LABORATORY, BOULDER, CO, UNITED STATES
60 60 UNITED STATES NATIONAL CENTER FOR ATMOSPHERIC RESEARCH (NCAR)
61 61 SERVICE ARGOS - LANDOVER
62 62 US NAVAL OCEANOGRAPHIC OFFICE
63 63 INTERNATIONAL RESEARCH INSTITUTE FOR CLIMATE AND SOCIETY (IRI)
64 64 HONOLULU (RSMC)
65 65 DARWIN (RSMC)
66 66 )
67 67 MELBOURNE (RSMC)
68 68 RESERVED
69 69 WELLINGTON (RSMC)
70 70 )
71 71 NADI (RSMC)
72 72 SINGAPORE
73 73 MALAYSIA (NMC)
74 74 UK METEOROLOGICAL OFFICE ­ EXETER (RSMC)
75 75 )
76 76 MOSCOW (RSMC)
77 77 RESERVED
78 78 OFFENBACH (RSMC)
79 79 )
80 80 ROME (RSMC)
81 81 )
82 82 NORRKöPING
83 83 )
84 84 TOULOUSE (RSMC)
85 85 TOULOUSE (RSMC)
86 86 HELSINKI
87 87 BELGRADE
88 88 OSLO
89 89 PRAGUE
90 90 EPISKOPI
91 91 ANKARA
92 92 FRANKFURT/MAIN
93 93 LONDON (WAFC)
94 94 COPENHAGEN
95 95 ROTA
96 96 ATHENS
97 97 EUROPEAN SPACE AGENCY (ESA)
98 98 EUROPEAN CENTRE FOR MEDIUM-RANGE WEATHER FORECASTS (ECMWF) (RSMC)
99 99 DE BILT
100 100 BRAZZAVILLE
101 101 ABIDJAN
102 102 LIBYA (NMC)
103 103 MADAGASCAR (NMC)
104 104 MAURITIUS (NMC)
105 105 NIGER (NMC)
106 106 SEYCHELLES (NMC)
107 107 UGANDA (NMC)
108 108 UNITED REPUBLIC OF TANZANIA (NMC)
109 109 ZIMBABWE (NMC)
110 110 HONG-KONG, CHINA
111 111 AFGHANISTAN (NMC)
112 112 BAHRAIN (NMC)
113 113 BANGLADESH (NMC)
114 114 BHUTAN (NMC)
115 115 CAMBODIA (NMC)
116 116 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA (NMC)
117 117 ISLAMIC REPUBLIC OF IRAN (NMC)
118 118 IRAQ (NMC)
119 119 KAZAKHSTAN (NMC)
120 120 KUWAIT (NMC)
121 121 KYRGYZSTAN (NMC)
122 122 LAO PEOPLE'S DEMOCRATIC REPUBLIC (NMC)
123 123 MACAO, CHINA
124 124 MALDIVES (NMC)
125 125 MYANMAR (NMC)
126 126 NEPAL (NMC)
127 127 OMAN (NMC)
128 128 PAKISTAN (NMC)
129 129 QATAR (NMC)
130 130 YEMEN (NMC)
131 131 SRI LANKA (NMC)
132 132 TAJIKISTAN (NMC)
133 133 TURKMENISTAN (NMC)
134 134 UNITED ARAB EMIRATES (NMC)
135 135 UZBEKISTAN (NMC)
136 136 VIET NAM (NMC)
140 140 BOLIVIA (PLURINATIONAL STATE OF) (NMC)
141 141 GUYANA (NMC)
142 142 PARAGUAY (NMC)
143 143 SURINAME (NMC)
144 144 URUGUAY (NMC)
145 145 FRENCH GUIANA
146 146 BRAZILIAN NAVY HYDROGRAPHIC CENTRE
147 147 NATIONAL COMMISSION ON SPACE ACTIVITIES (CONAE) - ARGENTINA
148 148 BRAZILIAN DEPARTMENT OF AIRSPACE CONTROL - DECEA
149 149 RESERVED FOR OTHER CENTRES
150 150 ANTIGUA AND BARBUDA (NMC)
151 151 BAHAMAS (NMC)
152 152 BARBADOS (NMC)
153 153 BELIZE (NMC)
154 154 BRITISH CARIBBEAN TERRITORIES CENTRE
155 155 SAN JOSé
156 156 CUBA (NMC)
157 157 DOMINICA (NMC)
158 158 DOMINICAN REPUBLIC (NMC)
159 159 EL SALVADOR (NMC)
160 160 US NOAA/NESDIS
161 161 US NOAA OFFICE OF OCEANIC AND ATMOSPHERIC RESEARCH
162 162 GUATEMALA (NMC)
163 163 HAITI (NMC)
164 164 HONDURAS (NMC)
165 165 JAMAICA (NMC)
166 166 MEXICO CITY
167 167 CURAçAO AND SINT MAARTEN (NMC)
168 168 NICARAGUA (NMC)
169 169 PANAMA (NMC)
170 170 SAINT LUCIA (NMC)
171 171 TRINIDAD AND TOBAGO (NMC)
172 172 FRENCH DEPARTMENTS IN RA IV
173 173 US NATIONAL AERONAUTICS AND SPACE ADMINISTRATION (NASA)
174 174 INTEGRATED SCIENCE DATA MANAGEMENT/MARINE ENVIRONMENTAL DATA SERVICE (ISDM/MEDS) - CANADA
175 175 UNIVERSITY CORPORATION FOR ATMOSPHERIC RESEARCH (UCAR) - UNITED STATES
176 176 COOPERATIVE INSTITUTE FOR METEOROLOGICAL SATELLITE STUDIES (CIMSS) - UNITED STATES
177 177 NOAA NATIONAL OCEAN SERVICE - UNITED STATES
178 178 SPIRE GLOBAL, INC.
179 179 GEOOPTICS, INC.
180 180 PLANETIQ
190 190 COOK ISLANDS (NMC)
191 191 FRENCH POLYNESIA (NMC)
192 192 TONGA (NMC)
193 193 VANUATU (NMC)
194 194 BRUNEI DARUSSALAM (NMC)
195 195 INDONESIA (NMC)
196 196 KIRIBATI (NMC)
197 197 FEDERATED STATES OF MICRONESIA (NMC)
198 198 NEW CALEDONIA (NMC)
199 199 NIUE
200 200 PAPUA NEW GUINEA (NMC)
201 201 PHILIPPINES (NMC)
202 202 SAMOA (NMC)
203 203 SOLOMON ISLANDS (NMC)
204 204 NATIONAL INSTITUTE OF WATER AND ATMOSPHERIC RESEARCH (NIWA - NEW ZEALAND)
210 210 FRASCATI (ESA/ESRIN)
211 211 LANNION
212 212 LISBON
213 213 REYKJAVIK
214 214 MADRID
215 215 ZURICH
216 216 SERVICE ARGOS - TOULOUSE
217 217 BRATISLAVA
218 218 BUDAPEST
219 219 LJUBLJANA
220 220 WARSAW
221 221 ZAGREB
222 222 ALBANIA (NMC)
223 223 ARMENIA (NMC)
224 224 AUSTRIA (NMC)
225 225 AZERBAIJAN (NMC)
226 226 BELARUS (NMC)
227 227 BELGIUM (NMC)
228 228 BOSNIA AND HERZEGOVINA (NMC)
229 229 BULGARIA (NMC)
230 230 CYPRUS (NMC)
231 231 ESTONIA (NMC)
232 232 GEORGIA (NMC)
233 233 DUBLIN
234 234 ISRAEL (NMC)
235 235 JORDAN (NMC)
236 236 LATVIA (NMC)
237 237 LEBANON (NMC)
238 238 LITHUANIA (NMC)
239 239 LUXEMBOURG
240 240 MALTA (NMC)
241 241 MONACO
242 242 ROMANIA (NMC)
243 243 SYRIAN ARAB REPUBLIC (NMC)
244 244 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA (NMC)
245 245 UKRAINE (NMC)
246 246 REPUBLIC OF MOLDOVA (NMC)
247 247 OPERATIONAL PROGRAMME FOR THE EXCHANGE OF WEATHER RADAR INFORMATION (OPERA) - EUMETNET
248 248 MONTENEGRO (NMC)
249 249 BARCELONA DUST FORECAST CENTER
250 250 CONSORTIUM FOR SMALL SCALE MODELLING (COSMO)
251 251 METEOROLOGICAL COOPERATION ON OPERATIONAL NWP (METCOOP)
252 252 MAX PLANCK INSTITUTE FOR METEOROLOGY (MPI-M)
253 253 RESERVED FOR OTHER CENTRES
254 254 EUMETSAT OPERATION CENTRE
255 255 MISSING VALUE

View File

@ -0,0 +1,104 @@
0 0 NO SUB-CENTRE
1 1 LUXEMBOURG (NMC)
2 2 FUCINO
3 3 GATINEAU
4 4 MASPALOMAS (SPAIN)
5 5 ESA ERS CENTRAL FACILITY
6 6 PRINCE ALBERT
7 7 WEST FREUGH
8 8 LANGLEY RESEARCH CENTER
9 9 MARSHALL SPACE FLIGHT CENTER
10 10 TROMSO (NORWAY)
11 11 MCMURDO (ANTARCTICA)
12 12 SODANKYLA (FINLAND)
13 13 TROMSO
14 14 BARROW (UNITED STATES)
15 15 ROTHERA (ANTARCTICA)
16 16 SPACE WEATHER PREDICTION CENTER
17 17 ESRL GLOBAL SYSTEMS DIVISION
18 18 SIPAM-PORTO VELHO-RO
19 19 SIPAM-BELéM-PA
20 20 MASPALOMAS (SPAIN)
21 21 AGENZIA SPAZIALE ITALIANA (ITALY)
22 22 CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE (FRANCE)
23 23 GEOFORSCHUNGS ZENTRUM (GERMANY)
24 24 GEODETIC OBSERVATORY PECNY (CZECHIA)
25 25 INSTITUT D'ESTUDIS ESPACIALS DE CATALUNYA (SPAIN)
26 26 FEDERAL OFFICE OF TOPOGRAPHY (SWITZERLAND)
27 27 NORDIC COMMISSION OF GEODESY (NORWAY)
28 28 NORDIC COMMISSION OF GEODESY (SWEDEN)
29 29 INSTITUTE GéOGRAPHIQUE NATIONAL (FRANCE) - SERVICE DE GéODéSIE
30 30 KANGERLUSSUAQ (GREENLAND)
31 31 INSTITUTE OF ENGINEERING SATELLITE SURVEYING AND GEODESY (UNITED KINGDOM)
32 32 JOINT OPERATIONAL METEOROLOGY AND OCEANOGRAPHY CENTRE (JOMOC)
33 33 KONINKLIJK NEDERLANDS METEOROLOGISCH INSTITUT (NETHERLANDS)
34 34 NORDIC GPS ATMOSPHERIC ANALYSIS CENTRE (SWEDEN)
35 35 INSTITUTO GEOGRAFICO NACIONAL DE ESPAñA (SPAIN)
36 36 MET ÉIREANN (IRELAND)
37 37 ROYAL OBSERVATORY OF BELGIUM (BELGIUM)
40 40 EDMONTON (CANADA)
50 50 BEDFORD (CANADA)
60 60 GANDER (CANADA)
64 64 BUNDESWEHR GEOINFORMATION OFFICE (BGIO)
70 70 MONTEREY (UNITED STATES)
76 76 ROSHYDROMET (RUSSIAN FEDERATION)
78 78 DEUTSCHER WETTERDIENST (GERMANY)
80 80 WALLOPS ISLAND (UNITED STATES)
90 90 GILMOR CREEK (UNITED STATES)
96 96 HELLENIC NATIONAL METEOROLOGICAL SERVICE (GREECE)
100 100 ATHENS (GREECE)
101 101 ALBANIA (NMC)
102 102 NATIONAL RESEARCH COUNCIL/INSTITUTE OF ATMOSPHERIC SCIENCES AND CLIMATE (CNR-ISAC)
110 110 NOWCAST MOBILE (LIGHTNING DATA)
120 120 EWA BEACH, HAWAII
125 125 FORD ISLAND, HAWAII
130 130 MIAMI, FLORIDA
140 140 LANNION (FRANCE)
150 150 SVALBARD (NORWAY)
170 170 ST DENIS (LA RéUNION)
180 180 MOSCOW
190 190 MUSCAT
200 200 KHABAROVSK
201 201 RHEINISCHES INSTITUT FüR UMWELTFORSCHUNG AN DER UNIVERSITäT ZU KöLN E.V. (GERMANY)
202 202 INSTITUT FRANçAIS DE RECHERCHE POUR L'EXPLOITATION DE LA MER
203 203 AARHUS UNIVERSITY (DENMARK)
204 204 INSTITUTE OF ENVIRONMENTAL PROTECTION - NATIONAL RESEARCH INSTITUTE (POLAND)
205 205 NIUE
206 206 RAROTONGA (COOK ISLANDS)
207 207 APIA (SAMOA)
208 208 TONGA
209 209 TUVALU
210 210 NOVOSIBIRSK
211 211 TOKELAU
214 214 DARWIN
215 215 METEOSWISS (SWITZERLAND)
217 217 PERTH
219 219 TOWNSVILLE
220 220 INSTITUTE OF METEOROLOGY AND WATER MANAGEMENT (POLAND)
221 221 SCHLESWIG-HOLSTEIN, TRAFFIC OPERATIONS COMPUTING CENTRE (TOCC) KIEL/NEUMüNSTER
222 222 HAMBURG, TOCC HAMBURG
223 223 NIEDERSACHSEN, TOCC HANNOVER
224 224 AUSTRIA (NMC)
225 225 NORDRHEIN-WESTFALEN, TOCC KAMEN LEVERKUSEN
226 226 HESSEN, TOCC RüSSELSHEIM
227 227 RHEINLAND-PFALZ, TOCC KOBLENZ
228 228 BADEN-WüRTTEMBERG, TOCC LUDWIGSBURG
229 229 BAYERN, TOCC FREIMANN
230 230 SAARLAND, TOCC ROHRBACH
231 231 BAYERN, AUTOBAHN DIRECTORATE NORDBAYERN
232 232 BRANDENBURG, TOCC STOLPE
233 233 MECKLENBURG-VORPOMMERN, TOCC MALCHOW
234 234 SACHSEN, TOCC DRESDEN
235 235 SACHSEN-ANHALT, TOCC HALLE
236 236 THüRINGEN, TOCC ERFURT
237 237 EASYWAY - METEOTRANS
240 240 KIYOSE
241 241 REANALYSIS PROJECT
242 242 NATIONAL METEOROLOGICAL ADMINISTRATION (ROMANIA)
243 243 KELBURN
245 245 JINCHEON
249 249 SINGAPORE
250 250 VLADIVOSTOCK
251 251 GUAM
252 252 HONOLULU
254 254 EUMETSAT

View File

@ -0,0 +1,38 @@
36001 36001 AUSTRALIA, BUREAU OF METEOROLOGY (BOM)
36002 36002 AUSTRALIA, JOINT AUSTRALIAN FACILITY FOR OCEAN OBSERVING SYSTEMS (JAFOOS)
36003 36003 AUSTRALIA, THE COMMONWEALTH SCIENTIFIC AND INDUSTRIAL RESEARCH ORGANIZATION (CSIRO)
124001 124001 CANADA, MARINE ENVIRONMENTAL DATA SERVICE (MEDS)
124002 124002 CANADA, INSTITUTE OF OCEAN SCIENCES (IOS)
124173 124173 CANADA, ENVIRONMENT CANADA
124174 124174 CANADA, DEPARTMENT OF NATIONAL DEFENCE
124175 124175 CANADA, NAV CANADA
156001 156001 CHINA, THE STATE OCEANIC ADMINISTRATION
156002 156002 CHINA, SECOND INSTITUTE OF OCEANOGRAPHY, STATE OCEANIC ADMINISTRATION
156003 156003 CHINA, INSTITUTE OF OCEAN TECHNOLOGY
250001 250001 FRANCE, INSTITUT DE RECHERCHE POUR LE DéVELOPPEMENT (IRD)
250002 250002 FRANCE, INSTITUT FRANçAIS DE RECHERCHE POUR L'EXPLOITATION DE LA MER (IFREMER)
276001 276001 GERMANY, BUNDESAMT FUER SEESCHIFFAHRT UND HYDROGRAPHIE (BSH)
276002 276002 GERMANY, INSTITUT FUER MEERESKUNDE, KIEL
356001 356001 INDIA, NATIONAL INSTITUTE OF OCEANOGRAPHY (NIO)
356002 356002 INDIA, NATIONAL INSTITUTE FOR OCEAN TECHNOLOGY (NIOT)
356003 356003 INDIA, NATIONAL CENTRE FOR OCEAN INFORMATION SERVICE
392001 392001 JAPAN, JAPAN METEOROLOGICAL AGENCY (JMA)
392002 392002 JAPAN, FRONTIER OBSERVATIONAL RESEARCH SYSTEM FOR GLOBAL CHANGE
392003 392003 JAPAN, JAPAN MARINE SCIENCE AND TECHNOLOGY CENTRE (JAMSTEC)
410001 410001 REPUBLIC OF KOREA, SEOUL NATIONAL UNIVERSITY
410002 410002 REPUBLIC OF KOREA, KOREA OCEAN RESEARCH AND DEVELOPMENT INSTITUTE (KORDI)
410003 410003 REPUBLIC OF KOREA, METEOROLOGICAL RESEARCH INSTITUTE
540001 540001 NEW CALEDONIA, INSTITUT DE RECHERCHE POUR LE DéVELOPPEMENT (IRD)
554001 554001 NEW ZEALAND, NATIONAL INSTITUTE OF WATER AND ATMOSPHERIC RESEARCH (NIWA)
643001 643001 RUSSIAN FEDERATION, STATE OCEANOGRAPHIC INSTITUTE OF ROSHYDROMET
643002 643002 RUSSIAN FEDERATION, FEDERAL SERVICE FOR HYDROMETEOROLOGY AND ENVIRONMENTAL MONITORING
724001 724001 SPAIN, INSTITUTO ESPAñOL DE OCEANOGRAFIA
826001 826001 UNITED KINGDOM, HYDROGRAPHIC OFFICE
826002 826002 UNITED KINGDOM, SOUTHAMPTON OCEANOGRAPHY CENTRE (SOC)
840001 840001 USA, NOAA ATLANTIC OCEANOGRAPHIC AND METEOROLOGICAL LABORATORIES (AOML)
840002 840002 USA, NOAA PACIFIC MARINE ENVIRONMENTAL LABORATORIES (PMEL)
840003 840003 USA, SCRIPPS INSTITUTION OF OCEANOGRAPHY (SIO)
840004 840004 USA, WOODS HOLE OCEANOGRAPHIC INSTITUTION (WHOI)
840005 840005 USA, UNIVERSITY OF WASHINGTON
840006 840006 USA, NAVAL OCEANOGRAPHIC OFFICE
1048575 1048575 MISSING VALUE

View File

@ -0,0 +1,7 @@
0 0 NO SEA ICE SET
1 1 NSIDC SSM/I CAVALIERI ET AL (1992)
2 2 AMSR-E
3 3 ECMWF
4 4 CMS (FRANCE) CLOUD MASK USED BY MEDSPIRATION
5 5 EUMETSAT OSI-SAF
31 31 MISSING VALUE

View File

@ -0,0 +1,9 @@
0 0 RESERVED
1 1 FULL WEIGHTED MIXTURE OF INDIVIDUAL QUALITY TESTS
2 2 WEIGHTED MIXTURE OF INDIVIDUAL TESTS, BUT EXCLUDING FORECAST COMPARISON
3 3 RECURSIVE FILTER FUNCTION
4 4 COMMON QUALITY INDEX (QI) WITHOUT FORECAST
5 5 QI WITHOUT FORECAST
6 6 QI WITH FORECAST
7 7 ESTIMATED ERROR IN M/S CONVERTED TO A PERCENT CONFIDENCE
255 255 MISSING VALUE

View File

@ -0,0 +1,4 @@
0 0 PRIMARY
1 1 SECONDARY
2 2 RESERVED
3 3 MISSING VALUE

View File

@ -0,0 +1,5 @@
0 0 LAGGED-AVERAGE FORECASTING (LAF)
1 1 BREEDING
2 2 SINGULAR VECTORS
3 3 MULTIPLE ANALYSIS CYCLES
255 255 MISSING VALUE

View File

@ -0,0 +1,6 @@
0 0 UNPERTURBED HIGH-RESOLUTION CONTROL FORECAST
1 1 UNPERTURBED LOW-RESOLUTION CONTROL FORECAST
2 2 NEGATIVELY PERTURBED FORECAST
3 3 POSITIVELY PERTURBED FORECAST
4 4 PERTURBED FORECAST
255 255 MISSING VALUE

View File

@ -0,0 +1,202 @@
100 100 ALGERIA
101 101 ANGOLA
102 102 BENIN
103 103 BOTSWANA
104 104 BURKINA FASO
105 105 BURUNDI
106 106 CAMEROON
107 107 CABO VERDE
108 108 CENTRAL AFRICAN REPUBLIC
109 109 CHAD
110 110 COMOROS
111 111 CONGO
112 112 CôTE D'IVOIRE
113 113 DEMOCRATIC REPUBLIC OF THE CONGO
114 114 DJIBOUTI
115 115 EGYPT
116 116 ERITREA
117 117 ETHIOPIA
118 118 FRANCE (RA I)
119 119 GABON
120 120 GAMBIA
121 121 GHANA
122 122 GUINEA
123 123 GUINEA-BISSAU
124 124 KENYA
125 125 LESOTHO
126 126 LIBERIA
127 127 LIBYA
128 128 MADAGASCAR
129 129 MALAWI
130 130 MALI
131 131 MAURITANIA
132 132 MAURITIUS
133 133 MOROCCO
134 134 MOZAMBIQUE
135 135 NAMIBIA
136 136 NIGER
137 137 NIGERIA
138 138 PORTUGAL (RA I)
139 139 RWANDA
140 140 SAO TOME AND PRINCIPE
141 141 SENEGAL
142 142 SEYCHELLES
143 143 SIERRA LEONE
144 144 SOMALIA
145 145 SOUTH AFRICA
146 146 SPAIN (RA I)
147 147 SUDAN
148 148 ESWATINI
149 149 TOGO
150 150 TUNISIA
151 151 UGANDA
152 152 UNITED KINGDOM OF GREAT BRITAIN AND NORTHERN IRELAND (RA I)
153 153 UNITED REPUBLIC OF TANZANIA
154 154 ZAMBIA
155 155 ZIMBABWE
200 200 AFGHANISTAN
201 201 BAHRAIN
202 202 BANGLADESH
203 203 BHUTAN
204 204 CAMBODIA
205 205 CHINA
206 206 DEMOCRATIC PEOPLE'S REPUBLIC OF KOREA
207 207 HONG KONG, CHINA
208 208 INDIA
209 209 IRAN, ISLAMIC REPUBLIC OF
210 210 IRAQ
211 211 JAPAN
212 212 KAZAKHSTAN
213 213 KUWAIT
214 214 KYRGYZSTAN
215 215 LAO PEOPLE'S DEMOCRATIC REPUBLIC
216 216 MACAO, CHINA
217 217 MALDIVES
218 218 MONGOLIA
219 219 MYANMAR
220 220 NEPAL
221 221 OMAN
222 222 PAKISTAN
223 223 QATAR
224 224 REPUBLIC OF KOREA
225 225 YEMEN
226 226 RUSSIAN FEDERATION (RA II)
227 227 SAUDI ARABIA
228 228 SRI LANKA
229 229 TAJIKISTAN
230 230 THAILAND
231 231 TURKMENISTAN
232 232 UNITED ARAB EMIRATES
233 233 UZBEKISTAN
234 234 VIET NAM
300 300 ARGENTINA
301 301 BOLIVIA (PLURINATIONAL STATE OF)
302 302 BRAZIL
303 303 CHILE
304 304 COLOMBIA
305 305 ECUADOR
306 306 FRANCE (RA III)
307 307 GUYANA
308 308 PARAGUAY
309 309 PERU
310 310 SURINAME
311 311 URUGUAY
312 312 VENEZUELA (BOLIVARIAN REPUBLIC OF)
400 400 ANTIGUA AND BARBUDA
401 401 BAHAMAS
402 402 BARBADOS
403 403 BELIZE
404 404 BRITISH CARIBBEAN TERRITORIES
405 405 CANADA
406 406 COLOMBIA
407 407 COSTA RICA
408 408 CUBA
409 409 DOMINICA
410 410 DOMINICAN REPUBLIC
411 411 EL SALVADOR
412 412 FRANCE (RA IV)
413 413 GUATEMALA
414 414 HAITI
415 415 HONDURAS
416 416 JAMAICA
417 417 MEXICO
418 418 CURAçAO AND SINT MAARTEN
419 419 NICARAGUA
420 420 PANAMA
421 421 SAINT LUCIA
422 422 TRINIDAD AND TOBAGO
423 423 UNITED KINGDOM OF GREAT BRITAIN AND NORTHERN IRELAND (RA IV)
424 424 UNITED STATES OF AMERICA (RA IV)
425 425 VENEZUELA (BOLIVARIAN REPUBLIC OF)
500 500 AUSTRALIA
501 501 BRUNEI DARUSSALAM
502 502 COOK ISLANDS
503 503 FIJI
504 504 FRENCH POLYNESIA
505 505 INDONESIA
506 506 KIRIBATI
507 507 MALAYSIA
508 508 MICRONESIA, FEDERATED STATES OF
509 509 NEW CALEDONIA
510 510 NEW ZEALAND
511 511 NIUE
512 512 PAPUA NEW GUINEA
513 513 PHILIPPINES
514 514 SAMOA
515 515 SINGAPORE
516 516 SOLOMON ISLANDS
517 517 TONGA
518 518 UNITED KINGDOM OF GREAT BRITAIN AND NORTHERN IRELAND (RA V)
519 519 UNITED STATES OF AMERICA (RA V)
520 520 VANUATU
600 600 ALBANIA
601 601 ARMENIA
602 602 AUSTRIA
603 603 AZERBAIJAN
604 604 BELARUS
605 605 BELGIUM
606 606 BOSNIA AND HERZEGOVINA
607 607 BULGARIA
608 608 CROATIA
609 609 CYPRUS
610 610 CZECHIA
611 611 DENMARK
612 612 ESTONIA
613 613 FINLAND
614 614 FRANCE (RA VI)
615 615 GEORGIA
616 616 GERMANY
617 617 GREECE
618 618 HUNGARY
619 619 ICELAND
620 620 IRELAND
621 621 ISRAEL
622 622 ITALY
623 623 JORDAN
624 624 KAZAKHSTAN
625 625 LATVIA
626 626 LEBANON
627 627 LITHUANIA
628 628 LUXEMBOURG
629 629 MALTA
630 630 MONACO
631 631 MONTENEGRO
632 632 NETHERLANDS
633 633 NORWAY
634 634 POLAND
635 635 PORTUGAL (RA VI)
636 636 REPUBLIC OF MOLDOVA
637 637 ROMANIA
638 638 RUSSIAN FEDERATION (RA VI)
639 639 SERBIA
640 640 SLOVAKIA
641 641 SLOVENIA
642 642 SPAIN (RA VI)
643 643 SWEDEN
644 644 SWITZERLAND
645 645 SYRIAN ARAB REPUBLIC
646 646 THE FORMER YUGOSLAV REPUBLIC OF MACEDONIA
647 647 TURKEY
648 648 UKRAINE
649 649 UNITED KINGDOM OF GREAT BRITAIN AND NORTHERN IRELAND (RA VI)
1023 1023 MISSING VALUE

View File

@ -0,0 +1,25 @@
0 0 NIL
1 1 LIGHT
2 2 MODERATE
3 3 SEVERE
4 4 NIL
5 5 LIGHT
6 6 MODERATE
7 7 SEVERE
8 8 NIL
9 9 LIGHT
10 10 MODERATE
11 11 SEVERE
12 12 EXTREME, IN CLEAR AIR
13 13 EXTREME, IN CLOUD
14 14 EXTREME, CLOUD/CLEAR AIR NOT SPECIFIED
15 15 LIGHT, ISOLATED MODERATE
16 16 LIGHT, OCCASIONAL MODERATE
17 17 LIGHT, FREQUENTLY MODERATE
18 18 MODERATE, ISOLATED SEVERE
19 19 MODERATE, OCCASIONAL SEVERE
20 20 MODERATE, FREQUENTLY SEVERE
21 21 SEVERE, ISOLATED EXTREME
22 22 SEVERE, OCCASIONAL EXTREME
23 23 SEVERE, FREQUENTLY EXTREME
63 63 MISSING VALUE

View File

@ -0,0 +1,16 @@
0 0 NIL
1 1 LIGHT
2 2 MODERATE
3 3 SEVERE
4 4 NIL
5 5 LIGHT
6 6 MODERATE
7 7 SEVERE
8 8 NIL
9 9 LIGHT
10 10 MODERATE
11 11 SEVERE
12 12 EXTREME, IN CLEAR AIR
13 13 EXTREME, IN CLOUD
14 14 EXTREME, CLOUD/CLEAR AIR NOT SPECIFIED
15 15 MISSING VALUE

View File

@ -0,0 +1,30 @@
0 0 AVE < 0.1
1 1 AVE < 0.1
2 2 0.1 =< AVE < 0.2
3 3 AVE <0.1
4 4 0.1 =< AVE < 0.2
5 5 0.2 =< AVE < 0.3
6 6 AVE < 0.1
7 7 0.1 =< AVE < 0.2
8 8 0.2 =< AVE < 0.3
9 9 0.3 =< AVE < 0.4
10 10 AVE < 0.1
11 11 0.1 =< AVE < 0.2
12 12 0.2 =< AVE < 0.3
13 13 0.3 =< AVE < 0.4
14 14 0.4 =< AVE < 0.5
15 15 AVE < 0.1
16 16 0.1 =< AVE < 0.2
17 17 0.2 =< AVE < 0.3
18 18 0.3 =< AVE < 0.4
19 19 0.4 =< AVE < 0.5
20 20 0.5 =< AVE < 0.8
21 21 AVE < 0.1
22 22 0.1 =< AVE < 0.2
23 23 0.2 =< AVE < 0.3
24 24 0.3 =< AVE < 0.4
25 25 0.4 =< AVE < 0.5
26 26 0.5 =< AVE < 0.8
27 27 0.8 =< AVE
28 28 NIL
63 63 MISSING VALUE

View File

@ -0,0 +1,17 @@
0 0 MIN < 1
1 1 1 =< MIN < 2
2 2 2 =< MIN < 3
3 3 3 =< MIN < 4
4 4 4 =< MIN < 5
5 5 5 =< MIN < 6
6 6 6 =< MIN < 7
7 7 7 =< MIN < 8
8 8 8 =< MIN < 9
9 9 9 =< MIN < 10
10 10 10 =< MIN < 11
11 11 11 =< MIN < 12
12 12 12 =< MIN < 13
13 13 13 =< MIN < 14
14 14 14 =< MIN < 15
15 15 NO TIMING INFORMATION AVAILABLE
31 31 MISSING VALUE

View File

@ -0,0 +1,17 @@
0 0 MIN < 1
1 1 1 =< MIN < 2
2 2 2 =< MIN < 3
3 3 3 =< MIN < 4
4 4 4 =< MIN < 5
5 5 5 =< MIN < 6
6 6 6 =< MIN < 7
7 7 7 =< MIN < 8
8 8 8 =< MIN < 9
9 9 9 =< MIN < 10
10 10 10 =< MIN < 11
11 11 11 =< MIN < 12
12 12 12 =< MIN < 13
13 13 13 =< MIN < 14
14 14 14 =< MIN < 15
60 60 NO TIMING INFORMATION AVAILABLE
63 63 MISSING VALUE

View File

@ -0,0 +1,6 @@
0 0 WGS84, AS USED BY ICAO SINCE 1998
1 1 ETRS89, AS DEFINED BY EPSG:4258
2 2 NAD83, AS DEFINED BY EPSG:4269
3 3 DHDN, AS DEFINED BY EPSG:4314
4 4 ELLIPSOIDAL DATUM USING THE INTERNATIONAL REFERENCE MERIDIAN AND THE INTERNATIONAL REFERENCE POLE AS THE PRIME MERIDIAN AND PRIME POLE, RESPECTIVELY, AND THE ORIGIN OF THE INTERNATIONAL TERRESTRIAL REFERENCE SYSTEM (ITRS) (SEE NOTE 2). THE INTERNATIONAL REFERENCE MERIDIAN, INTERNATIONAL REFERENCE POLE AND ITRS ARE MAINTAINED BY THE INTERNATIONAL EARTH ROTATION AND REFERENCE SYSTEMS SERVICE (IERS)
65535 65535 MISSING VALUE

View File

@ -0,0 +1,3 @@
0 0 EARTH GRAVITATIONAL MODEL 1996
1 1 BALTIC HEIGHT SYSTEM 1977
4095 4095 MISSING VALUE

View File

@ -0,0 +1,4 @@
0 0 NOT SUPERADIABATIC
1 1 SUPERADIABATIC
2 2 RESERVED
3 3 MISSING VALUE

View File

@ -0,0 +1,3 @@
0 0 SEA ICE
1 1 SNOW ON LAND
7 7 MISSING VALUE

View File

@ -0,0 +1,13 @@
0 0 LAND
1 1 RESERVED
2 2 NEAR COAST
3 3 ICE
4 4 POSSIBLE ICE
5 5 OCEAN
6 6 COAST
7 7 INLAND WATER
8 8 SNOW COVER
9 9 SEA ICE
10 10 STANDING WATER
11 11 SNOW
15 15 MISSING VALUE

View File

@ -0,0 +1,10 @@
1 1 A
2 2 A - B
3 3 B
4 4 B - C
5 5 C
6 6 D
7 7 E
8 8 F
9 9 G
15 15 MISSING VALUE

View File

@ -0,0 +1,8 @@
0 0 SMALLER THAN ANY VALUE IN THE 30-YEAR PERIOD
1 1 IN THE FIRST QUINTILE
2 2 IN THE SECOND QUINTILE
3 3 IN THE THIRD QUINTILE
4 4 IN THE FOURTH QUINTILE
5 5 IN THE FIFTH QUINTILE
6 6 GREATER THAN ANY VALUE IN THE 30-YEAR PERIOD
15 15 MISSING VALUE

View File

@ -0,0 +1,11 @@
0 0 NO PRECIPITATION
1 1 LIGHT INTERMITTENT
2 2 MODERATE INTERMITTENT
3 3 HEAVY INTERMITTENT
4 4 VERY HEAVY INTERMITTENT
5 5 LIGHT CONTINUOUS
6 6 MODERATE CONTINUOUS
7 7 HEAVY CONTINUOUS
8 8 VERY HEAVY CONTINUOUS
9 9 VARIABLE - ALTERNATIVELY LIGHT AND HEAVY
15 15 MISSING VALUE

View File

@ -0,0 +1,11 @@
0 0 NO PRECIPITATION
1 1 WITHIN THE LAST HOUR
2 2 1 TO 2 HOURS AGO
3 3 2 TO 3 HOURS AGO
4 4 3 TO 4 HOURS AGO
5 5 4 TO 5 HOURS AGO
6 6 5 TO 6 HOURS AGO
7 7 6 TO 8 HOURS AGO
8 8 8 TO 10 HOURS AGO
9 9 MORE THAN 10 HOURS AGO
15 15 MISSING VALUE

View File

@ -0,0 +1,4 @@
0 0 OZONE
11 11 FINE PARTICULATE MATTER (DIAMETER < 2.5 MICRONS)
12 12 FINE PARTICULATE MATTER (DIAMETER < 10 MICRONS)
15 15 MISSING VALUE

View File

@ -0,0 +1,7 @@
0 0 DEPRESSION OR LOW (EXTRATROPLCAL)
1 1 TROPICAL DEPRESSION
2 2 TROPICAL STORM
3 3 SEVERE TROPICAL STORM
4 4 TYPHOON
10 10 DUST/SANDSTORM
63 63 MISSING VALUE

View File

@ -0,0 +1,5 @@
0 0 RESERVED
1 1 SHALLOW (TOP OF CIRCULATION BELOW 700-HPA LEVEL)
2 2 MEDIUM (TOP BETWEEN 700-HPA AND 400-HPA LEVEL)
3 3 DEEP (TOP ABOVE 400-HPA LEVEL)
7 7 MISSING VALUE

View File

@ -0,0 +1,3 @@
1 1 MINIMUM VALUE OF SEA LEVEL PRESSURE
2 2 MAXIMUM VALUE OF 850 HPA RELATIVE VORTICITY
15 15 MISSING VALUE

View File

@ -0,0 +1,9 @@
3 3 DURING THE PRECEDING 15 MINUTES
4 4 DURING THE PRECEDING 30 MINUTES
5 5 DURING THE PRECEDING 1 HOUR
6 6 DURING THE PRECEDING 2 HOURS
7 7 DURING THE PRECEDING 3 HOURS
8 8 DURING THE PRECEDING 6 HOURS
9 9 DURING A PERIOD OF MORE THAN 6 HOURS
10 10 UNDETERMINED
15 15 MISSING VALUE

View File

@ -0,0 +1,10 @@
0 0 RESERVED
1 1 EYE VISIBLE ON RADAR SCOPE, ACCURACY GOOD (WITHIN 10 KM)
2 2 EYE VISIBLE ON RADAR SCOPE, ACCURACY FAIR (WITHIN 30 KM)
3 3 EYE VISIBLE ON RADAR SCOPE, ACCURACY POOR (WITHIN 50 KM)
4 4 POSITION OF THE CENTRE WITHIN THE AREA COVERED BY THE RADAR SCOPE, DETERMINATION BY MEANS OF THE SPIRAL-BAND OVERLAY, ACCURACY GOOD (WITHIN 10 KM)
5 5 POSITION OF THE CENTRE WITHIN THE AREA COVERED BY THE RADAR SCOPE, DETERMINATION BY MEANS OF THE SPIRAL-BAND OVERLAY, ACCURACY FAIR (WITHIN 30 KM)
6 6 POSITION OF THE CENTRE WITHIN THE AREA COVERED BY THE RADAR SCOPE, DETERMINATION BY MEANS OF THE SPIRAL-BAND OVERLAY, ACCURACY POOR (WITHIN 50 KM)
7 7 POSITION OF THE CENTRE OUTSIDE THE AREA COVERED BY THE RADAR SCOPE, EXTRAPOLATION BY MEANS OF THE SPIRAL-BAND OVERLAY
10 10 ACCURACY UNDETERMINED
15 15 MISSING VALUE

View File

@ -0,0 +1,8 @@
0 0 CIRCULAR
1 1 ELLIPTICAL - THE MINOR AXIS IS AT LEAST 3/4 THE LENGTH OF THE MAJOR AXIS
2 2 ELLIPTICAL - THE MINOR AXIS IS LESS THAN 3/4 THE LENGTH OF THE MAJOR AXIS
3 3 APPARENT DOUBLE EYE
4 4 OTHER SHAPE
5 5 ILL DEFINED
6 6 UNDETERMINED
7 7 MISSING VALUE

View File

@ -0,0 +1,12 @@
0 0 LESS THAN 5 KM
1 1 5 TO LESS THAN 10 KM
2 2 10 TO LESS THAN 15 KM
3 3 15 TO LESS THAN 20 KM
4 4 20 TO LESS THAN 25 KM
5 5 25 TO LESS THAN 30 KM
6 6 30 TO LESS THAN 35 KM
7 7 35 TO LESS THAN 40 KM
8 8 40 TO LESS THAN 50 KM
9 9 50 KM AND GREATER
10 10 UNDETERMINED
15 15 MISSING VALUE

View File

@ -0,0 +1,12 @@
0 0 EYE HAS FIRST BECOME VISIBLE DURING THE PAST 30 MINUTES
1 1 NO SIGNIFICANT CHANGE IN THE CHARACTERISTICS OR SIZE OF THE EYE
2 2 EYE HAS BECOME SMALLER WITH NO OTHER SIGNIFICANT CHANGE IN CHARACTERISTICS
3 3 EYE HAS BECOME LARGER WITH NO OTHER SIGNIFICANT CHANGE IN CHARACTERISTICS
4 4 EYE HAS BECOME LESS DISTINCT WITH NO SIGNIFICANT CHANGE IN SIZE
5 5 EYE HAS BECOME LESS DISTINCT AND DECREASED IN SIZE
6 6 EYE HAS BECOME LESS DISTINCT AND INCREASED IN SIZE
7 7 EYE HAS BECOME MORE DISTINCT WITH NO SIGNIFICANT CHANGE IN SIZE
8 8 EYE HAS BECOME MORE DISTINCT AND DECREASED IN SIZE
9 9 EYE HAS BECOME MORE DISTINCT AND INCREASED IN SIZE
10 10 CHANGE IN CHARACTER AND SIZE OF EYE CANNOT BE DETERMINED
15 15 MISSING VALUE

View File

@ -0,0 +1,10 @@
0 0 0 TO LESS THAN 100 KM
1 1 100 TO LESS THAN 200 KM
2 2 200 TO LESS THAN 300 KM
3 3 300 TO LESS THAN 400 KM
4 4 400 TO LESS THAN 500 KM
5 5 500 TO LESS THAN 600 KM
6 6 600 TO LESS THAN 800 KM
7 7 800 KM OR MORE
10 10 DOUBTFUL OR UNDETERMINED
15 15 MISSING VALUE

View File

@ -0,0 +1,11 @@
0 0 LESS THAN 1 HOUR
1 1 1 TO LESS THAN 2 HOURS
2 2 2 TO LESS THAN 3 HOURS
3 3 3 TO LESS THAN 6 HOURS
4 4 6 TO LESS THAN 9 HOURS
5 5 9 TO LESS THAN 12 HOURS
6 6 12 TO LESS THAN 15 HOURS
7 7 15 TO LESS THAN 18 HOURS
8 8 18 TO LESS THAN 21 HOURS
9 9 21 TO LESS THAN 30 HOURS
15 15 MISSING VALUE

View File

@ -0,0 +1,8 @@
0 0 CYCLONE CENTRE WITHIN 10 KM OF THE TRANSMITTED POSITION
1 1 CYCLONE CENTRE WITHIN 20 KM OF THE TRANSMITTED POSITION
2 2 CYCLONE CENTRE WITHIN 50 KM OF THE TRANSMITTED POSITION
3 3 CYCLONE CENTRE WITHIN 100 KM OF THE TRANSMITTED POSITION
4 4 CYCLONE CENTRE WITHIN 200 KM OF THE TRANSMITTED POSITION
5 5 CYCLONE CENTRE WITHIN 300 KM OF THE TRANSMITTED POSITION
6 6 CYCLONE CENTRE UNDETERMINED
7 7 MISSING VALUE

View File

@ -0,0 +1,12 @@
0 0 LESS THAN 1° OF LATITUDE
1 1 1° TO LESS THAN 2° OF LATITUDE
2 2 2° TO LESS THAN 3° OF LATITUDE
3 3 3° TO LESS THAN 4° OF LATITUDE
4 4 4° TO LESS THAN 5° OF LATITUDE
5 5 5° TO LESS THAN 6° OF LATITUDE
6 6 6° TO LESS THAN 7° OF LATITUDE
7 7 7° TO LESS THAN 8° OF LATITUDE
8 8 8° TO LESS THAN 9° OF LATITUDE
9 9 9° OF LATITUDE OR MORE
10 10 UNDETERMINED
15 15 MISSING VALUE

View File

@ -0,0 +1,8 @@
0 0 MUCH WEAKENING
1 1 WEAKENING
2 2 NO CHANGE
3 3 INTENSIFICATION
4 4 STRONG INTENSIFICATION
9 9 NOT OBSERVED PREVIOUSLY
10 10 UNDETERMINED
15 15 MISSING VALUE

View File

@ -0,0 +1,8 @@
1 1 CURVED BAND
2 2 SHEAR
3 3 EYE
4 4 BANDING EYE
5 5 CENTRAL DENSE OVERCAST (CDO)
6 6 EMBEDDED CENTRE
7 7 CENTRE COLD COVER (CCC)
15 15 MISSING VALUE

View File

@ -0,0 +1,4 @@
1 1 A (CURVED BAND)
2 2 B (CDO)
3 3 C (SHEAR)
7 7 MISSING VALUE

View File

@ -0,0 +1,4 @@
1 1 DT-NUMBER
2 2 PT-NUMBER
3 3 MET-NUMBER
7 7 MISSING VALUE

View File

@ -0,0 +1,266 @@
0 0 CLOUD DEVELOPMENT NOT OBSERVED OR NOT OBSERVABLE
1 1 CLOUDS GENERALLY DISSOLVING OR BECOMING LESS DEVELOPED
2 2 STATE OF SKY ON THE WHOLE UNCHANGED
3 3 CLOUDS GENERALLY FORMING OR DEVELOPING
4 4 VISIBILITY REDUCED BY SMOKE, E.G. VELDT OR FOREST FIRES, INDUSTRIAL SMOKE OR VOLCANIC ASHES
5 5 HAZE
6 6 WIDESPREAD DUST IN SUSPENSION IN THE AIR, NOT RAISED BY WIND AT OR NEAR THE STATION AT THE TIME OF OBSERVATION
7 7 DUST OR SAND RAISED BY WIND AT OR NEAR THE STATION AT THE TIME OF OBSERVATION, BUT NO WELL-DEVELOPED DUST WHIRL(S) OR SAND WHIRL(S), AND NO DUSTSTORM OR SANDSTORM SEEN; OR, IN THE CASE OF SEA STATIONS AND COASTAL STATIONS, BLOWING SPRAY AT THE STATION
8 8 WELL-DEVELOPED DUST WHIRL(S) OR SAND WHIRL(S) SEEN AT OR NEAR THE STATION DURING THE PRECEDING HOUR OR AT THE SAME TIME OF OBSERVATION, BUT NO DUSTSTORM OR SANDSTORM
9 9 DUSTSTORM OR SANDSTORM WITHIN SIGHT AT THE TIME OF OBSERVATION, OR AT THE STATION DURING THE PRECEDING HOUR
10 10 MIST
11 11 PATCHES
12 12 MORE OR LESS CONTINUOUS
13 13 LIGHTNING VISIBLE, NO THUNDER HEARD
14 14 PRECIPITATION WITHIN SIGHT, NOT REACHING THE GROUND OR THE SURFACE OF THE SEA
15 15 PRECIPITATION WITHIN SIGHT, REACHING THE GROUND OR THE SURFACE OF THE SEA, BUT DISTANT, I.E. ESTIMATED TO BE MORE THAN 5 KM FROM THE STATION
16 16 PRECIPITATION WITHIN SIGHT, REACHING THE GROUND OR THE SURFACE OF THE SEA, NEAR TO, BUT NOT AT THE STATION
17 17 THUNDERSTORM, BUT NO PRECIPITATION AT THE TIME OF OBSERVATION
18 18 SQUALLS
19 19 FUNNEL CLOUD(S)
20 20 DRIZZLE (NOT FREEZING) OR SNOW GRAINS
21 21 RAIN (NOT FREEZING)
22 22 SNOW
23 23 RAIN AND SNOW OR ICE PELLETS
24 24 FREEZING DRIZZLE OR FREEZING RAIN
25 25 SHOWER(S) OF RAIN
26 26 SHOWER(S) OF SNOW, OR OF RAIN AND SNOW
27 27 SHOWER(S) OF HAIL*, OR OF RAIN AND HAIL*
28 28 FOG OR ICE FOG
29 29 THUNDERSTORM (WITH OR WITHOUT PRECIPITATION)
30 30 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM
31 31 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM
32 32 SLIGHT OR MODERATE DUSTSTORM OR SANDSTORM
33 33 SEVERE DUSTSTORM OR SANDSTORM
34 34 SEVERE DUSTSTORM OR SANDSTORM
35 35 SEVERE DUSTSTORM OR SANDSTORM
36 36 SLIGHT OR MODERATE DRIFTING SNOW
37 37 HEAVY DRIFTING SNOW
38 38 SLIGHT OR MODERATE BLOWING SNOW
39 39 HEAVY BLOWING SNOW
40 40 FOG OR ICE FOG AT A DISTANCE AT THE TIME OF OBSERVATION, BUT NOT AT THE STATION DURING THE PRECEDING HOUR, THE FOG OR ICE FOG EXTENDING TO A LEVEL ABOVE THAT OF THE OBSERVER
41 41 FOG OR ICE FOG IN PATCHES
42 42 FOG OR ICE FOG, SKY VISIBLE
43 43 FOG OR ICE FOG, SKY INVISIBLE
44 44 FOG OR ICE FOG, SKY VISIBLE
45 45 FOG OR ICE FOG, SKY INVISIBLE
46 46 FOG OR ICE FOG, SKY VISIBLE
47 47 FOG OR ICE FOG, SKY INVISIBLE
48 48 FOG, DEPOSITING RIME, SKY VISIBLE
49 49 FOG, DEPOSITING RIME, SKY INVISIBLE
50 50 DRIZZLE, NOT FREEZING, INTERMITTENT
51 51 DRIZZLE, NOT FREEZING, CONTINUOUS
52 52 DRIZZLE, NOT FREEZING, INTERMITTENT
53 53 DRIZZLE, NOT FREEZING, CONTINUOUS
54 54 DRIZZLE, NOT FREEZING, INTERMITTENT
55 55 DRIZZLE, NOT FREEZING, CONTINUOUS
56 56 DRIZZLE, FREEZING, SLIGHT
57 57 DRIZZLE, FREEZING, MODERATE OR HEAVY (DENSE)
58 58 DRIZZLE AND RAIN, SLIGHT
59 59 DRIZZLE AND RAIN, MODERATE OR HEAVY
60 60 RAIN, NOT FREEZING, INTERMITTENT
61 61 RAIN, NOT FREEZING, CONTINUOUS
62 62 RAIN, NOT FREEZING, INTERMITTENT
63 63 RAIN, NOT FREEZING, CONTINUOUS
64 64 RAIN, NOT FREEZING, INTERMITTENT
65 65 RAIN, NOT FREEZING, CONTINUOUS
66 66 RAIN, FREEZING, SLIGHT
67 67 RAIN, FREEZING, MODERATE OR HEAVY
68 68 RAIN OR DRIZZLE AND SNOW, SLIGHT
69 69 RAIN OR DRIZZLE AND SNOW, MODERATE OR HEAVY
70 70 INTERMITTENT FALL OF SNOWFLAKES
71 71 CONTINUOUS FALL OF SNOWFLAKES
72 72 INTERMITTENT FALL OF SNOWFLAKES
73 73 CONTINUOUS FALL OF SNOWFLAKES
74 74 INTERMITTENT FALL OF SNOWFLAKES
75 75 CONTINUOUS FALL OF SNOWFLAKES
76 76 DIAMOND DUST (WITH OR WITHOUT FOG)
77 77 SNOW GRAINS (WITH OR WITHOUT FOG)
78 78 ISOLATED STAR-LIKE SNOW CRYSTALS (WITH OR WITHOUT FOG)
79 79 ICE PELLETS
80 80 RAIN SHOWER(S), SLIGHT
81 81 RAIN SHOWER(S), MODERATE OR HEAVY
82 82 RAIN SHOWER(S), VIOLENT
83 83 SHOWER(S) OF RAIN AND SNOW MIXED, SLIGHT
84 84 SHOWER(S) OF RAIN AND SNOW MIXED, MODERATE OR HEAVY
85 85 SNOW SHOWER(S), SLIGHT
86 86 SNOW SHOWER(S), MODERATE OR HEAVY
87 87 SHOWER(S) OF SNOW PELLETS OR SMALL HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIXED
88 88 SHOWER(S) OF SNOW PELLETS OR SMALL HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIXED
89 89 SHOWER(S) OF HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIXED, NOT ASSOCIATED WITH THUNDER
90 90 SHOWER(S) OF HAIL, WITH OR WITHOUT RAIN OR RAIN AND SNOW MIXED, NOT ASSOCIATED WITH THUNDER
91 91 SLIGHT RAIN AT TIME OF OBSERVATION
92 92 MODERATE OR HEAVY RAIN AT TIME OF OBSERVATION
93 93 SLIGHT SNOW, OR RAIN AND SNOW MIXED OR HAIL* AT TIME OF OBSERVATION
94 94 MODERATE OR HEAVY SNOW, OR RAIN AND SNOW MIXED OR HAIL* AT TIME OF OBSERVATION
95 95 THUNDERSTORM, SLIGHT OR MODERATE, WITHOUT HAIL*, BUT WITH RAIN AND/OR SNOW AT TIME OF OBSERVATION
96 96 THUNDERSTORM, SLIGHT OR MODERATE, WITH HAIL* AT TIME OF OBSERVATION
97 97 THUNDERSTORM, HEAVY, WITHOUT HAIL*, BUT WITH RAIN AND/OR SNOW AT TIME OF OBSERVATION
98 98 THUNDERSTORM COMBINED WITH DUSTSTORM OR SANDSTORM AT TIME OF OBSERVATION
99 99 THUNDERSTORM, HEAVY, WITH HAIL* AT TIME OF OBSERVATION
100 100 NO SIGNIFICANT WEATHER OBSERVED
101 101 CLOUDS GENERALLY DISSOLVING OR BECOMING LESS DEVELOPED DURING THE PAST HOUR
102 102 STATE OF SKY ON THE WHOLE UNCHANGED DURING THE PAST HOUR
103 103 CLOUDS GENERALLY FORMING OR DEVELOPING DURING THE PAST HOUR
104 104 HAZE OR SMOKE, OR DUST IN SUSPENSION IN THE AIR, VISIBILITY EQUAL TO, OR GREATER THAN, 1 KM
105 105 HAZE OR SMOKE, OR DUST IN SUSPENSION IN THE AIR, VISIBILITY LESS THAN 1 KM
110 110 MIST
111 111 DIAMOND DUST
112 112 DISTANT LIGHTNING
118 118 SQUALLS
119 119 RESERVED
120 120 FOG
121 121 PRECIPITATION
122 122 DRIZZLE (NOT FREEZING) OR SNOW GRAINS
123 123 RAIN (NOT FREEZING)
124 124 SNOW
125 125 FREEZING DRIZZLE OR FREEZING RAIN
126 126 THUNDERSTORM (WITH OR WITHOUT PRECIPITATION)
127 127 BLOWING OR DRIFTING SNOW OR SAND
128 128 BLOWING OR DRIFTING SNOW OR SAND, VISIBILITY EQUAL TO, OR GREATER THAN, 1 KM
129 129 BLOWING OR DRIFTING SNOW OR SAND, VISIBILITY LESS THAN 1 KM
130 130 FOG
131 131 FOG OR ICE FOG IN PATCHES
132 132 FOG OR ICE FOG, HAS BECOME THINNER DURING THE PAST HOUR
133 133 FOG OR ICE FOG, NO APPRECIABLE CHANGE DURING THE PAST HOUR
134 134 FOG OR ICE FOG, HAS BEGUN OR BECOME THICKER DURING THE PAST HOUR
135 135 FOG, DEPOSITING RIME
140 140 PRECIPITATION
141 141 PRECIPITATION, SLIGHT OR MODERATE
142 142 PRECIPITATION, HEAVY
143 143 LIQUID PRECIPITATION, SLIGHT OR MODERATE
144 144 LIQUID PRECIPITATION, HEAVY
145 145 SOLID PRECIPITATION, SLIGHT OR MODERATE
146 146 SOLID PRECIPITATION, HEAVY
147 147 FREEZING PRECIPITATION, SLIGHT OR MODERATE
148 148 FREEZING PRECIPITATION, HEAVY
149 149 RESERVED
150 150 DRIZZLE
151 151 DRIZZLE, NOT FREEZING, SLIGHT
152 152 DRIZZLE, NOT FREEZING, MODERATE
153 153 DRIZZLE, NOT FREEZING, HEAVY
154 154 DRIZZLE, FREEZING, SLIGHT
155 155 DRIZZLE, FREEZING, MODERATE
156 156 DRIZZLE, FREEZING, HEAVY
157 157 DRIZZLE AND RAIN, SLIGHT
158 158 DRIZZLE AND RAIN, MODERATE OR HEAVY
159 159 RESERVED
160 160 RAIN
161 161 RAIN, NOT FREEZING, SLIGHT
162 162 RAIN, NOT FREEZING, MODERATE
163 163 RAIN, NOT FREEZING, HEAVY
164 164 RAIN, FREEZING, SLIGHT
165 165 RAIN, FREEZING, MODERATE
166 166 RAIN, FREEZING, HEAVY
167 167 RAIN (OR DRIZZLE) AND SNOW, SLIGHT
168 168 RAIN (OR DRIZZLE) AND SNOW, MODERATE OR HEAVY
169 169 RESERVED
170 170 SNOW
171 171 SNOW, SLIGHT
172 172 SNOW, MODERATE
173 173 SNOW, HEAVY
174 174 ICE PELLETS, SLIGHT
175 175 ICE PELLETS, MODERATE
176 176 ICE PELLETS, HEAVY
177 177 SNOW GRAINS
178 178 ICE CRYSTALS
179 179 RESERVED
180 180 SHOWER(S) OR INTERMITTENT PRECIPITATION
181 181 RAIN SHOWER(S) OR INTERMITTENT RAIN, SLIGHT
182 182 RAIN SHOWER(S) OR INTERMITTENT RAIN, MODERATE
183 183 RAIN SHOWER(S) OR INTERMITTENT RAIN, HEAVY
184 184 RAIN SHOWER(S) OR INTERMITTENT RAIN, VIOLENT
185 185 SNOW SHOWER(S) OR INTERMITTENT SNOW, SLIGHT
186 186 SNOW SHOWER(S) OR INTERMITTENT SNOW, MODERATE
187 187 SNOW SHOWER(S) OR INTERMITTENT SNOW, HEAVY
188 188 RESERVED
189 189 HAIL
190 190 THUNDERSTORM
191 191 THUNDERSTORM, SLIGHT OR MODERATE, WITH NO PRECIPITATION
192 192 THUNDERSTORM, SLIGHT OR MODERATE, WITH RAIN SHOWERS AND/OR SNOW SHOWERS
193 193 THUNDERSTORM, SLIGHT OR MODERATE, WITH HAIL
194 194 THUNDERSTORM, HEAVY, WITH NO PRECIPITATION
195 195 THUNDERSTORM, HEAVY, WITH RAIN SHOWERS AND/OR SNOW SHOWERS
196 196 THUNDERSTORM, HEAVY, WITH HAIL
199 199 TORNADO
204 204 VOLCANIC ASH SUSPENDED IN THE AIR ALOFT
205 205 NOT USED
206 206 THICK DUST HAZE, VISIBILITY LESS THAN 1 KM
207 207 BLOWING SPRAY AT THE STATION
208 208 DRIFTING DUST (SAND)
209 209 WALL OF DUST OR SAND IN DISTANCE (LIKE HABOOB)
210 210 SNOW HAZE
211 211 WHITEOUT
212 212 NOT USED
213 213 LIGHTNING, CLOUD TO SURFACE
217 217 DRY THUNDERSTORM
218 218 NOT USED
219 219 TORNADO CLOUD (DESTRUCTIVE) AT OR WITHIN SIGHT OF THE STATION DURING PRECEDING HOUR OR AT THE TIME OF OBSERVATION
220 220 DEPOSITION OF VOLCANIC ASH
221 221 DEPOSITION OF DUST OR SAND
222 222 DEPOSITION OF DEW
223 223 DEPOSITION OF WET SNOW
224 224 DEPOSITION OF SOFT RIME
225 225 DEPOSITION OF HARD RIME
226 226 DEPOSITION OF HOAR FROST
227 227 DEPOSITION OF GLAZE
228 228 DEPOSITION OF ICE CRUST (ICE SLICK)
229 229 NOT USED
230 230 DUSTSTORM OR SANDSTORM WITH TEMPERATURE BELOW 0 °C
239 239 BLOWING SNOW, IMPOSSIBLE TO DETERMINE WHETHER SNOW IS FALLING OR NOT
240 240 NOT USED
241 241 FOG ON SEA
242 242 FOG IN VALLEYS
243 243 ARCTIC OR ANTARCTIC SEA SMOKE
244 244 STEAM FOG (SEA, LAKE OR RIVER)
245 245 STEAM LOG (LAND)
246 246 FOG OVER ICE OR SNOW COVER
247 247 DENSE FOG, VISIBILITY 60-90 M
248 248 DENSE FOG, VISIBILITY 30-60 M
249 249 DENSE FOG, VISIBILITY LESS THAN 30 M
250 250 DRIZZLE, RATE OF FALL - LESS THAN 0.10 MM H-1
251 251 DRIZZLE, RATE OF FALL - 0.10-0.19 MM H-1
252 252 DRIZZLE, RATE OF FALL - 0.20-0.39 MM H-1
253 253 DRIZZLE, RATE OF FALL - 0.40-0.79 MM H-1
254 254 DRIZZLE, RATE OF FALL - 0.80-1.59 MM H-1
255 255 DRIZZLE, RATE OF FALL - 1.60-3.19 MM H-1
256 256 DRIZZLE, RATE OF FALL - 3.20-6.39 MM H-1
257 257 DRIZZLE, RATE OF FALL - 6.4 MM H-1 OR MORE
258 258 NOT USED
259 259 DRIZZLE AND SNOW
260 260 RAIN, RATE OF FALL - LESS THAN 1.0 MM H-1
261 261 RAIN, RATE OF FALL - 1.0-1.9 MM H-1
262 262 RAIN, RATE OF FALL - 2.0-3.9 MM H-1
263 263 RAIN, RATE OF FALL - 4.0-7.9 MM H-1
264 264 RAIN, RATE OF FALL - 8.0-15.9 MM H-1
265 265 RAIN, RATE OF FALL - 16.0-31.9 MM H-1
266 266 RAIN, RATE OF FALL - 32.0-63.9 MM H-1
267 267 RAIN, RATE OF FALL - 64.0 MM H-1 OR MORE
270 270 SNOW, RATE OF FALL - LESS THAN 1.0 CM H-1
271 271 SNOW, RATE OF FALL - 1.0-1.9 CM H-1
272 272 SNOW, RATE OF FALL - 2.0-3.9 CM H-1
273 273 SNOW, RATE OF FALL - 4.0-7.9 CM H-1
274 274 SNOW, RATE OF FALL - 8.0-15.9 CM H-1
275 275 SNOW, RATE OF FALL - 16.0-31.9 CM H-1
276 276 SNOW, RATE OF FALL - 32.0-63.9 CM H-1
277 277 SNOW, RATE OF FALL - 64.0 CM H-1 OR MORE
278 278 SNOW OR ICE CRYSTAL PRECIPITATION FROM A CLEAR SKY
279 279 WET SNOW, FREEZING ON CONTACT
280 280 PRECIPITATION OF RAIN
281 281 PRECIPITATION OF RAIN, FREEZING
282 282 PRECIPITATION OF RAIN AND SNOW MIXED
283 283 PRECIPITATION OF SNOW
284 284 PRECIPITATION OF SNOW PELLETS OR SMALL HALL
285 285 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH RAIN
286 286 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH RAIN AND SNOW MIXED
287 287 PRECIPITATION OF SNOW PELLETS OR SMALL HAIL, WITH SNOW
288 288 PRECIPITATION OF HAIL
289 289 PRECIPITATION OF HAIL, WITH RAIN
290 290 PRECIPITATION OF HALL, WITH RAIN AND SNOW MIXED
291 291 PRECIPITATION OF HAIL, WITH SNOW
292 292 SHOWER(S) OR THUNDERSTORM OVER SEA
293 293 SHOWER(S) OR THUNDERSTORM OVER MOUNTAINS
508 508 NO SIGNIFICANT PHENOMENON TO REPORT, PRESENT AND PAST WEATHER OMITTED
509 509 NO OBSERVATION, DATA NOT AVAILABLE, PRESENT AND PAST WEATHER OMITTED
510 510 PRESENT AND PAST WEATHER MISSING, BUT EXPECTED
511 511 MISSING VALUE

View File

@ -0,0 +1,21 @@
0 0 CLOUD COVERING 1/2 OR LESS OF THE SKY THROUGHOUT THE APPROPRIATE PERIOD
1 1 CLOUD COVERING MORE THAN 1/2 OF THE SKY DURING PART OF THE APPROPRIATE PERIOD AND COVERING 1/2 OR LESS DURING PART OF THE PERIOD
2 2 CLOUD COVERING MORE THAN 1/2 OF THE SKY THROUGHOUT THE APPROPRIATE PERIOD
3 3 SANDSTORM, DUSTSTORM OR BLOWING SNOW
4 4 FOG OR ICE FOG OR THICK HAZE
5 5 DRIZZLE
6 6 RAIN
7 7 SNOW, OR RAIN AND SNOW MIXED
8 8 SHOWER(S)
9 9 THUNDERSTORM(S) WITH OR WITHOUT PRECIPITATION
10 10 NO SIGNIFICANT WEATHER OBSERVED
11 11 VISIBILITY REDUCED (SEE NOTE)
12 12 BLOWING PHENOMENA, VISIBILITY REDUCED
13 13 FOG (SEE NOTE)
14 14 PRECIPITATION (SEE NOTE)
15 15 DRIZZLE
16 16 RAIN
17 17 SNOW OR ICE PELLETS
18 18 SHOWERS OR INTERMITTENT PRECIPITATION
19 19 THUNDERSTORM
31 31 MISSING VALUE

View File

@ -0,0 +1,21 @@
0 0 CLOUD COVERING 1/2 OR LESS OF THE SKY THROUGHOUT THE APPROPRIATE PERIOD
1 1 CLOUD COVERING MORE THAN 1/2 OF THE SKY DURING PART OF THE APPROPRIATE PERIOD AND COVERING 1/2 OR LESS DURING PART OF THE PERIOD
2 2 CLOUD COVERING MORE THAN 1/2 OF THE SKY THROUGHOUT THE APPROPRIATE PERIOD
3 3 SANDSTORM, DUSTSTORM OR BLOWING SNOW
4 4 FOG OR ICE FOG OR THICK HAZE
5 5 DRIZZLE
6 6 RAIN
7 7 SNOW, OR RAIN AND SNOW MIXED
8 8 SHOWER(S)
9 9 THUNDERSTORM(S) WITH OR WITHOUT PRECIPITATION
10 10 NO SIGNIFICANT WEATHER OBSERVED
11 11 VISIBILITY REDUCED (SEE NOTE)
12 12 BLOWING PHENOMENA, VISIBILITY REDUCED
13 13 FOG (SEE NOTE)
14 14 PRECIPITATION (SEE NOTE)
15 15 DRIZZLE
16 16 RAIN
17 17 SNOW OR ICE PELLETS
18 18 SHOWERS OR INTERMITTENT PRECIPITATION
19 19 THUNDERSTORM
31 31 MISSING VALUE

View File

@ -0,0 +1,5 @@
0 0 LOW INSTRUMENT FLIGHT RULES - CEILING < 500 FEET AND/OR VISIBILITY < 1 MILE
1 1 INSTRUMENT FLIGHT RULES - CEILING < 1000 FEET AND/OR VISIBILITY < 3 MILES
2 2 MARGINAL VISUAL FLIGHT RULES - 1000 FEET =< CEILING < 3000 FEET AND/OR 3 MILES =< VISIBILITY < 5 MILES
3 3 VISUAL FLIGHT RULES - CEILING >= 3000 FEET AND/OR VISIBILITY >= 5 MILES
7 7 MISSING VALUE

View File

@ -0,0 +1,19 @@
0 0 SKY CLEAR
1 1 FEW
2 2 SCATTERED
3 3 BROKEN
4 4 OVERCAST
5 5 RESERVED
6 6 SCATTERED/BROKEN
7 7 BROKEN/OVERCAST
8 8 ISOLATED
9 9 ISOLATED EMBEDDED
10 10 OCCASIONAL
11 11 OCCASIONAL EMBEDDED
12 12 FREQUENT
13 13 DENSE
14 14 LAYERS
15 15 OBSCURED (OBSC)
16 16 EMBEDDED (EMBD)
17 17 FREQUENT EMBEDDED
31 31 MISSING VALUE

View File

@ -0,0 +1,6 @@
0 0 RESERVED
1 1 NSC NIL SIGNIFICANT CLOUD
2 2 CAVOK
3 3 SKC SKY CLEAR
4 4 NSW NIL SIGNIFICANT WEATHER
15 15 MISSING VALUE

Some files were not shown because too many files have changed in this diff Show More