From 809fb997282dd97058862261b1a36647f919f3b2 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Mon, 22 Jul 2024 12:03:32 +0000 Subject: [PATCH 01/63] ECC-1879: Cannot build with ENABLE_ECCODES_OMP_THREADS=ON: multiple definition of thread_init() --- src/accessor/grib_accessor_class_bufr_elements_table.cc | 3 +-- src/accessor/grib_accessor_class_codetable.cc | 4 ++-- src/accessor/grib_accessor_class_smart_table.cc | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/accessor/grib_accessor_class_bufr_elements_table.cc b/src/accessor/grib_accessor_class_bufr_elements_table.cc index ddd055544..afafb87a1 100644 --- a/src/accessor/grib_accessor_class_bufr_elements_table.cc +++ b/src/accessor/grib_accessor_class_bufr_elements_table.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -28,7 +27,7 @@ static void thread_init() static int once = 0; static omp_nest_lock_t mutex1; -void thread_init() +static void thread_init() { GRIB_OMP_CRITICAL(lock_grib_accessor_class_bufr_elements_table_c) { diff --git a/src/accessor/grib_accessor_class_codetable.cc b/src/accessor/grib_accessor_class_codetable.cc index f21ef0f86..7d4804dae 100644 --- a/src/accessor/grib_accessor_class_codetable.cc +++ b/src/accessor/grib_accessor_class_codetable.cc @@ -20,7 +20,7 @@ grib_accessor_class* grib_accessor_class_codetable = &_grib_accessor_class_codet static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER; -void thread_init() +static void thread_init() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -32,7 +32,7 @@ void thread_init() static int once = 0; static omp_nest_lock_t mutex1; -void thread_init() +static void thread_init() { GRIB_OMP_CRITICAL(lock_grib_accessor_class_codetable_c) { diff --git a/src/accessor/grib_accessor_class_smart_table.cc b/src/accessor/grib_accessor_class_smart_table.cc index 1c49f2ab0..75ceb58db 100644 --- a/src/accessor/grib_accessor_class_smart_table.cc +++ b/src/accessor/grib_accessor_class_smart_table.cc @@ -30,7 +30,7 @@ static void thread_init() static int once = 0; static omp_nest_lock_t mutex; -void thread_init() +static void thread_init() { GRIB_OMP_CRITICAL(lock_grib_accessor_class_smart_table_c) { From 5efdd287772f6c2ab9c4c965cacbb1d66a0625e0 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Mon, 22 Jul 2024 14:22:39 +0000 Subject: [PATCH 02/63] Threads: Rename init to init_mutex for clarity --- ...grib_accessor_class_bufr_elements_table.cc | 6 ++-- src/accessor/grib_accessor_class_codetable.cc | 6 ++-- .../grib_accessor_class_smart_table.cc | 6 ++-- src/action_class_concept.cc | 6 ++-- src/action_class_hash_array.cc | 6 ++-- src/grib_accessor_class.cc | 6 ++-- src/grib_bits_any_endian.cc | 6 ++-- src/grib_context.cc | 32 +++++++++---------- src/grib_filepool.cc | 16 +++++----- src/grib_hash_keys.cc | 10 +++--- src/grib_io.cc | 6 ++-- src/grib_itrie.cc | 10 +++--- src/grib_itrie_keys.cc | 10 +++--- src/grib_memory.cc | 12 +++---- src/grib_parse_utils.cc | 16 +++++----- src/grib_trie.cc | 12 +++---- src/grib_trie_with_rank.cc | 12 +++---- 17 files changed, 89 insertions(+), 89 deletions(-) diff --git a/src/accessor/grib_accessor_class_bufr_elements_table.cc b/src/accessor/grib_accessor_class_bufr_elements_table.cc index afafb87a1..b9a0d0c58 100644 --- a/src/accessor/grib_accessor_class_bufr_elements_table.cc +++ b/src/accessor/grib_accessor_class_bufr_elements_table.cc @@ -15,7 +15,7 @@ static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER; -static void thread_init() +static void init_mutex() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -27,7 +27,7 @@ static void thread_init() static int once = 0; static omp_nest_lock_t mutex1; -static void thread_init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_grib_accessor_class_bufr_elements_table_c) { @@ -89,7 +89,7 @@ static grib_trie* load_bufr_elements_table(grib_accessor* a, int* err) if (self->localDir != NULL) grib_get_string(h, self->localDir, localDir, &len); - GRIB_MUTEX_INIT_ONCE(&once, &thread_init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex1); if (*masterDir != 0) { diff --git a/src/accessor/grib_accessor_class_codetable.cc b/src/accessor/grib_accessor_class_codetable.cc index 7d4804dae..9a9df9040 100644 --- a/src/accessor/grib_accessor_class_codetable.cc +++ b/src/accessor/grib_accessor_class_codetable.cc @@ -20,7 +20,7 @@ grib_accessor_class* grib_accessor_class_codetable = &_grib_accessor_class_codet static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER; -static void thread_init() +static void init_mutex() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -32,7 +32,7 @@ static void thread_init() static int once = 0; static omp_nest_lock_t mutex1; -static void thread_init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_grib_accessor_class_codetable_c) { @@ -205,7 +205,7 @@ static grib_codetable* load_table(grib_accessor* a) localFilename = grib_context_full_defs_path(c, localRecomposed); } - GRIB_MUTEX_INIT_ONCE(&once, &thread_init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex1); /* GRIB-930 */ /*printf("DBG %s: Look in cache: f=%s lf=%s (recomposed=%s)\n", self->att.name, filename, localFilename,recomposed);*/ diff --git a/src/accessor/grib_accessor_class_smart_table.cc b/src/accessor/grib_accessor_class_smart_table.cc index 75ceb58db..8be64d9d5 100644 --- a/src/accessor/grib_accessor_class_smart_table.cc +++ b/src/accessor/grib_accessor_class_smart_table.cc @@ -18,7 +18,7 @@ grib_accessor_class* grib_accessor_class_smart_table = &_grib_accessor_class_sma static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; -static void thread_init() +static void init_mutex() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -30,7 +30,7 @@ static void thread_init() static int once = 0; static omp_nest_lock_t mutex; -static void thread_init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_grib_accessor_class_smart_table_c) { @@ -183,7 +183,7 @@ static int grib_load_smart_table(grib_context* c, const char* filename, t->recomposed_name[0] = grib_context_strdup_persistent(c, recomposed_name); t->next = c->smart_table; t->numberOfEntries = size; - GRIB_MUTEX_INIT_ONCE(&once, &thread_init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); c->smart_table = t; GRIB_MUTEX_UNLOCK(&mutex); diff --git a/src/action_class_concept.cc b/src/action_class_concept.cc index 3f42fb9e5..b88600887 100644 --- a/src/action_class_concept.cc +++ b/src/action_class_concept.cc @@ -95,7 +95,7 @@ static void init_class(grib_action_class* c) static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; -static void init() +static void init_mutex() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -107,7 +107,7 @@ static void init() static int once = 0; static omp_nest_lock_t mutex; -static void init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_action_class_concept_c) { @@ -306,7 +306,7 @@ static grib_concept_value* get_concept_impl(grib_handle* h, grib_action_concept* static grib_concept_value* get_concept(grib_handle* h, grib_action_concept* self) { grib_concept_value* result = NULL; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); result = get_concept_impl(h, self); diff --git a/src/action_class_hash_array.cc b/src/action_class_hash_array.cc index 430fdd92a..fd1e52976 100644 --- a/src/action_class_hash_array.cc +++ b/src/action_class_hash_array.cc @@ -98,7 +98,7 @@ static void init_class(grib_action_class* c) static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; -static void init() +static void init_mutex() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -110,7 +110,7 @@ static void init() static int once = 0; static omp_nest_lock_t mutex; -static void init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_action_class_hash_array_c) { @@ -325,7 +325,7 @@ static grib_hash_array_value* get_hash_array_impl(grib_handle* h, grib_action* a grib_hash_array_value* get_hash_array(grib_handle* h, grib_action* a) { grib_hash_array_value* result = NULL; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); result = get_hash_array_impl(h, a); diff --git a/src/grib_accessor_class.cc b/src/grib_accessor_class.cc index 4120fb5bd..de7f8dc47 100644 --- a/src/grib_accessor_class.cc +++ b/src/grib_accessor_class.cc @@ -22,7 +22,7 @@ static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER; -static void init() +static void init_mutex() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -34,7 +34,7 @@ static void init() static int once = 0; static omp_nest_lock_t mutex1; -static void init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_grib_accessor_class_c) { @@ -77,7 +77,7 @@ grib_section* grib_create_root_section(const grib_context* context, grib_handle* char* fpath = 0; grib_section* s = (grib_section*)grib_context_malloc_clear(context, sizeof(grib_section)); - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex1); if (h->context->grib_reader == NULL) { if ((fpath = grib_context_full_defs_path(h->context, "boot.def")) == NULL) { diff --git a/src/grib_bits_any_endian.cc b/src/grib_bits_any_endian.cc index 33e643a19..50a7cd9af 100644 --- a/src/grib_bits_any_endian.cc +++ b/src/grib_bits_any_endian.cc @@ -22,7 +22,7 @@ static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; -static void init() +static void init_mutex() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -34,7 +34,7 @@ static void init() static int once = 0; static omp_nest_lock_t mutex; -static void init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_grib_bits_any_endian_c) { @@ -77,7 +77,7 @@ static void init_bits_all_one() static void init_bits_all_one_if_needed() { - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); if (!bits_all_one.inited) init_bits_all_one(); diff --git a/src/grib_context.cc b/src/grib_context.cc index a22fcc654..442faa1e8 100644 --- a/src/grib_context.cc +++ b/src/grib_context.cc @@ -41,7 +41,7 @@ static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex_mem = PTHREAD_MUTEX_INITIALIZER; static pthread_mutex_t mutex_c = PTHREAD_MUTEX_INITIALIZER; -static void init() +static void init_mutex() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -55,7 +55,7 @@ static int once = 0; static omp_nest_lock_t mutex_mem; static omp_nest_lock_t mutex_c; -static void init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_grib_context_c) { @@ -374,7 +374,7 @@ static grib_context default_grib_context = { grib_context* grib_context_get_default() { - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_c); if (!default_grib_context.inited) { @@ -569,7 +569,7 @@ grib_context* grib_context_get_default() // if (!parent) parent=grib_context_get_default(); -// GRIB_MUTEX_INIT_ONCE(&once,&init); +// GRIB_MUTEX_INIT_ONCE(&once,&init_mutex); // GRIB_MUTEX_LOCK(&(parent->mutex)); // c = (grib_context*)grib_context_malloc_clear_persistent(&default_grib_context,sizeof(grib_context)); @@ -646,7 +646,7 @@ static int init_definition_files_dir(grib_context* c) strncpy(path, c->grib_definition_files_path, ECC_PATH_MAXLEN-1); path[ ECC_PATH_MAXLEN - 1 ] = '\0'; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_c); p = path; @@ -692,7 +692,7 @@ char* grib_context_full_defs_path(grib_context* c, const char* basename) if (!c) c = grib_context_get_default(); - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); if (*basename == '/' || *basename == '.') { return (char*)basename; @@ -880,7 +880,7 @@ void grib_context_set_definitions_path(grib_context* c, const char* path) { if (!c) c = grib_context_get_default(); - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_c); c->grib_definition_files_path = strdup(path); @@ -892,7 +892,7 @@ void grib_context_set_samples_path(grib_context* c, const char* path) { if (!c) c = grib_context_get_default(); - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_c); c->grib_samples_path = strdup(path); @@ -1095,7 +1095,7 @@ int grib_context_get_handle_file_count(grib_context* c) int r = 0; if (!c) c = grib_context_get_default(); - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_c); r = c->handle_file_count; GRIB_MUTEX_UNLOCK(&mutex_c); @@ -1106,7 +1106,7 @@ int grib_context_get_handle_total_count(grib_context* c) int r = 0; if (!c) c = grib_context_get_default(); - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_c); r = c->handle_total_count; GRIB_MUTEX_UNLOCK(&mutex_c); @@ -1117,7 +1117,7 @@ void grib_context_set_handle_file_count(grib_context* c, int new_count) { if (!c) c = grib_context_get_default(); - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_c); c->handle_file_count = new_count; GRIB_MUTEX_UNLOCK(&mutex_c); @@ -1126,7 +1126,7 @@ void grib_context_set_handle_total_count(grib_context* c, int new_count) { if (!c) c = grib_context_get_default(); - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_c); c->handle_total_count = new_count; GRIB_MUTEX_UNLOCK(&mutex_c); @@ -1136,7 +1136,7 @@ void grib_context_increment_handle_file_count(grib_context* c) { if (!c) c = grib_context_get_default(); - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_c); c->handle_file_count++; GRIB_MUTEX_UNLOCK(&mutex_c); @@ -1145,7 +1145,7 @@ void grib_context_increment_handle_total_count(grib_context* c) { if (!c) c = grib_context_get_default(); - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_c); c->handle_total_count++; GRIB_MUTEX_UNLOCK(&mutex_c); @@ -1160,7 +1160,7 @@ bufr_descriptors_array* grib_context_expanded_descriptors_list_get(grib_context* if (!c) c = grib_context_get_default(); - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_c); if (!c->expanded_descriptors) { @@ -1200,7 +1200,7 @@ void grib_context_expanded_descriptors_list_push(grib_context* c, if (!c) c = grib_context_get_default(); - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_c); newdescriptorsList = (bufr_descriptors_map_list*)grib_context_malloc_clear(c, sizeof(bufr_descriptors_map_list)); diff --git a/src/grib_filepool.cc b/src/grib_filepool.cc index 28606e8c9..21f0a5b22 100644 --- a/src/grib_filepool.cc +++ b/src/grib_filepool.cc @@ -15,7 +15,7 @@ static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER; -static void init() +static void init_mutex() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -27,7 +27,7 @@ static void init() static int once = 0; static omp_nest_lock_t mutex1; -static void init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_grib_filepool_c) { @@ -175,7 +175,7 @@ grib_file* grib_file_open(const char* filename, const char* mode, int* err) grib_file *file = 0, *prev = 0; int same_mode = 0; int is_new = 0; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); if (!file_pool.context) file_pool.context = grib_context_get_default(); @@ -257,7 +257,7 @@ grib_file* grib_file_open(const char* filename, const char* mode, int* err) void grib_file_pool_delete_file(grib_file* file) { grib_file* prev = NULL; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex1); if (file == file_pool.first) { @@ -299,7 +299,7 @@ void grib_file_close(const char* filename, int force, int* err) if (do_close) { /*printf("+++++++++++++ closing file %s (n=%d)\n",filename, file_pool.number_of_opened_files);*/ - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex1); file = grib_get_file(filename, err); if (file->handle) { @@ -323,7 +323,7 @@ void grib_file_close_all(int* err) if (!file_pool.first) return; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex1); file = file_pool.first; @@ -390,7 +390,7 @@ static grib_file* grib_file_new(grib_context* c, const char* name, int* err) *err = GRIB_OUT_OF_MEMORY; return NULL; } - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); file->name = strdup(name); file->id = next_id; @@ -412,7 +412,7 @@ void grib_file_delete(grib_file* file) { if (!file) return; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex1); /* GRIB-803: cannot call fclose yet! Causes crash */ /* TODO: Set handle to NULL in filepool too */ diff --git a/src/grib_hash_keys.cc b/src/grib_hash_keys.cc index ba26dbe03..b6e389dc2 100644 --- a/src/grib_hash_keys.cc +++ b/src/grib_hash_keys.cc @@ -9743,7 +9743,7 @@ static const int mapping[] = { static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; -static void init() +static void init_mutex() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -9755,7 +9755,7 @@ static void init() static int once = 0; static omp_nest_lock_t mutex; -static void init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_grib_itrie_keys_c) { @@ -9787,7 +9787,7 @@ grib_itrie* grib_hash_keys_new(grib_context* c, int* count) void grib_hash_keys_delete(grib_itrie* t) { - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); if (t) { @@ -9808,7 +9808,7 @@ static int grib_hash_keys_insert(grib_itrie* t, const char* key) grib_itrie* last = t; int* count; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); Assert(t); @@ -9862,7 +9862,7 @@ int grib_hash_keys_get_id(grib_itrie* t, const char* key) const char* k = key; grib_itrie* last = t; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); while (*k && t) diff --git a/src/grib_io.cc b/src/grib_io.cc index 64477d39e..43e559b3f 100644 --- a/src/grib_io.cc +++ b/src/grib_io.cc @@ -14,7 +14,7 @@ static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER; static pthread_mutex_t mutex2 = PTHREAD_MUTEX_INITIALIZER; -static void init() +static void init_mutex() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -27,7 +27,7 @@ static void init() static int once = 0; static omp_nest_lock_t mutex1; static omp_nest_lock_t mutex2; -static void init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_grib_io_c) { @@ -931,7 +931,7 @@ static int read_any(reader* r, int no_alloc, int grib_ok, int bufr_ok, int hdf5_ * so each thread gets its own message. Otherwise if threads are passed * different files, then the lock is not needed */ - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex1); #endif diff --git a/src/grib_itrie.cc b/src/grib_itrie.cc index 0421e4b84..6689e1bf8 100644 --- a/src/grib_itrie.cc +++ b/src/grib_itrie.cc @@ -276,7 +276,7 @@ static const int mapping[] = { static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; -static void init() +static void init_mutex() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -288,7 +288,7 @@ static void init() static int once = 0; static omp_nest_lock_t mutex; -static void init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_grib_itrie_c) { @@ -319,7 +319,7 @@ grib_itrie* grib_itrie_new(grib_context* c, int* count) void grib_itrie_delete(grib_itrie* t) { - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); if (t) { @@ -343,7 +343,7 @@ int grib_itrie_get_id(grib_itrie* t, const char* key) return -1; } - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); while (*k && t) @@ -371,7 +371,7 @@ int grib_itrie_insert(grib_itrie* t, const char* key) return -1; } - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); count = t->count; diff --git a/src/grib_itrie_keys.cc b/src/grib_itrie_keys.cc index a0a154427..2ee7291c6 100644 --- a/src/grib_itrie_keys.cc +++ b/src/grib_itrie_keys.cc @@ -273,7 +273,7 @@ static const int mapping[] = { static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; -static void init() +static void init_mutex() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -285,7 +285,7 @@ static void init() static int once = 0; static omp_nest_lock_t mutex; -static void init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_grib_itrie_keys_c) { @@ -317,7 +317,7 @@ grib_itrie* grib_hash_keys_new(grib_context* c, int* count) void grib_hash_keys_delete(grib_itrie* t) { - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); if (t) { @@ -338,7 +338,7 @@ static int grib_hash_keys_insert(grib_itrie* t, const char* key) grib_itrie* last = t; int* count; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); Assert(t); @@ -392,7 +392,7 @@ int grib_hash_keys_get_id(grib_itrie* t, const char* key) const char* k = key; grib_itrie* last = t; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); while (*k && t) diff --git a/src/grib_memory.cc b/src/grib_memory.cc index 5eebf7965..b44e12c19 100644 --- a/src/grib_memory.cc +++ b/src/grib_memory.cc @@ -18,7 +18,7 @@ static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; -static void init() +static void init_mutex() { pthread_mutexattr_t attr; @@ -31,7 +31,7 @@ static void init() static int once = 0; static omp_nest_lock_t mutex; -static void init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_grib_memory_c) { @@ -108,7 +108,7 @@ static void* fast_new(size_t s, mempool* pool) char* p; memblk* m; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); m = (memblk*)pool->priv; @@ -167,7 +167,7 @@ static void fast_delete(void* p, mempool* pool) memblk* m; memblk* n = NULL; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); m = (memblk*)pool->priv; @@ -271,7 +271,7 @@ void* grib_buffer_malloc(const grib_context* c, size_t s) { memblk* r; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); s = ((s + WORD - 1) / WORD) * WORD; @@ -307,7 +307,7 @@ void grib_buffer_free(const grib_context* c, void* p) memblk* r; memblk* s; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); r = (memblk*)(((char*)p) - HEADER_SIZE); diff --git a/src/grib_parse_utils.cc b/src/grib_parse_utils.cc index 8eb9a2938..98a01cd7b 100644 --- a/src/grib_parse_utils.cc +++ b/src/grib_parse_utils.cc @@ -35,7 +35,7 @@ static pthread_mutex_t mutex_hash_array = PTHREAD_MUTEX_INITIALIZER; static pthread_mutex_t mutex_stream = PTHREAD_MUTEX_INITIALIZER; static pthread_mutex_t mutex_parse = PTHREAD_MUTEX_INITIALIZER; -static void init() +static void init_mutex() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -57,7 +57,7 @@ static omp_nest_lock_t mutex_hash_array; static omp_nest_lock_t mutex_stream; static omp_nest_lock_t mutex_parse; -static void init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_grib_parse_utils_c) { @@ -717,7 +717,7 @@ extern int grib_yyparse(void); static int parse(grib_context* gc, const char* filename) { int err = 0; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_parse); #ifdef YYDEBUG @@ -752,7 +752,7 @@ static int parse(grib_context* gc, const char* filename) static grib_action* grib_parse_stream(grib_context* gc, const char* filename) { - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_stream); grib_parser_all_actions = 0; @@ -776,7 +776,7 @@ static grib_action* grib_parse_stream(grib_context* gc, const char* filename) grib_concept_value* grib_parse_concept_file(grib_context* gc, const char* filename) { - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_file); gc = gc ? gc : grib_context_get_default(); @@ -794,7 +794,7 @@ grib_concept_value* grib_parse_concept_file(grib_context* gc, const char* filena grib_hash_array_value* grib_parse_hash_array_file(grib_context* gc, const char* filename) { - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_file); gc = gc ? gc : grib_context_get_default(); @@ -813,7 +813,7 @@ grib_hash_array_value* grib_parse_hash_array_file(grib_context* gc, const char* // grib_rule* grib_parse_rules_file(grib_context* gc, const char* filename) // { // if (!gc) gc = grib_context_get_default(); -// GRIB_MUTEX_INIT_ONCE(&once, &init); +// GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); // GRIB_MUTEX_LOCK(&mutex_rules); // gc = gc ? gc : grib_context_get_default(); // grib_parser_context = gc; @@ -831,7 +831,7 @@ grib_action* grib_parse_file(grib_context* gc, const char* filename) { grib_action_file* af; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex_file); af = 0; diff --git a/src/grib_trie.cc b/src/grib_trie.cc index 7c122e062..c4e1d29e5 100644 --- a/src/grib_trie.cc +++ b/src/grib_trie.cc @@ -292,7 +292,7 @@ static const size_t NUM_MAPPINGS = sizeof(mapping) / sizeof(mapping[0]); static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; -static void init() +static void init_mutex() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -304,7 +304,7 @@ static void init() static int once = 0; static omp_nest_lock_t mutex; -static void init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_grib_trie_c) { @@ -340,7 +340,7 @@ grib_trie* grib_trie_new(grib_context* c) void grib_trie_delete_container(grib_trie* t) { - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); if (t) { int i; @@ -359,7 +359,7 @@ void grib_trie_delete_container(grib_trie* t) void grib_trie_delete(grib_trie* t) { - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); if (t) { int i; @@ -399,7 +399,7 @@ void* grib_trie_insert(grib_trie* t, const char* key, void* data) return NULL; } - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); while (*k && t) { @@ -474,7 +474,7 @@ void* grib_trie_insert_no_replace(grib_trie* t, const char* key, void* data) void* grib_trie_get(grib_trie* t, const char* key) { const char* k = key; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); while (*k && t) { diff --git a/src/grib_trie_with_rank.cc b/src/grib_trie_with_rank.cc index 8b74b6ca6..0e3f76971 100644 --- a/src/grib_trie_with_rank.cc +++ b/src/grib_trie_with_rank.cc @@ -292,7 +292,7 @@ static const size_t NUM_MAPPINGS = sizeof(mapping) / sizeof(mapping[0]); static pthread_once_t once = PTHREAD_ONCE_INIT; static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; -static void init() +static void init_mutex() { pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); @@ -304,7 +304,7 @@ static void init() static int once = 0; static omp_nest_lock_t mutex; -static void init() +static void init_mutex() { GRIB_OMP_CRITICAL(lock_grib_trie_with_rank_c) { @@ -376,7 +376,7 @@ static void _grib_trie_with_rank_delete_container(grib_trie_with_rank* t) } void grib_trie_with_rank_delete_container(grib_trie_with_rank* t) { - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); _grib_trie_with_rank_delete_container(t); GRIB_MUTEX_UNLOCK(&mutex); @@ -397,7 +397,7 @@ static void grib_trie_with_rank_delete_list(grib_context* c,grib_trie_with_rank_ void grib_trie_with_rank_delete(grib_trie_with_rank* t) { - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); if (t) { int i; @@ -456,7 +456,7 @@ int grib_trie_with_rank_insert(grib_trie_with_rank* t, const char* key, void* da DEBUG_ASSERT(t); if (!t) return -1; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); GRIB_MUTEX_LOCK(&mutex); while (*k && t) { @@ -506,7 +506,7 @@ void* grib_trie_with_rank_get(grib_trie_with_rank* t, const char* key, int rank) { const char* k = key; void* data; - GRIB_MUTEX_INIT_ONCE(&once, &init); + GRIB_MUTEX_INIT_ONCE(&once, &init_mutex); if (rank < 0) return NULL; From c9a8a876d93f40aa6fa8cdb31adbe80867754514 Mon Sep 17 00:00:00 2001 From: shahramn Date: Mon, 22 Jul 2024 16:47:44 +0100 Subject: [PATCH 03/63] Refactoring: Move convert_to_minutes to utils --- src/codes_util.cc | 35 +++++++++++++++++++++++++++++++++++ src/eccodes_prototypes.h | 1 + src/shared_functions.cc | 38 -------------------------------------- src/shared_functions.h | 1 - 4 files changed, 36 insertions(+), 39 deletions(-) diff --git a/src/codes_util.cc b/src/codes_util.cc index 57613109a..80d337849 100644 --- a/src/codes_util.cc +++ b/src/codes_util.cc @@ -244,6 +244,41 @@ int is_time_valid(long number) return 1; } +/* Table of multipliers to convert step units to minutes */ +static const double u2m[] = { + 1, /* index 0: minutes */ + 60, /* index 1: hour */ + 24 * 60, /* index 2: day */ + 24 * 60 * 30, /* index 3: month */ + -1, /* index 4: year */ + -1, /* index 5: decade */ + -1, /* index 6: 30 years */ + -1, /* index 7: century */ + -1, /* index 8: RESERVED */ + -1, /* index 9: RESERVED */ + 3 * 60, /* index 10: 3 hours */ + 6 * 60, /* index 11: 6 hours */ + 12 * 60, /* index 12: 12 hours */ + 1 / 60.0, /* index 13: seconds */ + 15, /* index 14: 15 mins */ + 30 /* index 15: 30 mins */ +}; + +long convert_to_minutes(long step, long stepUnits) +{ + double result = 0; + if (stepUnits == 0) + return step; /* unit=minutes so no change */ + if (stepUnits == 1) + return step * 60; /* unit=hours */ + if (stepUnits == 13) + return step / 60; /* unit=seconds */ + /* Assert( stepUnits < sizeof(u2m)/sizeof(u2m[0]) ); */ + + result = step * u2m[stepUnits]; + return (long)result; +} + static float float_epsilon(void) { float floatEps = 1.0; diff --git a/src/eccodes_prototypes.h b/src/eccodes_prototypes.h index 61b02b61d..576c1724e 100644 --- a/src/eccodes_prototypes.h +++ b/src/eccodes_prototypes.h @@ -853,6 +853,7 @@ int codes_check_grib_ieee_packing_value(int value); int codes_flush_sync_close_file(FILE* f); int is_date_valid(long year, long month, long day, long hour, long minute, double second); int is_time_valid(long number); // number is HHMM +long convert_to_minutes(long step, long stepUnits); int compute_scaled_value_and_scale_factor(double input, int64_t scaled_value_max, int64_t scale_factor_max, int64_t* ret_value, int64_t* ret_factor); /* grib_util.cc */ diff --git a/src/shared_functions.cc b/src/shared_functions.cc index fc6f090fb..cc37feb0c 100644 --- a/src/shared_functions.cc +++ b/src/shared_functions.cc @@ -1,27 +1,5 @@ #include "shared_functions.h" - -/* Table of multipliers to convert step units to minutes */ -static const double u2m[] = { - 1, /* index 0: minutes */ - 60, /* index 1: hour */ - 24 * 60, /* index 2: day */ - 24 * 60 * 30, /* index 3: month */ - -1, /* index 4: year */ - -1, /* index 5: decade */ - -1, /* index 6: 30 years */ - -1, /* index 7: century */ - -1, /* index 8: RESERVED */ - -1, /* index 9: RESERVED */ - 3 * 60, /* index 10: 3 hours */ - 6 * 60, /* index 11: 6 hours */ - 12 * 60, /* index 12: 12 hours */ - 1 / 60.0, /* index 13: seconds */ - 15, /* index 14: 15 mins */ - 30 /* index 15: 30 mins */ -}; - - void grib_set_bit_on(unsigned char* p, long* bitp){ unsigned char o = 1; p += (*bitp >> 3); @@ -29,19 +7,3 @@ void grib_set_bit_on(unsigned char* p, long* bitp){ *p |= o; (*bitp) += 1; } - -long convert_to_minutes(long step, long stepUnits) -{ - double result = 0; - if (stepUnits == 0) - return step; /* unit=minutes so no change */ - if (stepUnits == 1) - return step * 60; /* unit=hours */ - if (stepUnits == 13) - return step / 60; /* unit=seconds */ - /* Assert( stepUnits < sizeof(u2m)/sizeof(u2m[0]) ); */ - - result = step * u2m[stepUnits]; - return (long)result; -} - diff --git a/src/shared_functions.h b/src/shared_functions.h index 04ae2f90f..4645a1c8c 100644 --- a/src/shared_functions.h +++ b/src/shared_functions.h @@ -4,6 +4,5 @@ #include "grib_api_internal.h" void grib_set_bit_on(unsigned char*, long*); -long convert_to_minutes(long step, long stepUnits); #endif // eccodes_shared_functions_h From 2aa60b84e2900d034cabd6f75689a78c48ef56c1 Mon Sep 17 00:00:00 2001 From: shahramn Date: Mon, 22 Jul 2024 17:17:23 +0100 Subject: [PATCH 04/63] Refactoring: Remove shared_functions files. Use grib_bits.cc instead --- src/CMakeLists.txt | 1 - src/accessor/grib_accessor_class_g1bitmap.cc | 1 - src/accessor/grib_accessor_class_g2bitmap.cc | 1 - src/accessor/grib_accessor_class_validity_date.cc | 1 - src/accessor/grib_accessor_class_validity_time.cc | 1 - src/eccodes_prototypes.h | 1 + src/grib_bits.cc | 2 +- src/shared_functions.cc | 9 --------- src/shared_functions.h | 8 -------- 9 files changed, 2 insertions(+), 23 deletions(-) delete mode 100644 src/shared_functions.cc delete mode 100644 src/shared_functions.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fce6d88d8..7c491d6b1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -12,7 +12,6 @@ list( APPEND eccodes_src_files accessor/grib_accessor.cc accessor/grib_accessors_list.cc grib_accessor_class.cc - shared_functions.cc step_unit.cc step.cc step_utilities.cc diff --git a/src/accessor/grib_accessor_class_g1bitmap.cc b/src/accessor/grib_accessor_class_g1bitmap.cc index e8c0645ad..162d62b68 100644 --- a/src/accessor/grib_accessor_class_g1bitmap.cc +++ b/src/accessor/grib_accessor_class_g1bitmap.cc @@ -10,7 +10,6 @@ */ #include "grib_accessor_class_g1bitmap.h" -#include "shared_functions.h" grib_accessor_class_g1bitmap_t _grib_accessor_class_g1bitmap{"g1bitmap"}; grib_accessor_class* grib_accessor_class_g1bitmap = &_grib_accessor_class_g1bitmap; diff --git a/src/accessor/grib_accessor_class_g2bitmap.cc b/src/accessor/grib_accessor_class_g2bitmap.cc index 551715e4a..9e3854491 100644 --- a/src/accessor/grib_accessor_class_g2bitmap.cc +++ b/src/accessor/grib_accessor_class_g2bitmap.cc @@ -10,7 +10,6 @@ */ #include "grib_accessor_class_g2bitmap.h" -#include "shared_functions.h" grib_accessor_class_g2bitmap_t _grib_accessor_class_g2bitmap{ "g2bitmap" }; grib_accessor_class* grib_accessor_class_g2bitmap = &_grib_accessor_class_g2bitmap; diff --git a/src/accessor/grib_accessor_class_validity_date.cc b/src/accessor/grib_accessor_class_validity_date.cc index 331c4ec82..1f28f2c3f 100644 --- a/src/accessor/grib_accessor_class_validity_date.cc +++ b/src/accessor/grib_accessor_class_validity_date.cc @@ -10,7 +10,6 @@ */ #include "grib_accessor_class_validity_date.h" -#include "shared_functions.h" grib_accessor_class_validity_date_t _grib_accessor_class_validity_date{ "validity_date" }; grib_accessor_class* grib_accessor_class_validity_date = &_grib_accessor_class_validity_date; diff --git a/src/accessor/grib_accessor_class_validity_time.cc b/src/accessor/grib_accessor_class_validity_time.cc index 350a19e92..cdb0fdf93 100644 --- a/src/accessor/grib_accessor_class_validity_time.cc +++ b/src/accessor/grib_accessor_class_validity_time.cc @@ -10,7 +10,6 @@ */ #include "grib_accessor_class_validity_time.h" -#include "shared_functions.h" grib_accessor_class_validity_time_t _grib_accessor_class_validity_time{ "validity_time" }; grib_accessor_class* grib_accessor_class_validity_time = &_grib_accessor_class_validity_time; diff --git a/src/eccodes_prototypes.h b/src/eccodes_prototypes.h index 576c1724e..95f9a1573 100644 --- a/src/eccodes_prototypes.h +++ b/src/eccodes_prototypes.h @@ -308,6 +308,7 @@ int grib_init_accessor_from_handle(grib_loader* loader, grib_accessor* ga, grib_ unsigned long grib_decode_unsigned_byte_long(const unsigned char* p, long o, int l); long grib_decode_signed_long(const unsigned char* p, long o, int l); int grib_encode_signed_long(unsigned char* p, long val, long o, int l); +void grib_set_bit_on(unsigned char*, long*); void grib_set_bits_on(unsigned char* p, long* bitp, long nbits); int grib_get_bit(const unsigned char* p, long bitp); void grib_set_bit(unsigned char* p, long bitp, int val); diff --git a/src/grib_bits.cc b/src/grib_bits.cc index 92482612b..7988a6f82 100644 --- a/src/grib_bits.cc +++ b/src/grib_bits.cc @@ -117,7 +117,7 @@ int grib_encode_signed_long(unsigned char* p, long val, long o, int l) return GRIB_SUCCESS; } -static void grib_set_bit_on(unsigned char* p, long* bitp) +void grib_set_bit_on(unsigned char* p, long* bitp) { p += *bitp / 8; *p |= (1u << (7 - ((*bitp) % 8))); diff --git a/src/shared_functions.cc b/src/shared_functions.cc deleted file mode 100644 index cc37feb0c..000000000 --- a/src/shared_functions.cc +++ /dev/null @@ -1,9 +0,0 @@ -#include "shared_functions.h" - -void grib_set_bit_on(unsigned char* p, long* bitp){ - unsigned char o = 1; - p += (*bitp >> 3); - o <<= 7 - ((*bitp) % 8); - *p |= o; - (*bitp) += 1; -} diff --git a/src/shared_functions.h b/src/shared_functions.h deleted file mode 100644 index 4645a1c8c..000000000 --- a/src/shared_functions.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef eccodes_shared_functions_h -#define eccodes_shared_functions_h - -#include "grib_api_internal.h" - -void grib_set_bit_on(unsigned char*, long*); - -#endif // eccodes_shared_functions_h From 47258f4920c13503f1ced52f60cf8a5c094fce37 Mon Sep 17 00:00:00 2001 From: shahramn Date: Tue, 23 Jul 2024 11:38:32 +0100 Subject: [PATCH 05/63] Performance: Local static function --- src/accessor/grib_accessor_class_g2bitmap.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/accessor/grib_accessor_class_g2bitmap.cc b/src/accessor/grib_accessor_class_g2bitmap.cc index 9e3854491..e50741d55 100644 --- a/src/accessor/grib_accessor_class_g2bitmap.cc +++ b/src/accessor/grib_accessor_class_g2bitmap.cc @@ -23,6 +23,14 @@ void grib_accessor_class_g2bitmap_t::init(grib_accessor* a, const long len, grib self->numberOfValues = grib_arguments_get_name(grib_handle_of_accessor(a), arg, 4); } +// For speed use a local static function +static void set_bit_on(unsigned char* p, long* bitp) +{ + p += *bitp / 8; + *p |= (1u << (7 - ((*bitp) % 8))); + (*bitp)++; +} + int grib_accessor_class_g2bitmap_t::pack_double(grib_accessor* a, const double* val, size_t* len) { grib_accessor_g2bitmap_t* self = (grib_accessor_g2bitmap_t*)a; @@ -47,7 +55,7 @@ int grib_accessor_class_g2bitmap_t::pack_double(grib_accessor* a, const double* pos++; else { // bmaplen++; - grib_set_bit_on(buf, &pos); + set_bit_on(buf, &pos); } } From b3de64188be0bedd7bd7bcc9cfe70a13b4f478c0 Mon Sep 17 00:00:00 2001 From: shahramn Date: Tue, 23 Jul 2024 13:16:17 +0100 Subject: [PATCH 06/63] Enable the 'inline' directive based on ECCODES_HAVE_C_INLINE --- CMakeLists.txt | 6 +++--- eccodes_config.h.in | 2 ++ src/accessor/grib_accessor_class_g2bitmap.cc | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a4c05cd7..062da488a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,9 +50,9 @@ check_symbol_exists( fdatasync "unistd.h" ECCODES_HAVE_FDATASYNC) check_c_source_compiles( " typedef int foo_t; - static inline foo_t static_foo(){return 0;} - foo_t foo(){return 0;} - int main(int argc, char *argv[]){return 0;} + static inline foo_t static_foo(void){return 0;} + foo_t foo(void){return 0;} + int main(int argc, char *argv[]){ return static_foo(); } " ECCODES_HAVE_C_INLINE ) diff --git a/eccodes_config.h.in b/eccodes_config.h.in index 2278151b0..4432f9a10 100644 --- a/eccodes_config.h.in +++ b/eccodes_config.h.in @@ -23,6 +23,8 @@ #define ECCODES_DEFINITION_PATH "@ECCODES_DEFINITION_PATH@" +#cmakedefine ECCODES_HAVE_C_INLINE + #ifdef ECCODES_HAVE_C_INLINE #define GRIB_INLINE inline #endif diff --git a/src/accessor/grib_accessor_class_g2bitmap.cc b/src/accessor/grib_accessor_class_g2bitmap.cc index e50741d55..7b1783d9a 100644 --- a/src/accessor/grib_accessor_class_g2bitmap.cc +++ b/src/accessor/grib_accessor_class_g2bitmap.cc @@ -24,7 +24,7 @@ void grib_accessor_class_g2bitmap_t::init(grib_accessor* a, const long len, grib } // For speed use a local static function -static void set_bit_on(unsigned char* p, long* bitp) +static GRIB_INLINE void set_bit_on(unsigned char* p, long* bitp) { p += *bitp / 8; *p |= (1u << (7 - ((*bitp) % 8))); From 66bf0974b13360569e9a743ea56c58862bd8c487 Mon Sep 17 00:00:00 2001 From: shahramn Date: Tue, 23 Jul 2024 15:09:17 +0100 Subject: [PATCH 07/63] GitHub actions: Test OpenMP mutexes --- .github/ci-hpc-config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/ci-hpc-config.yml b/.github/ci-hpc-config.yml index 3ae75ea37..3c586db2e 100644 --- a/.github/ci-hpc-config.yml +++ b/.github/ci-hpc-config.yml @@ -7,3 +7,4 @@ build: parallel: 64 cmake_options: - -DENABLE_EXTRA_TESTS=1 + - -DENABLE_ECCODES_OMP_THREADS=1 From aa48f21a71fc0541b10d40fc52e7e2cfe3dc95b5 Mon Sep 17 00:00:00 2001 From: shahramn Date: Wed, 24 Jul 2024 11:59:09 +0100 Subject: [PATCH 08/63] Performance: Local static functions --- src/accessor/grib_accessor_class_bufr_data_array.cc | 9 ++++----- src/accessor/grib_accessor_class_bufr_elements_table.cc | 4 ++-- src/accessor/grib_accessor_class_g1forecastmonth.cc | 3 +-- .../grib_accessor_class_number_of_points_gaussian.cc | 8 ++++---- 4 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/accessor/grib_accessor_class_bufr_data_array.cc b/src/accessor/grib_accessor_class_bufr_data_array.cc index e0c998950..0bd2c2c0f 100644 --- a/src/accessor/grib_accessor_class_bufr_data_array.cc +++ b/src/accessor/grib_accessor_class_bufr_data_array.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -56,7 +55,7 @@ static int is_bitmap_start_defined(grib_accessor_bufr_data_array_t* self) return self->bitmapStart == -1 ? 0 : 1; } -size_t get_length(grib_accessor* a) +static size_t get_length(grib_accessor* a) { grib_accessor_bufr_data_array_t* self = (grib_accessor_bufr_data_array_t*)a; size_t len = 0; @@ -101,7 +100,7 @@ static int tableB_override_get_ref_val(grib_accessor_bufr_data_array_t* self, in } /* Operator 203YYY: Clear and free linked list */ -void tableB_override_clear(grib_context* c, grib_accessor_bufr_data_array_t* self) +static void tableB_override_clear(grib_context* c, grib_accessor_bufr_data_array_t* self) { bufr_tableb_override* tb = self->tableb_override; while (tb) { @@ -113,7 +112,7 @@ void tableB_override_clear(grib_context* c, grib_accessor_bufr_data_array_t* sel } /* Operator 203YYY: Copy contents of linked list to the transient array key */ -int tableB_override_set_key(grib_handle* h, grib_accessor_bufr_data_array_t* self) +static int tableB_override_set_key(grib_handle* h, grib_accessor_bufr_data_array_t* self) { int err = GRIB_SUCCESS; size_t size = 0; @@ -2202,7 +2201,7 @@ static grib_accessor* accessor_or_attribute_with_same_name(grib_accessor* a, con // return *r; // } -int grib_data_accessors_trie_push(grib_trie_with_rank* accessorsTrie, grib_accessor* a) +static int grib_data_accessors_trie_push(grib_trie_with_rank* accessorsTrie, grib_accessor* a) { return grib_trie_with_rank_insert(accessorsTrie, a->name, a); } diff --git a/src/accessor/grib_accessor_class_bufr_elements_table.cc b/src/accessor/grib_accessor_class_bufr_elements_table.cc index b9a0d0c58..04a61d02b 100644 --- a/src/accessor/grib_accessor_class_bufr_elements_table.cc +++ b/src/accessor/grib_accessor_class_bufr_elements_table.cc @@ -212,14 +212,14 @@ static int convert_type(const char* stype) return ret; } -long atol_fast(const char* input) +static long atol_fast(const char* input) { if (strcmp(input, "0") == 0) return 0; return atol(input); } -int bufr_get_from_table(grib_accessor* a, bufr_descriptor* v) +static int bufr_get_from_table(grib_accessor* a, bufr_descriptor* v) { int ret = 0; char** list = 0; diff --git a/src/accessor/grib_accessor_class_g1forecastmonth.cc b/src/accessor/grib_accessor_class_g1forecastmonth.cc index 7ec448cf6..c7745cfa7 100644 --- a/src/accessor/grib_accessor_class_g1forecastmonth.cc +++ b/src/accessor/grib_accessor_class_g1forecastmonth.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -106,7 +105,7 @@ static int unpack_long_edition2(grib_accessor* a, long* val, size_t* len) return GRIB_SUCCESS; } -int unpack_long_edition1(grib_accessor* a, long* val, size_t* len) +static int unpack_long_edition1(grib_accessor* a, long* val, size_t* len) { int err = 0; grib_accessor_g1forecastmonth_t* self = (grib_accessor_g1forecastmonth_t*)a; diff --git a/src/accessor/grib_accessor_class_number_of_points_gaussian.cc b/src/accessor/grib_accessor_class_number_of_points_gaussian.cc index 39324fbd3..7959a6360 100644 --- a/src/accessor/grib_accessor_class_number_of_points_gaussian.cc +++ b/src/accessor/grib_accessor_class_number_of_points_gaussian.cc @@ -112,8 +112,8 @@ static int get_number_of_data_values(grib_handle* h, size_t* numDataValues) return err; } -int unpack_long_with_legacy_support(grib_accessor* a, long* val, size_t* len); -int unpack_long_new(grib_accessor* a, long* val, size_t* len); +static int unpack_long_with_legacy_support(grib_accessor* a, long* val, size_t* len); +static int unpack_long_new(grib_accessor* a, long* val, size_t* len); int grib_accessor_class_number_of_points_gaussian_t::unpack_long(grib_accessor* a, long* val, size_t* len) { @@ -132,7 +132,7 @@ int grib_accessor_class_number_of_points_gaussian_t::unpack_long(grib_accessor* } /* New algorithm */ -int unpack_long_new(grib_accessor* a, long* val, size_t* len) +static int unpack_long_new(grib_accessor* a, long* val, size_t* len) { int err = GRIB_SUCCESS; int is_global = 0; @@ -241,7 +241,7 @@ int unpack_long_new(grib_accessor* a, long* val, size_t* len) } /* With Legacy support */ -int unpack_long_with_legacy_support(grib_accessor* a, long* val, size_t* len) +static int unpack_long_with_legacy_support(grib_accessor* a, long* val, size_t* len) { int err = GRIB_SUCCESS; int is_global = 0; From 90d462870a5776ac8faf9da78cc84bbcf2efac86 Mon Sep 17 00:00:00 2001 From: shahramn Date: Wed, 24 Jul 2024 10:47:14 +0100 Subject: [PATCH 09/63] ECC-1881: Performance: Computation of distinctLatitudes/distinctLongitudes --- src/accessor/grib_accessor_class_latitudes.cc | 16 +++++++---- .../grib_accessor_class_longitudes.cc | 28 +++++++++---------- src/codes_util.cc | 20 +++++++++++++ src/eccodes_prototypes.h | 2 ++ 4 files changed, 47 insertions(+), 19 deletions(-) diff --git a/src/accessor/grib_accessor_class_latitudes.cc b/src/accessor/grib_accessor_class_latitudes.cc index 1c69d39e9..71859a564 100644 --- a/src/accessor/grib_accessor_class_latitudes.cc +++ b/src/accessor/grib_accessor_class_latitudes.cc @@ -15,7 +15,7 @@ grib_accessor_class_latitudes_t _grib_accessor_class_latitudes{ "latitudes" }; grib_accessor_class* grib_accessor_class_latitudes = &_grib_accessor_class_latitudes; static int get_distinct(grib_accessor* a, double** val, long* len); -int compare_doubles(const void* a, const void* b, int ascending) +static int compare_doubles(const void* a, const void* b, int ascending) { // ascending is a boolean: 0 or 1 double* arg1 = (double*)a; @@ -33,11 +33,13 @@ int compare_doubles(const void* a, const void* b, int ascending) else return 1; } -int compare_doubles_ascending(const void* a, const void* b) + +static int compare_doubles_ascending(const void* a, const void* b) { return compare_doubles(a, b, 1); } -int compare_doubles_descending(const void* a, const void* b) + +static int compare_doubles_descending(const void* a, const void* b) { return compare_doubles(a, b, 0); } @@ -184,10 +186,14 @@ static int get_distinct(grib_accessor* a, double** val, long* len) if ((ret = grib_get_long_internal(grib_handle_of_accessor(a), "jScansPositively", &jScansPositively))) return ret; if (jScansPositively) { - qsort(v, *len, sizeof(double), &compare_doubles_ascending); //South to North + if (!is_sorted_ascending(v, size)) { + qsort(v, *len, sizeof(double), &compare_doubles_ascending); //South to North + } } else { - qsort(v, *len, sizeof(double), &compare_doubles_descending); //North to South + if (!is_sorted_descending(v, size)) { + qsort(v, *len, sizeof(double), &compare_doubles_descending); //North to South + } } v1 = (double*)grib_context_malloc_clear(c, size * sizeof(double)); diff --git a/src/accessor/grib_accessor_class_longitudes.cc b/src/accessor/grib_accessor_class_longitudes.cc index 80e4e2e7b..61e15de03 100644 --- a/src/accessor/grib_accessor_class_longitudes.cc +++ b/src/accessor/grib_accessor_class_longitudes.cc @@ -16,7 +16,7 @@ grib_accessor_class* grib_accessor_class_longitudes = &_grib_accessor_class_long static int get_distinct(grib_accessor* a, double** val, long* len); -int compare_doubles(const void* a, const void* b); + void grib_accessor_class_longitudes_t::init(grib_accessor* a, const long l, grib_arguments* c) { grib_accessor_class_double_t::init(a, l, c); @@ -125,6 +125,18 @@ int grib_accessor_class_longitudes_t::value_count(grib_accessor* a, long* len) return ret; } +static int compare_doubles_ascending(const void* a, const void* b) +{ + double* arg1 = (double*)a; + double* arg2 = (double*)b; + if (*arg1 < *arg2) + return -1; + else if (*arg1 == *arg2) + return 0; + else + return 1; +} + static int get_distinct(grib_accessor* a, double** val, long* len) { long count = 0; @@ -155,7 +167,7 @@ static int get_distinct(grib_accessor* a, double** val, long* len) grib_iterator_delete(iter); v = *val; - qsort(v, *len, sizeof(double), &compare_doubles); + qsort(v, *len, sizeof(double), &compare_doubles_ascending); v1 = (double*)grib_context_malloc_clear(c, size * sizeof(double)); if (!v1) { @@ -181,15 +193,3 @@ static int get_distinct(grib_accessor* a, double** val, long* len) *len = count; return GRIB_SUCCESS; } - -int compare_doubles(const void* a, const void* b) -{ - double* arg1 = (double*)a; - double* arg2 = (double*)b; - if (*arg1 < *arg2) - return -1; - else if (*arg1 == *arg2) - return 0; - else - return 1; -} diff --git a/src/codes_util.cc b/src/codes_util.cc index 80d337849..9e7507c23 100644 --- a/src/codes_util.cc +++ b/src/codes_util.cc @@ -279,6 +279,26 @@ long convert_to_minutes(long step, long stepUnits) return (long)result; } +bool is_sorted_ascending(double arr[], size_t n) +{ + for (size_t i = 0; i < n-1; i++) { + if (arr[i] > arr[i+1]) { + return false; + } + } + return true; +} + +bool is_sorted_descending(double arr[], size_t n) +{ + for (size_t i = 0; i < n-1; i++) { + if (arr[i] < arr[i+1]) { + return false; + } + } + return true; +} + static float float_epsilon(void) { float floatEps = 1.0; diff --git a/src/eccodes_prototypes.h b/src/eccodes_prototypes.h index 95f9a1573..e0a7d3e08 100644 --- a/src/eccodes_prototypes.h +++ b/src/eccodes_prototypes.h @@ -855,6 +855,8 @@ int codes_flush_sync_close_file(FILE* f); int is_date_valid(long year, long month, long day, long hour, long minute, double second); int is_time_valid(long number); // number is HHMM long convert_to_minutes(long step, long stepUnits); +bool is_sorted_ascending(double arr[], size_t n); +bool is_sorted_descending(double arr[], size_t n); int compute_scaled_value_and_scale_factor(double input, int64_t scaled_value_max, int64_t scale_factor_max, int64_t* ret_value, int64_t* ret_factor); /* grib_util.cc */ From 99ff9f49a93f87b220f086999da2773279501af9 Mon Sep 17 00:00:00 2001 From: shahramn Date: Wed, 24 Jul 2024 13:54:27 +0100 Subject: [PATCH 10/63] Const correctness and cppcheck warnings --- src/accessor/grib_accessor_class_latitudes.cc | 10 ++++---- .../grib_accessor_class_latlonvalues.cc | 23 +++++++++++-------- .../grib_accessor_class_longitudes.cc | 10 ++++---- 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/src/accessor/grib_accessor_class_latitudes.cc b/src/accessor/grib_accessor_class_latitudes.cc index 71859a564..d67d9f257 100644 --- a/src/accessor/grib_accessor_class_latitudes.cc +++ b/src/accessor/grib_accessor_class_latitudes.cc @@ -18,8 +18,8 @@ static int get_distinct(grib_accessor* a, double** val, long* len); static int compare_doubles(const void* a, const void* b, int ascending) { // ascending is a boolean: 0 or 1 - double* arg1 = (double*)a; - double* arg2 = (double*)b; + const double* arg1 = (double*)a; + const double* arg2 = (double*)b; if (ascending) { if (*arg1 < *arg2) return -1; // Smaller values come before larger ones @@ -97,8 +97,7 @@ int grib_accessor_class_latitudes_t::unpack_double(grib_accessor* a, double* val // ECC-1525 Performance: We do not need the values to be decoded iter = grib_iterator_new(grib_handle_of_accessor(a), GRIB_GEOITERATOR_NO_VALUES, &ret); if (ret != GRIB_SUCCESS) { - if (iter) - grib_iterator_delete(iter); + grib_iterator_delete(iter); grib_context_log(c, GRIB_LOG_ERROR, "latitudes: Unable to create iterator"); return ret; } @@ -166,8 +165,7 @@ static int get_distinct(grib_accessor* a, double** val, long* len) // Performance: We do not need the values to be decoded grib_iterator* iter = grib_iterator_new(grib_handle_of_accessor(a), GRIB_GEOITERATOR_NO_VALUES, &ret); if (ret != GRIB_SUCCESS) { - if (iter) - grib_iterator_delete(iter); + grib_iterator_delete(iter); grib_context_log(c, GRIB_LOG_ERROR, "latitudes: Unable to create iterator"); return ret; } diff --git a/src/accessor/grib_accessor_class_latlonvalues.cc b/src/accessor/grib_accessor_class_latlonvalues.cc index 5d43d6be9..4b80ca32a 100644 --- a/src/accessor/grib_accessor_class_latlonvalues.cc +++ b/src/accessor/grib_accessor_class_latlonvalues.cc @@ -11,21 +11,23 @@ #include "grib_accessor_class_latlonvalues.h" -grib_accessor_class_latlonvalues_t _grib_accessor_class_latlonvalues{"latlonvalues"}; +grib_accessor_class_latlonvalues_t _grib_accessor_class_latlonvalues{ "latlonvalues" }; grib_accessor_class* grib_accessor_class_latlonvalues = &_grib_accessor_class_latlonvalues; -void grib_accessor_class_latlonvalues_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_latlonvalues_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_double_t::init(a, l, c); grib_accessor_latlonvalues_t* self = (grib_accessor_latlonvalues_t*)a; - int n = 0; + int n = 0; self->values = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; } -int grib_accessor_class_latlonvalues_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_latlonvalues_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ grib_context* c = a->context; int err = 0; double* v = val; @@ -34,17 +36,17 @@ int grib_accessor_class_latlonvalues_t::unpack_double(grib_accessor* a, double* long count = 0; grib_iterator* iter = grib_iterator_new(grib_handle_of_accessor(a), 0, &err); if (err) { - if (iter) grib_iterator_delete(iter); + grib_iterator_delete(iter); grib_context_log(c, GRIB_LOG_ERROR, "latlonvalues: Unable to create iterator"); return err; } - err = value_count(a, &count); + err = value_count(a, &count); if (err) return err; size = count; if (*len < size) { - if (iter) grib_iterator_delete(iter); + grib_iterator_delete(iter); return GRIB_ARRAY_TOO_SMALL; } @@ -61,10 +63,11 @@ int grib_accessor_class_latlonvalues_t::unpack_double(grib_accessor* a, double* return GRIB_SUCCESS; } -int grib_accessor_class_latlonvalues_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_latlonvalues_t::value_count(grib_accessor* a, long* count) +{ grib_accessor_latlonvalues_t* self = (grib_accessor_latlonvalues_t*)a; - grib_handle* h = grib_handle_of_accessor(a); - int ret = GRIB_SUCCESS; + grib_handle* h = grib_handle_of_accessor(a); + int ret = GRIB_SUCCESS; size_t size; if ((ret = grib_get_size(h, self->values, &size)) != GRIB_SUCCESS) { grib_context_log(h->context, GRIB_LOG_ERROR, "latlonvalues: Unable to get size of %s", self->values); diff --git a/src/accessor/grib_accessor_class_longitudes.cc b/src/accessor/grib_accessor_class_longitudes.cc index 61e15de03..1b40cbcc7 100644 --- a/src/accessor/grib_accessor_class_longitudes.cc +++ b/src/accessor/grib_accessor_class_longitudes.cc @@ -73,8 +73,7 @@ int grib_accessor_class_longitudes_t::unpack_double(grib_accessor* a, double* va // ECC-1525 Performance: We do not need the values to be decoded iter = grib_iterator_new(grib_handle_of_accessor(a), GRIB_GEOITERATOR_NO_VALUES, &ret); if (ret != GRIB_SUCCESS) { - if (iter) - grib_iterator_delete(iter); + grib_iterator_delete(iter); grib_context_log(c, GRIB_LOG_ERROR, "longitudes: Unable to create iterator"); return ret; } @@ -127,8 +126,8 @@ int grib_accessor_class_longitudes_t::value_count(grib_accessor* a, long* len) static int compare_doubles_ascending(const void* a, const void* b) { - double* arg1 = (double*)a; - double* arg2 = (double*)b; + const double* arg1 = (double*)a; + const double* arg2 = (double*)b; if (*arg1 < *arg2) return -1; else if (*arg1 == *arg2) @@ -151,8 +150,7 @@ static int get_distinct(grib_accessor* a, double** val, long* len) // Performance: We do not need the values to be decoded grib_iterator* iter = grib_iterator_new(grib_handle_of_accessor(a), GRIB_GEOITERATOR_NO_VALUES, &ret); if (ret != GRIB_SUCCESS) { - if (iter) - grib_iterator_delete(iter); + grib_iterator_delete(iter); grib_context_log(c, GRIB_LOG_ERROR, "longitudes: Unable to create iterator"); return ret; } From dd0a0d3685b51543f303f612d4498f124fa89252 Mon Sep 17 00:00:00 2001 From: shahramn Date: Wed, 24 Jul 2024 14:43:34 +0100 Subject: [PATCH 11/63] Formatting --- .../grib_accessor_class_library_version.cc | 16 +++-- .../grib_accessor_class_long_vector.cc | 43 +++++++------ ...grib_accessor_class_sexagesimal2decimal.cc | 28 ++++---- .../grib_accessor_class_signed_bits.cc | 40 +++++++----- src/accessor/grib_accessor_class_spd.cc | 64 +++++++++++-------- src/accessor/grib_accessor_class_uint16.cc | 9 +-- src/accessor/grib_accessor_class_uint32.cc | 9 +-- ...rib_accessor_class_uint32_little_endian.cc | 9 +-- src/accessor/grib_accessor_class_uint64.cc | 9 +-- ...rib_accessor_class_uint64_little_endian.cc | 9 +-- src/accessor/grib_accessor_class_uint8.cc | 13 ++-- 11 files changed, 141 insertions(+), 108 deletions(-) diff --git a/src/accessor/grib_accessor_class_library_version.cc b/src/accessor/grib_accessor_class_library_version.cc index 527b4809a..e0f1ee1da 100644 --- a/src/accessor/grib_accessor_class_library_version.cc +++ b/src/accessor/grib_accessor_class_library_version.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,19 +10,20 @@ #include "grib_accessor_class_library_version.h" -grib_accessor_class_library_version_t _grib_accessor_class_library_version{"library_version"}; +grib_accessor_class_library_version_t _grib_accessor_class_library_version{ "library_version" }; grib_accessor_class* grib_accessor_class_library_version = &_grib_accessor_class_library_version; -int grib_accessor_class_library_version_t::unpack_string(grib_accessor* a, char* val, size_t* len){ +int grib_accessor_class_library_version_t::unpack_string(grib_accessor* a, char* val, size_t* len) +{ char result[30] = {0,}; - size_t size; + size_t size = 0; int major = ECCODES_MAJOR_VERSION; int minor = ECCODES_MINOR_VERSION; int revision = ECCODES_REVISION_VERSION; - snprintf(result, sizeof(result), "%d.%d.%d", major, minor, revision); + snprintf(result, sizeof(result), "%d.%d.%d", major, minor, revision); size = sizeof(result); if (*len < size) @@ -35,11 +35,13 @@ int grib_accessor_class_library_version_t::unpack_string(grib_accessor* a, char* return GRIB_SUCCESS; } -int grib_accessor_class_library_version_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_library_version_t::value_count(grib_accessor* a, long* count) +{ *count = 1; return 0; } -size_t grib_accessor_class_library_version_t::string_length(grib_accessor* a){ +size_t grib_accessor_class_library_version_t::string_length(grib_accessor* a) +{ return 255; } diff --git a/src/accessor/grib_accessor_class_long_vector.cc b/src/accessor/grib_accessor_class_long_vector.cc index 0aee8c8c9..6759ea799 100644 --- a/src/accessor/grib_accessor_class_long_vector.cc +++ b/src/accessor/grib_accessor_class_long_vector.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -12,16 +11,17 @@ #include "grib_accessor_class_long_vector.h" #include "grib_accessor_class_abstract_long_vector.h" -grib_accessor_class_long_vector_t _grib_accessor_class_long_vector{"long_vector"}; +grib_accessor_class_long_vector_t _grib_accessor_class_long_vector{ "long_vector" }; grib_accessor_class* grib_accessor_class_long_vector = &_grib_accessor_class_long_vector; -void grib_accessor_class_long_vector_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_long_vector_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_abstract_long_vector_t::init(a, l, c); grib_accessor_long_vector_t* self = (grib_accessor_long_vector_t*)a; - grib_accessor* va = NULL; + grib_accessor* va = NULL; grib_accessor_abstract_long_vector_t* v = NULL; - int n = 0; + int n = 0; self->vector = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); va = (grib_accessor*)grib_find_accessor(grib_handle_of_accessor(a), self->vector); @@ -35,12 +35,13 @@ void grib_accessor_class_long_vector_t::init(grib_accessor* a, const long l, gri a->length = 0; } -int grib_accessor_class_long_vector_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_long_vector_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ size_t size = 0; - int err = 0; + int err = 0; long* vector; grib_accessor_long_vector_t* self = (grib_accessor_long_vector_t*)a; - grib_accessor* va = NULL; + grib_accessor* va = NULL; grib_accessor_abstract_long_vector_t* v = NULL; va = (grib_accessor*)grib_find_accessor(grib_handle_of_accessor(a), self->vector); @@ -51,7 +52,8 @@ int grib_accessor_class_long_vector_t::unpack_long(grib_accessor* a, long* val, if (err) return err; DEBUG_ASSERT(size > 0); vector = (long*)grib_context_malloc(a->context, sizeof(long) * size); - err = va->unpack_long(vector, &size); grib_context_free(a->context, vector); + err = va->unpack_long(vector, &size); + grib_context_free(a->context, vector); if (err) return err; *val = v->v[self->index]; @@ -59,14 +61,15 @@ int grib_accessor_class_long_vector_t::unpack_long(grib_accessor* a, long* val, return GRIB_SUCCESS; } -int grib_accessor_class_long_vector_t::unpack_double(grib_accessor* a, double* val, size_t* len){ - long lval = 0; - int err = 0; +int grib_accessor_class_long_vector_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ + long lval = 0; + int err = 0; grib_accessor_long_vector_t* self = (grib_accessor_long_vector_t*)a; - grib_accessor* va = NULL; + grib_accessor* va = NULL; grib_accessor_abstract_long_vector_t* v = NULL; - va = (grib_accessor*)grib_find_accessor(grib_handle_of_accessor(a), self->vector); - v = (grib_accessor_abstract_long_vector_t*)va; + va = (grib_accessor*)grib_find_accessor(grib_handle_of_accessor(a), self->vector); + v = (grib_accessor_abstract_long_vector_t*)va; err = unpack_long(a, &lval, len); @@ -75,10 +78,11 @@ int grib_accessor_class_long_vector_t::unpack_double(grib_accessor* a, double* v return err; } -int grib_accessor_class_long_vector_t::pack_long(grib_accessor* a, const long* val, size_t* len){ - int err = 0; +int grib_accessor_class_long_vector_t::pack_long(grib_accessor* a, const long* val, size_t* len) +{ + int err = 0; grib_accessor_long_vector_t* self = (grib_accessor_long_vector_t*)a; - grib_accessor* va = NULL; + grib_accessor* va = NULL; grib_accessor_abstract_long_vector_t* v = NULL; va = (grib_accessor*)grib_find_accessor(grib_handle_of_accessor(a), self->vector); @@ -90,6 +94,7 @@ int grib_accessor_class_long_vector_t::pack_long(grib_accessor* a, const long* v return err; } -int grib_accessor_class_long_vector_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_long_vector_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_LONG; } diff --git a/src/accessor/grib_accessor_class_sexagesimal2decimal.cc b/src/accessor/grib_accessor_class_sexagesimal2decimal.cc index e1920c1b9..c43c7269c 100644 --- a/src/accessor/grib_accessor_class_sexagesimal2decimal.cc +++ b/src/accessor/grib_accessor_class_sexagesimal2decimal.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,31 +10,36 @@ #include "grib_accessor_class_sexagesimal2decimal.h" -grib_accessor_class_sexagesimal2decimal_t _grib_accessor_class_sexagesimal2decimal{"sexagesimal2decimal"}; +grib_accessor_class_sexagesimal2decimal_t _grib_accessor_class_sexagesimal2decimal{ "sexagesimal2decimal" }; grib_accessor_class* grib_accessor_class_sexagesimal2decimal = &_grib_accessor_class_sexagesimal2decimal; -void grib_accessor_class_sexagesimal2decimal_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_sexagesimal2decimal_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_to_double_t::init(a, len, arg); a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; } -void grib_accessor_class_sexagesimal2decimal_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_sexagesimal2decimal_t::dump(grib_accessor* a, grib_dumper* dumper) +{ grib_dump_double(dumper, a, NULL); } -int grib_accessor_class_sexagesimal2decimal_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_sexagesimal2decimal_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_DOUBLE; } -int grib_accessor_class_sexagesimal2decimal_t::unpack_string(grib_accessor* a, char* val, size_t* len){ - int err = 0; +int grib_accessor_class_sexagesimal2decimal_t::unpack_string(grib_accessor* a, char* val, size_t* len) +{ grib_accessor_sexagesimal2decimal_t* self = (grib_accessor_sexagesimal2decimal_t*)a; - char buff[512] = {0,}; + + int err = 0; + char buff[512] = {0,}; size_t length = 0; - size_t size = 512; - char* p; - char* q; + size_t size = sizeof(buff); + char* p = 0; + char* q = 0; double dd, mm = 0, ss = 0; int dd_sign = 1; @@ -134,7 +138,7 @@ int grib_accessor_class_sexagesimal2decimal_t::unpack_string(grib_accessor* a, c if (len[0] < length + 1) { grib_context_log(a->context, GRIB_LOG_ERROR, "unpack_string: Wrong size (%lu) for %s, it contains %ld values", - len[0], a->name, a->length + 1); + len[0], a->name, a->length + 1); len[0] = 0; return GRIB_ARRAY_TOO_SMALL; } diff --git a/src/accessor/grib_accessor_class_signed_bits.cc b/src/accessor/grib_accessor_class_signed_bits.cc index 3da4d03c2..b205cc9f7 100644 --- a/src/accessor/grib_accessor_class_signed_bits.cc +++ b/src/accessor/grib_accessor_class_signed_bits.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,15 +10,17 @@ #include "grib_accessor_class_signed_bits.h" -grib_accessor_class_signed_bits_t _grib_accessor_class_signed_bits{"signed_bits"}; +grib_accessor_class_signed_bits_t _grib_accessor_class_signed_bits{ "signed_bits" }; grib_accessor_class* grib_accessor_class_signed_bits = &_grib_accessor_class_signed_bits; -long grib_accessor_class_signed_bits_t::byte_count(grib_accessor* a){ +long grib_accessor_class_signed_bits_t::byte_count(grib_accessor* a) +{ return a->length; } -static long compute_byte_count(grib_accessor* a){ +static long compute_byte_count(grib_accessor* a) +{ grib_accessor_signed_bits_t* self = (grib_accessor_signed_bits_t*)a; long numberOfBits; long numberOfElements; @@ -42,16 +43,18 @@ static long compute_byte_count(grib_accessor* a){ return (numberOfBits * numberOfElements + 7) / 8; } -void grib_accessor_class_signed_bits_t::init(grib_accessor* a, const long len, grib_arguments* args){ +void grib_accessor_class_signed_bits_t::init(grib_accessor* a, const long len, grib_arguments* args) +{ grib_accessor_class_long_t::init(a, len, args); grib_accessor_signed_bits_t* self = (grib_accessor_signed_bits_t*)a; - int n = 0; - self->numberOfBits = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); - self->numberOfElements = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); - a->length = compute_byte_count(a); + int n = 0; + self->numberOfBits = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); + self->numberOfElements = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); + a->length = compute_byte_count(a); } -int grib_accessor_class_signed_bits_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_signed_bits_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ return GRIB_NOT_IMPLEMENTED; #if 0 grib_accessor_signed_bits_t* self = (grib_accessor_signed_bits_t*)a; @@ -91,7 +94,8 @@ int grib_accessor_class_signed_bits_t::unpack_long(grib_accessor* a, long* val, #endif } -int grib_accessor_class_signed_bits_t::pack_long(grib_accessor* a, const long* val, size_t* len){ +int grib_accessor_class_signed_bits_t::pack_long(grib_accessor* a, const long* val, size_t* len) +{ return GRIB_NOT_IMPLEMENTED; #if 0 grib_accessor_signed_bits_t* self = (grib_accessor_signed_bits_t*)a; @@ -132,21 +136,25 @@ int grib_accessor_class_signed_bits_t::pack_long(grib_accessor* a, const long* v #endif } -int grib_accessor_class_signed_bits_t::value_count(grib_accessor* a, long* numberOfElements){ +int grib_accessor_class_signed_bits_t::value_count(grib_accessor* a, long* numberOfElements) +{ grib_accessor_signed_bits_t* self = (grib_accessor_signed_bits_t*)a; - *numberOfElements = 0; + *numberOfElements = 0; return grib_get_long(grib_handle_of_accessor(a), self->numberOfElements, numberOfElements); } -long grib_accessor_class_signed_bits_t::byte_offset(grib_accessor* a){ +long grib_accessor_class_signed_bits_t::byte_offset(grib_accessor* a) +{ return a->offset; } -void grib_accessor_class_signed_bits_t::update_size(grib_accessor* a, size_t s){ +void grib_accessor_class_signed_bits_t::update_size(grib_accessor* a, size_t s) +{ a->length = s; } -long grib_accessor_class_signed_bits_t::next_offset(grib_accessor* a){ +long grib_accessor_class_signed_bits_t::next_offset(grib_accessor* a) +{ return a->byte_offset() + a->byte_count(); } diff --git a/src/accessor/grib_accessor_class_spd.cc b/src/accessor/grib_accessor_class_spd.cc index dd717ba3c..212b4a36e 100644 --- a/src/accessor/grib_accessor_class_spd.cc +++ b/src/accessor/grib_accessor_class_spd.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,18 +10,20 @@ #include "grib_accessor_class_spd.h" -grib_accessor_class_spd_t _grib_accessor_class_spd{"spd"}; +grib_accessor_class_spd_t _grib_accessor_class_spd{ "spd" }; grib_accessor_class* grib_accessor_class_spd = &_grib_accessor_class_spd; -long grib_accessor_class_spd_t::byte_count(grib_accessor* a){ +long grib_accessor_class_spd_t::byte_count(grib_accessor* a) +{ return a->length; } -static long compute_byte_count(grib_accessor* a){ +static long compute_byte_count(grib_accessor* a) +{ grib_accessor_spd_t* self = (grib_accessor_spd_t*)a; - long numberOfBits = 0; - long numberOfElements = 0; + long numberOfBits = 0; + long numberOfElements = 0; int ret = grib_get_long(grib_handle_of_accessor(a), self->numberOfBits, &numberOfBits); if (ret) { @@ -42,20 +43,22 @@ static long compute_byte_count(grib_accessor* a){ return (numberOfBits * numberOfElements + 7) / 8; } -void grib_accessor_class_spd_t::init(grib_accessor* a, const long len, grib_arguments* args){ +void grib_accessor_class_spd_t::init(grib_accessor* a, const long len, grib_arguments* args) +{ grib_accessor_class_long_t::init(a, len, args); grib_accessor_spd_t* self = (grib_accessor_spd_t*)a; - int n = 0; - self->numberOfBits = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); - self->numberOfElements = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); - a->length = compute_byte_count(a); + int n = 0; + self->numberOfBits = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); + self->numberOfElements = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); + a->length = compute_byte_count(a); } -int grib_accessor_class_spd_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_spd_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ grib_accessor_spd_t* self = (grib_accessor_spd_t*)a; - long pos = a->offset * 8; - long rlen = 0; - long numberOfBits = 0; + long pos = a->offset * 8; + long rlen = 0; + long numberOfBits = 0; int ret = value_count(a, &rlen); if (ret) @@ -72,7 +75,7 @@ int grib_accessor_class_spd_t::unpack_long(grib_accessor* a, long* val, size_t* if (ret) return ret; if (numberOfBits > 64) { - grib_context_log(a->context, GRIB_LOG_ERROR,"Invalid number of bits: %ld",numberOfBits); + grib_context_log(a->context, GRIB_LOG_ERROR, "Invalid number of bits: %ld", numberOfBits); return GRIB_DECODING_ERROR; } @@ -86,15 +89,16 @@ int grib_accessor_class_spd_t::unpack_long(grib_accessor* a, long* val, size_t* return GRIB_SUCCESS; } -int grib_accessor_class_spd_t::pack_long(grib_accessor* a, const long* val, size_t* len){ +int grib_accessor_class_spd_t::pack_long(grib_accessor* a, const long* val, size_t* len) +{ grib_accessor_spd_t* self = (grib_accessor_spd_t*)a; - int ret = 0; - long off = 0; - long numberOfBits = 0; - size_t buflen = 0; - unsigned char* buf = NULL; - unsigned long i = 0; - long rlen = 0; + int ret = 0; + long off = 0; + long numberOfBits = 0; + size_t buflen = 0; + unsigned char* buf = NULL; + unsigned long i = 0; + long rlen = 0; ret = value_count(a, &rlen); if (ret) @@ -126,7 +130,8 @@ int grib_accessor_class_spd_t::pack_long(grib_accessor* a, const long* val, size return ret; } -int grib_accessor_class_spd_t::value_count(grib_accessor* a, long* numberOfElements){ +int grib_accessor_class_spd_t::value_count(grib_accessor* a, long* numberOfElements) +{ grib_accessor_spd_t* self = (grib_accessor_spd_t*)a; int ret; *numberOfElements = 0; @@ -142,14 +147,17 @@ int grib_accessor_class_spd_t::value_count(grib_accessor* a, long* numberOfEleme return ret; } -long grib_accessor_class_spd_t::byte_offset(grib_accessor* a){ +long grib_accessor_class_spd_t::byte_offset(grib_accessor* a) +{ return a->offset; } -void grib_accessor_class_spd_t::update_size(grib_accessor* a, size_t s){ +void grib_accessor_class_spd_t::update_size(grib_accessor* a, size_t s) +{ a->length = s; } -long grib_accessor_class_spd_t::next_offset(grib_accessor* a){ +long grib_accessor_class_spd_t::next_offset(grib_accessor* a) +{ return a->byte_offset() + a->length; } diff --git a/src/accessor/grib_accessor_class_uint16.cc b/src/accessor/grib_accessor_class_uint16.cc index 1d9158ac0..b17aa37cf 100644 --- a/src/accessor/grib_accessor_class_uint16.cc +++ b/src/accessor/grib_accessor_class_uint16.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,11 +10,12 @@ #include "grib_accessor_class_uint16.h" -grib_accessor_class_uint16_t _grib_accessor_class_uint16{"uint16"}; +grib_accessor_class_uint16_t _grib_accessor_class_uint16{ "uint16" }; grib_accessor_class* grib_accessor_class_uint16 = &_grib_accessor_class_uint16; -int grib_accessor_class_uint16_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_uint16_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ long value = 0; /*long pos = a->offset;*/ /*unsigned char* data = grib_handle_of_accessor(a)->buffer->data;*/ @@ -29,6 +29,7 @@ int grib_accessor_class_uint16_t::unpack_long(grib_accessor* a, long* val, size_ return GRIB_NOT_IMPLEMENTED; } -int grib_accessor_class_uint16_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_uint16_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_LONG; } diff --git a/src/accessor/grib_accessor_class_uint32.cc b/src/accessor/grib_accessor_class_uint32.cc index 7518cb68c..015646cbb 100644 --- a/src/accessor/grib_accessor_class_uint32.cc +++ b/src/accessor/grib_accessor_class_uint32.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,11 +10,12 @@ #include "grib_accessor_class_uint32.h" -grib_accessor_class_uint32_t _grib_accessor_class_uint32{"uint32"}; +grib_accessor_class_uint32_t _grib_accessor_class_uint32{ "uint32" }; grib_accessor_class* grib_accessor_class_uint32 = &_grib_accessor_class_uint32; -int grib_accessor_class_uint32_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_uint32_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ long value = 0; /* long pos = a->offset; */ /* unsigned char* data = grib_handle_of_accessor(a)->buffer->data; */ @@ -29,6 +29,7 @@ int grib_accessor_class_uint32_t::unpack_long(grib_accessor* a, long* val, size_ return GRIB_NOT_IMPLEMENTED; } -int grib_accessor_class_uint32_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_uint32_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_LONG; } diff --git a/src/accessor/grib_accessor_class_uint32_little_endian.cc b/src/accessor/grib_accessor_class_uint32_little_endian.cc index b8733bd0a..fa8aeb03a 100644 --- a/src/accessor/grib_accessor_class_uint32_little_endian.cc +++ b/src/accessor/grib_accessor_class_uint32_little_endian.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,11 +10,12 @@ #include "grib_accessor_class_uint32_little_endian.h" -grib_accessor_class_uint32_little_endian_t _grib_accessor_class_uint32_little_endian{"uint32_little_endian"}; +grib_accessor_class_uint32_little_endian_t _grib_accessor_class_uint32_little_endian{ "uint32_little_endian" }; grib_accessor_class* grib_accessor_class_uint32_little_endian = &_grib_accessor_class_uint32_little_endian; -int grib_accessor_class_uint32_little_endian_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_uint32_little_endian_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ long value = 0; /* long pos = a->offset; */ /* unsigned char* data = grib_handle_of_accessor(a)->buffer->data; */ @@ -29,6 +29,7 @@ int grib_accessor_class_uint32_little_endian_t::unpack_long(grib_accessor* a, lo return GRIB_NOT_IMPLEMENTED; } -int grib_accessor_class_uint32_little_endian_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_uint32_little_endian_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_LONG; } diff --git a/src/accessor/grib_accessor_class_uint64.cc b/src/accessor/grib_accessor_class_uint64.cc index 4c79f7bb4..a800a4630 100644 --- a/src/accessor/grib_accessor_class_uint64.cc +++ b/src/accessor/grib_accessor_class_uint64.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,11 +10,12 @@ #include "grib_accessor_class_uint64.h" -grib_accessor_class_uint64_t _grib_accessor_class_uint64{"uint64"}; +grib_accessor_class_uint64_t _grib_accessor_class_uint64{ "uint64" }; grib_accessor_class* grib_accessor_class_uint64 = &_grib_accessor_class_uint64; -int grib_accessor_class_uint64_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_uint64_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ long value = 0; long pos = a->offset; unsigned char* data = grib_handle_of_accessor(a)->buffer->data; @@ -45,6 +45,7 @@ int grib_accessor_class_uint64_t::unpack_long(grib_accessor* a, long* val, size_ return GRIB_SUCCESS; } -int grib_accessor_class_uint64_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_uint64_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_LONG; } diff --git a/src/accessor/grib_accessor_class_uint64_little_endian.cc b/src/accessor/grib_accessor_class_uint64_little_endian.cc index 81d0fed37..25e537dbe 100644 --- a/src/accessor/grib_accessor_class_uint64_little_endian.cc +++ b/src/accessor/grib_accessor_class_uint64_little_endian.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,11 +10,12 @@ #include "grib_accessor_class_uint64_little_endian.h" -grib_accessor_class_uint64_little_endian_t _grib_accessor_class_uint64_little_endian{"uint64_little_endian"}; +grib_accessor_class_uint64_little_endian_t _grib_accessor_class_uint64_little_endian{ "uint64_little_endian" }; grib_accessor_class* grib_accessor_class_uint64_little_endian = &_grib_accessor_class_uint64_little_endian; -int grib_accessor_class_uint64_little_endian_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_uint64_little_endian_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ long value = 0; long pos = a->offset; unsigned char* data = grib_handle_of_accessor(a)->buffer->data; @@ -45,6 +45,7 @@ int grib_accessor_class_uint64_little_endian_t::unpack_long(grib_accessor* a, lo return GRIB_SUCCESS; } -int grib_accessor_class_uint64_little_endian_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_uint64_little_endian_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_LONG; } diff --git a/src/accessor/grib_accessor_class_uint8.cc b/src/accessor/grib_accessor_class_uint8.cc index ce5d88f98..90236aa50 100644 --- a/src/accessor/grib_accessor_class_uint8.cc +++ b/src/accessor/grib_accessor_class_uint8.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,13 +10,14 @@ #include "grib_accessor_class_uint8.h" -grib_accessor_class_uint8_t _grib_accessor_class_uint8{"uint8"}; +grib_accessor_class_uint8_t _grib_accessor_class_uint8{ "uint8" }; grib_accessor_class* grib_accessor_class_uint8 = &_grib_accessor_class_uint8; -int grib_accessor_class_uint8_t::unpack_long(grib_accessor* a, long* val, size_t* len){ - long value = 0; - long pos = a->offset; +int grib_accessor_class_uint8_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ + long value = 0; + long pos = a->offset; unsigned char* data = grib_handle_of_accessor(a)->buffer->data; if (*len < 1) { @@ -31,6 +31,7 @@ int grib_accessor_class_uint8_t::unpack_long(grib_accessor* a, long* val, size_t return GRIB_SUCCESS; } -int grib_accessor_class_uint8_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_uint8_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_LONG; } From 9f31ef8a394b66a6d631bbc76f85d99dea624eb7 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Thu, 25 Jul 2024 10:55:06 +0000 Subject: [PATCH 12/63] ECC-1883: Better error message when accessor not found --- src/grib_value.cc | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/grib_value.cc b/src/grib_value.cc index 32c637964..51a839da4 100644 --- a/src/grib_value.cc +++ b/src/grib_value.cc @@ -62,6 +62,18 @@ static void print_debug_info__set_array(grib_handle* h, const char* func, const fprintf(stderr, "min=%.10g, max=%.10g\n",minVal,maxVal); } +static void print_error_no_accessor(const grib_context* c, const char* name) +{ + grib_context_log(c, GRIB_LOG_ERROR, "Unable to find accessor %s", name); + const char* dpath = getenv("ECCODES_DEFINITION_PATH"); + if (dpath != NULL) { + grib_context_log(c, GRIB_LOG_ERROR, + "Hint: This could be a symptom of an issue with your definitions.\n\t" + "The environment variable ECCODES_DEFINITION_PATH is defined and set to '%s'.\n\t" + "Please use the latest definitions.", dpath); + } +} + int grib_set_expression(grib_handle* h, const char* name, grib_expression* e) { grib_accessor* a = grib_find_accessor(h, name); @@ -103,7 +115,8 @@ int grib_set_long_internal(grib_handle* h, const char* name, long val) return ret; } - grib_context_log(c, GRIB_LOG_ERROR, "Unable to find accessor %s", name); + print_error_no_accessor(c, name); + //grib_context_log(c, GRIB_LOG_ERROR, "Unable to find accessor %s", name); return GRIB_NOT_FOUND; } @@ -162,7 +175,8 @@ int grib_set_double_internal(grib_handle* h, const char* name, double val) return ret; } - grib_context_log(h->context, GRIB_LOG_ERROR, "Unable to find accessor %s", name); + print_error_no_accessor(h->context, name); + //grib_context_log(h->context, GRIB_LOG_ERROR, "Unable to find accessor %s", name); return GRIB_NOT_FOUND; } @@ -389,7 +403,8 @@ int grib_set_string_internal(grib_handle* h, const char* name, return ret; } - grib_context_log(h->context, GRIB_LOG_ERROR, "Unable to find accessor %s", name); + print_error_no_accessor(h->context, name); + //grib_context_log(h->context, GRIB_LOG_ERROR, "Unable to find accessor %s", name); return GRIB_NOT_FOUND; } From 339d918734b85060bbc167aa0ba7e33651aa9c1b Mon Sep 17 00:00:00 2001 From: Eugen Betke Date: Wed, 24 Jul 2024 10:50:39 +0200 Subject: [PATCH 13/63] Use GitHub token to access regression tests --- .github/ci-nightly-test.sh | 17 ++++++++++++----- .github/workflows/reusable-ci-hpc.yml | 6 +++++- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/.github/ci-nightly-test.sh b/.github/ci-nightly-test.sh index f83f9ad06..4bf7c14ce 100644 --- a/.github/ci-nightly-test.sh +++ b/.github/ci-nightly-test.sh @@ -14,12 +14,19 @@ module load python3 version=$(cat $TMPDIR/eccodes/VERSION) -# regression_suite_dir=$TMPDIR/eccodes-regression-tests -# mkdir -p $regression_suite_dir -# git clone git@github.com:ecmwf/eccodes-regression-tests.git $regression_suite_dir -# cd $regression_suite_dir +env_check_param="$1" +echo env_check: $env_check_param +echo ENV_CHECK: $ENV_CHECK -cd ~masn/REGRESSION_TESTING/ecCodes +regression_suite_dir=$TMPDIR/eccodes-regression-tests +mkdir -p $regression_suite_dir +git clone https://oauth2:${GH_TOKEN}@github.com/ecmwf/eccodes-regression-tests.git $regression_suite_dir +#git clone https://${GH_TOKEN}:@github.com/ecmwf/eccodes-regression-tests.git $regression_suite_dir +#git clone https://${GH_TOKEN}:x-oauth-basic@github.com/ecmwf/eccodes-regression-tests.git $regression_suite_dir +#git clone https://${GH_TOKEN}@github.com/ecmwf/eccodes-regression-tests.git $regression_suite_dir +cd $regression_suite_dir + +#cd ~masn/REGRESSION_TESTING/ecCodes ./par-suite.sh -w $TMPDIR/install/eccodes/$version # For debugging specific test(s) diff --git a/.github/workflows/reusable-ci-hpc.yml b/.github/workflows/reusable-ci-hpc.yml index 1176afc9d..118738153 100644 --- a/.github/workflows/reusable-ci-hpc.yml +++ b/.github/workflows/reusable-ci-hpc.yml @@ -11,6 +11,10 @@ on: type: boolean default: false +env: + GH_TOKEN: ${{ secrets.GH_REPO_READ_TOKEN }} + ENV_CHECK: 'SUCCESS' + jobs: ci-hpc: name: ci-hpc @@ -28,6 +32,6 @@ jobs: --cmake-options: | -DENABLE_EXTRA_TESTS=1 ${{ inputs.nightly_test && '-DENABLE_PNG=1,-DENABLE_NETCDF=1' || '' }} - ${{ inputs.nightly_test && '--post-script: .github/ci-nightly-test.sh' || '' }} + ${{ inputs.nightly_test && '--post-script: .github/ci-nightly-test.sh ${ENV_CHECK}' || '' }} ${{ inputs.nightly_test && '--force-build: true' || '' }} secrets: inherit From 8bcbdf819730ac57f24a711a765765a775cb1ef9 Mon Sep 17 00:00:00 2001 From: Eugen Betke Date: Thu, 25 Jul 2024 11:25:05 +0200 Subject: [PATCH 14/63] Pass environment variables to the remote machine --- .github/ci-nightly-test.sh | 9 +-------- .github/workflows/reusable-ci-hpc.yml | 7 ++----- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/.github/ci-nightly-test.sh b/.github/ci-nightly-test.sh index 4bf7c14ce..1a3dd3f24 100644 --- a/.github/ci-nightly-test.sh +++ b/.github/ci-nightly-test.sh @@ -14,16 +14,9 @@ module load python3 version=$(cat $TMPDIR/eccodes/VERSION) -env_check_param="$1" -echo env_check: $env_check_param -echo ENV_CHECK: $ENV_CHECK - regression_suite_dir=$TMPDIR/eccodes-regression-tests mkdir -p $regression_suite_dir -git clone https://oauth2:${GH_TOKEN}@github.com/ecmwf/eccodes-regression-tests.git $regression_suite_dir -#git clone https://${GH_TOKEN}:@github.com/ecmwf/eccodes-regression-tests.git $regression_suite_dir -#git clone https://${GH_TOKEN}:x-oauth-basic@github.com/ecmwf/eccodes-regression-tests.git $regression_suite_dir -#git clone https://${GH_TOKEN}@github.com/ecmwf/eccodes-regression-tests.git $regression_suite_dir +git clone https://${GH_TOKEN}@github.com/ecmwf/eccodes-regression-tests.git $regression_suite_dir cd $regression_suite_dir #cd ~masn/REGRESSION_TESTING/ecCodes diff --git a/.github/workflows/reusable-ci-hpc.yml b/.github/workflows/reusable-ci-hpc.yml index 118738153..b69c04b24 100644 --- a/.github/workflows/reusable-ci-hpc.yml +++ b/.github/workflows/reusable-ci-hpc.yml @@ -11,10 +11,6 @@ on: type: boolean default: false -env: - GH_TOKEN: ${{ secrets.GH_REPO_READ_TOKEN }} - ENV_CHECK: 'SUCCESS' - jobs: ci-hpc: name: ci-hpc @@ -22,6 +18,7 @@ jobs: with: name-prefix: eccodes- build-inputs: | + --env: 'GH_TOKEN=${{ secrets.GH_REPO_READ_TOKEN }}' --package: ${{ inputs.eccodes || 'ecmwf/eccodes@develop' }} --modules: | ecbuild @@ -32,6 +29,6 @@ jobs: --cmake-options: | -DENABLE_EXTRA_TESTS=1 ${{ inputs.nightly_test && '-DENABLE_PNG=1,-DENABLE_NETCDF=1' || '' }} - ${{ inputs.nightly_test && '--post-script: .github/ci-nightly-test.sh ${ENV_CHECK}' || '' }} + ${{ inputs.nightly_test && '--post-script: .github/ci-nightly-test.sh' || '' }} ${{ inputs.nightly_test && '--force-build: true' || '' }} secrets: inherit From 83bd0eba05f2a0a4094c70f26f1e63328c2ffd57 Mon Sep 17 00:00:00 2001 From: Eugen Betke Date: Thu, 25 Jul 2024 11:27:51 +0200 Subject: [PATCH 15/63] Change string syntax --- .github/workflows/reusable-ci-hpc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-ci-hpc.yml b/.github/workflows/reusable-ci-hpc.yml index b69c04b24..7d1c08ecc 100644 --- a/.github/workflows/reusable-ci-hpc.yml +++ b/.github/workflows/reusable-ci-hpc.yml @@ -18,7 +18,7 @@ jobs: with: name-prefix: eccodes- build-inputs: | - --env: 'GH_TOKEN=${{ secrets.GH_REPO_READ_TOKEN }}' + --env: 'GH_TOKEN='${{ secrets.GH_REPO_READ_TOKEN }} --package: ${{ inputs.eccodes || 'ecmwf/eccodes@develop' }} --modules: | ecbuild From cd68113dc741e3cae641b501b20e8eac25201e90 Mon Sep 17 00:00:00 2001 From: Dusan Figala Date: Thu, 25 Jul 2024 11:57:29 +0200 Subject: [PATCH 16/63] Pass token to to HPC using env var expansion --- .github/workflows/reusable-ci-hpc.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-ci-hpc.yml b/.github/workflows/reusable-ci-hpc.yml index 7d1c08ecc..5196704c9 100644 --- a/.github/workflows/reusable-ci-hpc.yml +++ b/.github/workflows/reusable-ci-hpc.yml @@ -11,6 +11,9 @@ on: type: boolean default: false +env: + GH_TOKEN: ${{ secrets.GH_REPO_READ_TOKEN }} + jobs: ci-hpc: name: ci-hpc @@ -18,7 +21,7 @@ jobs: with: name-prefix: eccodes- build-inputs: | - --env: 'GH_TOKEN='${{ secrets.GH_REPO_READ_TOKEN }} + --env: GH_TOKEN=${GH_TOKEN} --package: ${{ inputs.eccodes || 'ecmwf/eccodes@develop' }} --modules: | ecbuild From e1259aa68bd681c6a4ddbb2cbf94e1c30cbbaa47 Mon Sep 17 00:00:00 2001 From: Dusan Figala Date: Thu, 25 Jul 2024 12:17:05 +0200 Subject: [PATCH 17/63] Remove deprecated reusable-ci workflows --- .github/workflows/reusable-ci-hpc.yml | 37 --------------------------- .github/workflows/reusable-ci.yml | 30 ---------------------- 2 files changed, 67 deletions(-) delete mode 100644 .github/workflows/reusable-ci-hpc.yml delete mode 100644 .github/workflows/reusable-ci.yml diff --git a/.github/workflows/reusable-ci-hpc.yml b/.github/workflows/reusable-ci-hpc.yml deleted file mode 100644 index 5196704c9..000000000 --- a/.github/workflows/reusable-ci-hpc.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: reusable-ci-hpc - -on: - workflow_call: - inputs: - eccodes: - required: false - type: string - nightly_test: - required: false - type: boolean - default: false - -env: - GH_TOKEN: ${{ secrets.GH_REPO_READ_TOKEN }} - -jobs: - ci-hpc: - name: ci-hpc - uses: ecmwf-actions/reusable-workflows/.github/workflows/ci-hpc.yml@v2 - with: - name-prefix: eccodes- - build-inputs: | - --env: GH_TOKEN=${GH_TOKEN} - --package: ${{ inputs.eccodes || 'ecmwf/eccodes@develop' }} - --modules: | - ecbuild - ninja - aec - netcdf4 - --parallel: 64 - --cmake-options: | - -DENABLE_EXTRA_TESTS=1 - ${{ inputs.nightly_test && '-DENABLE_PNG=1,-DENABLE_NETCDF=1' || '' }} - ${{ inputs.nightly_test && '--post-script: .github/ci-nightly-test.sh' || '' }} - ${{ inputs.nightly_test && '--force-build: true' || '' }} - secrets: inherit diff --git a/.github/workflows/reusable-ci.yml b/.github/workflows/reusable-ci.yml deleted file mode 100644 index 25cc1765e..000000000 --- a/.github/workflows/reusable-ci.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: reusable-ci - -on: - workflow_call: - inputs: - eccodes: - required: false - type: string - codecov: - required: false - type: boolean - default: false - -jobs: - ci: - name: eccodes-ci - uses: ecmwf-actions/reusable-workflows/.github/workflows/ci.yml@v2 - with: - repository: ${{ inputs.eccodes || 'ecmwf/eccodes@develop' }} - name_prefix: eccodes- - codecov_upload: ${{ inputs.codecov }} - build_package_inputs: | - repository: ${{ inputs.eccodes || 'ecmwf/eccodes@develop' }} - self_coverage: true - dependencies: | - ecmwf/ecbuild - MathisRosenhauer/libaec@master - dependency_branch: develop - parallelism_factor: 8 - secrets: inherit From e38656f6969418e23e76b5c78e2298005250a71f Mon Sep 17 00:00:00 2001 From: Dusan Figala Date: Thu, 25 Jul 2024 12:17:49 +0200 Subject: [PATCH 18/63] Switch nightly hpc ci to composite action --- .github/nightly-ci-hpc-config.yml | 15 +++++++++++++++ .github/workflows/nightly.yml | 18 ++++++++++++------ 2 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 .github/nightly-ci-hpc-config.yml diff --git a/.github/nightly-ci-hpc-config.yml b/.github/nightly-ci-hpc-config.yml new file mode 100644 index 000000000..be82c366a --- /dev/null +++ b/.github/nightly-ci-hpc-config.yml @@ -0,0 +1,15 @@ +build: + modules: + - ecbuild + - ninja + - aec + - netcdf4 + parallel: 64 + cmake_options: + - -DENABLE_EXTRA_TESTS=1 + - -DENABLE_PNG=1 + - -DENABLE_NETCDF=1 + force_build: true + post_script: .github/ci-nightly-test.sh + env: + - GH_TOKEN=${GH_TOKEN} diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index e7bd39400..d114942b6 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -5,15 +5,21 @@ on: # Run at 20:00 UTC every day (on default branch) schedule: - - cron: '0 20 * * *' + - cron: "0 20 * * *" jobs: test-hpc: - uses: ./.github/workflows/reusable-ci-hpc.yml - with: - eccodes: ecmwf/eccodes@${{ github.event.pull_request.head.sha || github.sha }} - nightly_test: true - secrets: inherit + runs-on: [self-hosted, linux, hpc] + env: + GH_TOKEN: ${{ secrets.GH_REPO_READ_TOKEN }} + steps: + - uses: ecmwf-actions/reusable-workflows/ci-hpc@v2 + with: + github_user: ${{ secrets.BUILD_PACKAGE_HPC_GITHUB_USER }} + github_token: ${{ secrets.GH_REPO_READ_TOKEN }} + troika_user: ${{ secrets.HPC_CI_SSH_USER }} + repository: ecmwf/eccodes@${{ github.event.pull_request.head.sha || github.sha }} + build_config: .github/nightly-ci-hpc-config.yml test-macos: strategy: From 07212f071fcb2c790956b5e37c4e0bae2250cddc Mon Sep 17 00:00:00 2001 From: Dusan Figala Date: Thu, 25 Jul 2024 12:23:30 +0200 Subject: [PATCH 19/63] Set compiler bins for nightly ci --- .github/nightly-ci-hpc-config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/nightly-ci-hpc-config.yml b/.github/nightly-ci-hpc-config.yml index be82c366a..b31c16a44 100644 --- a/.github/nightly-ci-hpc-config.yml +++ b/.github/nightly-ci-hpc-config.yml @@ -13,3 +13,6 @@ build: post_script: .github/ci-nightly-test.sh env: - GH_TOKEN=${GH_TOKEN} + compiler_cc: gcc + compiler_cxx: g++ + compiler_fc: gfortran From ad000e37137603bb09733a2b3b5d1670375d2fb1 Mon Sep 17 00:00:00 2001 From: shahramn Date: Thu, 25 Jul 2024 15:42:46 +0100 Subject: [PATCH 20/63] GitHub nightly: Add set -u for unbound variables --- .github/ci-nightly-test.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/ci-nightly-test.sh b/.github/ci-nightly-test.sh index 1a3dd3f24..cf7567c5b 100644 --- a/.github/ci-nightly-test.sh +++ b/.github/ci-nightly-test.sh @@ -1,6 +1,6 @@ #!/bin/bash -set -e +set -eu # We do not want to come across the ecCodes tools in the toolbox module unload ecmwf-toolbox @@ -14,12 +14,16 @@ module load python3 version=$(cat $TMPDIR/eccodes/VERSION) +# Note: +# The environment variable "GH_TOKEN" needs to be there for the clone to succeed +# + regression_suite_dir=$TMPDIR/eccodes-regression-tests mkdir -p $regression_suite_dir git clone https://${GH_TOKEN}@github.com/ecmwf/eccodes-regression-tests.git $regression_suite_dir cd $regression_suite_dir -#cd ~masn/REGRESSION_TESTING/ecCodes +# Launch the regression tests in parallel (This script uses GNU parallel) ./par-suite.sh -w $TMPDIR/install/eccodes/$version # For debugging specific test(s) From 5cc5a6ad1cb184ce795d85fa4fcaea6f1c460a64 Mon Sep 17 00:00:00 2001 From: shahramn Date: Thu, 25 Jul 2024 15:43:37 +0100 Subject: [PATCH 21/63] New function grib2_choose_PDTN --- src/eccodes_prototypes.h | 1 + src/grib_util.cc | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/src/eccodes_prototypes.h b/src/eccodes_prototypes.h index e0a7d3e08..e0582076d 100644 --- a/src/eccodes_prototypes.h +++ b/src/eccodes_prototypes.h @@ -872,6 +872,7 @@ int grib2_is_PDTN_ChemicalSourceSink(long productDefinitionTemplateNumber); int grib2_is_PDTN_ChemicalDistFunc(long productDefinitionTemplateNumber); int grib2_is_PDTN_Aerosol(long productDefinitionTemplateNumber); int grib2_is_PDTN_AerosolOptical(long productDefinitionTemplateNumber); +int grib2_choose_PDTN(int current_PDTN, bool is_det, bool is_instant); int grib2_select_PDTN(int is_eps, int is_instant, int is_chemical, int is_chemical_srcsink, int is_chemical_distfn, int is_aerosol, int is_aerosol_optical); size_t sum_of_pl_array(const long* pl, size_t plsize); int grib_is_earth_oblate(const grib_handle* h); diff --git a/src/grib_util.cc b/src/grib_util.cc index 9820b3028..fd586abd6 100644 --- a/src/grib_util.cc +++ b/src/grib_util.cc @@ -1949,6 +1949,45 @@ int grib2_is_PDTN_AerosolOptical(long pdtn) pdtn == 49); } +// Arguments: +// is_det: true for deterministic, false for ensemble +// is_instant: true for instantaneous (point-in-time), false for interval-based (statistically processed) +int grib2_choose_PDTN(int current_PDTN, bool is_det, bool is_instant) +{ + const bool is_ens = !is_det; + const bool is_interval = !is_instant; + + if (grib2_is_PDTN_Plain(current_PDTN)) { + if (is_instant && is_ens) return 1; + if (is_instant && is_det) return 0; + if (is_interval && is_ens) return 11; + if (is_interval && is_det) return 8; + } + + if (grib2_is_PDTN_Chemical(current_PDTN)) { + if (is_instant && is_ens) return 41; + if (is_instant && is_det) return 40; + if (is_interval && is_ens) return 43; + if (is_interval && is_det) return 42; + } + + if (grib2_is_PDTN_ChemicalSourceSink(current_PDTN)) { + if (is_instant && is_ens) return 77; + if (is_instant && is_det) return 76; + if (is_interval && is_ens) return 79; + if (is_interval && is_det) return 78; + } + + if (grib2_is_PDTN_ChemicalDistFunc(current_PDTN)) { + if (is_instant && is_ens) return 58; + if (is_instant && is_det) return 57; + if (is_interval && is_ens) return 68; + if (is_interval && is_det) return 67; + } + + return current_PDTN; // no change +} + // Given some information about the type of grib2 parameter, return the productDefinitionTemplateNumber to use. // All arguments are booleans (0 or 1) // is_eps: ensemble or deterministic From 84a2997883160e65a02bb958e56e9fa982430cad Mon Sep 17 00:00:00 2001 From: shahramn Date: Thu, 25 Jul 2024 15:44:19 +0100 Subject: [PATCH 22/63] Remove unnecessary grib2 product template setting --- .../grib_accessor_class_local_definition.cc | 180 +++++++++--------- 1 file changed, 91 insertions(+), 89 deletions(-) diff --git a/src/accessor/grib_accessor_class_local_definition.cc b/src/accessor/grib_accessor_class_local_definition.cc index 5fab28691..0646382ca 100644 --- a/src/accessor/grib_accessor_class_local_definition.cc +++ b/src/accessor/grib_accessor_class_local_definition.cc @@ -224,98 +224,100 @@ int grib_accessor_class_local_definition_t::pack_long(grib_accessor* a, const lo productDefinitionTemplateNumberNew = -1; // disable PDT selection } - // Adjust for atmospheric chemical constituents - if (chemical == 1) { - if (eps == 1) { - if (isInstant) { - productDefinitionTemplateNumberNew = 41; - } - else { - productDefinitionTemplateNumberNew = 43; - } - } - else { - if (isInstant) { - productDefinitionTemplateNumberNew = 40; - } - else { - productDefinitionTemplateNumberNew = 42; - } - } - } - // Adjust for atmospheric chemical constituents based on a distribution function - if (chemical_distfn == 1) { - if (eps == 1) { - if (isInstant) { - productDefinitionTemplateNumberNew = 58; - } - else { - productDefinitionTemplateNumberNew = 68; - } - } - else { - if (isInstant) { - productDefinitionTemplateNumberNew = 57; - } - else { - productDefinitionTemplateNumberNew = 67; - } - } - } + // // Adjust for atmospheric chemical constituents + // if (chemical == 1) { + // if (eps == 1) { + // if (isInstant) { + // Assert(productDefinitionTemplateNumber == 41); + // } + // else { + // Assert(productDefinitionTemplateNumber == 43); + // } + // } + // else { + // if (isInstant) { + // Assert(productDefinitionTemplateNumber == 40); + // } + // else { + // Assert(productDefinitionTemplateNumber == 42); + // } + // } + // } - // Adjust for atmospheric chemical constituents with source or sink - if (chemical_srcsink == 1) { - if (eps == 1) { - if (isInstant) { - productDefinitionTemplateNumberNew = 77; - } - else { - productDefinitionTemplateNumberNew = 79; - } - } - else { - if (isInstant) { - productDefinitionTemplateNumberNew = 76; - } - else { - productDefinitionTemplateNumberNew = 78; - } - } - } + // // Adjust for atmospheric chemical constituents based on a distribution function + // if (chemical_distfn == 1) { + // if (eps == 1) { + // if (isInstant) { + // Assert(productDefinitionTemplateNumber == 58); + // } + // else { + // Assert(productDefinitionTemplateNumber == 68); + // } + // } + // else { + // if (isInstant) { + // Assert(productDefinitionTemplateNumber == 57); + // } + // else { + // Assert(productDefinitionTemplateNumber == 67); + // } + // } + // } + + // // Adjust for atmospheric chemical constituents with source or sink + // if (chemical_srcsink == 1) { + // if (eps == 1) { + // if (isInstant) { + // Assert(productDefinitionTemplateNumber == 77); + // } + // else { + // Assert(productDefinitionTemplateNumber == 79); + // } + // } + // else { + // if (isInstant) { + // Assert(productDefinitionTemplateNumber == 76); + // } + // else { + // Assert(productDefinitionTemplateNumber == 78); + // } + // } + // } // Adjust for aerosols - if (aerosol == 1) { - if (eps == 1) { - if (isInstant) { - productDefinitionTemplateNumberNew = 45; - } - else { - // productDefinitionTemplateNumberNew = 47; This PDT is deprecated - productDefinitionTemplateNumberNew = 85; - } - } - else { - if (isInstant) { - productDefinitionTemplateNumberNew = 48; // 44 is deprecated*/ - } - else { - productDefinitionTemplateNumberNew = 46; - } - } - } - // Adjust for optical properties of aerosol - if (aerosol_optical == 1) { - if (eps == 1) { - if (isInstant) { - productDefinitionTemplateNumberNew = 49; - } - } - else { - if (isInstant) { - productDefinitionTemplateNumberNew = 48; - } - } - } + // if (aerosol == 1) { + // if (eps == 1) { + // if (isInstant) { + // productDefinitionTemplateNumberNew = 45; + // } + // else { + // // productDefinitionTemplateNumberNew = 47; This PDT is deprecated + // productDefinitionTemplateNumberNew = 85; + // } + // } + // else { + // if (isInstant) { + // productDefinitionTemplateNumberNew = 48; // 44 is deprecated*/ + // } + // else { + // productDefinitionTemplateNumberNew = 46; + // } + // } + // } + + // // Adjust for optical properties of aerosol + // if (aerosol_optical == 1) { + // if (eps == 1) { + // if (isInstant) { + // productDefinitionTemplateNumberNew = 49; + // } + // } + // else { + // if (isInstant) { + // productDefinitionTemplateNumberNew = 48; + // } + // } + // } if (productDefinitionTemplateNumberNew >=0 && productDefinitionTemplateNumber != productDefinitionTemplateNumberNew) { if (a->context->debug) { From 8265cf745d419748c32ef2b8350bb833b028338c Mon Sep 17 00:00:00 2001 From: shahramn Date: Thu, 25 Jul 2024 16:12:19 +0100 Subject: [PATCH 23/63] Testing: Rename --- tests/CMakeLists.txt | 2 +- tests/{grib_local.sh => grib_local_ECMWF.sh} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename tests/{grib_local.sh => grib_local_ECMWF.sh} (100%) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index cedaf00d3..755a84654 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -332,7 +332,7 @@ if( HAVE_BUILD_TOOLS ) grib_bitsPerValue grib_get_fail grib_missing - grib_local + grib_local_ECMWF grib_step grib_set grib_set_fail diff --git a/tests/grib_local.sh b/tests/grib_local_ECMWF.sh similarity index 100% rename from tests/grib_local.sh rename to tests/grib_local_ECMWF.sh From dc88a0a8f90699e087df588000019462d40bca83 Mon Sep 17 00:00:00 2001 From: shahramn Date: Thu, 25 Jul 2024 17:00:36 +0100 Subject: [PATCH 24/63] Testing: grib2_choose_PDTN --- tests/unit_tests.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/unit_tests.cc b/tests/unit_tests.cc index d5e228124..22a394548 100644 --- a/tests/unit_tests.cc +++ b/tests/unit_tests.cc @@ -670,6 +670,18 @@ void test_codes_get_type_name() Assert( STR_EQUAL("section", grib_get_type_name(GRIB_TYPE_SECTION)) ); } +void test_grib2_choose_PDTN() +{ + printf("Running %s ...\n", __func__); + int det = true; + int instant = true; + + Assert( 0 == grib2_choose_PDTN(0, det, instant) ); + Assert( 8 == grib2_choose_PDTN(0, det, !instant) ); + Assert( 1 == grib2_choose_PDTN(0, !det, instant) ); + Assert( 11 == grib2_choose_PDTN(0, !det, !instant) ); +} + void test_grib2_select_PDTN() { printf("Running %s ...\n", __func__); @@ -788,6 +800,7 @@ int main(int argc, char** argv) test_string_remove_char(); test_grib2_select_PDTN(); + test_grib2_choose_PDTN(); return 0; } From e319ebe4424111851f80a80cfbd8fb14b3858e60 Mon Sep 17 00:00:00 2001 From: shahramn Date: Thu, 25 Jul 2024 17:46:55 +0100 Subject: [PATCH 25/63] GRIB2 template selection --- src/accessor/grib_accessor_class_g2_eps.cc | 95 +++++++++++----------- src/grib_util.cc | 7 ++ 2 files changed, 56 insertions(+), 46 deletions(-) diff --git a/src/accessor/grib_accessor_class_g2_eps.cc b/src/accessor/grib_accessor_class_g2_eps.cc index dfe88ad28..6eff9619b 100644 --- a/src/accessor/grib_accessor_class_g2_eps.cc +++ b/src/accessor/grib_accessor_class_g2_eps.cc @@ -93,7 +93,8 @@ int grib_accessor_class_g2_eps_t::pack_long(grib_accessor* a, const long* val, s derivedForecast = 4; } else { - productDefinitionTemplateNumberNew = 1; + //productDefinitionTemplateNumberNew = 1; + productDefinitionTemplateNumberNew = grib2_choose_PDTN(productDefinitionTemplateNumber, false, isInstant); } } else { @@ -107,61 +108,63 @@ int grib_accessor_class_g2_eps_t::pack_long(grib_accessor* a, const long* val, s derivedForecast = 4; } else { - productDefinitionTemplateNumberNew = 11; + // productDefinitionTemplateNumberNew = 11; + productDefinitionTemplateNumberNew = grib2_choose_PDTN(productDefinitionTemplateNumber, false, false); } } } else { - if (isInstant) { - productDefinitionTemplateNumberNew = 0; - } - else { - productDefinitionTemplateNumberNew = 8; - } + productDefinitionTemplateNumberNew = grib2_choose_PDTN(productDefinitionTemplateNumber, true, isInstant); + // if (isInstant) { + // productDefinitionTemplateNumberNew = 0; + // } + // else { + // productDefinitionTemplateNumberNew = 8; + // } } // Adjust for chemical species - if (chemical == 1) { - if (eps == 1) { - if (isInstant) { - productDefinitionTemplateNumberNew = 41; - } - else { - productDefinitionTemplateNumberNew = 43; - } - } - else { - if (isInstant) { - productDefinitionTemplateNumberNew = 40; - } - else { - productDefinitionTemplateNumberNew = 42; - } - } - } + // if (chemical == 1) { + // if (eps == 1) { + // if (isInstant) { + // productDefinitionTemplateNumberNew = 41; + // } + // else { + // productDefinitionTemplateNumberNew = 43; + // } + // } + // else { + // if (isInstant) { + // productDefinitionTemplateNumberNew = 40; + // } + // else { + // productDefinitionTemplateNumberNew = 42; + // } + // } + // } // Adjust for aerosols - if (aerosol == 1) { - if (eps == 1) { - if (isInstant) { - productDefinitionTemplateNumberNew = 45; - } - else { - // productDefinitionTemplateNumberNew = 47; This PDT is deprecated - productDefinitionTemplateNumberNew = 85; - } - } - else { - if (isInstant) { - productDefinitionTemplateNumberNew = 48; // 44 is deprecated*/ - } - else { - productDefinitionTemplateNumberNew = 46; - } - } - } + // if (aerosol == 1) { + // if (eps == 1) { + // if (isInstant) { + // productDefinitionTemplateNumberNew = 45; + // } + // else { + // // productDefinitionTemplateNumberNew = 47; This PDT is deprecated + // productDefinitionTemplateNumberNew = 85; + // } + // } + // else { + // if (isInstant) { + // productDefinitionTemplateNumberNew = 48; // 44 is deprecated*/ + // } + // else { + // productDefinitionTemplateNumberNew = 46; + // } + // } + // } - if (productDefinitionTemplateNumber != productDefinitionTemplateNumberNew) { + if (productDefinitionTemplateNumberNew >=0 && productDefinitionTemplateNumber != productDefinitionTemplateNumberNew) { grib_set_long(hand, self->productDefinitionTemplateNumber, productDefinitionTemplateNumberNew); if (derivedForecast >= 0) grib_set_long(hand, self->derivedForecast, derivedForecast); diff --git a/src/grib_util.cc b/src/grib_util.cc index fd586abd6..8e08b3a2d 100644 --- a/src/grib_util.cc +++ b/src/grib_util.cc @@ -1985,6 +1985,13 @@ int grib2_choose_PDTN(int current_PDTN, bool is_det, bool is_instant) if (is_interval && is_det) return 67; } + if (current_PDTN == 45 || current_PDTN == 48) { + if (is_instant && is_ens) return 45; + if (is_instant && is_det) return 48; + if (is_interval && is_ens) return 85; + if (is_interval && is_det) return 46; + } + return current_PDTN; // no change } From 5dd85aeb665466ea0b1fe83badbeae119903032c Mon Sep 17 00:00:00 2001 From: shahramn Date: Fri, 26 Jul 2024 11:35:23 +0100 Subject: [PATCH 26/63] Fortran: Initialise status --- fortran/eccodes_f90_tail.f90 | 68 ++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 37 deletions(-) diff --git a/fortran/eccodes_f90_tail.f90 b/fortran/eccodes_f90_tail.f90 index 24551f8de..fcc0c860b 100644 --- a/fortran/eccodes_f90_tail.f90 +++ b/fortran/eccodes_f90_tail.f90 @@ -960,10 +960,10 @@ !> @param nmessages number of messages found !> @param status CODES_SUCCESS if OK, CODES_END_OF_FILE at the end of file, or error code subroutine codes_any_scan_file(ifile, nmessages, status) - integer(kind=kindOfInt), intent(in) :: ifile - integer(kind=kindOfInt), intent(out) :: nmessages - integer(kind=kindOfInt) :: iret - integer(kind=kindOfInt), optional, intent(out) :: status + integer(kind=kindOfInt), intent(in) :: ifile + integer(kind=kindOfInt), intent(out) :: nmessages + integer(kind=kindOfInt) :: iret + integer(kind=kindOfInt), optional, intent(out) :: status iret = any_f_scan_file(ifile, nmessages) if (present(status)) then @@ -989,8 +989,8 @@ integer(kind=kindOfInt), intent(in) :: ifile integer(kind=kindOfInt), intent(in) :: nmsg integer(kind=kindOfInt), intent(out) :: msgid - integer(kind=kindOfInt) :: iret - integer(kind=kindOfInt), optional, intent(out) :: status + integer(kind=kindOfInt) :: iret + integer(kind=kindOfInt), optional, intent(out) :: status iret = any_f_new_from_scanned_file(ifile, nmsg, msgid) if (present(status)) then @@ -1007,10 +1007,10 @@ !> @param nmessages number of messages loaded !> @param status CODES_SUCCESS if OK, CODES_END_OF_FILE at the end of file, or error code subroutine codes_any_load_all_from_file(ifile, nmessages, status) - integer(kind=kindOfInt), intent(in) :: ifile - integer(kind=kindOfInt), intent(out) :: nmessages - integer(kind=kindOfInt) :: iret - integer(kind=kindOfInt), optional, intent(out) :: status + integer(kind=kindOfInt), intent(in) :: ifile + integer(kind=kindOfInt), intent(out) :: nmessages + integer(kind=kindOfInt) :: iret + integer(kind=kindOfInt), optional, intent(out) :: status iret = any_f_load_all_from_file(ifile, nmessages) if (present(status)) then @@ -2789,43 +2789,37 @@ !> @param path samples path !> @param status CODES_SUCCESS if OK, integer value on error subroutine codes_set_samples_path(path, status) - character(len=*), intent(in) :: path + character(len=*), intent(in) :: path integer(kind=kindOfInt), optional, intent(out) :: status call grib_set_samples_path(path, status) end subroutine codes_set_samples_path subroutine codes_julian_to_datetime(jd, year, month, day, hour, minute, second, status) - real(kind=kindOfDouble), intent(in) :: jd - integer(kind=kindOfLong), intent(out) :: year, month, day, hour, minute, second - integer(kind=kindOfInt), optional, intent(out) :: status + real(kind=kindOfDouble), intent(in) :: jd + integer(kind=kindOfLong), intent(out) :: year, month, day, hour, minute, second + integer(kind=kindOfInt), optional, intent(out) :: status integer(kind=kindOfInt) :: iret iret = grib_f_julian_to_datetime(jd, year, month, day, hour, minute, second) - if (iret /= 0) then - if (present(status)) then - status = iret - else - call grib_check(iret, 'codes_julian_to_datetime', ' ') - end if - return + if (present(status)) then + status = iret + else + call grib_check(iret, 'codes_julian_to_datetime', ' ') end if end subroutine codes_julian_to_datetime subroutine codes_datetime_to_julian(year, month, day, hour, minute, second, jd, status) - integer(kind=kindOfLong), intent(in) :: year, month, day, hour, minute, second - real(kind=kindOfDouble), intent(out) :: jd + integer(kind=kindOfLong), intent(in) :: year, month, day, hour, minute, second + real(kind=kindOfDouble), intent(out) :: jd integer(kind=kindOfInt), optional, intent(out) :: status - integer(kind=kindOfInt) :: iret + integer(kind=kindOfInt) :: iret iret = grib_f_datetime_to_julian(year, month, day, hour, minute, second, jd) - if (iret /= 0) then - if (present(status)) then - status = iret - else - call grib_check(iret, 'codes_datetime_to_julian', ' ') - end if - return + if (present(status)) then + status = iret + else + call grib_check(iret, 'codes_datetime_to_julian', ' ') end if end subroutine codes_datetime_to_julian @@ -2840,11 +2834,11 @@ !> @param key key whose value is to be copied !> @param status GRIB_SUCCESS if OK, integer value on error subroutine codes_copy_key(msgid_src, key, msgid_dest, status) - integer(kind=kindOfInt), intent(in) :: msgid_src - integer(kind=kindOfInt), intent(in) :: msgid_dest - character(LEN=*), intent(in) :: key + integer(kind=kindOfInt), intent(in) :: msgid_src + integer(kind=kindOfInt), intent(in) :: msgid_dest + character(LEN=*), intent(in) :: key integer(kind=kindOfInt), optional, intent(out) :: status - integer(kind=kindOfInt) :: iret + integer(kind=kindOfInt) :: iret iret = grib_f_copy_key(msgid_src, key, msgid_dest) if (present(status)) then @@ -2856,7 +2850,7 @@ subroutine codes_bufr_multi_element_constant_arrays_on(status) integer(kind=kindOfInt), optional, intent(out) :: status - integer(kind=kindOfInt) :: iret + integer(kind=kindOfInt) :: iret iret = codes_f_bufr_multi_element_constant_arrays_on() if (present(status)) then @@ -2868,7 +2862,7 @@ subroutine codes_bufr_multi_element_constant_arrays_off(status) integer(kind=kindOfInt), optional, intent(out) :: status - integer(kind=kindOfInt) :: iret + integer(kind=kindOfInt) :: iret iret = codes_f_bufr_multi_element_constant_arrays_off() if (present(status)) then From 49d0a0cd706ef0884bb9547dba24677250395510 Mon Sep 17 00:00:00 2001 From: shahramn Date: Fri, 26 Jul 2024 12:28:10 +0100 Subject: [PATCH 27/63] ECC-1884: GRIB1 regular grids: The geography namespace should include Ni and Nj --- definitions/grib1/grid_definition_latlon.def | 2 ++ 1 file changed, 2 insertions(+) diff --git a/definitions/grib1/grid_definition_latlon.def b/definitions/grib1/grid_definition_latlon.def index c96c93506..3325f4c6b 100644 --- a/definitions/grib1/grid_definition_latlon.def +++ b/definitions/grib1/grid_definition_latlon.def @@ -2,11 +2,13 @@ unsigned[2] Ni : can_be_missing,dump; alias numberOfPointsAlongAParallel=Ni; alias numberOfPointsAlongXAxis=Ni; alias Nx = Ni; +alias geography.Ni=Ni; unsigned[2] Nj : can_be_missing,dump; alias numberOfPointsAlongAMeridian=Nj; alias numberOfPointsAlongYAxis= Nj; alias Ny = Nj; +alias geography.Nj=Nj; # Latitudes and Longitudes of the first and the last points # Resolution and component flags From 2d28023abaf059e15f0534a32db33f864db22fb7 Mon Sep 17 00:00:00 2001 From: shahramn Date: Fri, 26 Jul 2024 12:41:32 +0100 Subject: [PATCH 28/63] Cleanup --- src/accessor/grib_accessor_class_g2_eps.cc | 41 ------- .../grib_accessor_class_local_definition.cc | 102 +----------------- 2 files changed, 1 insertion(+), 142 deletions(-) diff --git a/src/accessor/grib_accessor_class_g2_eps.cc b/src/accessor/grib_accessor_class_g2_eps.cc index 6eff9619b..9a8199053 100644 --- a/src/accessor/grib_accessor_class_g2_eps.cc +++ b/src/accessor/grib_accessor_class_g2_eps.cc @@ -123,47 +123,6 @@ int grib_accessor_class_g2_eps_t::pack_long(grib_accessor* a, const long* val, s // } } - // Adjust for chemical species - // if (chemical == 1) { - // if (eps == 1) { - // if (isInstant) { - // productDefinitionTemplateNumberNew = 41; - // } - // else { - // productDefinitionTemplateNumberNew = 43; - // } - // } - // else { - // if (isInstant) { - // productDefinitionTemplateNumberNew = 40; - // } - // else { - // productDefinitionTemplateNumberNew = 42; - // } - // } - // } - - // Adjust for aerosols - // if (aerosol == 1) { - // if (eps == 1) { - // if (isInstant) { - // productDefinitionTemplateNumberNew = 45; - // } - // else { - // // productDefinitionTemplateNumberNew = 47; This PDT is deprecated - // productDefinitionTemplateNumberNew = 85; - // } - // } - // else { - // if (isInstant) { - // productDefinitionTemplateNumberNew = 48; // 44 is deprecated*/ - // } - // else { - // productDefinitionTemplateNumberNew = 46; - // } - // } - // } - if (productDefinitionTemplateNumberNew >=0 && productDefinitionTemplateNumber != productDefinitionTemplateNumberNew) { grib_set_long(hand, self->productDefinitionTemplateNumber, productDefinitionTemplateNumberNew); if (derivedForecast >= 0) diff --git a/src/accessor/grib_accessor_class_local_definition.cc b/src/accessor/grib_accessor_class_local_definition.cc index 0646382ca..833bc8f08 100644 --- a/src/accessor/grib_accessor_class_local_definition.cc +++ b/src/accessor/grib_accessor_class_local_definition.cc @@ -54,9 +54,6 @@ int grib_accessor_class_local_definition_t::pack_long(grib_accessor* a, const lo long eps = -1; long chemical = -1; long aerosol = -1; - long chemical_distfn = -1; - long chemical_srcsink = -1; - long aerosol_optical = -1; char stepType[15] = {0,}; size_t slen = 15; int localDefinitionNumber = *val; @@ -81,10 +78,8 @@ int grib_accessor_class_local_definition_t::pack_long(grib_accessor* a, const lo isInstant = 1; grib_get_long(hand, self->grib2LocalSectionNumber, &grib2LocalSectionNumber); grib_get_long(hand, "is_chemical", &chemical); - grib_get_long(hand, "is_chemical_distfn", &chemical_distfn); - grib_get_long(hand, "is_chemical_srcsink", &chemical_srcsink); grib_get_long(hand, "is_aerosol", &aerosol); - grib_get_long(hand, "is_aerosol_optical", &aerosol_optical); + if (chemical == 1 && aerosol == 1) { grib_context_log(a->context, GRIB_LOG_ERROR, "Parameter cannot be both chemical and aerosol!"); return GRIB_ENCODING_ERROR; @@ -224,101 +219,6 @@ int grib_accessor_class_local_definition_t::pack_long(grib_accessor* a, const lo productDefinitionTemplateNumberNew = -1; // disable PDT selection } - // // Adjust for atmospheric chemical constituents - // if (chemical == 1) { - // if (eps == 1) { - // if (isInstant) { - // Assert(productDefinitionTemplateNumber == 41); - // } - // else { - // Assert(productDefinitionTemplateNumber == 43); - // } - // } - // else { - // if (isInstant) { - // Assert(productDefinitionTemplateNumber == 40); - // } - // else { - // Assert(productDefinitionTemplateNumber == 42); - // } - // } - // } - - // // Adjust for atmospheric chemical constituents based on a distribution function - // if (chemical_distfn == 1) { - // if (eps == 1) { - // if (isInstant) { - // Assert(productDefinitionTemplateNumber == 58); - // } - // else { - // Assert(productDefinitionTemplateNumber == 68); - // } - // } - // else { - // if (isInstant) { - // Assert(productDefinitionTemplateNumber == 57); - // } - // else { - // Assert(productDefinitionTemplateNumber == 67); - // } - // } - // } - - // // Adjust for atmospheric chemical constituents with source or sink - // if (chemical_srcsink == 1) { - // if (eps == 1) { - // if (isInstant) { - // Assert(productDefinitionTemplateNumber == 77); - // } - // else { - // Assert(productDefinitionTemplateNumber == 79); - // } - // } - // else { - // if (isInstant) { - // Assert(productDefinitionTemplateNumber == 76); - // } - // else { - // Assert(productDefinitionTemplateNumber == 78); - // } - // } - // } - - // Adjust for aerosols - // if (aerosol == 1) { - // if (eps == 1) { - // if (isInstant) { - // productDefinitionTemplateNumberNew = 45; - // } - // else { - // // productDefinitionTemplateNumberNew = 47; This PDT is deprecated - // productDefinitionTemplateNumberNew = 85; - // } - // } - // else { - // if (isInstant) { - // productDefinitionTemplateNumberNew = 48; // 44 is deprecated*/ - // } - // else { - // productDefinitionTemplateNumberNew = 46; - // } - // } - // } - - // // Adjust for optical properties of aerosol - // if (aerosol_optical == 1) { - // if (eps == 1) { - // if (isInstant) { - // productDefinitionTemplateNumberNew = 49; - // } - // } - // else { - // if (isInstant) { - // productDefinitionTemplateNumberNew = 48; - // } - // } - // } - if (productDefinitionTemplateNumberNew >=0 && productDefinitionTemplateNumber != productDefinitionTemplateNumberNew) { if (a->context->debug) { fprintf(stderr, "ECCODES DEBUG %s %s: ldNumber=%d, newPDTN=%ld\n", a->cclass->name, __func__, From a85d671acef21d9ec120b462d6e39a700b51ae9a Mon Sep 17 00:00:00 2001 From: shahramn Date: Fri, 26 Jul 2024 12:41:42 +0100 Subject: [PATCH 29/63] ECC-1884: GRIB1 regular grids: The geography namespace should include Ni and Nj --- definitions/grib1/grid_definition_gaussian.def | 2 ++ 1 file changed, 2 insertions(+) diff --git a/definitions/grib1/grid_definition_gaussian.def b/definitions/grib1/grid_definition_gaussian.def index 26c855900..005b6d36f 100644 --- a/definitions/grib1/grid_definition_gaussian.def +++ b/definitions/grib1/grid_definition_gaussian.def @@ -1,10 +1,12 @@ unsigned[2] Ni : can_be_missing,dump; alias numberOfPointsAlongAParallel= Ni ; alias Nx =Ni; +alias geography.Ni=Ni; signed[2] Nj : dump; alias numberOfPointsAlongAMeridian=Nj; alias Ny=Nj; +alias geography.Nj=Nj; # Latitudes and Longitudes of the first and the last points # Resolution and component flags From 52ba802da4e855e3154a56156eb5f6bebf337041 Mon Sep 17 00:00:00 2001 From: shahramn Date: Fri, 26 Jul 2024 14:19:39 +0100 Subject: [PATCH 30/63] ECC-1885: GRIB: The 'dirty_statistics' key is always 1 --- data/statistics.out.good | 3 ++ src/accessor/grib_accessor_class_dirty.cc | 16 +++++----- .../grib_accessor_class_statistics.cc | 4 ++- src/accessor/grib_accessor_class_vector.cc | 4 +++ tests/grib_statistics.sh | 30 +++++++++++++------ 5 files changed, 40 insertions(+), 17 deletions(-) diff --git a/data/statistics.out.good b/data/statistics.out.good index a564714b9..f7939dba8 100644 --- a/data/statistics.out.good +++ b/data/statistics.out.good @@ -1,4 +1,7 @@ +Will set values... values=2 2 2 2 max=2 min=2 average=2 +max=2 min=2 average=2 +Will set values... values=2 5 2 2 max=5 min=2 average=2.75 diff --git a/src/accessor/grib_accessor_class_dirty.cc b/src/accessor/grib_accessor_class_dirty.cc index 73f11c9d7..80c51835e 100644 --- a/src/accessor/grib_accessor_class_dirty.cc +++ b/src/accessor/grib_accessor_class_dirty.cc @@ -30,9 +30,10 @@ int grib_accessor_class_dirty_t::pack_long(grib_accessor* a, const long* val, si grib_accessor_dirty_t* self = (grib_accessor_dirty_t*)a; grib_accessor* x = grib_find_accessor(grib_handle_of_accessor(a), self->accessor); - if (x) + if (x) { + //printf("\ngrib_accessor_class_dirty_t::pack_long: Setting dirty to %ld on %s\n", *val, x->name); x->dirty = *val; - + } return GRIB_SUCCESS; } @@ -41,10 +42,11 @@ int grib_accessor_class_dirty_t::unpack_long(grib_accessor* a, long* val, size_t grib_accessor_dirty_t* self = (grib_accessor_dirty_t*)a; grib_accessor* x = grib_find_accessor(grib_handle_of_accessor(a), self->accessor); - if (x) - x->dirty = 1; - - *val = 1; - + if (x) { + //printf("\ngrib_accessor_class_dirty_t::unpack_long: Getting dirty for %s\n", x->name); + *val = x->dirty; + } else { + *val = 1; + } return GRIB_SUCCESS; } diff --git a/src/accessor/grib_accessor_class_statistics.cc b/src/accessor/grib_accessor_class_statistics.cc index 1e56f8a12..7e4a4eca8 100644 --- a/src/accessor/grib_accessor_class_statistics.cc +++ b/src/accessor/grib_accessor_class_statistics.cc @@ -114,7 +114,7 @@ int grib_accessor_class_statistics_t::unpack_double(grib_accessor* a, double* va avg += value; } } - /*printf("stats.......... number_of_missing=%ld\n", number_of_missing);*/ + /* Don't divide by zero if all values are missing! */ if (size != number_of_missing) { avg /= (size - number_of_missing); @@ -148,6 +148,8 @@ int grib_accessor_class_statistics_t::unpack_double(grib_accessor* a, double* va skew = m3 / (sd * sd * sd); kurt = m4 / (m2 * m2) - 3.0; } + + //printf("\ngrib_accessor_class_statistics_t::unpack_double Computed. So setting dirty to 0....... \n"); a->dirty = 0; grib_context_free(c, values); diff --git a/src/accessor/grib_accessor_class_vector.cc b/src/accessor/grib_accessor_class_vector.cc index f08809f6f..a5def256f 100644 --- a/src/accessor/grib_accessor_class_vector.cc +++ b/src/accessor/grib_accessor_class_vector.cc @@ -46,6 +46,7 @@ int grib_accessor_class_vector_t::unpack_double(grib_accessor* a, double* val, s } if (va->dirty) { + //printf("\ngrib_accessor_class_vector_t::unpack_double accessor=%s is DIRTY\n",a->name); grib_get_size(grib_handle_of_accessor(a), self->vector, &size); stat = (double*)grib_context_malloc_clear(a->context, sizeof(double) * size); err = va->unpack_double(stat, &size); @@ -53,6 +54,9 @@ int grib_accessor_class_vector_t::unpack_double(grib_accessor* a, double* val, s if (err) return err; } + else { + //printf("\ngrib_accessor_class_vector_t::unpack_double accessor=%s is CLEAN\n",a->name); + } *val = v->v[self->index]; diff --git a/tests/grib_statistics.sh b/tests/grib_statistics.sh index 6863d591a..9cf7719e3 100755 --- a/tests/grib_statistics.sh +++ b/tests/grib_statistics.sh @@ -18,16 +18,28 @@ files="regular_latlon_surface.grib2 regular_latlon_surface.grib1" for file in $files; do +# Note: When we get min,max etc for the 1st time, dirty_statistics is 1 +# so the statistics accessor will decode the data values (because dirty_statistics==1) +# Once it is finished, it sets dirty_statistics to 0. +# If you get min,max again, no computation is done (because dirty_statistics==0) +# But once the data values are changed, then dirty_statistics is once again 1 cat >statistics.filter< statistics.out From 7f025213e2b28f2bcea6593212d2100ca1c4ede1 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Sat, 27 Jul 2024 12:18:36 +0000 Subject: [PATCH 31/63] Fix the hard coded length for keys of type 'byte' --- tools/grib_compare.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tools/grib_compare.cc b/tools/grib_compare.cc index ba86c1a1f..330f218e0 100644 --- a/tools/grib_compare.cc +++ b/tools/grib_compare.cc @@ -1095,10 +1095,8 @@ static int compare_values(grib_runtime_options* options, grib_handle* h1, grib_h case GRIB_TYPE_BYTES: if (verbose) printf(" as bytes\n"); - if (len1 < 2) - len1 = 512; - if (len2 < 2) - len2 = 512; + grib_get_string_length(h1, name, &len1); + grib_get_string_length(h2, name, &len2); uval1 = (unsigned char*)grib_context_malloc(h1->context, len1 * sizeof(unsigned char)); uval2 = (unsigned char*)grib_context_malloc(h2->context, len2 * sizeof(unsigned char)); From d098b362bec7534b2a3e77351fb2c3d4143ff79a Mon Sep 17 00:00:00 2001 From: shahramn Date: Sat, 27 Jul 2024 14:20:23 +0100 Subject: [PATCH 32/63] Formatting and cleanups --- src/accessor/grib_accessor_class_lookup.cc | 49 +++++++------ ...class_number_of_values_data_raw_packing.cc | 25 ++++--- .../grib_accessor_class_octet_number.cc | 18 ++--- src/accessor/grib_accessor_class_padding.cc | 30 ++++---- src/accessor/grib_accessor_class_padto.cc | 18 ++--- src/accessor/grib_accessor_class_padtoeven.cc | 15 ++-- .../grib_accessor_class_padtomultiple.cc | 15 ++-- src/accessor/grib_accessor_class_section.cc | 36 ++++++---- .../grib_accessor_class_section_length.cc | 12 ++-- .../grib_accessor_class_section_pointer.cc | 70 ++++++++++--------- src/grib_value.cc | 5 +- 11 files changed, 160 insertions(+), 133 deletions(-) diff --git a/src/accessor/grib_accessor_class_lookup.cc b/src/accessor/grib_accessor_class_lookup.cc index 17ccd4d61..e58162ccb 100644 --- a/src/accessor/grib_accessor_class_lookup.cc +++ b/src/accessor/grib_accessor_class_lookup.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,39 +10,42 @@ #include "grib_accessor_class_lookup.h" -grib_accessor_class_lookup_t _grib_accessor_class_lookup{"lookup"}; +grib_accessor_class_lookup_t _grib_accessor_class_lookup{ "lookup" }; grib_accessor_class* grib_accessor_class_lookup = &_grib_accessor_class_lookup; -void grib_accessor_class_lookup_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_lookup_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_long_t::init(a, len, arg); grib_accessor_lookup_t* self = (grib_accessor_lookup_t*)a; - a->length = 0; - self->llength = len; - self->loffset = grib_arguments_get_long(grib_handle_of_accessor(a), arg, 0); + + a->length = 0; + self->llength = len; + self->loffset = grib_arguments_get_long(grib_handle_of_accessor(a), arg, 0); a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; self->real_name = grib_arguments_get_expression(grib_handle_of_accessor(a), arg, 1); } -void grib_accessor_class_lookup_t::post_init(grib_accessor* a){ +void grib_accessor_class_lookup_t::post_init(grib_accessor* a) +{ grib_accessor_lookup_t* self = (grib_accessor_lookup_t*)a; if (self->real_name) { grib_dependency_observe_expression(a, self->real_name); } } -void grib_accessor_class_lookup_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_lookup_t::dump(grib_accessor* a, grib_dumper* dumper) +{ grib_accessor_lookup_t* self = (grib_accessor_lookup_t*)a; - unsigned char bytes[1024] = {0,}; + unsigned char bytes[1024] = {0,}; char msg[1024] = {0,}; char buf[2048]; - int i; unsigned long v = 0; size_t llen = self->llength; a->unpack_bytes(bytes, &llen); bytes[llen] = 0; - for (i = 0; i < llen; i++) { + for (size_t i = 0; i < llen; i++) { msg[i] = isprint(bytes[i]) ? bytes[i] : '?'; v <<= 8; v |= bytes[i]; @@ -56,16 +58,16 @@ void grib_accessor_class_lookup_t::dump(grib_accessor* a, grib_dumper* dumper){ grib_dump_long(dumper, a, buf); } -int grib_accessor_class_lookup_t::unpack_string(grib_accessor* a, char* v, size_t* len){ +int grib_accessor_class_lookup_t::unpack_string(grib_accessor* a, char* v, size_t* len) +{ grib_accessor_lookup_t* self = (grib_accessor_lookup_t*)a; - unsigned char bytes[1024] = {0,}; - int i; + unsigned char bytes[1024] = {0,}; size_t llen = self->llength; a->unpack_bytes(bytes, &llen); bytes[llen] = 0; - for (i = 0; i < llen; i++) { + for (size_t i = 0; i < llen; i++) { v[i] = isprint(bytes[i]) ? bytes[i] : '?'; } @@ -87,9 +89,10 @@ int grib_accessor_class_lookup_t::unpack_string(grib_accessor* a, char* v, size_ return GRIB_SUCCESS; } -int grib_accessor_class_lookup_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_lookup_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ grib_accessor_lookup_t* self = (grib_accessor_lookup_t*)a; - grib_handle* h = grib_handle_of_accessor(a); + grib_handle* h = grib_handle_of_accessor(a); long pos = (a->offset + self->loffset) * 8; @@ -113,21 +116,25 @@ int grib_accessor_class_lookup_t::unpack_long(grib_accessor* a, long* val, size_ return GRIB_SUCCESS; } -int grib_accessor_class_lookup_t::pack_long(grib_accessor* a, const long* val, size_t* len){ +int grib_accessor_class_lookup_t::pack_long(grib_accessor* a, const long* val, size_t* len) +{ return GRIB_NOT_IMPLEMENTED; } -long grib_accessor_class_lookup_t::byte_count(grib_accessor* a){ +long grib_accessor_class_lookup_t::byte_count(grib_accessor* a) +{ grib_accessor_lookup_t* self = (grib_accessor_lookup_t*)a; return self->llength; } -long grib_accessor_class_lookup_t::byte_offset(grib_accessor* a){ +long grib_accessor_class_lookup_t::byte_offset(grib_accessor* a) +{ grib_accessor_lookup_t* self = (grib_accessor_lookup_t*)a; return self->loffset; } -int grib_accessor_class_lookup_t::notify_change(grib_accessor* self, grib_accessor* changed){ +int grib_accessor_class_lookup_t::notify_change(grib_accessor* self, grib_accessor* changed) +{ /* Forward changes */ return grib_dependency_notify_change(self); } diff --git a/src/accessor/grib_accessor_class_number_of_values_data_raw_packing.cc b/src/accessor/grib_accessor_class_number_of_values_data_raw_packing.cc index b8f1d667b..c443e7c24 100644 --- a/src/accessor/grib_accessor_class_number_of_values_data_raw_packing.cc +++ b/src/accessor/grib_accessor_class_number_of_values_data_raw_packing.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,28 +10,31 @@ #include "grib_accessor_class_number_of_values_data_raw_packing.h" -grib_accessor_class_number_of_values_data_raw_packing_t _grib_accessor_class_number_of_values_data_raw_packing{"number_of_values_data_raw_packing"}; +grib_accessor_class_number_of_values_data_raw_packing_t _grib_accessor_class_number_of_values_data_raw_packing{ "number_of_values_data_raw_packing" }; grib_accessor_class* grib_accessor_class_number_of_values_data_raw_packing = &_grib_accessor_class_number_of_values_data_raw_packing; -void grib_accessor_class_number_of_values_data_raw_packing_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_number_of_values_data_raw_packing_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_gen_t::init(a, v, args); - int n = 0; grib_accessor_number_of_values_data_raw_packing_t* self = (grib_accessor_number_of_values_data_raw_packing_t*)a; + int n = 0; self->values = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); self->precision = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; a->length = 0; } -int grib_accessor_class_number_of_values_data_raw_packing_t::unpack_long(grib_accessor* a, long* val, size_t* len){ - int err = 0; +int grib_accessor_class_number_of_values_data_raw_packing_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ grib_accessor_number_of_values_data_raw_packing_t* self = (grib_accessor_number_of_values_data_raw_packing_t*)a; - grib_accessor* adata = NULL; - long precision = 0; - int bytes = 0; - long byte_count = 0; + + int err = 0; + grib_accessor* adata = NULL; + long precision = 0; + int bytes = 0; + long byte_count = 0; adata = grib_find_accessor(grib_handle_of_accessor(a), self->values); Assert(adata != NULL); @@ -58,6 +60,7 @@ int grib_accessor_class_number_of_values_data_raw_packing_t::unpack_long(grib_ac return err; } -int grib_accessor_class_number_of_values_data_raw_packing_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_number_of_values_data_raw_packing_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_LONG; } diff --git a/src/accessor/grib_accessor_class_octet_number.cc b/src/accessor/grib_accessor_class_octet_number.cc index 4b270f257..354a39820 100644 --- a/src/accessor/grib_accessor_class_octet_number.cc +++ b/src/accessor/grib_accessor_class_octet_number.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,27 +10,27 @@ #include "grib_accessor_class_octet_number.h" -grib_accessor_class_octet_number_t _grib_accessor_class_octet_number{"octet_number"}; +grib_accessor_class_octet_number_t _grib_accessor_class_octet_number{ "octet_number" }; grib_accessor_class* grib_accessor_class_octet_number = &_grib_accessor_class_octet_number; -void grib_accessor_class_octet_number_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_octet_number_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_long_t::init(a, l, c); grib_accessor_octet_number_t* self = (grib_accessor_octet_number_t*)a; - int n = 0; + int n = 0; self->left = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); self->right = grib_arguments_get_long(grib_handle_of_accessor(a), c, n++); a->length = 0; } -int grib_accessor_class_octet_number_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_octet_number_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ grib_accessor_octet_number_t* self = (grib_accessor_octet_number_t*)a; int ret = GRIB_SUCCESS; - long offset; - - offset = a->offset + self->right; + long offset = a->offset + self->right; if ((ret = grib_set_long_internal(grib_handle_of_accessor(a), self->left, offset)) != GRIB_SUCCESS) return ret; @@ -42,6 +41,7 @@ int grib_accessor_class_octet_number_t::unpack_long(grib_accessor* a, long* val, return ret; } -int grib_accessor_class_octet_number_t::pack_long(grib_accessor* a, const long* val, size_t* len){ +int grib_accessor_class_octet_number_t::pack_long(grib_accessor* a, const long* val, size_t* len) +{ return GRIB_SUCCESS; } diff --git a/src/accessor/grib_accessor_class_padding.cc b/src/accessor/grib_accessor_class_padding.cc index 499c77f2b..226e4b75b 100644 --- a/src/accessor/grib_accessor_class_padding.cc +++ b/src/accessor/grib_accessor_class_padding.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,48 +10,55 @@ #include "grib_accessor_class_padding.h" -grib_accessor_class_padding_t _grib_accessor_class_padding{"padding"}; +grib_accessor_class_padding_t _grib_accessor_class_padding{ "padding" }; grib_accessor_class* grib_accessor_class_padding = &_grib_accessor_class_padding; -void grib_accessor_class_padding_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_padding_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_bytes_t::init(a, len, arg); a->flags |= GRIB_ACCESSOR_FLAG_EDITION_SPECIFIC; a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; } -int grib_accessor_class_padding_t::compare(grib_accessor* a, grib_accessor* b){ +int grib_accessor_class_padding_t::compare(grib_accessor* a, grib_accessor* b) +{ if (a->length != b->length) return GRIB_COUNT_MISMATCH; return GRIB_SUCCESS; } -void grib_accessor_class_padding_t::update_size(grib_accessor* a, size_t new_size){ +void grib_accessor_class_padding_t::update_size(grib_accessor* a, size_t new_size) +{ a->length = new_size; } -void grib_accessor_class_padding_t::resize(grib_accessor* a, size_t new_size){ +void grib_accessor_class_padding_t::resize(grib_accessor* a, size_t new_size) +{ void* zero = grib_context_malloc_clear(a->context, new_size); grib_buffer_replace(a, (const unsigned char*)zero, new_size, /*update_lengths=*/1, /*update_paddings=*/0); grib_context_free(a->context, zero); - grib_context_log(a->context, GRIB_LOG_DEBUG, - "grib_accessor_class_padding::resize new_size=%zu a->length=%ld %s %s", - new_size, a->length, a->cclass->name, a->name); + grib_context_log(a->context, GRIB_LOG_DEBUG, + "grib_accessor_class_padding::resize new_size=%zu a->length=%ld %s %s", + new_size, a->length, a->cclass->name, a->name); Assert(new_size == a->length); } -int grib_accessor_class_padding_t::value_count(grib_accessor* a, long* c){ +int grib_accessor_class_padding_t::value_count(grib_accessor* a, long* c) +{ *c = a->length; return 0; } -long grib_accessor_class_padding_t::byte_count(grib_accessor* a){ +long grib_accessor_class_padding_t::byte_count(grib_accessor* a) +{ return a->length; } -size_t grib_accessor_class_padding_t::string_length(grib_accessor* a){ +size_t grib_accessor_class_padding_t::string_length(grib_accessor* a) +{ return (size_t)a->length; } diff --git a/src/accessor/grib_accessor_class_padto.cc b/src/accessor/grib_accessor_class_padto.cc index 110d8d858..4fa523acd 100644 --- a/src/accessor/grib_accessor_class_padto.cc +++ b/src/accessor/grib_accessor_class_padto.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,12 +10,12 @@ #include "grib_accessor_class_padto.h" -grib_accessor_class_padto_t _grib_accessor_class_padto{"padto"}; +grib_accessor_class_padto_t _grib_accessor_class_padto{ "padto" }; grib_accessor_class* grib_accessor_class_padto = &_grib_accessor_class_padto; - -size_t grib_accessor_class_padto_t::preferred_size(grib_accessor* a, int from_handle){ +size_t grib_accessor_class_padto_t::preferred_size(grib_accessor* a, int from_handle) +{ grib_accessor_padto_t* self = (grib_accessor_padto_t*)a; long length = 0; @@ -26,13 +25,13 @@ size_t grib_accessor_class_padto_t::preferred_size(grib_accessor* a, int from_ha length = theEnd - a->offset; - /* printf("preferred_size: prefered: %ld current:%ld %s %s %ld\n", (long)length,(long)a->length,a->cclass->name,a->name,(long)a->offset); */ + //printf("preferred_size: prefered: %ld current:%ld %s %s %ld\n", (long)length,(long)a->length,a->cclass->name,a->name,(long)a->offset); return length > 0 ? length : 0; } - -void grib_accessor_class_padto_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_padto_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_padding_t::init(a, len, arg); grib_accessor_padto_t* self = (grib_accessor_padto_t*)a; @@ -40,6 +39,7 @@ void grib_accessor_class_padto_t::init(grib_accessor* a, const long len, grib_ar a->length = preferred_size(a, 1); } -void grib_accessor_class_padto_t::dump(grib_accessor* a, grib_dumper* dumper){ - /*grib_dump_string(dumper,a,NULL);*/ +void grib_accessor_class_padto_t::dump(grib_accessor* a, grib_dumper* dumper) +{ + //grib_dump_string(dumper,a,NULL); } diff --git a/src/accessor/grib_accessor_class_padtoeven.cc b/src/accessor/grib_accessor_class_padtoeven.cc index adf8b0d84..b91a9fb51 100644 --- a/src/accessor/grib_accessor_class_padtoeven.cc +++ b/src/accessor/grib_accessor_class_padtoeven.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,14 +10,15 @@ #include "grib_accessor_class_padtoeven.h" -grib_accessor_class_padtoeven_t _grib_accessor_class_padtoeven{"padtoeven"}; +grib_accessor_class_padtoeven_t _grib_accessor_class_padtoeven{ "padtoeven" }; grib_accessor_class* grib_accessor_class_padtoeven = &_grib_accessor_class_padtoeven; -size_t grib_accessor_class_padtoeven_t::preferred_size(grib_accessor* a, int from_handle){ +size_t grib_accessor_class_padtoeven_t::preferred_size(grib_accessor* a, int from_handle) +{ grib_accessor_padtoeven_t* self = (grib_accessor_padtoeven_t*)a; - long offset = 0; - long length = 0; + long offset = 0; + long length = 0; long seclen; grib_get_long_internal(grib_handle_of_accessor(a), self->section_offset, &offset); @@ -31,13 +31,14 @@ size_t grib_accessor_class_padtoeven_t::preferred_size(grib_accessor* a, int fro return 0; } - /* printf("EVEN %ld %ld\n",(long) a->offset,(long) offset);*/ + // printf("EVEN %ld %ld\n",(long) a->offset,(long) offset); seclen = a->offset - offset; return (seclen % 2) ? 1 : 0; } -void grib_accessor_class_padtoeven_t::init(grib_accessor* a, const long len, grib_arguments* args){ +void grib_accessor_class_padtoeven_t::init(grib_accessor* a, const long len, grib_arguments* args) +{ grib_accessor_class_padding_t::init(a, len, args); grib_accessor_padtoeven_t* self = (grib_accessor_padtoeven_t*)a; diff --git a/src/accessor/grib_accessor_class_padtomultiple.cc b/src/accessor/grib_accessor_class_padtomultiple.cc index d4e463578..b76c1d78a 100644 --- a/src/accessor/grib_accessor_class_padtomultiple.cc +++ b/src/accessor/grib_accessor_class_padtomultiple.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,15 +10,16 @@ #include "grib_accessor_class_padtomultiple.h" -grib_accessor_class_padtomultiple_t _grib_accessor_class_padtomultiple{"padtomultiple"}; +grib_accessor_class_padtomultiple_t _grib_accessor_class_padtomultiple{ "padtomultiple" }; grib_accessor_class* grib_accessor_class_padtomultiple = &_grib_accessor_class_padtomultiple; -size_t grib_accessor_class_padtomultiple_t::preferred_size(grib_accessor* a, int from_handle){ +size_t grib_accessor_class_padtomultiple_t::preferred_size(grib_accessor* a, int from_handle) +{ grib_accessor_padtomultiple_t* self = (grib_accessor_padtomultiple_t*)a; - long padding = 0; - long begin = 0; - long multiple = 0; + long padding = 0; + long begin = 0; + long multiple = 0; grib_expression_evaluate_long(grib_handle_of_accessor(a), self->begin, &begin); grib_expression_evaluate_long(grib_handle_of_accessor(a), self->multiple, &multiple); @@ -30,7 +30,8 @@ size_t grib_accessor_class_padtomultiple_t::preferred_size(grib_accessor* a, int return padding == 0 ? multiple : padding; } -void grib_accessor_class_padtomultiple_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_padtomultiple_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_padding_t::init(a, len, arg); grib_accessor_padtomultiple_t* self = (grib_accessor_padtomultiple_t*)a; diff --git a/src/accessor/grib_accessor_class_section.cc b/src/accessor/grib_accessor_class_section.cc index ec6e14c2b..8abb7aa01 100644 --- a/src/accessor/grib_accessor_class_section.cc +++ b/src/accessor/grib_accessor_class_section.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,45 +10,51 @@ #include "grib_accessor_class_section.h" -grib_accessor_class_section_t _grib_accessor_class_section{"section"}; +grib_accessor_class_section_t _grib_accessor_class_section{ "section" }; grib_accessor_class* grib_accessor_class_section = &_grib_accessor_class_section; -void grib_accessor_class_section_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_section_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_gen_t::init(a, len, arg); a->sub_section = grib_section_create(grib_handle_of_accessor(a), a); a->length = 0; a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; } -void grib_accessor_class_section_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_section_t::dump(grib_accessor* a, grib_dumper* dumper) +{ grib_dump_section(dumper, a, a->sub_section->block); } -long grib_accessor_class_section_t::byte_count(grib_accessor* a){ +long grib_accessor_class_section_t::byte_count(grib_accessor* a) +{ if (!a->length || grib_handle_of_accessor(a)->loader) { if (a->name[1] == '_') return 0; - /* printf("adjusting sizes SECTION %s is %ld %ld\n",a->name,(long)a->offset,(long)a->length); */ + //printf("adjusting sizes SECTION %s is %ld %ld\n",a->name,(long)a->offset,(long)a->length); grib_section_adjust_sizes(a->sub_section, grib_handle_of_accessor(a)->loader != NULL, 0); - /* printf(" SECTION %s is %ld %ld\n",a->name,(long)a->offset,(long)a->length); */ + //printf(" SECTION %s is %ld %ld\n",a->name,(long)a->offset,(long)a->length); } - /* printf("SECTION %s is %ld %d\n",a->name,a->length,a->sub_section->aclength != NULL); */ + // printf("SECTION %s is %ld %d\n",a->name,a->length,a->sub_section->aclength != NULL); return a->length; } -long grib_accessor_class_section_t::next_offset(grib_accessor* a){ +long grib_accessor_class_section_t::next_offset(grib_accessor* a) +{ return a->offset + a->byte_count(); } -void grib_accessor_class_section_t::destroy(grib_context* ct, grib_accessor* a){ +void grib_accessor_class_section_t::destroy(grib_context* ct, grib_accessor* a) +{ grib_section_delete(ct, a->sub_section); grib_accessor_class_gen_t::destroy(ct, a); } -int grib_accessor_class_section_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_section_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_SECTION; } @@ -58,22 +63,23 @@ grib_section* grib_accessor_class_section_t::sub_section(grib_accessor* a) return a->sub_section; } -void grib_accessor_class_section_t::update_size(grib_accessor* a, size_t length){ +void grib_accessor_class_section_t::update_size(grib_accessor* a, size_t length) +{ size_t size = 1; long len = length; Assert(length <= 0x7fffffff); if (a->sub_section->aclength) { - int e = a->sub_section->aclength->pack_long(&len, &size); Assert(e == GRIB_SUCCESS); + int e = a->sub_section->aclength->pack_long(&len, &size); + Assert(e == GRIB_SUCCESS); // printf("update_length %s %ld %ld\n", a->sub_section->aclength->name, // (long)a->sub_section->aclength->offset, // (long)a->sub_section->aclength->length); } a->sub_section->length = a->length = length; - a->sub_section->padding = 0; + a->sub_section->padding = 0; // printf("update_size %s %ld\n", a->name, a->length); - Assert(a->length >= 0); } diff --git a/src/accessor/grib_accessor_class_section_length.cc b/src/accessor/grib_accessor_class_section_length.cc index bcc75cc2b..8be4cad56 100644 --- a/src/accessor/grib_accessor_class_section_length.cc +++ b/src/accessor/grib_accessor_class_section_length.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,11 +10,12 @@ #include "grib_accessor_class_section_length.h" -grib_accessor_class_section_length_t _grib_accessor_class_section_length{"section_length"}; +grib_accessor_class_section_length_t _grib_accessor_class_section_length{ "section_length" }; grib_accessor_class* grib_accessor_class_section_length = &_grib_accessor_class_section_length; -void grib_accessor_class_section_length_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_section_length_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_unsigned_t::init(a, len, arg); a->parent->aclength = a; a->length = len; @@ -24,11 +24,13 @@ void grib_accessor_class_section_length_t::init(grib_accessor* a, const long len Assert(a->length >= 0); } -void grib_accessor_class_section_length_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_section_length_t::dump(grib_accessor* a, grib_dumper* dumper) +{ grib_dump_long(dumper, a, NULL); } -int grib_accessor_class_section_length_t::value_count(grib_accessor* a, long* c){ +int grib_accessor_class_section_length_t::value_count(grib_accessor* a, long* c) +{ *c = 1; return 0; } diff --git a/src/accessor/grib_accessor_class_section_pointer.cc b/src/accessor/grib_accessor_class_section_pointer.cc index 72eb78d6d..c7735d504 100644 --- a/src/accessor/grib_accessor_class_section_pointer.cc +++ b/src/accessor/grib_accessor_class_section_pointer.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,15 +10,16 @@ #include "grib_accessor_class_section_pointer.h" -grib_accessor_class_section_pointer_t _grib_accessor_class_section_pointer{"section_pointer"}; +grib_accessor_class_section_pointer_t _grib_accessor_class_section_pointer{ "section_pointer" }; grib_accessor_class* grib_accessor_class_section_pointer = &_grib_accessor_class_section_pointer; -void grib_accessor_class_section_pointer_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_section_pointer_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_gen_t::init(a, len, arg); - int n = 0; grib_accessor_section_pointer_t* self = (grib_accessor_section_pointer_t*)a; + int n = 0; self->sectionOffset = grib_arguments_get_name(grib_handle_of_accessor(a), arg, n++); self->sectionLength = grib_arguments_get_name(grib_handle_of_accessor(a), arg, n++); self->sectionNumber = grib_arguments_get_long(grib_handle_of_accessor(a), arg, n++); @@ -29,8 +29,8 @@ void grib_accessor_class_section_pointer_t::init(grib_accessor* a, const long le grib_handle_of_accessor(a)->section_offset[self->sectionNumber] = (char*)self->sectionOffset; grib_handle_of_accessor(a)->section_length[self->sectionNumber] = (char*)self->sectionLength; - /* printf("++++++++++++++ GRIB_API: creating section_pointer%d %s %s\n", */ - /* self->sectionNumber,self->sectionLength,self->sectionLength); */ + // printf("++++++++++++++ creating section_pointer%d %s %s\n", + // self->sectionNumber,self->sectionLength,self->sectionLength); if (grib_handle_of_accessor(a)->sections_count < self->sectionNumber) grib_handle_of_accessor(a)->sections_count = self->sectionNumber; @@ -42,54 +42,56 @@ void grib_accessor_class_section_pointer_t::init(grib_accessor* a, const long le a->length = 0; } -int grib_accessor_class_section_pointer_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_section_pointer_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_BYTES; } -int grib_accessor_class_section_pointer_t::unpack_string(grib_accessor* a, char* v, size_t* len){ - /* - unsigned char* p=NULL; - char* s=v; - int i; - long length=a->byte_count(); - if (*len < length) return GRIB_ARRAY_TOO_SMALL; +int grib_accessor_class_section_pointer_t::unpack_string(grib_accessor* a, char* v, size_t* len) +{ + // unsigned char* p=NULL; + // char* s=v; + // int i; + // long length=a->byte_count(); + // if (*len < length) return GRIB_ARRAY_TOO_SMALL; - p = grib_handle_of_accessor(a)->buffer->data + a->byte_offset(); - for (i = 0; i < length; i++) { - snprintf (s,64,"%02x", *(p++)); - s+=2; - } - *len=length; - */ - snprintf(v, 64, "%ld_%ld", a->byte_offset(), a->byte_count()); return GRIB_SUCCESS; + // p = grib_handle_of_accessor(a)->buffer->data + a->byte_offset(); + // for (i = 0; i < length; i++) { + // snprintf (s,64,"%02x", *(p++)); + // s+=2; + // } + // *len=length; + + snprintf(v, 64, "%ld_%ld", a->byte_offset(), a->byte_count()); + return GRIB_SUCCESS; } -long grib_accessor_class_section_pointer_t::byte_count(grib_accessor* a){ +long grib_accessor_class_section_pointer_t::byte_count(grib_accessor* a) +{ grib_accessor_section_pointer_t* self = (grib_accessor_section_pointer_t*)a; long sectionLength = 0; - int ret = 0; - ret = grib_get_long(grib_handle_of_accessor(a), self->sectionLength, §ionLength); - if (ret) { + int err = grib_get_long(grib_handle_of_accessor(a), self->sectionLength, §ionLength); + if (err) { grib_context_log(a->context, GRIB_LOG_ERROR, - "Unable to get %s %s", - self->sectionLength, grib_get_error_message(ret)); + "grib_accessor_class_section_pointer_t::byte_count: Unable to get %s %s", + self->sectionLength, grib_get_error_message(err)); return -1; } return sectionLength; } -long grib_accessor_class_section_pointer_t::byte_offset(grib_accessor* a){ +long grib_accessor_class_section_pointer_t::byte_offset(grib_accessor* a) +{ grib_accessor_section_pointer_t* self = (grib_accessor_section_pointer_t*)a; long sectionOffset = 0; - int ret = 0; - ret = grib_get_long(grib_handle_of_accessor(a), self->sectionOffset, §ionOffset); - if (ret) { + int err = grib_get_long(grib_handle_of_accessor(a), self->sectionOffset, §ionOffset); + if (err) { grib_context_log(a->context, GRIB_LOG_ERROR, - "Unable to get %s %s", - self->sectionOffset, grib_get_error_message(ret)); + "grib_accessor_class_section_pointer_t::byte_offset: Unable to get %s (%s)", + self->sectionOffset, grib_get_error_message(err)); return -1; } diff --git a/src/grib_value.cc b/src/grib_value.cc index 51a839da4..f89cb9725 100644 --- a/src/grib_value.cc +++ b/src/grib_value.cc @@ -272,7 +272,7 @@ int grib_copy_namespace(grib_handle* dest, const char* name, grib_handle* src) switch (type) { case GRIB_TYPE_STRING: - len = 512; + len = 1024; sval = (char*)grib_context_malloc(src->context, len * sizeof(char)); if ((*err = grib_get_string(src, key, sval, &len)) != GRIB_SUCCESS) @@ -309,8 +309,7 @@ int grib_copy_namespace(grib_handle* dest, const char* name, grib_handle* src) break; case GRIB_TYPE_BYTES: - if (len == 0) - len = 512; + len = 1024; uval = (unsigned char*)grib_context_malloc(src->context, len * sizeof(unsigned char)); if ((*err = grib_get_bytes(src, key, uval, &len)) != GRIB_SUCCESS) From 177b1d8c077288c41865a27db8ba447901e846d0 Mon Sep 17 00:00:00 2001 From: shahramn Date: Sat, 27 Jul 2024 19:25:31 +0100 Subject: [PATCH 33/63] Formatting --- src/accessor/grib_accessor_class_bytes.cc | 48 +++++++++++-------- ...r_class_change_alternative_row_scanning.cc | 28 ++++++----- ...b_accessor_class_number_of_coded_values.cc | 27 ++++++----- .../grib_accessor_class_section_padding.cc | 25 +++++----- src/accessor/grib_accessor_class_transient.cc | 6 +-- src/grib_parse_utils.cc | 4 +- tests/grib_filter.sh | 3 ++ 7 files changed, 79 insertions(+), 62 deletions(-) diff --git a/src/accessor/grib_accessor_class_bytes.cc b/src/accessor/grib_accessor_class_bytes.cc index 47c8713ae..b95b2338a 100644 --- a/src/accessor/grib_accessor_class_bytes.cc +++ b/src/accessor/grib_accessor_class_bytes.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,36 +10,42 @@ #include "grib_accessor_class_bytes.h" -grib_accessor_class_bytes_t _grib_accessor_class_bytes{"bytes"}; +grib_accessor_class_bytes_t _grib_accessor_class_bytes{ "bytes" }; grib_accessor_class* grib_accessor_class_bytes = &_grib_accessor_class_bytes; -void grib_accessor_class_bytes_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_bytes_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_gen_t::init(a, len, arg); /*grib_accessor_signed* self = (grib_accessor_signed*)a; */ a->length = len; Assert(a->length >= 0); } -int grib_accessor_class_bytes_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_bytes_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_BYTES; } -int grib_accessor_class_bytes_t::compare(grib_accessor* a, grib_accessor* b){ +int grib_accessor_class_bytes_t::compare(grib_accessor* a, grib_accessor* b) +{ int retval = GRIB_SUCCESS; - size_t alen = (size_t)a->byte_count(); size_t blen = (size_t)b->byte_count(); + size_t alen = (size_t)a->byte_count(); + size_t blen = (size_t)b->byte_count(); if (alen != blen) return GRIB_COUNT_MISMATCH; return retval; } -int grib_accessor_class_bytes_t::unpack_string(grib_accessor* a, char* v, size_t* len){ - unsigned char* p = NULL; - char* s = v; - long i = 0; - const long length = a->byte_count(); const long slength = 2 * length; +int grib_accessor_class_bytes_t::unpack_string(grib_accessor* a, char* v, size_t* len) +{ + unsigned char* p = NULL; + char* s = v; + long i = 0; + const long length = a->byte_count(); + const long slength = 2 * length; if (*len < (size_t)slength) { *len = slength; @@ -58,33 +63,34 @@ int grib_accessor_class_bytes_t::unpack_string(grib_accessor* a, char* v, size_t return GRIB_SUCCESS; } -int grib_accessor_class_bytes_t::pack_string(grib_accessor* a, const char* val, size_t* len){ +int grib_accessor_class_bytes_t::pack_string(grib_accessor* a, const char* val, size_t* len) +{ /* The string representation (val) of the byte array will have two chars * per byte e.g. 4C5B means the 2 bytes 0114 and 0133 in octal * so has to be twice the length of the byte array */ - int err = 0; - grib_context* c = a->context; - size_t nbytes = a->length; + int err = 0; + grib_context* c = a->context; + size_t nbytes = a->length; const size_t expected_blen = nbytes; const size_t expected_slen = 2 * expected_blen; - unsigned char* bytearray = NULL; + unsigned char* bytearray = NULL; size_t i = 0, slen = strlen(val); if (slen != expected_slen || *len != expected_slen) { grib_context_log(c, GRIB_LOG_ERROR, - "%s: Key %s is %lu bytes. Expected a string with %lu characters (actual length=%zu)", - __func__, a->name, expected_blen, expected_slen, *len); + "%s: Key %s is %lu bytes. Expected a string with %lu characters (actual length=%zu)", + __func__, a->name, expected_blen, expected_slen, *len); return GRIB_WRONG_ARRAY_SIZE; } bytearray = (unsigned char*)grib_context_malloc(c, nbytes * (sizeof(unsigned char))); if (!bytearray) return GRIB_OUT_OF_MEMORY; - for (i = 0; i < (slen/2); i++) { + for (i = 0; i < (slen / 2); i++) { unsigned int byteVal = 0; - if (sscanf(val + 2*i, "%02x", &byteVal) != 1) { - grib_context_log(c, GRIB_LOG_ERROR,"%s: Invalid hex byte specfication '%.2s'", __func__, val + 2*i); + if (sscanf(val + 2 * i, "%02x", &byteVal) != 1) { + grib_context_log(c, GRIB_LOG_ERROR, "%s: Invalid hex byte specfication '%.2s'", __func__, val + 2 * i); grib_context_free(c, bytearray); return GRIB_INVALID_KEY_VALUE; } diff --git a/src/accessor/grib_accessor_class_change_alternative_row_scanning.cc b/src/accessor/grib_accessor_class_change_alternative_row_scanning.cc index 50475b6a6..afd372549 100644 --- a/src/accessor/grib_accessor_class_change_alternative_row_scanning.cc +++ b/src/accessor/grib_accessor_class_change_alternative_row_scanning.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,15 +10,16 @@ #include "grib_accessor_class_change_alternative_row_scanning.h" -grib_accessor_class_change_alternative_row_scanning_t _grib_accessor_class_change_alternative_row_scanning{"change_alternative_row_scanning"}; +grib_accessor_class_change_alternative_row_scanning_t _grib_accessor_class_change_alternative_row_scanning{ "change_alternative_row_scanning" }; grib_accessor_class* grib_accessor_class_change_alternative_row_scanning = &_grib_accessor_class_change_alternative_row_scanning; -void grib_accessor_class_change_alternative_row_scanning_t::init(grib_accessor* a, const long len, grib_arguments* args){ +void grib_accessor_class_change_alternative_row_scanning_t::init(grib_accessor* a, const long len, grib_arguments* args) +{ grib_accessor_class_gen_t::init(a, len, args); - int n = 0; grib_accessor_change_alternative_row_scanning_t* self = (grib_accessor_change_alternative_row_scanning_t*)a; + int n = 0; self->values = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); self->Ni = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); self->Nj = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); @@ -29,15 +29,17 @@ void grib_accessor_class_change_alternative_row_scanning_t::init(grib_accessor* a->length = 0; } -int grib_accessor_class_change_alternative_row_scanning_t::pack_long(grib_accessor* a, const long* val, size_t* len){ - int err = 0; +int grib_accessor_class_change_alternative_row_scanning_t::pack_long(grib_accessor* a, const long* val, size_t* len) +{ grib_accessor_change_alternative_row_scanning_t* self = (grib_accessor_change_alternative_row_scanning_t*)a; + + int err = 0; const grib_context* c = a->context; - grib_handle* h = grib_handle_of_accessor(a); + grib_handle* h = grib_handle_of_accessor(a); long i, j, jr, theEnd, Ni, Nj, k, kp, alternativeRowScanning; - size_t size = 0; + size_t size = 0; double* values = NULL; - double tmp = 0.0; + double tmp = 0.0; if (*val == 0) return 0; @@ -62,7 +64,7 @@ int grib_accessor_class_change_alternative_row_scanning_t::pack_long(grib_access if ((err = grib_get_size(h, self->values, &size)) != GRIB_SUCCESS) return err; - if ( size > (size_t)(Ni * Nj) ) { + if (size > (size_t)(Ni * Nj)) { grib_context_log(c, GRIB_LOG_ERROR, "change_alternative_row_scanning: wrong values size!=Ni*Nj (%zu!=%ld*%ld)", size, Ni, Nj); return GRIB_WRONG_ARRAY_SIZE; } @@ -106,11 +108,13 @@ int grib_accessor_class_change_alternative_row_scanning_t::pack_long(grib_access return GRIB_SUCCESS; } -int grib_accessor_class_change_alternative_row_scanning_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_change_alternative_row_scanning_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_LONG; } -int grib_accessor_class_change_alternative_row_scanning_t::unpack_long(grib_accessor* a, long* v, size_t* len){ +int grib_accessor_class_change_alternative_row_scanning_t::unpack_long(grib_accessor* a, long* v, size_t* len) +{ /* Decoding this accessor doesn't make sense so we return a dummy value */ *v = -1; return GRIB_SUCCESS; diff --git a/src/accessor/grib_accessor_class_number_of_coded_values.cc b/src/accessor/grib_accessor_class_number_of_coded_values.cc index f1023dd2e..a4410d75d 100644 --- a/src/accessor/grib_accessor_class_number_of_coded_values.cc +++ b/src/accessor/grib_accessor_class_number_of_coded_values.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,25 +10,28 @@ #include "grib_accessor_class_number_of_coded_values.h" -grib_accessor_class_number_of_coded_values_t _grib_accessor_class_number_of_coded_values{"number_of_coded_values"}; +grib_accessor_class_number_of_coded_values_t _grib_accessor_class_number_of_coded_values{ "number_of_coded_values" }; grib_accessor_class* grib_accessor_class_number_of_coded_values = &_grib_accessor_class_number_of_coded_values; -void grib_accessor_class_number_of_coded_values_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_number_of_coded_values_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_long_t::init(a, l, c); - int n = 0; grib_accessor_number_of_coded_values_t* self = (grib_accessor_number_of_coded_values_t*)a; - self->bitsPerValue = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->offsetBeforeData = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->offsetAfterData = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->unusedBits = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->numberOfValues = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + + int n = 0; + self->bitsPerValue = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->offsetBeforeData = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->offsetAfterData = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->unusedBits = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->numberOfValues = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; a->flags |= GRIB_ACCESSOR_FLAG_FUNCTION; a->length = 0; } -int grib_accessor_class_number_of_coded_values_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_number_of_coded_values_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ int ret = GRIB_SUCCESS; long bpv = 0; long offsetBeforeData = 0, offsetAfterData = 0, unusedBits = 0, numberOfValues; @@ -50,8 +52,9 @@ int grib_accessor_class_number_of_coded_values_t::unpack_long(grib_accessor* a, return ret; if (bpv != 0) { - grib_context_log(a->context, GRIB_LOG_DEBUG, "grib_accessor_number_of_coded_values_t: offsetAfterData=%ld offsetBeforeData=%ld unusedBits=%ld bpv=%ld\n", - offsetAfterData, offsetBeforeData, unusedBits, bpv); + grib_context_log(a->context, GRIB_LOG_DEBUG, + "grib_accessor_number_of_coded_values_t: offsetAfterData=%ld offsetBeforeData=%ld unusedBits=%ld bpv=%ld\n", + offsetAfterData, offsetBeforeData, unusedBits, bpv); DEBUG_ASSERT(offsetAfterData > offsetBeforeData); *val = ((offsetAfterData - offsetBeforeData) * 8 - unusedBits) / bpv; } diff --git a/src/accessor/grib_accessor_class_section_padding.cc b/src/accessor/grib_accessor_class_section_padding.cc index c3457898f..f811313d6 100644 --- a/src/accessor/grib_accessor_class_section_padding.cc +++ b/src/accessor/grib_accessor_class_section_padding.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,18 +10,19 @@ #include "grib_accessor_class_section_padding.h" -grib_accessor_class_section_padding_t _grib_accessor_class_section_padding{"section_padding"}; +grib_accessor_class_section_padding_t _grib_accessor_class_section_padding{ "section_padding" }; grib_accessor_class* grib_accessor_class_section_padding = &_grib_accessor_class_section_padding; -size_t grib_accessor_class_section_padding_t::preferred_size(grib_accessor* a, int from_handle){ +size_t grib_accessor_class_section_padding_t::preferred_size(grib_accessor* a, int from_handle) +{ grib_accessor_section_padding_t* self = (grib_accessor_section_padding_t*)a; - grib_accessor* b = a; - grib_accessor* section_length = 0; - long length = 0; - size_t size = 1; - long alength = 0; + grib_accessor* b = a; + grib_accessor* section_length = 0; + long length = 0; + size_t size = 1; + long alength = 0; if (!from_handle) { if (self->preserve) @@ -34,7 +34,7 @@ size_t grib_accessor_class_section_padding_t::preferred_size(grib_accessor* a, i /* The section length should be a parameter */ while (section_length == NULL && b != NULL) { section_length = b->parent->aclength; - b = b->parent->owner; + b = b->parent->owner; } if (!section_length) { @@ -62,9 +62,10 @@ size_t grib_accessor_class_section_padding_t::preferred_size(grib_accessor* a, i return alength; } -void grib_accessor_class_section_padding_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_section_padding_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_padding_t::init(a, len, arg); grib_accessor_section_padding_t* self = (grib_accessor_section_padding_t*)a; - self->preserve = 1; /* This should be a parameter */ - a->length = preferred_size(a, 1); + self->preserve = 1; /* This should be a parameter */ + a->length = preferred_size(a, 1); } diff --git a/src/accessor/grib_accessor_class_transient.cc b/src/accessor/grib_accessor_class_transient.cc index 0cda763d0..d40fdc9cc 100644 --- a/src/accessor/grib_accessor_class_transient.cc +++ b/src/accessor/grib_accessor_class_transient.cc @@ -10,11 +10,11 @@ #include "grib_accessor_class_transient.h" -grib_accessor_class_transient_t _grib_accessor_class_transient{"transient"}; +grib_accessor_class_transient_t _grib_accessor_class_transient{ "transient" }; grib_accessor_class* grib_accessor_class_transient = &_grib_accessor_class_transient; -void grib_accessor_class_transient_t::init(grib_accessor* a, const long l, grib_arguments* args) { +void grib_accessor_class_transient_t::init(grib_accessor* a, const long l, grib_arguments* args) +{ grib_accessor_class_variable_t::init(a, l, args); } - diff --git a/src/grib_parse_utils.cc b/src/grib_parse_utils.cc index 98a01cd7b..ed65572d5 100644 --- a/src/grib_parse_utils.cc +++ b/src/grib_parse_utils.cc @@ -92,7 +92,7 @@ int grib_recompose_name(grib_handle* h, grib_accessor* observer, const char* una fname[0] = 0; ptrEnd_fname = fname; - /* uname is a string like "grib[GRIBEditionNumber:l]/boot.def". The result fname will be grib2/boot.def */ + /* uname is a string like "grib[GRIBEditionNumber:i]/boot.def". The result fname will be grib2/boot.def */ while (uname[i] != '\0') { if (mode > -1) { if (uname[i] == ':') { @@ -109,7 +109,7 @@ int grib_recompose_name(grib_handle* h, grib_accessor* observer, const char* una } else { grib_context_log(h->context, GRIB_LOG_WARNING, - "Recompose name: Problem recomposing filename with : %s ( %s no accessor found)", uname, loc); + "%s: Problem recomposing filename with: %s (%s no accessor found)", __func__, uname, loc); return GRIB_NOT_FOUND; } } diff --git a/tests/grib_filter.sh b/tests/grib_filter.sh index e85eb2c6c..4f4ab00be 100755 --- a/tests/grib_filter.sh +++ b/tests/grib_filter.sh @@ -424,6 +424,9 @@ set -e [ $status -ne 0 ] ${tools_dir}/grib_compare $input $tempGrib # compare should succeed +# Write statement with key of type double +input=$data_dir/sample.grib2 +echo 'write "delete_me_[referenceValue:d]";' | ${tools_dir}/grib_filter - $input # GTS header # --------------- From 36223c395f7d70848d458700fdfd44141658a1a2 Mon Sep 17 00:00:00 2001 From: shahramn Date: Mon, 29 Jul 2024 11:51:54 +0100 Subject: [PATCH 34/63] Formatting and cleanups --- ...grib_accessor_class_bufr_elements_table.cc | 6 +- ...sor_class_bufr_extract_datetime_subsets.cc | 17 +--- ...ccessor_class_change_scanning_direction.cc | 35 ++++--- ...b_accessor_class_check_internal_version.cc | 12 ++- .../grib_accessor_class_closest_date.cc | 53 +++++----- .../grib_accessor_class_decimal_precision.cc | 31 +++--- src/accessor/grib_accessor_class_g1bitmap.cc | 30 +++--- src/accessor/grib_accessor_class_g1date.cc | 34 ++++--- ...ass_g1number_of_coded_values_sh_complex.cc | 28 +++--- ...lass_g1number_of_coded_values_sh_simple.cc | 26 ++--- .../grib_accessor_class_g1step_range.cc | 97 +++++++++++-------- src/accessor/grib_accessor_class_group.cc | 41 +++++--- .../grib_accessor_class_gts_header.cc | 29 +++--- .../grib_accessor_class_hash_array.cc | 72 ++++++++------ .../grib_accessor_class_headers_only.cc | 12 ++- src/accessor/grib_accessor_class_ifs_param.cc | 27 +++--- .../grib_accessor_class_ksec1expver.cc | 35 ++++--- src/accessor/grib_accessor_class_label.cc | 15 +-- src/accessor/grib_accessor_class_long.cc | 3 +- .../grib_accessor_class_mars_param.cc | 27 +++--- src/accessor/grib_accessor_class_message.cc | 28 +++--- .../grib_accessor_class_message_copy.cc | 21 ++-- .../grib_accessor_class_multdouble.cc | 13 +-- src/accessor/grib_accessor_class_non_alpha.cc | 36 ++++--- .../grib_accessor_class_pack_bufr_values.cc | 50 ++++++---- src/accessor/grib_accessor_class_pad.cc | 28 +++--- 26 files changed, 449 insertions(+), 357 deletions(-) diff --git a/src/accessor/grib_accessor_class_bufr_elements_table.cc b/src/accessor/grib_accessor_class_bufr_elements_table.cc index 04a61d02b..a4db0249b 100644 --- a/src/accessor/grib_accessor_class_bufr_elements_table.cc +++ b/src/accessor/grib_accessor_class_bufr_elements_table.cc @@ -67,10 +67,8 @@ static grib_trie* load_bufr_elements_table(grib_accessor* a, int* err) char masterDir[1024] = {0,}; char localDir[1024] = {0,}; char dictName[1024] = {0,}; - char masterRecomposed[1024] = {0,}; /*e.g. bufr/tables/0/wmo/36/element.table */ - char localRecomposed[1024] = { - 0, - }; /*e.g. bufr/tables/0/local/0/98/0/element.table */ + char masterRecomposed[1024] = {0,}; //e.g. bufr/tables/0/wmo/36/element.table + char localRecomposed[1024] = {0,}; //e.g. bufr/tables/0/local/0/98/0/element.table char* localFilename = 0; char** list = 0; char** cached_list = 0; diff --git a/src/accessor/grib_accessor_class_bufr_extract_datetime_subsets.cc b/src/accessor/grib_accessor_class_bufr_extract_datetime_subsets.cc index d47652984..fc49cdcae 100644 --- a/src/accessor/grib_accessor_class_bufr_extract_datetime_subsets.cc +++ b/src/accessor/grib_accessor_class_bufr_extract_datetime_subsets.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -88,9 +87,7 @@ static int build_long_array(grib_context* c, grib_handle* h, int compressed, } else { /* uncompressed */ - char keystr[32] = { - 0, - }; + char keystr[32] = {0,}; size_t values_len = 0; for (i = 0; i < numberOfSubsets; ++i) { long lVal = 0; @@ -118,15 +115,9 @@ static int select_datetime(grib_accessor* a) grib_context* c = h->context; size_t n; double julianStart = 0, julianEnd = 0, julianDT = 0; - char start_str[80] = { - 0, - }, - end_str[80] = { - 0, - }, - datetime_str[80] = { - 0, - }; + char start_str[80] = {0,}, + end_str[80] = {0,}, + datetime_str[80] = {0,}; long yearRank, monthRank, dayRank, hourRank, minuteRank, secondRank; long yearStart, monthStart, dayStart, hourStart, minuteStart, secondStart; long yearEnd, monthEnd, dayEnd, hourEnd, minuteEnd, secondEnd; diff --git a/src/accessor/grib_accessor_class_change_scanning_direction.cc b/src/accessor/grib_accessor_class_change_scanning_direction.cc index e3b6144c9..e98df6f93 100644 --- a/src/accessor/grib_accessor_class_change_scanning_direction.cc +++ b/src/accessor/grib_accessor_class_change_scanning_direction.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,16 +10,17 @@ #include "grib_accessor_class_change_scanning_direction.h" -grib_accessor_class_change_scanning_direction_t _grib_accessor_class_change_scanning_direction{"change_scanning_direction"}; +grib_accessor_class_change_scanning_direction_t _grib_accessor_class_change_scanning_direction{ "change_scanning_direction" }; grib_accessor_class* grib_accessor_class_change_scanning_direction = &_grib_accessor_class_change_scanning_direction; -void grib_accessor_class_change_scanning_direction_t::init(grib_accessor* a, const long len, grib_arguments* args){ +void grib_accessor_class_change_scanning_direction_t::init(grib_accessor* a, const long len, grib_arguments* args) +{ grib_accessor_class_gen_t::init(a, len, args); grib_accessor_change_scanning_direction_t* self = (grib_accessor_change_scanning_direction_t*)a; grib_handle* h = grib_handle_of_accessor(a); - int n = 0; + int n = 0; self->values = grib_arguments_get_name(h, args, n++); self->Ni = grib_arguments_get_name(h, args, n++); self->Nj = grib_arguments_get_name(h, args, n++); @@ -34,20 +34,21 @@ void grib_accessor_class_change_scanning_direction_t::init(grib_accessor* a, con a->length = 0; } -int grib_accessor_class_change_scanning_direction_t::pack_long(grib_accessor* a, const long* val, size_t* len){ +int grib_accessor_class_change_scanning_direction_t::pack_long(grib_accessor* a, const long* val, size_t* len) +{ int err = 0; long i, j, jr, theEnd, Ni, Nj, k, kp; double tmp; - long iScansNegatively = 0; - long jScansPositively = 0; - double first = 0; - double last = 0; - size_t size = 0; - double* values = NULL; + long iScansNegatively = 0; + long jScansPositively = 0; + double first = 0; + double last = 0; + size_t size = 0; + double* values = NULL; grib_accessor_change_scanning_direction_t* self = (grib_accessor_change_scanning_direction_t*)a; - const grib_context* c = a->context; - grib_handle* h = grib_handle_of_accessor(a); - const char* cclass_name = a->cclass->name; + const grib_context* c = a->context; + grib_handle* h = grib_handle_of_accessor(a); + const char* cclass_name = a->cclass->name; if (*val == 0) return GRIB_SUCCESS; @@ -147,11 +148,13 @@ int grib_accessor_class_change_scanning_direction_t::pack_long(grib_accessor* a, return GRIB_SUCCESS; } -int grib_accessor_class_change_scanning_direction_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_change_scanning_direction_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_LONG; } -int grib_accessor_class_change_scanning_direction_t::unpack_long(grib_accessor* a, long* v, size_t* len){ +int grib_accessor_class_change_scanning_direction_t::unpack_long(grib_accessor* a, long* v, size_t* len) +{ /* ECC-976: decoding this accessor doesn't make sense so we return a dummy value */ *v = -1; return GRIB_SUCCESS; diff --git a/src/accessor/grib_accessor_class_check_internal_version.cc b/src/accessor/grib_accessor_class_check_internal_version.cc index f8ceb1896..3dc480820 100644 --- a/src/accessor/grib_accessor_class_check_internal_version.cc +++ b/src/accessor/grib_accessor_class_check_internal_version.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,7 +10,7 @@ #include "grib_accessor_class_check_internal_version.h" -grib_accessor_class_check_internal_version_t _grib_accessor_class_check_internal_version{"check_internal_version"}; +grib_accessor_class_check_internal_version_t _grib_accessor_class_check_internal_version{ "check_internal_version" }; grib_accessor_class* grib_accessor_class_check_internal_version = &_grib_accessor_class_check_internal_version; @@ -20,7 +19,8 @@ grib_accessor_class* grib_accessor_class_check_internal_version = &_grib_accesso /* See the key "internalVersion" */ #define LATEST_ENGINE_VERSION 30 -void grib_accessor_class_check_internal_version_t::init(grib_accessor* a, const long l, grib_arguments* args){ +void grib_accessor_class_check_internal_version_t::init(grib_accessor* a, const long l, grib_arguments* args) +{ grib_accessor_class_ascii_t::init(a, l, args); /* Check version of definition files is compatible with the engine */ int err = 0; @@ -41,11 +41,13 @@ void grib_accessor_class_check_internal_version_t::init(grib_accessor* a, const } } -int grib_accessor_class_check_internal_version_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_check_internal_version_t::value_count(grib_accessor* a, long* count) +{ *count = 1; return 0; } -size_t grib_accessor_class_check_internal_version_t::string_length(grib_accessor* a){ +size_t grib_accessor_class_check_internal_version_t::string_length(grib_accessor* a) +{ return 255; } diff --git a/src/accessor/grib_accessor_class_closest_date.cc b/src/accessor/grib_accessor_class_closest_date.cc index b0b3bb512..5113de7ae 100644 --- a/src/accessor/grib_accessor_class_closest_date.cc +++ b/src/accessor/grib_accessor_class_closest_date.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -12,34 +11,37 @@ #include "grib_accessor_class_closest_date.h" #include -grib_accessor_class_closest_date_t _grib_accessor_class_closest_date{"closest_date"}; +grib_accessor_class_closest_date_t _grib_accessor_class_closest_date{ "closest_date" }; grib_accessor_class* grib_accessor_class_closest_date = &_grib_accessor_class_closest_date; -void grib_accessor_class_closest_date_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_closest_date_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_double_t::init(a, l, c); grib_accessor_closest_date_t* self = (grib_accessor_closest_date_t*)a; - grib_handle* h = grib_handle_of_accessor(a); - int n = 0; + grib_handle* h = grib_handle_of_accessor(a); + int n = 0; - self->dateLocal = grib_arguments_get_name(h, c, n++); - self->timeLocal = grib_arguments_get_name(h, c, n++); + self->dateLocal = grib_arguments_get_name(h, c, n++); + self->timeLocal = grib_arguments_get_name(h, c, n++); self->numForecasts = grib_arguments_get_name(h, c, n++); - self->year = grib_arguments_get_name(h, c, n++); - self->month = grib_arguments_get_name(h, c, n++); - self->day = grib_arguments_get_name(h, c, n++); - self->hour = grib_arguments_get_name(h, c, n++); - self->minute = grib_arguments_get_name(h, c, n++); - self->second = grib_arguments_get_name(h, c, n++); + self->year = grib_arguments_get_name(h, c, n++); + self->month = grib_arguments_get_name(h, c, n++); + self->day = grib_arguments_get_name(h, c, n++); + self->hour = grib_arguments_get_name(h, c, n++); + self->minute = grib_arguments_get_name(h, c, n++); + self->second = grib_arguments_get_name(h, c, n++); a->length = 0; } -void grib_accessor_class_closest_date_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_closest_date_t::dump(grib_accessor* a, grib_dumper* dumper) +{ grib_dump_string(dumper, a, NULL); } -int grib_accessor_class_closest_date_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_closest_date_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ int ret = 0; double v = 0; @@ -50,24 +52,25 @@ int grib_accessor_class_closest_date_t::unpack_long(grib_accessor* a, long* val, } /* Sets val to the 'index' of the closes date */ -int grib_accessor_class_closest_date_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_closest_date_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ const grib_accessor_closest_date_t* self = (grib_accessor_closest_date_t*)a; - int err = 0; + int err = 0; long num_forecasts = 0; /* numberOfForecastsUsedInLocalTime */ /* These relate to the date and time in Section 1 */ long ymdLocal, hmsLocal, yearLocal, monthLocal, dayLocal, hourLocal, minuteLocal, secondLocal; - double jLocal = 0; + double jLocal = 0; double minDiff = DBL_MAX; - size_t i = 0; - size_t size = 0; /* number of elements in the array keys - should be = numberOfForecastsUsedInLocalTime */ + size_t i = 0; + size_t size = 0; /* number of elements in the array keys - should be = numberOfForecastsUsedInLocalTime */ /* These relate to the forecast dates and times in Section 4 */ long *yearArray, *monthArray, *dayArray, *hourArray, *minuteArray, *secondArray; - grib_handle* h = grib_handle_of_accessor(a); + grib_handle* h = grib_handle_of_accessor(a); const grib_context* c = a->context; - *val = -1; /* initialise to an invalid index */ + *val = -1; /* initialise to an invalid index */ if ((err = grib_get_long_internal(h, self->numForecasts, &num_forecasts)) != GRIB_SUCCESS) return err; Assert(num_forecasts > 1); @@ -79,7 +82,7 @@ int grib_accessor_class_closest_date_t::unpack_double(grib_accessor* a, double* ymdLocal %= 100; dayLocal = ymdLocal; - if ((err= grib_get_long(h, self->timeLocal, &hmsLocal)) != GRIB_SUCCESS) return err; + if ((err = grib_get_long(h, self->timeLocal, &hmsLocal)) != GRIB_SUCCESS) return err; hourLocal = hmsLocal / 100; hmsLocal %= 100; minuteLocal = hmsLocal / 100; @@ -117,14 +120,14 @@ int grib_accessor_class_closest_date_t::unpack_double(grib_accessor* a, double* if ((err = grib_get_long_array_internal(h, self->second, secondArray, &size)) != GRIB_SUCCESS) return err; grib_datetime_to_julian(yearLocal, monthLocal, dayLocal, hourLocal, minuteLocal, secondLocal, &jLocal); - for(i=0; i< size; ++i) { + for (i = 0; i < size; ++i) { double jval = 0, diff = 0; grib_datetime_to_julian(yearArray[i], monthArray[i], dayArray[i], hourArray[i], minuteArray[i], secondArray[i], &jval); diff = jLocal - jval; if (diff >= 0 && diff < minDiff) { minDiff = diff; - *val = i; + *val = i; } } if (*val == -1) { diff --git a/src/accessor/grib_accessor_class_decimal_precision.cc b/src/accessor/grib_accessor_class_decimal_precision.cc index 6149de763..05d156ad1 100644 --- a/src/accessor/grib_accessor_class_decimal_precision.cc +++ b/src/accessor/grib_accessor_class_decimal_precision.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,15 +10,16 @@ #include "grib_accessor_class_decimal_precision.h" -grib_accessor_class_decimal_precision_t _grib_accessor_class_decimal_precision{"decimal_precision"}; +grib_accessor_class_decimal_precision_t _grib_accessor_class_decimal_precision{ "decimal_precision" }; grib_accessor_class* grib_accessor_class_decimal_precision = &_grib_accessor_class_decimal_precision; -void grib_accessor_class_decimal_precision_t::init(grib_accessor* a, const long l, grib_arguments* args){ +void grib_accessor_class_decimal_precision_t::init(grib_accessor* a, const long l, grib_arguments* args) +{ grib_accessor_class_long_t::init(a, l, args); - int n = 0; grib_accessor_decimal_precision_t* self = (grib_accessor_decimal_precision_t*)a; + int n = 0; self->bits_per_value = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); self->decimal_scale_factor = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); self->changing_precision = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); @@ -29,11 +29,12 @@ void grib_accessor_class_decimal_precision_t::init(grib_accessor* a, const long a->length = 0; } -int grib_accessor_class_decimal_precision_t::unpack_long(grib_accessor* a, long* val, size_t* len){ - int ret = 0; +int grib_accessor_class_decimal_precision_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ grib_accessor_decimal_precision_t* self = (grib_accessor_decimal_precision_t*)a; - grib_handle* h = grib_handle_of_accessor(a); + grib_handle* h = grib_handle_of_accessor(a); + int ret = GRIB_SUCCESS; if ((ret = grib_get_long_internal(h, self->decimal_scale_factor, val)) != GRIB_SUCCESS) return ret; @@ -41,14 +42,16 @@ int grib_accessor_class_decimal_precision_t::unpack_long(grib_accessor* a, long* return ret; } -int grib_accessor_class_decimal_precision_t::pack_long(grib_accessor* a, const long* val, size_t* len){ - long bitsPerValue = 0; - double* values = NULL; - size_t size = 0; - int ret = 0; +int grib_accessor_class_decimal_precision_t::pack_long(grib_accessor* a, const long* val, size_t* len) +{ grib_accessor_decimal_precision_t* self = (grib_accessor_decimal_precision_t*)a; - grib_context* c = a->context; - grib_handle* h = grib_handle_of_accessor(a); + + long bitsPerValue = 0; + double* values = NULL; + size_t size = 0; + int ret = 0; + grib_context* c = a->context; + grib_handle* h = grib_handle_of_accessor(a); if (!self->values) { if ((ret = grib_set_long_internal(h, self->bits_per_value, 0)) != GRIB_SUCCESS) diff --git a/src/accessor/grib_accessor_class_g1bitmap.cc b/src/accessor/grib_accessor_class_g1bitmap.cc index 162d62b68..331b800c5 100644 --- a/src/accessor/grib_accessor_class_g1bitmap.cc +++ b/src/accessor/grib_accessor_class_g1bitmap.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,25 +10,27 @@ #include "grib_accessor_class_g1bitmap.h" -grib_accessor_class_g1bitmap_t _grib_accessor_class_g1bitmap{"g1bitmap"}; +grib_accessor_class_g1bitmap_t _grib_accessor_class_g1bitmap{ "g1bitmap" }; grib_accessor_class* grib_accessor_class_g1bitmap = &_grib_accessor_class_g1bitmap; -void grib_accessor_class_g1bitmap_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_g1bitmap_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_bitmap_t::init(a, len, arg); grib_accessor_g1bitmap_t* self = (grib_accessor_g1bitmap_t*)a; - self->unusedBits = grib_arguments_get_name(grib_handle_of_accessor(a), arg, 4); + self->unusedBits = grib_arguments_get_name(grib_handle_of_accessor(a), arg, 4); } -int grib_accessor_class_g1bitmap_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_g1bitmap_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ grib_accessor_g1bitmap_t* self = (grib_accessor_g1bitmap_t*)a; size_t tlen; unsigned char* buf = NULL; size_t i; - int err = 0; - long pos = 0; - //long bmaplen = 0; + int err = 0; + long pos = 0; + // long bmaplen = 0; const int bit_padding = 16; double miss_values = 0; tlen = ((*len + bit_padding - 1) / bit_padding * bit_padding) / 8; @@ -45,7 +46,7 @@ int grib_accessor_class_g1bitmap_t::pack_double(grib_accessor* a, const double* if (val[i] == miss_values) pos++; else { - //bmaplen++; + // bmaplen++; grib_set_bit_on(buf, &pos); } } @@ -61,7 +62,8 @@ int grib_accessor_class_g1bitmap_t::pack_double(grib_accessor* a, const double* return GRIB_SUCCESS; } -int grib_accessor_class_g1bitmap_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_g1bitmap_t::value_count(grib_accessor* a, long* count) +{ grib_accessor_g1bitmap_t* self = (grib_accessor_g1bitmap_t*)a; long tlen; int err; @@ -73,12 +75,14 @@ int grib_accessor_class_g1bitmap_t::value_count(grib_accessor* a, long* count){ return err; } -int grib_accessor_class_g1bitmap_t::unpack_bytes(grib_accessor* a, unsigned char* val, size_t* len){ - unsigned char* buf = grib_handle_of_accessor(a)->buffer->data; +int grib_accessor_class_g1bitmap_t::unpack_bytes(grib_accessor* a, unsigned char* val, size_t* len) +{ + unsigned char* buf = grib_handle_of_accessor(a)->buffer->data; grib_accessor_g1bitmap_t* self = (grib_accessor_g1bitmap_t*)a; long tlen; int err; - long length = a->byte_count(); long offset = a->byte_offset(); + long length = a->byte_count(); + long offset = a->byte_offset(); if (*len < (size_t)length) { grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong size for %s it is %ld bytes long\n", a->name, length); *len = length; diff --git a/src/accessor/grib_accessor_class_g1date.cc b/src/accessor/grib_accessor_class_g1date.cc index 64631a1ea..c9a3055dd 100644 --- a/src/accessor/grib_accessor_class_g1date.cc +++ b/src/accessor/grib_accessor_class_g1date.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,15 +10,16 @@ #include "grib_accessor_class_g1date.h" -grib_accessor_class_g1date_t _grib_accessor_class_g1date{"g1date"}; +grib_accessor_class_g1date_t _grib_accessor_class_g1date{ "g1date" }; grib_accessor_class* grib_accessor_class_g1date = &_grib_accessor_class_g1date; -void grib_accessor_class_g1date_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_g1date_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_long_t::init(a, l, c); grib_accessor_g1date_t* self = (grib_accessor_g1date_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); - int n = 0; + grib_handle* hand = grib_handle_of_accessor(a); + int n = 0; self->century = grib_arguments_get_name(hand, c, n++); self->year = grib_arguments_get_name(hand, c, n++); @@ -27,11 +27,12 @@ void grib_accessor_class_g1date_t::init(grib_accessor* a, const long l, grib_arg self->day = grib_arguments_get_name(hand, c, n++); } -int grib_accessor_class_g1date_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_g1date_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ grib_accessor_g1date_t* self = (grib_accessor_g1date_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); + grib_handle* hand = grib_handle_of_accessor(a); - int ret = 0; + int ret = 0; long year = 0, century = 0, month = 0, day = 0; if ((ret = grib_get_long_internal(hand, self->century, ¢ury)) != GRIB_SUCCESS) @@ -59,12 +60,13 @@ int grib_accessor_class_g1date_t::unpack_long(grib_accessor* a, long* val, size_ return GRIB_SUCCESS; } -int grib_accessor_class_g1date_t::pack_long(grib_accessor* a, const long* val, size_t* len){ +int grib_accessor_class_g1date_t::pack_long(grib_accessor* a, const long* val, size_t* len) +{ grib_accessor_g1date_t* self = (grib_accessor_g1date_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); + grib_handle* hand = grib_handle_of_accessor(a); - int ret = 0; - long v = val[0]; + int ret = 0; + long v = val[0]; long year = 0, century = 0, month = 0, day = 0; if (*len != 1) @@ -116,9 +118,10 @@ static const char* months[] = { "dec", }; -int grib_accessor_class_g1date_t::unpack_string(grib_accessor* a, char* val, size_t* len){ +int grib_accessor_class_g1date_t::unpack_string(grib_accessor* a, char* val, size_t* len) +{ grib_accessor_g1date_t* self = (grib_accessor_g1date_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); + grib_handle* hand = grib_handle_of_accessor(a); int ret = 0; char tmp[1024]; @@ -159,7 +162,8 @@ int grib_accessor_class_g1date_t::unpack_string(grib_accessor* a, char* val, siz return GRIB_SUCCESS; } -int grib_accessor_class_g1date_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_g1date_t::value_count(grib_accessor* a, long* count) +{ *count = 1; return 0; } diff --git a/src/accessor/grib_accessor_class_g1number_of_coded_values_sh_complex.cc b/src/accessor/grib_accessor_class_g1number_of_coded_values_sh_complex.cc index 9976ad812..012b3e6a4 100644 --- a/src/accessor/grib_accessor_class_g1number_of_coded_values_sh_complex.cc +++ b/src/accessor/grib_accessor_class_g1number_of_coded_values_sh_complex.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,28 +10,31 @@ #include "grib_accessor_class_g1number_of_coded_values_sh_complex.h" -grib_accessor_class_g1number_of_coded_values_sh_complex_t _grib_accessor_class_g1number_of_coded_values_sh_complex{"g1number_of_coded_values_sh_complex"}; +grib_accessor_class_g1number_of_coded_values_sh_complex_t _grib_accessor_class_g1number_of_coded_values_sh_complex{ "g1number_of_coded_values_sh_complex" }; grib_accessor_class* grib_accessor_class_g1number_of_coded_values_sh_complex = &_grib_accessor_class_g1number_of_coded_values_sh_complex; -void grib_accessor_class_g1number_of_coded_values_sh_complex_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_g1number_of_coded_values_sh_complex_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_long_t::init(a, l, c); - int n = 0; grib_accessor_g1number_of_coded_values_sh_complex_t* self = (grib_accessor_g1number_of_coded_values_sh_complex_t*)a; - self->bitsPerValue = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->offsetBeforeData = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->offsetAfterData = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->unusedBits = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->numberOfValues = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->JS = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->KS = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->MS = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + + int n = 0; + self->bitsPerValue = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->offsetBeforeData = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->offsetAfterData = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->unusedBits = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->numberOfValues = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->JS = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->KS = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->MS = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; a->flags |= GRIB_ACCESSOR_FLAG_FUNCTION; a->length = 0; } -int grib_accessor_class_g1number_of_coded_values_sh_complex_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_g1number_of_coded_values_sh_complex_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ int ret = GRIB_SUCCESS; long bpv = 0; long offsetBeforeData = 0, offsetAfterData = 0, unusedBits = 0, numberOfValues; diff --git a/src/accessor/grib_accessor_class_g1number_of_coded_values_sh_simple.cc b/src/accessor/grib_accessor_class_g1number_of_coded_values_sh_simple.cc index 802e6ceb7..4e6f4fe7b 100644 --- a/src/accessor/grib_accessor_class_g1number_of_coded_values_sh_simple.cc +++ b/src/accessor/grib_accessor_class_g1number_of_coded_values_sh_simple.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,27 +10,30 @@ #include "grib_accessor_class_g1number_of_coded_values_sh_simple.h" -grib_accessor_class_g1number_of_coded_values_sh_simple_t _grib_accessor_class_g1number_of_coded_values_sh_simple{"g1number_of_coded_values_sh_simple"}; +grib_accessor_class_g1number_of_coded_values_sh_simple_t _grib_accessor_class_g1number_of_coded_values_sh_simple{ "g1number_of_coded_values_sh_simple" }; grib_accessor_class* grib_accessor_class_g1number_of_coded_values_sh_simple = &_grib_accessor_class_g1number_of_coded_values_sh_simple; -void grib_accessor_class_g1number_of_coded_values_sh_simple_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_g1number_of_coded_values_sh_simple_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_long_t::init(a, l, c); - int n = 0; grib_accessor_g1number_of_coded_values_sh_simple_t* self = (grib_accessor_g1number_of_coded_values_sh_simple_t*)a; - self->bitsPerValue = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->offsetBeforeData = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->offsetAfterData = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->unusedBits = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->numberOfValues = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + + int n = 0; + self->bitsPerValue = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->offsetBeforeData = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->offsetAfterData = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->unusedBits = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->numberOfValues = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; a->flags |= GRIB_ACCESSOR_FLAG_FUNCTION; a->length = 0; } -int grib_accessor_class_g1number_of_coded_values_sh_simple_t::unpack_long(grib_accessor* a, long* val, size_t* len){ - int ret = GRIB_SUCCESS; - long bpv = 0; +int grib_accessor_class_g1number_of_coded_values_sh_simple_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ + int ret = GRIB_SUCCESS; + long bpv = 0; long offsetBeforeData = 0, offsetAfterData = 0, unusedBits = 0, numberOfValues; grib_accessor_g1number_of_coded_values_sh_simple_t* self = (grib_accessor_g1number_of_coded_values_sh_simple_t*)a; diff --git a/src/accessor/grib_accessor_class_g1step_range.cc b/src/accessor/grib_accessor_class_g1step_range.cc index a2920a1cf..0c8c886dc 100644 --- a/src/accessor/grib_accessor_class_g1step_range.cc +++ b/src/accessor/grib_accessor_class_g1step_range.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,34 +10,37 @@ #include "grib_accessor_class_g1step_range.h" -grib_accessor_class_g1step_range_t _grib_accessor_class_g1step_range{"g1step_range"}; +grib_accessor_class_g1step_range_t _grib_accessor_class_g1step_range{ "g1step_range" }; grib_accessor_class* grib_accessor_class_g1step_range = &_grib_accessor_class_g1step_range; -void grib_accessor_class_g1step_range_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_g1step_range_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_abstract_long_vector_t::init(a, l, c); grib_accessor_g1step_range_t* self = (grib_accessor_g1step_range_t*)a; - grib_handle* h = grib_handle_of_accessor(a); - int n = 0; - self->p1 = grib_arguments_get_name(h, c, n++); - self->p2 = grib_arguments_get_name(h, c, n++); - self->timeRangeIndicator = grib_arguments_get_name(h, c, n++); - self->unit = grib_arguments_get_name(h, c, n++); - self->step_unit = grib_arguments_get_name(h, c, n++); - self->stepType = grib_arguments_get_name(h, c, n++); - self->patch_fp_precip = grib_arguments_get_name(h, c, n++); - self->error_on_units = 1; + grib_handle* h = grib_handle_of_accessor(a); + + int n = 0; + self->p1 = grib_arguments_get_name(h, c, n++); + self->p2 = grib_arguments_get_name(h, c, n++); + self->timeRangeIndicator = grib_arguments_get_name(h, c, n++); + self->unit = grib_arguments_get_name(h, c, n++); + self->step_unit = grib_arguments_get_name(h, c, n++); + self->stepType = grib_arguments_get_name(h, c, n++); + self->patch_fp_precip = grib_arguments_get_name(h, c, n++); + self->error_on_units = 1; self->number_of_elements = 2; self->v = (long*)grib_context_malloc_clear(h->context, - sizeof(long) * self->number_of_elements); - self->pack_index = -1; - a->dirty = 1; + sizeof(long) * self->number_of_elements); + self->pack_index = -1; + a->dirty = 1; a->length = 0; } -void grib_accessor_class_g1step_range_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_g1step_range_t::dump(grib_accessor* a, grib_dumper* dumper) +{ grib_dump_string(dumper, a, NULL); } @@ -88,7 +90,7 @@ static const int u2s[] = { int grib_g1_step_get_steps(grib_accessor* a, long* start, long* theEnd) { grib_accessor_g1step_range_t* self = (grib_accessor_g1step_range_t*)a; - int err = 0; + int err = 0; long p1 = 0, p2 = 0, unit = 0, timeRangeIndicator = 0, timeRangeIndicatorFromStepRange = 0; long step_unit = 1; char stepType[20] = {0,}; @@ -182,15 +184,16 @@ int grib_g1_step_get_steps(grib_accessor* a, long* start, long* theEnd) return 0; } -int grib_accessor_class_g1step_range_t::unpack_string(grib_accessor* a, char* val, size_t* len){ +int grib_accessor_class_g1step_range_t::unpack_string(grib_accessor* a, char* val, size_t* len) +{ grib_accessor_g1step_range_t* self = (grib_accessor_g1step_range_t*)a; char buf[100]; size_t size = 0; long start = 0, theEnd = 0; long timeRangeIndicator = 0; long unit; - int err = 0; - char stepType[20] = {0,}; + int err = 0; + char stepType[20] = {0,}; size_t stepTypeLen = 20; grib_handle* hand = grib_handle_of_accessor(a); @@ -279,9 +282,9 @@ int grib_accessor_class_g1step_range_t::unpack_string(grib_accessor* a, char* va } static int grib_g1_step_apply_units( - const long* start, const long* theEnd, const long* step_unit, - long* P1, long* P2, long* unit, - const int max, const int instant) + const long* start, const long* theEnd, const long* step_unit, + long* P1, long* P2, long* unit, + const int max, const int instant) { int j = 0; long start_sec, end_sec; @@ -333,9 +336,10 @@ static int grib_g1_step_apply_units( return GRIB_WRONG_STEP; } -int grib_accessor_class_g1step_range_t::pack_string(grib_accessor* a, const char* val, size_t* len){ +int grib_accessor_class_g1step_range_t::pack_string(grib_accessor* a, const char* val, size_t* len) +{ grib_accessor_g1step_range_t* self = (grib_accessor_g1step_range_t*)a; - grib_handle* h = grib_handle_of_accessor(a); + grib_handle* h = grib_handle_of_accessor(a); long timeRangeIndicator = 0, P1 = 0, P2 = 0; long start = 0, theEnd = -1, unit = 0, ounit = 0, step_unit = 1; int ret = 0; @@ -399,8 +403,8 @@ int grib_accessor_class_g1step_range_t::pack_string(grib_accessor* a, const char if (timeRangeIndicator == 10) { /* - * timeRangeIndicator = 10 means 'P1 occupies octets 19 and 20' i.e. 16 bits - */ + * timeRangeIndicator = 10 means 'P1 occupies octets 19 and 20' i.e. 16 bits + */ long off = 0; grib_accessor* p1_accessor = NULL; if (theEnd != start && !h->context->gribex_mode_on) { @@ -431,7 +435,7 @@ int grib_accessor_class_g1step_range_t::pack_string(grib_accessor* a, const char return ret; if (h->context->debug) { - long dp1,dp2; + long dp1, dp2; grib_get_long(h, self->p1, &dp1); grib_get_long(h, self->p2, &dp2); fprintf(stderr, "ECCODES DEBUG pack_string: P1=%ld P2=%ld (as two octets => %ld)\n", dp1, dp2, P1); @@ -480,7 +484,7 @@ int grib_accessor_class_g1step_range_t::pack_string(grib_accessor* a, const char return ret; if (h->context->debug) { - long dp1,dp2; + long dp1, dp2; grib_get_long(h, self->p1, &dp1); grib_get_long(h, self->p2, &dp2); fprintf(stderr, "ECCODES DEBUG pack_string: P1=%ld P2=%ld (as two octets => %ld)\n", dp1, dp2, P1); @@ -492,7 +496,7 @@ int grib_accessor_class_g1step_range_t::pack_string(grib_accessor* a, const char if (ret == GRIB_WRONG_STEP) { grib_context_log(h->context, GRIB_LOG_ERROR, - "Failed to set %s=%s: Keys P1 and P2 are one octet each (Range 0 to 255)", a->name, val); + "Failed to set %s=%s: Keys P1 and P2 are one octet each (Range 0 to 255)", a->name, val); } return ret; } @@ -513,23 +517,27 @@ int grib_accessor_class_g1step_range_t::pack_string(grib_accessor* a, const char return 0; } -int grib_accessor_class_g1step_range_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_g1step_range_t::value_count(grib_accessor* a, long* count) +{ *count = 1; return 0; } -size_t grib_accessor_class_g1step_range_t::string_length(grib_accessor* a){ +size_t grib_accessor_class_g1step_range_t::string_length(grib_accessor* a) +{ return 255; } -int grib_accessor_class_g1step_range_t::pack_long(grib_accessor* a, const long* val, size_t* len){ - char buff[256]; - size_t bufflen = 100; - char sval[100] = { 0 }; - char* p = sval; - size_t svallen = 100; +int grib_accessor_class_g1step_range_t::pack_long(grib_accessor* a, const long* val, size_t* len) +{ grib_accessor_g1step_range_t* self = (grib_accessor_g1step_range_t*)a; - char stepType[20] = {0,}; + + char buff[256] = {0,}; + size_t bufflen = 100; + char sval[100] = { 0 }; + char* p = sval; + size_t svallen = 100; + char stepType[20] = {0,}; size_t stepTypeLen = 20; long step_unit = 0; int err = 0; @@ -597,7 +605,8 @@ int grib_accessor_class_g1step_range_t::pack_long(grib_accessor* a, const long* return GRIB_INTERNAL_ERROR; } -int grib_accessor_class_g1step_range_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_g1step_range_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ grib_accessor_g1step_range_t* self = (grib_accessor_g1step_range_t*)a; char buff[100]; size_t bufflen = 100; @@ -627,11 +636,13 @@ int grib_accessor_class_g1step_range_t::unpack_long(grib_accessor* a, long* val, return 0; } -int grib_accessor_class_g1step_range_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_g1step_range_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_STRING; } -void grib_accessor_class_g1step_range_t::destroy(grib_context* c, grib_accessor* a){ +void grib_accessor_class_g1step_range_t::destroy(grib_context* c, grib_accessor* a) +{ grib_accessor_g1step_range_t* self = (grib_accessor_g1step_range_t*)a; grib_context_free(c, self->v); grib_accessor_class_abstract_long_vector_t::destroy(c, a); diff --git a/src/accessor/grib_accessor_class_group.cc b/src/accessor/grib_accessor_class_group.cc index aef185022..74051d17d 100644 --- a/src/accessor/grib_accessor_class_group.cc +++ b/src/accessor/grib_accessor_class_group.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,13 +10,14 @@ #include "grib_accessor_class_group.h" -grib_accessor_class_group_t _grib_accessor_class_group{"group"}; +grib_accessor_class_group_t _grib_accessor_class_group{ "group" }; grib_accessor_class* grib_accessor_class_group = &_grib_accessor_class_group; -void grib_accessor_class_group_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_group_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_gen_t::init(a, len, arg); - grib_buffer* buffer = grib_handle_of_accessor(a)->buffer; + grib_buffer* buffer = grib_handle_of_accessor(a)->buffer; grib_accessor_group_t* self = (grib_accessor_group_t*)a; size_t i = 0; @@ -52,26 +52,31 @@ void grib_accessor_class_group_t::init(grib_accessor* a, const long len, grib_ar a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; } -int grib_accessor_class_group_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_group_t::value_count(grib_accessor* a, long* count) +{ *count = 1; return 0; } -size_t grib_accessor_class_group_t::string_length(grib_accessor* a){ +size_t grib_accessor_class_group_t::string_length(grib_accessor* a) +{ return a->length; } -void grib_accessor_class_group_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_group_t::dump(grib_accessor* a, grib_dumper* dumper) +{ grib_dump_string(dumper, a, NULL); } -int grib_accessor_class_group_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_group_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_STRING; } -int grib_accessor_class_group_t::unpack_string(grib_accessor* a, char* val, size_t* len){ - long i = 0; - size_t l = a->length + 1; +int grib_accessor_class_group_t::unpack_string(grib_accessor* a, char* val, size_t* len) +{ + long i = 0; + size_t l = a->length + 1; grib_handle* h = grib_handle_of_accessor(a); if (*len < l) { @@ -85,11 +90,12 @@ int grib_accessor_class_group_t::unpack_string(grib_accessor* a, char* val, size for (i = 0; i < a->length; i++) val[i] = h->buffer->data[a->offset + i]; val[i] = 0; - *len = i; + *len = i; return GRIB_SUCCESS; } -int grib_accessor_class_group_t::unpack_long(grib_accessor* a, long* v, size_t* len){ +int grib_accessor_class_group_t::unpack_long(grib_accessor* a, long* v, size_t* len) +{ char val[1024] = {0,}; size_t l = sizeof(val); size_t i = 0; @@ -115,7 +121,8 @@ int grib_accessor_class_group_t::unpack_long(grib_accessor* a, long* v, size_t* return GRIB_SUCCESS; } -int grib_accessor_class_group_t::unpack_double(grib_accessor* a, double* v, size_t* len){ +int grib_accessor_class_group_t::unpack_double(grib_accessor* a, double* v, size_t* len) +{ char val[1024]; size_t l = sizeof(val); char* last = NULL; @@ -130,7 +137,8 @@ int grib_accessor_class_group_t::unpack_double(grib_accessor* a, double* v, size return GRIB_NOT_IMPLEMENTED; } -int grib_accessor_class_group_t::compare(grib_accessor* a, grib_accessor* b){ +int grib_accessor_class_group_t::compare(grib_accessor* a, grib_accessor* b) +{ grib_context_log(a->context, GRIB_LOG_ERROR, "%s:%s not implemented", __func__, a->name); return GRIB_NOT_IMPLEMENTED; @@ -155,6 +163,7 @@ int grib_accessor_class_group_t::compare(grib_accessor* a, grib_accessor* b){ // return retval; } -long grib_accessor_class_group_t::next_offset(grib_accessor* a){ +long grib_accessor_class_group_t::next_offset(grib_accessor* a) +{ return a->offset + a->length; } diff --git a/src/accessor/grib_accessor_class_gts_header.cc b/src/accessor/grib_accessor_class_gts_header.cc index 62a63bb8f..5b158c6d1 100644 --- a/src/accessor/grib_accessor_class_gts_header.cc +++ b/src/accessor/grib_accessor_class_gts_header.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,25 +10,27 @@ #include "grib_accessor_class_gts_header.h" -grib_accessor_class_gts_header_t _grib_accessor_class_gts_header{"gts_header"}; +grib_accessor_class_gts_header_t _grib_accessor_class_gts_header{ "gts_header" }; grib_accessor_class* grib_accessor_class_gts_header = &_grib_accessor_class_gts_header; -void grib_accessor_class_gts_header_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_gts_header_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_ascii_t::init(a, l, c); grib_accessor_gts_header_t* self = (grib_accessor_gts_header_t*)a; - self->gts_offset = -1; - self->gts_length = -1; - self->gts_offset = grib_arguments_get_long(grib_handle_of_accessor(a), c, 0); - self->gts_length = grib_arguments_get_long(grib_handle_of_accessor(a), c, 1); + self->gts_offset = -1; + self->gts_length = -1; + self->gts_offset = grib_arguments_get_long(grib_handle_of_accessor(a), c, 0); + self->gts_length = grib_arguments_get_long(grib_handle_of_accessor(a), c, 1); a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; } -int grib_accessor_class_gts_header_t::unpack_string(grib_accessor* a, char* val, size_t* len){ +int grib_accessor_class_gts_header_t::unpack_string(grib_accessor* a, char* val, size_t* len) +{ grib_accessor_gts_header_t* self = (grib_accessor_gts_header_t*)a; - grib_handle* h = grib_handle_of_accessor(a); - int offset = 0; - size_t length = 0; + grib_handle* h = grib_handle_of_accessor(a); + int offset = 0; + size_t length = 0; if (h->gts_header == NULL || h->gts_header_len < 8) { if (*len < 8) @@ -50,12 +51,14 @@ int grib_accessor_class_gts_header_t::unpack_string(grib_accessor* a, char* val, return GRIB_SUCCESS; } -int grib_accessor_class_gts_header_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_gts_header_t::value_count(grib_accessor* a, long* count) +{ *count = 1; return 0; } -size_t grib_accessor_class_gts_header_t::string_length(grib_accessor* a){ +size_t grib_accessor_class_gts_header_t::string_length(grib_accessor* a) +{ grib_handle* h = grib_handle_of_accessor(a); return h->gts_header_len; } diff --git a/src/accessor/grib_accessor_class_hash_array.cc b/src/accessor/grib_accessor_class_hash_array.cc index 1955dc07f..7f29ce9bc 100644 --- a/src/accessor/grib_accessor_class_hash_array.cc +++ b/src/accessor/grib_accessor_class_hash_array.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,36 +10,42 @@ #include "grib_accessor_class_hash_array.h" -grib_accessor_class_hash_array_t _grib_accessor_class_hash_array{"hash_array"}; +grib_accessor_class_hash_array_t _grib_accessor_class_hash_array{ "hash_array" }; grib_accessor_class* grib_accessor_class_hash_array = &_grib_accessor_class_hash_array; #define MAX_HASH_ARRAY_STRING_LENGTH 255 -void grib_accessor_class_hash_array_t::init(grib_accessor* a, const long len, grib_arguments* args){ +void grib_accessor_class_hash_array_t::init(grib_accessor* a, const long len, grib_arguments* args) +{ grib_accessor_class_gen_t::init(a, len, args); grib_accessor_hash_array_t* self = (grib_accessor_hash_array_t*)a; - a->length = 0; - self->key = 0; - self->ha = NULL; + a->length = 0; + self->key = 0; + self->ha = NULL; } -void grib_accessor_class_hash_array_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_hash_array_t::dump(grib_accessor* a, grib_dumper* dumper) +{ grib_dump_string(dumper, a, NULL); } -int grib_accessor_class_hash_array_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_hash_array_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ grib_accessor_hash_array_t* self = (grib_accessor_hash_array_t*)a; - char s[200] = {0,}; + + char s[200] = {0,}; snprintf(s, sizeof(s), "%g", *val); self->key = grib_context_strdup(a->context, s); self->ha = 0; return GRIB_SUCCESS; } -int grib_accessor_class_hash_array_t::pack_long(grib_accessor* a, const long* val, size_t* len){ +int grib_accessor_class_hash_array_t::pack_long(grib_accessor* a, const long* val, size_t* len) +{ grib_accessor_hash_array_t* self = (grib_accessor_hash_array_t*)a; - char s[200] = {0,}; + + char s[200] = {0,}; snprintf(s, sizeof(s), "%ld", *val); if (self->key) grib_context_free(a->context, self->key); @@ -49,22 +54,24 @@ int grib_accessor_class_hash_array_t::pack_long(grib_accessor* a, const long* va return GRIB_SUCCESS; } -int grib_accessor_class_hash_array_t::pack_string(grib_accessor* a, const char* v, size_t* len){ +int grib_accessor_class_hash_array_t::pack_string(grib_accessor* a, const char* v, size_t* len) +{ grib_accessor_hash_array_t* self = (grib_accessor_hash_array_t*)a; - self->key = grib_context_strdup(a->context, v); - self->ha = 0; + self->key = grib_context_strdup(a->context, v); + self->ha = 0; return GRIB_SUCCESS; } -int grib_accessor_class_hash_array_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_hash_array_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ return GRIB_NOT_IMPLEMENTED; } static grib_hash_array_value* find_hash_value(grib_accessor* a, int* err) { grib_accessor_hash_array_t* self = (grib_accessor_hash_array_t*)a; - grib_hash_array_value* ha_ret = 0; - grib_hash_array_value* ha = NULL; + grib_hash_array_value* ha_ret = 0; + grib_hash_array_value* ha = NULL; ha = get_hash_array(grib_handle_of_accessor(a), a->creator); if (!ha) { @@ -103,11 +110,12 @@ static grib_hash_array_value* find_hash_value(grib_accessor* a, int* err) return ha_ret; } -int grib_accessor_class_hash_array_t::unpack_long(grib_accessor* a, long* val, size_t* len){ - grib_hash_array_value* ha = 0; +int grib_accessor_class_hash_array_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ + grib_hash_array_value* ha = 0; grib_accessor_hash_array_t* self = (grib_accessor_hash_array_t*)a; - int err = 0; - size_t i = 0; + int err = 0; + size_t i = 0; if (!self->ha) { ha = find_hash_value(a, &err); @@ -133,7 +141,8 @@ int grib_accessor_class_hash_array_t::unpack_long(grib_accessor* a, long* val, s return GRIB_SUCCESS; } -int grib_accessor_class_hash_array_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_hash_array_t::get_native_type(grib_accessor* a) +{ int type = GRIB_TYPE_STRING; if (a->flags & GRIB_ACCESSOR_FLAG_LONG_TYPE) type = GRIB_TYPE_LONG; @@ -141,25 +150,29 @@ int grib_accessor_class_hash_array_t::get_native_type(grib_accessor* a){ return type; } -void grib_accessor_class_hash_array_t::destroy(grib_context* c, grib_accessor* a){ +void grib_accessor_class_hash_array_t::destroy(grib_context* c, grib_accessor* a) +{ grib_accessor_hash_array_t* self = (grib_accessor_hash_array_t*)a; if (self->key) grib_context_free(c, self->key); grib_accessor_class_gen_t::destroy(c, a); } -int grib_accessor_class_hash_array_t::unpack_string(grib_accessor* a, char* val, size_t* len){ +int grib_accessor_class_hash_array_t::unpack_string(grib_accessor* a, char* val, size_t* len) +{ return GRIB_NOT_IMPLEMENTED; } -size_t grib_accessor_class_hash_array_t::string_length(grib_accessor* a){ +size_t grib_accessor_class_hash_array_t::string_length(grib_accessor* a) +{ return MAX_HASH_ARRAY_STRING_LENGTH; } -int grib_accessor_class_hash_array_t::value_count(grib_accessor* a, long* count){ - int err = 0; +int grib_accessor_class_hash_array_t::value_count(grib_accessor* a, long* count) +{ + int err = 0; grib_accessor_hash_array_t* self = (grib_accessor_hash_array_t*)a; - grib_hash_array_value* ha = 0; + grib_hash_array_value* ha = 0; if (!self->ha) { ha = find_hash_value(a, &err); @@ -172,6 +185,7 @@ int grib_accessor_class_hash_array_t::value_count(grib_accessor* a, long* count) return err; } -int grib_accessor_class_hash_array_t::compare(grib_accessor* a, grib_accessor* b){ +int grib_accessor_class_hash_array_t::compare(grib_accessor* a, grib_accessor* b) +{ return GRIB_NOT_IMPLEMENTED; } diff --git a/src/accessor/grib_accessor_class_headers_only.cc b/src/accessor/grib_accessor_class_headers_only.cc index 9b053112d..4b70ecd2f 100644 --- a/src/accessor/grib_accessor_class_headers_only.cc +++ b/src/accessor/grib_accessor_class_headers_only.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,23 +10,26 @@ #include "grib_accessor_class_headers_only.h" -grib_accessor_class_headers_only_t _grib_accessor_class_headers_only{"headers_only"}; +grib_accessor_class_headers_only_t _grib_accessor_class_headers_only{ "headers_only" }; grib_accessor_class* grib_accessor_class_headers_only = &_grib_accessor_class_headers_only; -void grib_accessor_class_headers_only_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_headers_only_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_gen_t::init(a, l, c); a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; a->flags |= GRIB_ACCESSOR_FLAG_HIDDEN; a->length = 0; } -int grib_accessor_class_headers_only_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_headers_only_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ *val = grib_handle_of_accessor(a)->partial; *len = 1; return 0; } -int grib_accessor_class_headers_only_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_headers_only_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_LONG; } diff --git a/src/accessor/grib_accessor_class_ifs_param.cc b/src/accessor/grib_accessor_class_ifs_param.cc index 32a972c7c..02d6342ef 100644 --- a/src/accessor/grib_accessor_class_ifs_param.cc +++ b/src/accessor/grib_accessor_class_ifs_param.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,23 +10,25 @@ #include "grib_accessor_class_ifs_param.h" -grib_accessor_class_ifs_param_t _grib_accessor_class_ifs_param{"ifs_param"}; +grib_accessor_class_ifs_param_t _grib_accessor_class_ifs_param{ "ifs_param" }; grib_accessor_class* grib_accessor_class_ifs_param = &_grib_accessor_class_ifs_param; -void grib_accessor_class_ifs_param_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_ifs_param_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_gen_t::init(a, l, c); grib_accessor_ifs_param_t* self = (grib_accessor_ifs_param_t*)a; - int n = 0; + int n = 0; self->paramId = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); self->type = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); } -int grib_accessor_class_ifs_param_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_ifs_param_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ grib_accessor_ifs_param_t* self = (grib_accessor_ifs_param_t*)a; - int ret = 0; - long paramId = 0; + int ret = 0; + long paramId = 0; if ((ret = grib_get_long_internal(grib_handle_of_accessor(a), self->paramId, ¶mId)) != GRIB_SUCCESS) return ret; @@ -44,11 +45,12 @@ int grib_accessor_class_ifs_param_t::unpack_long(grib_accessor* a, long* val, si return ret; } -int grib_accessor_class_ifs_param_t::pack_long(grib_accessor* a, const long* val, size_t* len){ +int grib_accessor_class_ifs_param_t::pack_long(grib_accessor* a, const long* val, size_t* len) +{ grib_accessor_ifs_param_t* self = (grib_accessor_ifs_param_t*)a; - long type = 0; - long table = 128; - long paramId = *val; + long type = 0; + long table = 128; + long paramId = *val; long param; grib_get_long(grib_handle_of_accessor(a), self->type, &type); @@ -88,6 +90,7 @@ int grib_accessor_class_ifs_param_t::pack_long(grib_accessor* a, const long* val return grib_set_long_internal(grib_handle_of_accessor(a), self->paramId, paramId); } -int grib_accessor_class_ifs_param_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_ifs_param_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_LONG; } diff --git a/src/accessor/grib_accessor_class_ksec1expver.cc b/src/accessor/grib_accessor_class_ksec1expver.cc index 0eb0af2c1..98cf2a400 100644 --- a/src/accessor/grib_accessor_class_ksec1expver.cc +++ b/src/accessor/grib_accessor_class_ksec1expver.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,20 +10,22 @@ #include "grib_accessor_class_ksec1expver.h" -grib_accessor_class_ksec1expver_t _grib_accessor_class_ksec1expver{"ksec1expver"}; +grib_accessor_class_ksec1expver_t _grib_accessor_class_ksec1expver{ "ksec1expver" }; grib_accessor_class* grib_accessor_class_ksec1expver = &_grib_accessor_class_ksec1expver; -void grib_accessor_class_ksec1expver_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_ksec1expver_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_ascii_t::init(a, len, arg); a->length = len; Assert(a->length >= 0); } -int grib_accessor_class_ksec1expver_t::unpack_long(grib_accessor* a, long* val, size_t* len){ - long value = 0; - long pos = a->offset * 8; - char* intc = NULL; +int grib_accessor_class_ksec1expver_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ + long value = 0; + long pos = a->offset * 8; + char* intc = NULL; char* pTemp = NULL; char expver[5]; char refexpver[5]; @@ -40,7 +41,7 @@ int grib_accessor_class_ksec1expver_t::unpack_long(grib_accessor* a, long* val, a->unpack_string(refexpver, &llen); /* test for endian */ - intc = (char*)&value; + intc = (char*)&value; pTemp = intc; expver[0] = *pTemp++; @@ -49,11 +50,11 @@ int grib_accessor_class_ksec1expver_t::unpack_long(grib_accessor* a, long* val, expver[3] = *pTemp++; expver[4] = 0; -// expver[0] = intc[0]; -// expver[1] = intc[1]; -// expver[2] = intc[2]; -// expver[3] = intc[3]; -// expver[4] = 0; + // expver[0] = intc[0]; + // expver[1] = intc[1]; + // expver[2] = intc[2]; + // expver[3] = intc[3]; + // expver[4] = 0; /* if there is a difference, have to reverse*/ if (strcmp(refexpver, expver)) { @@ -68,7 +69,8 @@ int grib_accessor_class_ksec1expver_t::unpack_long(grib_accessor* a, long* val, return GRIB_SUCCESS; } -int grib_accessor_class_ksec1expver_t::pack_string(grib_accessor* a, const char* val, size_t* len){ +int grib_accessor_class_ksec1expver_t::pack_string(grib_accessor* a, const char* val, size_t* len) +{ int i = 0; if (len[0] != 4) { grib_context_log(a->context, GRIB_LOG_ERROR, "Wrong length for %s. It has to be 4", a->name); @@ -76,7 +78,7 @@ int grib_accessor_class_ksec1expver_t::pack_string(grib_accessor* a, const char* } if (len[0] > (a->length) + 1) { grib_context_log(a->context, GRIB_LOG_ERROR, "pack_string: Wrong size (%lu) for %s, it contains %ld values", - len[0], a->name, a->length + 1); + len[0], a->name, a->length + 1); len[0] = 0; return GRIB_BUFFER_TOO_SMALL; } @@ -87,7 +89,8 @@ int grib_accessor_class_ksec1expver_t::pack_string(grib_accessor* a, const char* return GRIB_SUCCESS; } -int grib_accessor_class_ksec1expver_t::pack_long(grib_accessor* a, const long* val, size_t* len){ +int grib_accessor_class_ksec1expver_t::pack_long(grib_accessor* a, const long* val, size_t* len) +{ char sval[5] = {0,}; size_t slen = 4; snprintf(sval, sizeof(sval), "%04d", (int)(*val)); diff --git a/src/accessor/grib_accessor_class_label.cc b/src/accessor/grib_accessor_class_label.cc index 5b9448399..58749ea43 100644 --- a/src/accessor/grib_accessor_class_label.cc +++ b/src/accessor/grib_accessor_class_label.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,26 +10,30 @@ #include "grib_accessor_class_label.h" -grib_accessor_class_label_t _grib_accessor_class_label{"label"}; +grib_accessor_class_label_t _grib_accessor_class_label{ "label" }; grib_accessor_class* grib_accessor_class_label = &_grib_accessor_class_label; -void grib_accessor_class_label_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_label_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_gen_t::init(a, len, arg); a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; a->flags |= GRIB_ACCESSOR_FLAG_EDITION_SPECIFIC; a->length = 0; } -void grib_accessor_class_label_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_label_t::dump(grib_accessor* a, grib_dumper* dumper) +{ grib_dump_label(dumper, a, NULL); } -int grib_accessor_class_label_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_label_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_LABEL; } -int grib_accessor_class_label_t::unpack_string(grib_accessor* a, char* val, size_t* len){ +int grib_accessor_class_label_t::unpack_string(grib_accessor* a, char* val, size_t* len) +{ size_t vlen = strlen(a->name); if (vlen > *len) return GRIB_BUFFER_TOO_SMALL; diff --git a/src/accessor/grib_accessor_class_long.cc b/src/accessor/grib_accessor_class_long.cc index 588083c49..04f6908be 100644 --- a/src/accessor/grib_accessor_class_long.cc +++ b/src/accessor/grib_accessor_class_long.cc @@ -13,7 +13,8 @@ grib_accessor_class_long_t _grib_accessor_class_long{"long"}; grib_accessor_class* grib_accessor_class_long = &_grib_accessor_class_long; -void grib_accessor_class_long_t::init(grib_accessor* a, const long len, grib_arguments* arg) { +void grib_accessor_class_long_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_gen_t::init(a, len, arg); } diff --git a/src/accessor/grib_accessor_class_mars_param.cc b/src/accessor/grib_accessor_class_mars_param.cc index feb5fc905..77c59a0bc 100644 --- a/src/accessor/grib_accessor_class_mars_param.cc +++ b/src/accessor/grib_accessor_class_mars_param.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,17 +10,19 @@ #include "grib_accessor_class_mars_param.h" -grib_accessor_class_mars_param_t _grib_accessor_class_mars_param{"mars_param"}; +grib_accessor_class_mars_param_t _grib_accessor_class_mars_param{ "mars_param" }; grib_accessor_class* grib_accessor_class_mars_param = &_grib_accessor_class_mars_param; -void grib_accessor_class_mars_param_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_mars_param_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_ascii_t::init(a, l, c); - int n = 0; grib_accessor_mars_param_t* self = (grib_accessor_mars_param_t*)a; - self->paramId = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->table = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); - self->param = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + + int n = 0; + self->paramId = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->table = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->param = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); } // For an implementation of pack_string, see @@ -30,11 +31,12 @@ void grib_accessor_class_mars_param_t::init(grib_accessor* a, const long l, grib // For an alternative implementation of unpack_string, see // src/deprecated/grib_accessor_class_mars_param.cc // -int grib_accessor_class_mars_param_t::unpack_string(grib_accessor* a, char* val, size_t* len){ +int grib_accessor_class_mars_param_t::unpack_string(grib_accessor* a, char* val, size_t* len) +{ grib_accessor_mars_param_t* self = (grib_accessor_mars_param_t*)a; - long param = 0; - long table = 0; - int ret = 0; + long param = 0; + long table = 0; + int ret = 0; if (self->table != NULL && (ret = grib_get_long_internal(grib_handle_of_accessor(a), self->table, &table)) != GRIB_SUCCESS) return ret; @@ -48,6 +50,7 @@ int grib_accessor_class_mars_param_t::unpack_string(grib_accessor* a, char* val, return GRIB_SUCCESS; } -size_t grib_accessor_class_mars_param_t::string_length(grib_accessor* a){ +size_t grib_accessor_class_mars_param_t::string_length(grib_accessor* a) +{ return 7; } diff --git a/src/accessor/grib_accessor_class_message.cc b/src/accessor/grib_accessor_class_message.cc index be704b1a1..c49c5b20a 100644 --- a/src/accessor/grib_accessor_class_message.cc +++ b/src/accessor/grib_accessor_class_message.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,12 +10,12 @@ #include "grib_accessor_class_message.h" -grib_accessor_class_message_t _grib_accessor_class_message{"message"}; +grib_accessor_class_message_t _grib_accessor_class_message{ "message" }; grib_accessor_class* grib_accessor_class_message = &_grib_accessor_class_message; - -void grib_accessor_class_message_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_message_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_bytes_t::init(a, len, arg); a->flags |= GRIB_ACCESSOR_FLAG_EDITION_SPECIFIC; a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; @@ -30,11 +29,13 @@ void grib_accessor_class_message_t::init(grib_accessor* a, const long len, grib_ // return GRIB_SUCCESS; // } -void grib_accessor_class_message_t::update_size(grib_accessor* a, size_t new_size){ +void grib_accessor_class_message_t::update_size(grib_accessor* a, size_t new_size) +{ a->length = new_size; } -void grib_accessor_class_message_t::resize(grib_accessor* a, size_t new_size){ +void grib_accessor_class_message_t::resize(grib_accessor* a, size_t new_size) +{ grib_context_log(a->context, GRIB_LOG_FATAL, "%s %s: Not supported", a->cclass->name, __func__); // void* zero = grib_context_malloc_clear(a->context, new_size); @@ -45,14 +46,16 @@ void grib_accessor_class_message_t::resize(grib_accessor* a, size_t new_size){ // Assert(new_size == a->length); } -int grib_accessor_class_message_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_message_t::value_count(grib_accessor* a, long* count) +{ *count = 1; return 0; } -int grib_accessor_class_message_t::unpack_string(grib_accessor* a, char* val, size_t* len){ - long i = 0; - size_t l = string_length(a) + 1; +int grib_accessor_class_message_t::unpack_string(grib_accessor* a, char* val, size_t* len) +{ + long i = 0; + size_t l = string_length(a) + 1; grib_handle* h = grib_handle_of_accessor(a); if (*len < l) { @@ -66,10 +69,11 @@ int grib_accessor_class_message_t::unpack_string(grib_accessor* a, char* val, si for (i = 0; i < a->length; i++) val[i] = h->buffer->data[a->offset + i]; val[i] = 0; - *len = i; + *len = i; return GRIB_SUCCESS; } -size_t grib_accessor_class_message_t::string_length(grib_accessor* a){ +size_t grib_accessor_class_message_t::string_length(grib_accessor* a) +{ return a->length; } diff --git a/src/accessor/grib_accessor_class_message_copy.cc b/src/accessor/grib_accessor_class_message_copy.cc index 7927b6c60..43b7fb42d 100644 --- a/src/accessor/grib_accessor_class_message_copy.cc +++ b/src/accessor/grib_accessor_class_message_copy.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,25 +10,29 @@ #include "grib_accessor_class_message_copy.h" -grib_accessor_class_message_copy_t _grib_accessor_class_message_copy{"message_copy"}; +grib_accessor_class_message_copy_t _grib_accessor_class_message_copy{ "message_copy" }; grib_accessor_class* grib_accessor_class_message_copy = &_grib_accessor_class_message_copy; -void grib_accessor_class_message_copy_t::init(grib_accessor* a, const long length, grib_arguments* args){ +void grib_accessor_class_message_copy_t::init(grib_accessor* a, const long length, grib_arguments* args) +{ grib_accessor_class_gen_t::init(a, length, args); a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; a->length = 0; } -void grib_accessor_class_message_copy_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_message_copy_t::dump(grib_accessor* a, grib_dumper* dumper) +{ grib_dump_string(dumper, a, NULL); } -int grib_accessor_class_message_copy_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_message_copy_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_STRING; } -int grib_accessor_class_message_copy_t::unpack_string(grib_accessor* a, char* val, size_t* len){ +int grib_accessor_class_message_copy_t::unpack_string(grib_accessor* a, char* val, size_t* len) +{ size_t slen = grib_handle_of_accessor(a)->buffer->ulength; size_t i; unsigned char* v = 0; @@ -50,10 +53,12 @@ int grib_accessor_class_message_copy_t::unpack_string(grib_accessor* a, char* va return GRIB_SUCCESS; } -size_t grib_accessor_class_message_copy_t::string_length(grib_accessor* a){ +size_t grib_accessor_class_message_copy_t::string_length(grib_accessor* a) +{ return grib_handle_of_accessor(a)->buffer->ulength; } -long grib_accessor_class_message_copy_t::byte_count(grib_accessor* a){ +long grib_accessor_class_message_copy_t::byte_count(grib_accessor* a) +{ return a->length; } diff --git a/src/accessor/grib_accessor_class_multdouble.cc b/src/accessor/grib_accessor_class_multdouble.cc index cbe5b42da..c86539190 100644 --- a/src/accessor/grib_accessor_class_multdouble.cc +++ b/src/accessor/grib_accessor_class_multdouble.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,22 +10,24 @@ #include "grib_accessor_class_multdouble.h" -grib_accessor_class_multdouble_t _grib_accessor_class_multdouble{"multdouble"}; +grib_accessor_class_multdouble_t _grib_accessor_class_multdouble{ "multdouble" }; grib_accessor_class* grib_accessor_class_multdouble = &_grib_accessor_class_multdouble; -void grib_accessor_class_multdouble_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_multdouble_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_double_t::init(a, l, c); grib_accessor_multdouble_t* self = (grib_accessor_multdouble_t*)a; int n = 0; - self->val = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->val = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); self->multiplier = grib_arguments_get_double(grib_handle_of_accessor(a), c, n++); } -int grib_accessor_class_multdouble_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_multdouble_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ const grib_accessor_multdouble_t* self = (grib_accessor_multdouble_t*)a; - int ret = GRIB_SUCCESS; + int ret = GRIB_SUCCESS; double value = 0; ret = grib_get_double_internal(grib_handle_of_accessor(a), self->val, &value); diff --git a/src/accessor/grib_accessor_class_non_alpha.cc b/src/accessor/grib_accessor_class_non_alpha.cc index 68aaffdd7..7e434dfb6 100644 --- a/src/accessor/grib_accessor_class_non_alpha.cc +++ b/src/accessor/grib_accessor_class_non_alpha.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,11 +10,12 @@ #include "grib_accessor_class_non_alpha.h" -grib_accessor_class_non_alpha_t _grib_accessor_class_non_alpha{"non_alpha"}; +grib_accessor_class_non_alpha_t _grib_accessor_class_non_alpha{ "non_alpha" }; grib_accessor_class* grib_accessor_class_non_alpha = &_grib_accessor_class_non_alpha; -void grib_accessor_class_non_alpha_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_non_alpha_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_gen_t::init(a, len, arg); grib_buffer* buffer = grib_handle_of_accessor(a)->buffer; size_t i = 0; @@ -32,30 +32,35 @@ void grib_accessor_class_non_alpha_t::init(grib_accessor* a, const long len, gri a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; } -int grib_accessor_class_non_alpha_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_non_alpha_t::value_count(grib_accessor* a, long* count) +{ *count = 1; return 0; } -size_t grib_accessor_class_non_alpha_t::string_length(grib_accessor* a){ +size_t grib_accessor_class_non_alpha_t::string_length(grib_accessor* a) +{ return a->length; } -void grib_accessor_class_non_alpha_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_non_alpha_t::dump(grib_accessor* a, grib_dumper* dumper) +{ grib_dump_string(dumper, a, NULL); } -int grib_accessor_class_non_alpha_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_non_alpha_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_STRING; } -int grib_accessor_class_non_alpha_t::unpack_string(grib_accessor* a, char* val, size_t* len){ +int grib_accessor_class_non_alpha_t::unpack_string(grib_accessor* a, char* val, size_t* len) +{ grib_handle* hand = grib_handle_of_accessor(a); - long i = 0; + long i = 0; if (*len < (a->length + 1)) { grib_context_log(a->context, GRIB_LOG_ERROR, "unpack_string: Wrong size (%lu) for %s, it contains %ld values", - *len, a->name, a->length + 1); + *len, a->name, a->length + 1); *len = a->length + 1; return GRIB_BUFFER_TOO_SMALL; } @@ -64,11 +69,12 @@ int grib_accessor_class_non_alpha_t::unpack_string(grib_accessor* a, char* val, val[i] = hand->buffer->data[a->offset + i]; } val[i] = 0; - *len = i; + *len = i; return GRIB_SUCCESS; } -int grib_accessor_class_non_alpha_t::unpack_long(grib_accessor* a, long* v, size_t* len){ +int grib_accessor_class_non_alpha_t::unpack_long(grib_accessor* a, long* v, size_t* len) +{ char val[1024] = {0,}; size_t l = sizeof(val); size_t i = 0; @@ -93,7 +99,8 @@ int grib_accessor_class_non_alpha_t::unpack_long(grib_accessor* a, long* v, size return GRIB_SUCCESS; } -int grib_accessor_class_non_alpha_t::unpack_double(grib_accessor* a, double* v, size_t* len){ +int grib_accessor_class_non_alpha_t::unpack_double(grib_accessor* a, double* v, size_t* len) +{ char val[1024]; size_t l = sizeof(val); char* last = NULL; @@ -107,6 +114,7 @@ int grib_accessor_class_non_alpha_t::unpack_double(grib_accessor* a, double* v, return GRIB_NOT_IMPLEMENTED; } -long grib_accessor_class_non_alpha_t::next_offset(grib_accessor* a){ +long grib_accessor_class_non_alpha_t::next_offset(grib_accessor* a) +{ return a->offset + a->length; } diff --git a/src/accessor/grib_accessor_class_pack_bufr_values.cc b/src/accessor/grib_accessor_class_pack_bufr_values.cc index 08b80d607..810287614 100644 --- a/src/accessor/grib_accessor_class_pack_bufr_values.cc +++ b/src/accessor/grib_accessor_class_pack_bufr_values.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,60 +10,73 @@ #include "grib_accessor_class_pack_bufr_values.h" -grib_accessor_class_pack_bufr_values_t _grib_accessor_class_pack_bufr_values{"pack_bufr_values"}; +grib_accessor_class_pack_bufr_values_t _grib_accessor_class_pack_bufr_values{ "pack_bufr_values" }; grib_accessor_class* grib_accessor_class_pack_bufr_values = &_grib_accessor_class_pack_bufr_values; -void grib_accessor_class_pack_bufr_values_t::init(grib_accessor* a, const long len, grib_arguments* params){ +void grib_accessor_class_pack_bufr_values_t::init(grib_accessor* a, const long len, grib_arguments* params) +{ grib_accessor_class_gen_t::init(a, len, params); char* key; grib_accessor_pack_bufr_values_t* self = (grib_accessor_pack_bufr_values_t*)a; - key = (char*)grib_arguments_get_name(grib_handle_of_accessor(a), params, 0); - self->data_accessor = grib_find_accessor(grib_handle_of_accessor(a), key); + key = (char*)grib_arguments_get_name(grib_handle_of_accessor(a), params, 0); + self->data_accessor = grib_find_accessor(grib_handle_of_accessor(a), key); a->length = 0; } -void grib_accessor_class_pack_bufr_values_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_pack_bufr_values_t::dump(grib_accessor* a, grib_dumper* dumper) +{ } -int grib_accessor_class_pack_bufr_values_t::unpack_string_array(grib_accessor* a, char** buffer, size_t* len){ +int grib_accessor_class_pack_bufr_values_t::unpack_string_array(grib_accessor* a, char** buffer, size_t* len) +{ return GRIB_NOT_IMPLEMENTED; } -int grib_accessor_class_pack_bufr_values_t::unpack_string(grib_accessor* a, char* buffer, size_t* len){ +int grib_accessor_class_pack_bufr_values_t::unpack_string(grib_accessor* a, char* buffer, size_t* len) +{ return GRIB_NOT_IMPLEMENTED; } -int grib_accessor_class_pack_bufr_values_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_pack_bufr_values_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ return GRIB_NOT_IMPLEMENTED; } -int grib_accessor_class_pack_bufr_values_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_pack_bufr_values_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ return GRIB_NOT_IMPLEMENTED; } -int grib_accessor_class_pack_bufr_values_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_pack_bufr_values_t::value_count(grib_accessor* a, long* count) +{ *count = 1; return 0; } -void grib_accessor_class_pack_bufr_values_t::destroy(grib_context* context, grib_accessor* a){ +void grib_accessor_class_pack_bufr_values_t::destroy(grib_context* context, grib_accessor* a) +{ grib_accessor_class_gen_t::destroy(context, a); } -int grib_accessor_class_pack_bufr_values_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_pack_bufr_values_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_LONG; } -int grib_accessor_class_pack_bufr_values_t::pack_long(grib_accessor* a, const long* val, size_t* len){ +int grib_accessor_class_pack_bufr_values_t::pack_long(grib_accessor* a, const long* val, size_t* len) +{ grib_accessor_pack_bufr_values_t* self = (grib_accessor_pack_bufr_values_t*)a; - grib_accessor* data = (grib_accessor*)self->data_accessor; + grib_accessor* data = (grib_accessor*)self->data_accessor; - return data->pack_double(0, 0);} + return data->pack_double(0, 0); +} -int grib_accessor_class_pack_bufr_values_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_pack_bufr_values_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ grib_accessor_pack_bufr_values_t* self = (grib_accessor_pack_bufr_values_t*)a; - grib_accessor* data = (grib_accessor*)self->data_accessor; + grib_accessor* data = (grib_accessor*)self->data_accessor; - return data->pack_double(0, 0);} + return data->pack_double(0, 0); +} diff --git a/src/accessor/grib_accessor_class_pad.cc b/src/accessor/grib_accessor_class_pad.cc index 345b510fb..df83c4d5e 100644 --- a/src/accessor/grib_accessor_class_pad.cc +++ b/src/accessor/grib_accessor_class_pad.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,26 +10,25 @@ #include "grib_accessor_class_pad.h" -grib_accessor_class_pad_t _grib_accessor_class_pad{"pad"}; +grib_accessor_class_pad_t _grib_accessor_class_pad{ "pad" }; grib_accessor_class* grib_accessor_class_pad = &_grib_accessor_class_pad; - -size_t grib_accessor_class_pad_t::preferred_size(grib_accessor* a, int from_handle){ - grib_accessor_pad_t* self = (grib_accessor_pad_t*)a; - - long length = 0; - - grib_expression_evaluate_long(grib_handle_of_accessor(a), self->expression, &length); - - return length > 0 ? length : 0; -} - - -void grib_accessor_class_pad_t::init(grib_accessor* a, const long len, grib_arguments* arg){ +void grib_accessor_class_pad_t::init(grib_accessor* a, const long len, grib_arguments* arg) +{ grib_accessor_class_padding_t::init(a, len, arg); grib_accessor_pad_t* self = (grib_accessor_pad_t*)a; self->expression = grib_arguments_get_expression(grib_handle_of_accessor(a), arg, 0); a->length = preferred_size(a, 1); } + +size_t grib_accessor_class_pad_t::preferred_size(grib_accessor* a, int from_handle) +{ + grib_accessor_pad_t* self = (grib_accessor_pad_t*)a; + long length = 0; + + grib_expression_evaluate_long(grib_handle_of_accessor(a), self->expression, &length); + + return length > 0 ? length : 0; +} From b1dbd4f2cfd5433c65426e13ad06739894df79d6 Mon Sep 17 00:00:00 2001 From: shahramn Date: Mon, 29 Jul 2024 11:55:30 +0100 Subject: [PATCH 35/63] Formatting and cleanups --- .../grib_accessor_class_g1monthlydate.cc | 12 +++---- .../grib_accessor_class_g1verificationdate.cc | 32 ++++++++++--------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/accessor/grib_accessor_class_g1monthlydate.cc b/src/accessor/grib_accessor_class_g1monthlydate.cc index 420f96ef3..04ee6c5f3 100644 --- a/src/accessor/grib_accessor_class_g1monthlydate.cc +++ b/src/accessor/grib_accessor_class_g1monthlydate.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,20 +10,21 @@ #include "grib_accessor_class_g1monthlydate.h" -grib_accessor_class_g1monthlydate_t _grib_accessor_class_g1monthlydate{"g1monthlydate"}; +grib_accessor_class_g1monthlydate_t _grib_accessor_class_g1monthlydate{ "g1monthlydate" }; grib_accessor_class* grib_accessor_class_g1monthlydate = &_grib_accessor_class_g1monthlydate; -void grib_accessor_class_g1monthlydate_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_g1monthlydate_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_long_t::init(a, l, c); grib_accessor_g1monthlydate_t* self = (grib_accessor_g1monthlydate_t*)a; - int n = 0; - self->date = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); + self->date = grib_arguments_get_name(grib_handle_of_accessor(a), c, 0); a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; } -int grib_accessor_class_g1monthlydate_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_g1monthlydate_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ grib_accessor_g1monthlydate_t* self = (grib_accessor_g1monthlydate_t*)a; long date = 0; diff --git a/src/accessor/grib_accessor_class_g1verificationdate.cc b/src/accessor/grib_accessor_class_g1verificationdate.cc index 63a1f1356..3d45de3ed 100644 --- a/src/accessor/grib_accessor_class_g1verificationdate.cc +++ b/src/accessor/grib_accessor_class_g1verificationdate.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,14 +10,15 @@ #include "grib_accessor_class_g1verificationdate.h" -grib_accessor_class_g1verificationdate_t _grib_accessor_class_g1verificationdate{"g1verificationdate"}; +grib_accessor_class_g1verificationdate_t _grib_accessor_class_g1verificationdate{ "g1verificationdate" }; grib_accessor_class* grib_accessor_class_g1verificationdate = &_grib_accessor_class_g1verificationdate; -void grib_accessor_class_g1verificationdate_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_g1verificationdate_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_long_t::init(a, l, c); grib_accessor_g1verificationdate_t* self = (grib_accessor_g1verificationdate_t*)a; - int n = 0; + int n = 0; self->date = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); self->time = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); @@ -27,16 +27,18 @@ void grib_accessor_class_g1verificationdate_t::init(grib_accessor* a, const long a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; } -int grib_accessor_class_g1verificationdate_t::unpack_long(grib_accessor* a, long* val, size_t* len){ +int grib_accessor_class_g1verificationdate_t::unpack_long(grib_accessor* a, long* val, size_t* len) +{ grib_accessor_g1verificationdate_t* self = (grib_accessor_g1verificationdate_t*)a; - int ret = 0; - long date = 0; - long time = 0; - long cdate = 0; - long step = 0; - long vtime = 0; - long vdate = 0; - long vd = 0; + + int ret = 0; + long date = 0; + long time = 0; + long cdate = 0; + long step = 0; + long vtime = 0; + long vdate = 0; + long vd = 0; if ((ret = grib_get_long_internal(grib_handle_of_accessor(a), self->date, &date)) != GRIB_SUCCESS) return ret; @@ -52,13 +54,13 @@ int grib_accessor_class_g1verificationdate_t::unpack_long(grib_accessor* a, long vd = vtime / 24; vdate = grib_julian_to_date(vd); - /* printf("\n********\n date %d, time %d, step %d, vdate: %d, cdate %d, vd %d\n********\n", date, time, step, vdate, cdate, vd); */ + //printf("\n********\n date %d, time %d, step %d, vdate: %d, cdate %d, vd %d\n********\n", date, time, step, vdate, cdate, vd); if (*len < 1) return GRIB_ARRAY_TOO_SMALL; *val = vdate; - /* fprintf(stdout,"\n********\n %d cdate %d vd %d\n********\n", vdate, cdate, step); */ + // fprintf(stdout,"\n********\n %d cdate %d vd %d\n********\n", vdate, cdate, step); return GRIB_SUCCESS; } From eea658f3cb3a9443e3e42ec8f3d92b3fbb323b26 Mon Sep 17 00:00:00 2001 From: shahramn Date: Mon, 29 Jul 2024 16:08:23 +0100 Subject: [PATCH 36/63] ECC-1886: Definitions: cfVarName key should be based on the shortName (part 1) --- src/CMakeLists.txt | 1 + .../grib_accessor_class_cf_var_name.cc | 61 ++ .../grib_accessor_class_cf_var_name.h | 30 + src/accessor/grib_accessor_class_trim.cc | 1 - src/grib_accessor_class.h | 1 + src/grib_accessor_classes_hash.cc | 661 +++++++++--------- src/grib_accessor_factory.h | 1 + src/grib_accessor_factory_hash_list | 1 + 8 files changed, 429 insertions(+), 328 deletions(-) create mode 100644 src/accessor/grib_accessor_class_cf_var_name.cc create mode 100644 src/accessor/grib_accessor_class_cf_var_name.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7c491d6b1..3a4146b3b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -88,6 +88,7 @@ list( APPEND eccodes_src_files accessor/grib_accessor_class_validity_date.cc accessor/grib_accessor_class_validity_time.cc accessor/grib_accessor_class_bytes.cc + accessor/grib_accessor_class_cf_var_name.cc accessor/grib_accessor_class_change_alternative_row_scanning.cc accessor/grib_accessor_class_change_scanning_direction.cc accessor/grib_accessor_class_check_internal_version.cc diff --git a/src/accessor/grib_accessor_class_cf_var_name.cc b/src/accessor/grib_accessor_class_cf_var_name.cc new file mode 100644 index 000000000..7018ab376 --- /dev/null +++ b/src/accessor/grib_accessor_class_cf_var_name.cc @@ -0,0 +1,61 @@ +/* + * (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. + */ + +#include "grib_accessor_class_cf_var_name.h" + +grib_accessor_class_cf_var_name_t _grib_accessor_class_cf_var_name{ "cf_var_name" }; +grib_accessor_class* grib_accessor_class_cf_var_name = &_grib_accessor_class_cf_var_name; + + +void grib_accessor_class_cf_var_name_t::init(grib_accessor* a, const long l, grib_arguments* arg) +{ + grib_accessor_class_ascii_t::init(a, l, arg); + + grib_accessor_cf_var_name_t* self = (grib_accessor_cf_var_name_t*)a; + grib_handle* h = grib_handle_of_accessor(a); + + self->defaultKey = grib_arguments_get_name(h, arg, 0); +} + +int grib_accessor_class_cf_var_name_t::unpack_string(grib_accessor* a, char* val, size_t* len) +{ + grib_accessor_cf_var_name_t* self = (grib_accessor_cf_var_name_t*)a; + + grib_handle* h = grib_handle_of_accessor(a); + char defaultKey[256] = {0,}; + size_t size = sizeof(defaultKey) / sizeof(*defaultKey); + char* pDefaultKey = defaultKey; + + int err = grib_get_string(h, self->defaultKey, defaultKey, &size); + if (err) return err; + + if (size == 0) { + // Should not ever happen + snprintf(val, 1024, "%s", "unknown"); + } + else if ( STR_EQUAL(defaultKey, "~") || isdigit(defaultKey[0]) ) { + // NetCDF variables cannot start with a digit + long paramId = 0; + err = grib_get_long(h, "paramId", ¶mId); + if (err) snprintf(val, 1024, "%s", "unknown"); + else snprintf(val, 1024, "p%ld", paramId); + } + else { + snprintf(val, 1024, "%s", pDefaultKey); + } + size = strlen(val); + *len = size + 1; + return GRIB_SUCCESS; +} + +size_t grib_accessor_class_cf_var_name_t::string_length(grib_accessor* a) +{ + return 1024; +} diff --git a/src/accessor/grib_accessor_class_cf_var_name.h b/src/accessor/grib_accessor_class_cf_var_name.h new file mode 100644 index 000000000..aa0007a54 --- /dev/null +++ b/src/accessor/grib_accessor_class_cf_var_name.h @@ -0,0 +1,30 @@ +/* + * (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. + */ + +#pragma once + +#include "grib_accessor_class_ascii.h" + +class grib_accessor_cf_var_name_t : public grib_accessor_ascii_t +{ +public: + /* Members defined in cf_var_name */ + const char* defaultKey; +}; + +class grib_accessor_class_cf_var_name_t : public grib_accessor_class_ascii_t +{ +public: + grib_accessor_class_cf_var_name_t(const char* name) : grib_accessor_class_ascii_t(name) {} + grib_accessor* create_empty_accessor() override { return new grib_accessor_cf_var_name_t{}; } + int unpack_string(grib_accessor*, char*, size_t* len) override; + size_t string_length(grib_accessor*) override; + void init(grib_accessor*, const long, grib_arguments*) override; +}; diff --git a/src/accessor/grib_accessor_class_trim.cc b/src/accessor/grib_accessor_class_trim.cc index 7f18a36b9..4d4fb733d 100644 --- a/src/accessor/grib_accessor_class_trim.cc +++ b/src/accessor/grib_accessor_class_trim.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/grib_accessor_class.h b/src/grib_accessor_class.h index cfec4d21d..a3ddf6b21 100644 --- a/src/grib_accessor_class.h +++ b/src/grib_accessor_class.h @@ -20,6 +20,7 @@ extern grib_accessor_class* grib_accessor_class_bufr_simple_thinning; extern grib_accessor_class* grib_accessor_class_bufr_string_values; extern grib_accessor_class* grib_accessor_class_bufrdc_expanded_descriptors; extern grib_accessor_class* grib_accessor_class_bytes; +extern grib_accessor_class* grib_accessor_class_cf_var_name; extern grib_accessor_class* grib_accessor_class_change_alternative_row_scanning; extern grib_accessor_class* grib_accessor_class_change_scanning_direction; extern grib_accessor_class* grib_accessor_class_check_internal_version; diff --git a/src/grib_accessor_classes_hash.cc b/src/grib_accessor_classes_hash.cc index 5617c9456..d9e78851b 100644 --- a/src/grib_accessor_classes_hash.cc +++ b/src/grib_accessor_classes_hash.cc @@ -37,12 +37,12 @@ #line 6 "accessor_class_list.gperf" struct accessor_class_hash { const char *name; grib_accessor_class **cclass;}; -#define TOTAL_KEYWORDS 205 +#define TOTAL_KEYWORDS 206 #define MIN_WORD_LENGTH 1 #define MAX_WORD_LENGTH 44 #define MIN_HASH_VALUE 1 -#define MAX_HASH_VALUE 506 -/* maximum key range = 506, duplicates = 0 */ +#define MAX_HASH_VALUE 545 +/* maximum key range = 545, duplicates = 0 */ #ifdef __GNUC__ @@ -55,32 +55,32 @@ static unsigned int grib_accessor_classes_get_id (const char *str, size_t len) { static const unsigned short asso_values[] = { - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 0, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 1, 145, - 23, 6, 2, 507, 4, 507, 1, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 0, 507, 0, 69, 84, - 0, 0, 161, 24, 187, 1, 8, 9, 87, 102, - 13, 51, 6, 507, 118, 1, 40, 59, 171, 0, - 4, 6, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507 + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 0, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 1, 145, + 23, 6, 2, 546, 4, 546, 1, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 0, 546, 0, 69, 84, + 0, 0, 200, 24, 219, 1, 8, 6, 87, 102, + 13, 51, 6, 546, 118, 1, 40, 59, 171, 0, + 28, 11, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, + 546, 546, 546, 546, 546, 546 }; unsigned int hval = len; @@ -117,507 +117,514 @@ static const struct accessor_class_hash classes[] = #line 9 "accessor_class_list.gperf" {" "}, {""}, {""}, {""}, {""}, -#line 179 "accessor_class_list.gperf" +#line 180 "accessor_class_list.gperf" {"size", &grib_accessor_class_size}, #line 12 "accessor_class_list.gperf" {"ascii", &grib_accessor_class_ascii}, -#line 176 "accessor_class_list.gperf" - {"signed", &grib_accessor_class_signed}, -#line 156 "accessor_class_list.gperf" - {"pad", &grib_accessor_class_pad}, -#line 182 "accessor_class_list.gperf" - {"spd", &grib_accessor_class_spd}, - {""}, -#line 75 "accessor_class_list.gperf" - {"dirty", &grib_accessor_class_dirty}, - {""}, #line 177 "accessor_class_list.gperf" + {"signed", &grib_accessor_class_signed}, +#line 157 "accessor_class_list.gperf" + {"pad", &grib_accessor_class_pad}, +#line 183 "accessor_class_list.gperf" + {"spd", &grib_accessor_class_spd}, + {""}, {""}, {""}, +#line 178 "accessor_class_list.gperf" {"signed_bits", &grib_accessor_class_signed_bits}, {""}, -#line 66 "accessor_class_list.gperf" +#line 67 "accessor_class_list.gperf" {"data_raw_packing", &grib_accessor_class_data_raw_packing}, - {""}, {""}, {""}, -#line 72 "accessor_class_list.gperf" +#line 76 "accessor_class_list.gperf" + {"dirty", &grib_accessor_class_dirty}, + {""}, {""}, +#line 73 "accessor_class_list.gperf" {"data_simple_packing", &grib_accessor_class_data_simple_packing}, -#line 68 "accessor_class_list.gperf" +#line 69 "accessor_class_list.gperf" {"data_secondary_bitmap", &grib_accessor_class_data_secondary_bitmap}, -#line 170 "accessor_class_list.gperf" +#line 171 "accessor_class_list.gperf" {"section", &grib_accessor_class_section}, -#line 43 "accessor_class_list.gperf" +#line 44 "accessor_class_list.gperf" {"data_apply_bitmap", &grib_accessor_class_data_apply_bitmap}, {""}, -#line 74 "accessor_class_list.gperf" +#line 75 "accessor_class_list.gperf" {"dictionary", &grib_accessor_class_dictionary}, {""}, -#line 112 "accessor_class_list.gperf" - {"gen", &grib_accessor_class_gen}, -#line 64 "accessor_class_list.gperf" - {"data_jpeg2000_packing", &grib_accessor_class_data_jpeg2000_packing}, -#line 65 "accessor_class_list.gperf" - {"data_png_packing", &grib_accessor_class_data_png_packing}, -#line 172 "accessor_class_list.gperf" - {"section_padding", &grib_accessor_class_section_padding}, -#line 173 "accessor_class_list.gperf" - {"section_pointer", &grib_accessor_class_section_pointer}, -#line 44 "accessor_class_list.gperf" - {"data_apply_boustrophedonic", &grib_accessor_class_data_apply_boustrophedonic}, - {""}, {""}, {""}, {""}, -#line 80 "accessor_class_list.gperf" - {"expanded_descriptors", &grib_accessor_class_expanded_descriptors}, -#line 157 "accessor_class_list.gperf" - {"padding", &grib_accessor_class_padding}, -#line 45 "accessor_class_list.gperf" - {"data_apply_boustrophedonic_bitmap", &grib_accessor_class_data_apply_boustrophedonic_bitmap}, -#line 110 "accessor_class_list.gperf" - {"gds_is_present", &grib_accessor_class_gds_is_present}, -#line 169 "accessor_class_list.gperf" - {"second_order_bits_per_value", &grib_accessor_class_second_order_bits_per_value}, -#line 171 "accessor_class_list.gperf" - {"section_length", &grib_accessor_class_section_length}, #line 113 "accessor_class_list.gperf" + {"gen", &grib_accessor_class_gen}, +#line 65 "accessor_class_list.gperf" + {"data_jpeg2000_packing", &grib_accessor_class_data_jpeg2000_packing}, +#line 66 "accessor_class_list.gperf" + {"data_png_packing", &grib_accessor_class_data_png_packing}, +#line 173 "accessor_class_list.gperf" + {"section_padding", &grib_accessor_class_section_padding}, +#line 174 "accessor_class_list.gperf" + {"section_pointer", &grib_accessor_class_section_pointer}, +#line 45 "accessor_class_list.gperf" + {"data_apply_boustrophedonic", &grib_accessor_class_data_apply_boustrophedonic}, + {""}, {""}, {""}, {""}, {""}, +#line 158 "accessor_class_list.gperf" + {"padding", &grib_accessor_class_padding}, +#line 46 "accessor_class_list.gperf" + {"data_apply_boustrophedonic_bitmap", &grib_accessor_class_data_apply_boustrophedonic_bitmap}, +#line 111 "accessor_class_list.gperf" + {"gds_is_present", &grib_accessor_class_gds_is_present}, +#line 170 "accessor_class_list.gperf" + {"second_order_bits_per_value", &grib_accessor_class_second_order_bits_per_value}, +#line 172 "accessor_class_list.gperf" + {"section_length", &grib_accessor_class_section_length}, +#line 114 "accessor_class_list.gperf" {"getenv", &grib_accessor_class_getenv}, -#line 57 "accessor_class_list.gperf" +#line 58 "accessor_class_list.gperf" {"data_g22order_packing", &grib_accessor_class_data_g22order_packing}, -#line 191 "accessor_class_list.gperf" +#line 192 "accessor_class_list.gperf" {"time", &grib_accessor_class_time}, {""}, -#line 61 "accessor_class_list.gperf" +#line 62 "accessor_class_list.gperf" {"data_g2shsimple_packing", &grib_accessor_class_data_g2shsimple_packing}, {""}, -#line 155 "accessor_class_list.gperf" +#line 156 "accessor_class_list.gperf" {"packing_type", &grib_accessor_class_packing_type}, -#line 62 "accessor_class_list.gperf" +#line 63 "accessor_class_list.gperf" {"data_g2simple_packing", &grib_accessor_class_data_g2simple_packing}, -#line 59 "accessor_class_list.gperf" +#line 60 "accessor_class_list.gperf" {"data_g2complex_packing", &grib_accessor_class_data_g2complex_packing}, {""}, {""}, -#line 104 "accessor_class_list.gperf" +#line 105 "accessor_class_list.gperf" {"g2grid", &grib_accessor_class_g2grid}, {""}, {""}, {""}, -#line 103 "accessor_class_list.gperf" +#line 104 "accessor_class_list.gperf" {"g2end_step", &grib_accessor_class_g2end_step}, -#line 98 "accessor_class_list.gperf" +#line 99 "accessor_class_list.gperf" {"g2_eps", &grib_accessor_class_g2_eps}, -#line 142 "accessor_class_list.gperf" +#line 143 "accessor_class_list.gperf" {"nearest", &grib_accessor_class_nearest}, - {""}, -#line 158 "accessor_class_list.gperf" +#line 81 "accessor_class_list.gperf" + {"expanded_descriptors", &grib_accessor_class_expanded_descriptors}, +#line 159 "accessor_class_list.gperf" {"padto", &grib_accessor_class_padto}, -#line 189 "accessor_class_list.gperf" +#line 190 "accessor_class_list.gperf" {"sum", &grib_accessor_class_sum}, {""}, -#line 107 "accessor_class_list.gperf" +#line 108 "accessor_class_list.gperf" {"g2lon", &grib_accessor_class_g2lon}, -#line 203 "accessor_class_list.gperf" +#line 204 "accessor_class_list.gperf" {"uint8", &grib_accessor_class_uint8}, {""}, -#line 188 "accessor_class_list.gperf" +#line 189 "accessor_class_list.gperf" {"step_in_units", &grib_accessor_class_step_in_units}, -#line 63 "accessor_class_list.gperf" +#line 64 "accessor_class_list.gperf" {"data_g2simple_packing_with_preprocessing", &grib_accessor_class_data_g2simple_packing_with_preprocessing}, -#line 201 "accessor_class_list.gperf" +#line 202 "accessor_class_list.gperf" {"uint64", &grib_accessor_class_uint64}, -#line 47 "accessor_class_list.gperf" +#line 48 "accessor_class_list.gperf" {"data_complex_packing", &grib_accessor_class_data_complex_packing}, -#line 199 "accessor_class_list.gperf" +#line 200 "accessor_class_list.gperf" {"uint32", &grib_accessor_class_uint32}, #line 13 "accessor_class_list.gperf" {"bit", &grib_accessor_class_bit}, #line 15 "accessor_class_list.gperf" {"bits", &grib_accessor_class_bits}, -#line 48 "accessor_class_list.gperf" +#line 49 "accessor_class_list.gperf" {"data_dummy_field", &grib_accessor_class_data_dummy_field}, #line 14 "accessor_class_list.gperf" {"bitmap", &grib_accessor_class_bitmap}, -#line 124 "accessor_class_list.gperf" +#line 125 "accessor_class_list.gperf" {"julian_day", &grib_accessor_class_julian_day}, -#line 123 "accessor_class_list.gperf" +#line 124 "accessor_class_list.gperf" {"julian_date", &grib_accessor_class_julian_date}, -#line 143 "accessor_class_list.gperf" +#line 144 "accessor_class_list.gperf" {"non_alpha", &grib_accessor_class_non_alpha}, - {""}, -#line 29 "accessor_class_list.gperf" - {"bytes", &grib_accessor_class_bytes}, -#line 67 "accessor_class_list.gperf" + {""}, {""}, +#line 68 "accessor_class_list.gperf" {"data_run_length_packing", &grib_accessor_class_data_run_length_packing}, -#line 108 "accessor_class_list.gperf" +#line 109 "accessor_class_list.gperf" {"g2step_range", &grib_accessor_class_g2step_range}, #line 16 "accessor_class_list.gperf" {"bits_per_value", &grib_accessor_class_bits_per_value}, - {""}, {""}, {""}, {""}, {""}, -#line 167 "accessor_class_list.gperf" + {""}, +#line 29 "accessor_class_list.gperf" + {"bytes", &grib_accessor_class_bytes}, + {""}, {""}, {""}, +#line 168 "accessor_class_list.gperf" {"scale", &grib_accessor_class_scale}, {""}, -#line 185 "accessor_class_list.gperf" +#line 186 "accessor_class_list.gperf" {"statistics", &grib_accessor_class_statistics}, -#line 102 "accessor_class_list.gperf" +#line 103 "accessor_class_list.gperf" {"g2date", &grib_accessor_class_g2date}, -#line 145 "accessor_class_list.gperf" +#line 146 "accessor_class_list.gperf" {"number_of_points", &grib_accessor_class_number_of_points}, -#line 100 "accessor_class_list.gperf" +#line 101 "accessor_class_list.gperf" {"g2bitmap", &grib_accessor_class_g2bitmap}, {""}, -#line 60 "accessor_class_list.gperf" +#line 61 "accessor_class_list.gperf" {"data_g2secondary_bitmap", &grib_accessor_class_data_g2secondary_bitmap}, -#line 58 "accessor_class_list.gperf" +#line 59 "accessor_class_list.gperf" {"data_g2bifourier_packing", &grib_accessor_class_data_g2bifourier_packing}, -#line 111 "accessor_class_list.gperf" +#line 112 "accessor_class_list.gperf" {"gds_not_present_bitmap", &grib_accessor_class_gds_not_present_bitmap}, -#line 122 "accessor_class_list.gperf" +#line 123 "accessor_class_list.gperf" {"iterator", &grib_accessor_class_iterator}, -#line 186 "accessor_class_list.gperf" +#line 187 "accessor_class_list.gperf" {"statistics_spectral", &grib_accessor_class_statistics_spectral}, -#line 46 "accessor_class_list.gperf" +#line 47 "accessor_class_list.gperf" {"data_ccsds_packing", &grib_accessor_class_data_ccsds_packing}, -#line 146 "accessor_class_list.gperf" +#line 147 "accessor_class_list.gperf" {"number_of_points_gaussian", &grib_accessor_class_number_of_points_gaussian}, -#line 206 "accessor_class_list.gperf" +#line 207 "accessor_class_list.gperf" {"unsigned", &grib_accessor_class_unsigned}, -#line 138 "accessor_class_list.gperf" +#line 139 "accessor_class_list.gperf" {"md5", &grib_accessor_class_md5}, {""}, {""}, -#line 96 "accessor_class_list.gperf" +#line 97 "accessor_class_list.gperf" {"g2_aerosol", &grib_accessor_class_g2_aerosol}, -#line 139 "accessor_class_list.gperf" - {"message", &grib_accessor_class_message}, -#line 207 "accessor_class_list.gperf" - {"unsigned_bits", &grib_accessor_class_unsigned_bits}, -#line 174 "accessor_class_list.gperf" - {"select_step_template", &grib_accessor_class_select_step_template}, -#line 136 "accessor_class_list.gperf" - {"mars_param", &grib_accessor_class_mars_param}, -#line 204 "accessor_class_list.gperf" - {"unexpanded_descriptors", &grib_accessor_class_unexpanded_descriptors}, -#line 193 "accessor_class_list.gperf" - {"to_integer", &grib_accessor_class_to_integer}, - {""}, {""}, {""}, -#line 178 "accessor_class_list.gperf" - {"simple_packing_error", &grib_accessor_class_simple_packing_error}, -#line 187 "accessor_class_list.gperf" - {"step_human_readable", &grib_accessor_class_step_human_readable}, #line 140 "accessor_class_list.gperf" + {"message", &grib_accessor_class_message}, +#line 208 "accessor_class_list.gperf" + {"unsigned_bits", &grib_accessor_class_unsigned_bits}, +#line 175 "accessor_class_list.gperf" + {"select_step_template", &grib_accessor_class_select_step_template}, +#line 137 "accessor_class_list.gperf" + {"mars_param", &grib_accessor_class_mars_param}, +#line 205 "accessor_class_list.gperf" + {"unexpanded_descriptors", &grib_accessor_class_unexpanded_descriptors}, +#line 194 "accessor_class_list.gperf" + {"to_integer", &grib_accessor_class_to_integer}, +#line 179 "accessor_class_list.gperf" + {"simple_packing_error", &grib_accessor_class_simple_packing_error}, + {""}, {""}, {""}, +#line 188 "accessor_class_list.gperf" + {"step_human_readable", &grib_accessor_class_step_human_readable}, +#line 141 "accessor_class_list.gperf" {"message_copy", &grib_accessor_class_message_copy}, -#line 163 "accessor_class_list.gperf" +#line 164 "accessor_class_list.gperf" {"raw", &grib_accessor_class_raw}, {""}, {""}, -#line 202 "accessor_class_list.gperf" +#line 203 "accessor_class_list.gperf" {"uint64_little_endian", &grib_accessor_class_uint64_little_endian}, {""}, -#line 200 "accessor_class_list.gperf" +#line 201 "accessor_class_list.gperf" {"uint32_little_endian", &grib_accessor_class_uint32_little_endian}, -#line 114 "accessor_class_list.gperf" +#line 115 "accessor_class_list.gperf" {"global_gaussian", &grib_accessor_class_global_gaussian}, {""}, {""}, -#line 76 "accessor_class_list.gperf" +#line 77 "accessor_class_list.gperf" {"divdouble", &grib_accessor_class_divdouble}, {""}, -#line 175 "accessor_class_list.gperf" +#line 176 "accessor_class_list.gperf" {"sexagesimal2decimal", &grib_accessor_class_sexagesimal2decimal}, -#line 99 "accessor_class_list.gperf" +#line 100 "accessor_class_list.gperf" {"g2_mars_labeling", &grib_accessor_class_g2_mars_labeling}, -#line 78 "accessor_class_list.gperf" +#line 79 "accessor_class_list.gperf" {"element", &grib_accessor_class_element}, -#line 160 "accessor_class_list.gperf" +#line 161 "accessor_class_list.gperf" {"padtomultiple", &grib_accessor_class_padtomultiple}, -#line 127 "accessor_class_list.gperf" +#line 128 "accessor_class_list.gperf" {"latitudes", &grib_accessor_class_latitudes}, -#line 164 "accessor_class_list.gperf" +#line 165 "accessor_class_list.gperf" {"rdbtime_guess_date", &grib_accessor_class_rdbtime_guess_date}, {""}, {""}, {""}, -#line 194 "accessor_class_list.gperf" +#line 195 "accessor_class_list.gperf" {"to_string", &grib_accessor_class_to_string}, -#line 132 "accessor_class_list.gperf" +#line 133 "accessor_class_list.gperf" {"long", &grib_accessor_class_long}, #line 19 "accessor_class_list.gperf" {"bufr_data_array", &grib_accessor_class_bufr_data_array}, -#line 77 "accessor_class_list.gperf" +#line 78 "accessor_class_list.gperf" {"double", &grib_accessor_class_double}, #line 20 "accessor_class_list.gperf" {"bufr_data_element", &grib_accessor_class_bufr_data_element}, -#line 105 "accessor_class_list.gperf" +#line 106 "accessor_class_list.gperf" {"g2latlon", &grib_accessor_class_g2latlon}, {""}, {""}, #line 26 "accessor_class_list.gperf" {"bufr_simple_thinning", &grib_accessor_class_bufr_simple_thinning}, {""}, -#line 137 "accessor_class_list.gperf" +#line 138 "accessor_class_list.gperf" {"mars_step", &grib_accessor_class_mars_step}, {""}, -#line 115 "accessor_class_list.gperf" +#line 116 "accessor_class_list.gperf" {"group", &grib_accessor_class_group}, {""}, #line 28 "accessor_class_list.gperf" {"bufrdc_expanded_descriptors", &grib_accessor_class_bufrdc_expanded_descriptors}, -#line 161 "accessor_class_list.gperf" +#line 162 "accessor_class_list.gperf" {"position", &grib_accessor_class_position}, {""}, {""}, {""}, #line 17 "accessor_class_list.gperf" {"blob", &grib_accessor_class_blob}, -#line 109 "accessor_class_list.gperf" +#line 110 "accessor_class_list.gperf" {"gaussian_grid_name", &grib_accessor_class_gaussian_grid_name}, -#line 197 "accessor_class_list.gperf" +#line 198 "accessor_class_list.gperf" {"trim", &grib_accessor_class_trim}, {""}, {""}, -#line 119 "accessor_class_list.gperf" +#line 120 "accessor_class_list.gperf" {"ibmfloat", &grib_accessor_class_ibmfloat}, {""}, {""}, -#line 195 "accessor_class_list.gperf" +#line 196 "accessor_class_list.gperf" {"transient", &grib_accessor_class_transient}, -#line 55 "accessor_class_list.gperf" +#line 56 "accessor_class_list.gperf" {"data_g1shsimple_packing", &grib_accessor_class_data_g1shsimple_packing}, {""}, {""}, -#line 56 "accessor_class_list.gperf" +#line 57 "accessor_class_list.gperf" {"data_g1simple_packing", &grib_accessor_class_data_g1simple_packing}, -#line 49 "accessor_class_list.gperf" +#line 50 "accessor_class_list.gperf" {"data_g1complex_packing", &grib_accessor_class_data_g1complex_packing}, -#line 166 "accessor_class_list.gperf" +#line 167 "accessor_class_list.gperf" {"round", &grib_accessor_class_round}, -#line 196 "accessor_class_list.gperf" +#line 197 "accessor_class_list.gperf" {"transient_darray", &grib_accessor_class_transient_darray}, #line 18 "accessor_class_list.gperf" {"budgdate", &grib_accessor_class_budgdate}, -#line 210 "accessor_class_list.gperf" +#line 211 "accessor_class_list.gperf" {"values", &grib_accessor_class_values}, -#line 144 "accessor_class_list.gperf" +#line 145 "accessor_class_list.gperf" {"number_of_coded_values", &grib_accessor_class_number_of_coded_values}, -#line 126 "accessor_class_list.gperf" +#line 127 "accessor_class_list.gperf" {"label", &grib_accessor_class_label}, {""}, {""}, -#line 38 "accessor_class_list.gperf" +#line 39 "accessor_class_list.gperf" {"concept", &grib_accessor_class_concept}, {""}, -#line 183 "accessor_class_list.gperf" +#line 184 "accessor_class_list.gperf" {"spectral_truncation", &grib_accessor_class_spectral_truncation}, {""}, {""}, -#line 83 "accessor_class_list.gperf" +#line 84 "accessor_class_list.gperf" {"g1_message_length", &grib_accessor_class_g1_message_length}, -#line 184 "accessor_class_list.gperf" - {"sprintf", &grib_accessor_class_sprintf}, -#line 190 "accessor_class_list.gperf" - {"suppressed", &grib_accessor_class_suppressed}, {""}, -#line 213 "accessor_class_list.gperf" - {"when", &grib_accessor_class_when}, - {""}, {""}, -#line 180 "accessor_class_list.gperf" +#line 191 "accessor_class_list.gperf" + {"suppressed", &grib_accessor_class_suppressed}, + {""}, {""}, {""}, {""}, +#line 181 "accessor_class_list.gperf" {"smart_table", &grib_accessor_class_smart_table}, {""}, -#line 39 "accessor_class_list.gperf" +#line 40 "accessor_class_list.gperf" {"constant", &grib_accessor_class_constant}, {""}, {""}, -#line 162 "accessor_class_list.gperf" +#line 163 "accessor_class_list.gperf" {"proj_string", &grib_accessor_class_proj_string}, -#line 150 "accessor_class_list.gperf" +#line 151 "accessor_class_list.gperf" {"octet_number", &grib_accessor_class_octet_number}, -#line 181 "accessor_class_list.gperf" +#line 182 "accessor_class_list.gperf" {"smart_table_column", &grib_accessor_class_smart_table_column}, {""}, -#line 135 "accessor_class_list.gperf" +#line 136 "accessor_class_list.gperf" {"lookup", &grib_accessor_class_lookup}, {""}, -#line 94 "accessor_class_list.gperf" +#line 95 "accessor_class_list.gperf" {"g1step_range", &grib_accessor_class_g1step_range}, -#line 73 "accessor_class_list.gperf" +#line 74 "accessor_class_list.gperf" {"decimal_precision", &grib_accessor_class_decimal_precision}, {""}, -#line 134 "accessor_class_list.gperf" +#line 135 "accessor_class_list.gperf" {"longitudes", &grib_accessor_class_longitudes}, -#line 70 "accessor_class_list.gperf" - {"data_sh_unpacked", &grib_accessor_class_data_sh_unpacked}, + {""}, #line 27 "accessor_class_list.gperf" {"bufr_string_values", &grib_accessor_class_bufr_string_values}, -#line 198 "accessor_class_list.gperf" +#line 199 "accessor_class_list.gperf" {"uint16", &grib_accessor_class_uint16}, - {""}, {""}, -#line 71 "accessor_class_list.gperf" - {"data_shsimple_packing", &grib_accessor_class_data_shsimple_packing}, -#line 86 "accessor_class_list.gperf" + {""}, {""}, {""}, +#line 87 "accessor_class_list.gperf" {"g1date", &grib_accessor_class_g1date}, {""}, -#line 85 "accessor_class_list.gperf" +#line 86 "accessor_class_list.gperf" {"g1bitmap", &grib_accessor_class_g1bitmap}, {""}, -#line 54 "accessor_class_list.gperf" +#line 55 "accessor_class_list.gperf" {"data_g1secondary_bitmap", &grib_accessor_class_data_g1secondary_bitmap}, -#line 192 "accessor_class_list.gperf" +#line 193 "accessor_class_list.gperf" {"to_double", &grib_accessor_class_to_double}, -#line 101 "accessor_class_list.gperf" +#line 102 "accessor_class_list.gperf" {"g2bitmap_present", &grib_accessor_class_g2bitmap_present}, -#line 120 "accessor_class_list.gperf" - {"ieeefloat", &grib_accessor_class_ieeefloat}, -#line 151 "accessor_class_list.gperf" - {"offset_file", &grib_accessor_class_offset_file}, -#line 208 "accessor_class_list.gperf" - {"validity_date", &grib_accessor_class_validity_date}, + {""}, +#line 214 "accessor_class_list.gperf" + {"when", &grib_accessor_class_when}, #line 209 "accessor_class_list.gperf" + {"validity_date", &grib_accessor_class_validity_date}, +#line 210 "accessor_class_list.gperf" {"validity_time", &grib_accessor_class_validity_time}, {""}, -#line 130 "accessor_class_list.gperf" - {"library_version", &grib_accessor_class_library_version}, -#line 212 "accessor_class_list.gperf" +#line 185 "accessor_class_list.gperf" + {"sprintf", &grib_accessor_class_sprintf}, +#line 213 "accessor_class_list.gperf" {"vector", &grib_accessor_class_vector}, -#line 84 "accessor_class_list.gperf" +#line 85 "accessor_class_list.gperf" {"g1_section4_length", &grib_accessor_class_g1_section4_length}, -#line 141 "accessor_class_list.gperf" +#line 142 "accessor_class_list.gperf" {"multdouble", &grib_accessor_class_multdouble}, -#line 52 "accessor_class_list.gperf" - {"data_g1second_order_general_packing", &grib_accessor_class_data_g1second_order_general_packing}, - {""}, {""}, #line 53 "accessor_class_list.gperf" - {"data_g1second_order_row_by_row_packing", &grib_accessor_class_data_g1second_order_row_by_row_packing}, + {"data_g1second_order_general_packing", &grib_accessor_class_data_g1second_order_general_packing}, +#line 131 "accessor_class_list.gperf" + {"library_version", &grib_accessor_class_library_version}, {""}, -#line 24 "accessor_class_list.gperf" - {"bufr_extract_subsets", &grib_accessor_class_bufr_extract_subsets}, -#line 159 "accessor_class_list.gperf" +#line 54 "accessor_class_list.gperf" + {"data_g1second_order_row_by_row_packing", &grib_accessor_class_data_g1second_order_row_by_row_packing}, + {""}, {""}, +#line 160 "accessor_class_list.gperf" {"padtoeven", &grib_accessor_class_padtoeven}, -#line 50 "accessor_class_list.gperf" +#line 51 "accessor_class_list.gperf" {"data_g1second_order_constant_width_packing", &grib_accessor_class_data_g1second_order_constant_width_packing}, {""}, -#line 51 "accessor_class_list.gperf" +#line 52 "accessor_class_list.gperf" {"data_g1second_order_general_extended_packing", &grib_accessor_class_data_g1second_order_general_extended_packing}, -#line 22 "accessor_class_list.gperf" - {"bufr_extract_area_subsets", &grib_accessor_class_bufr_extract_area_subsets}, - {""}, {""}, {""}, -#line 23 "accessor_class_list.gperf" - {"bufr_extract_datetime_subsets", &grib_accessor_class_bufr_extract_datetime_subsets}, - {""}, +#line 71 "accessor_class_list.gperf" + {"data_sh_unpacked", &grib_accessor_class_data_sh_unpacked}, + {""}, {""}, {""}, {""}, +#line 72 "accessor_class_list.gperf" + {"data_shsimple_packing", &grib_accessor_class_data_shsimple_packing}, #line 21 "accessor_class_list.gperf" {"bufr_elements_table", &grib_accessor_class_bufr_elements_table}, {""}, {""}, {""}, {""}, -#line 154 "accessor_class_list.gperf" +#line 155 "accessor_class_list.gperf" {"pack_bufr_values", &grib_accessor_class_pack_bufr_values}, -#line 35 "accessor_class_list.gperf" +#line 36 "accessor_class_list.gperf" {"codetable", &grib_accessor_class_codetable}, -#line 131 "accessor_class_list.gperf" +#line 132 "accessor_class_list.gperf" {"local_definition", &grib_accessor_class_local_definition}, {""}, #line 25 "accessor_class_list.gperf" {"bufr_group", &grib_accessor_class_bufr_group}, {""}, -#line 88 "accessor_class_list.gperf" - {"g1end_of_interval_monthly", &grib_accessor_class_g1end_of_interval_monthly}, -#line 147 "accessor_class_list.gperf" - {"number_of_values", &grib_accessor_class_number_of_values}, - {""}, -#line 116 "accessor_class_list.gperf" - {"gts_header", &grib_accessor_class_gts_header}, - {""}, -#line 33 "accessor_class_list.gperf" - {"closest_date", &grib_accessor_class_closest_date}, -#line 153 "accessor_class_list.gperf" - {"optimal_step_units", &grib_accessor_class_optimal_step_units}, - {""}, -#line 211 "accessor_class_list.gperf" - {"variable", &grib_accessor_class_variable}, -#line 133 "accessor_class_list.gperf" - {"long_vector", &grib_accessor_class_long_vector}, -#line 168 "accessor_class_list.gperf" - {"scale_values", &grib_accessor_class_scale_values}, - {""}, {""}, {""}, -#line 128 "accessor_class_list.gperf" - {"latlon_increment", &grib_accessor_class_latlon_increment}, - {""}, {""}, {""}, -#line 148 "accessor_class_list.gperf" - {"number_of_values_data_raw_packing", &grib_accessor_class_number_of_values_data_raw_packing}, - {""}, -#line 79 "accessor_class_list.gperf" - {"evaluate", &grib_accessor_class_evaluate}, - {""}, {""}, {""}, {""}, {""}, -#line 152 "accessor_class_list.gperf" - {"offset_values", &grib_accessor_class_offset_values}, -#line 69 "accessor_class_list.gperf" - {"data_sh_packed", &grib_accessor_class_data_sh_packed}, -#line 11 "accessor_class_list.gperf" - {"abstract_vector", &grib_accessor_class_abstract_vector}, -#line 118 "accessor_class_list.gperf" - {"headers_only", &grib_accessor_class_headers_only}, -#line 125 "accessor_class_list.gperf" - {"ksec1expver", &grib_accessor_class_ksec1expver}, - {""}, {""}, -#line 41 "accessor_class_list.gperf" - {"count_missing", &grib_accessor_class_count_missing}, -#line 205 "accessor_class_list.gperf" - {"unpack_bufr_values", &grib_accessor_class_unpack_bufr_values}, - {""}, {""}, -#line 121 "accessor_class_list.gperf" - {"ifs_param", &grib_accessor_class_ifs_param}, - {""}, {""}, {""}, -#line 36 "accessor_class_list.gperf" - {"codetable_title", &grib_accessor_class_codetable_title}, - {""}, {""}, {""}, #line 89 "accessor_class_list.gperf" - {"g1fcperiod", &grib_accessor_class_g1fcperiod}, + {"g1end_of_interval_monthly", &grib_accessor_class_g1end_of_interval_monthly}, +#line 148 "accessor_class_list.gperf" + {"number_of_values", &grib_accessor_class_number_of_values}, +#line 24 "accessor_class_list.gperf" + {"bufr_extract_subsets", &grib_accessor_class_bufr_extract_subsets}, +#line 121 "accessor_class_list.gperf" + {"ieeefloat", &grib_accessor_class_ieeefloat}, +#line 152 "accessor_class_list.gperf" + {"offset_file", &grib_accessor_class_offset_file}, #line 34 "accessor_class_list.gperf" - {"codeflag", &grib_accessor_class_codeflag}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 106 "accessor_class_list.gperf" - {"g2level", &grib_accessor_class_g2level}, -#line 42 "accessor_class_list.gperf" - {"count_total", &grib_accessor_class_count_total}, - {""}, -#line 117 "accessor_class_list.gperf" - {"hash_array", &grib_accessor_class_hash_array}, - {""}, {""}, -#line 37 "accessor_class_list.gperf" - {"codetable_units", &grib_accessor_class_codetable_units}, + {"closest_date", &grib_accessor_class_closest_date}, +#line 154 "accessor_class_list.gperf" + {"optimal_step_units", &grib_accessor_class_optimal_step_units}, +#line 22 "accessor_class_list.gperf" + {"bufr_extract_area_subsets", &grib_accessor_class_bufr_extract_area_subsets}, +#line 212 "accessor_class_list.gperf" + {"variable", &grib_accessor_class_variable}, +#line 134 "accessor_class_list.gperf" + {"long_vector", &grib_accessor_class_long_vector}, +#line 169 "accessor_class_list.gperf" + {"scale_values", &grib_accessor_class_scale_values}, +#line 23 "accessor_class_list.gperf" + {"bufr_extract_datetime_subsets", &grib_accessor_class_bufr_extract_datetime_subsets}, {""}, {""}, #line 129 "accessor_class_list.gperf" - {"latlonvalues", &grib_accessor_class_latlonvalues}, - {""}, {""}, {""}, {""}, -#line 30 "accessor_class_list.gperf" - {"change_alternative_row_scanning", &grib_accessor_class_change_alternative_row_scanning}, - {""}, {""}, {""}, {""}, {""}, {""}, -#line 31 "accessor_class_list.gperf" - {"change_scanning_direction", &grib_accessor_class_change_scanning_direction}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {"latlon_increment", &grib_accessor_class_latlon_increment}, + {""}, {""}, {""}, #line 149 "accessor_class_list.gperf" - {"octahedral_gaussian", &grib_accessor_class_octahedral_gaussian}, + {"number_of_values_data_raw_packing", &grib_accessor_class_number_of_values_data_raw_packing}, + {""}, +#line 80 "accessor_class_list.gperf" + {"evaluate", &grib_accessor_class_evaluate}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 11 "accessor_class_list.gperf" + {"abstract_vector", &grib_accessor_class_abstract_vector}, + {""}, {""}, {""}, {""}, +#line 42 "accessor_class_list.gperf" + {"count_missing", &grib_accessor_class_count_missing}, +#line 206 "accessor_class_list.gperf" + {"unpack_bufr_values", &grib_accessor_class_unpack_bufr_values}, +#line 117 "accessor_class_list.gperf" + {"gts_header", &grib_accessor_class_gts_header}, + {""}, +#line 30 "accessor_class_list.gperf" + {"cf_var_name", &grib_accessor_class_cf_var_name}, + {""}, {""}, {""}, +#line 37 "accessor_class_list.gperf" + {"codetable_title", &grib_accessor_class_codetable_title}, + {""}, {""}, {""}, +#line 90 "accessor_class_list.gperf" + {"g1fcperiod", &grib_accessor_class_g1fcperiod}, + {""}, {""}, {""}, {""}, {""}, +#line 126 "accessor_class_list.gperf" + {"ksec1expver", &grib_accessor_class_ksec1expver}, + {""}, {""}, +#line 107 "accessor_class_list.gperf" + {"g2level", &grib_accessor_class_g2level}, +#line 43 "accessor_class_list.gperf" + {"count_total", &grib_accessor_class_count_total}, + {""}, {""}, {""}, +#line 70 "accessor_class_list.gperf" + {"data_sh_packed", &grib_accessor_class_data_sh_packed}, +#line 38 "accessor_class_list.gperf" + {"codetable_units", &grib_accessor_class_codetable_units}, +#line 119 "accessor_class_list.gperf" + {"headers_only", &grib_accessor_class_headers_only}, + {""}, +#line 130 "accessor_class_list.gperf" + {"latlonvalues", &grib_accessor_class_latlonvalues}, + {""}, +#line 153 "accessor_class_list.gperf" + {"offset_values", &grib_accessor_class_offset_values}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 122 "accessor_class_list.gperf" + {"ifs_param", &grib_accessor_class_ifs_param}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, #line 10 "accessor_class_list.gperf" {"abstract_long_vector", &grib_accessor_class_abstract_long_vector}, +#line 35 "accessor_class_list.gperf" + {"codeflag", &grib_accessor_class_codeflag}, {""}, {""}, {""}, -#line 40 "accessor_class_list.gperf" +#line 118 "accessor_class_list.gperf" + {"hash_array", &grib_accessor_class_hash_array}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, +#line 31 "accessor_class_list.gperf" + {"change_alternative_row_scanning", &grib_accessor_class_change_alternative_row_scanning}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 32 "accessor_class_list.gperf" + {"change_scanning_direction", &grib_accessor_class_change_scanning_direction}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 150 "accessor_class_list.gperf" + {"octahedral_gaussian", &grib_accessor_class_octahedral_gaussian}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 41 "accessor_class_list.gperf" {"count_file", &grib_accessor_class_count_file}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 91 "accessor_class_list.gperf" - {"g1monthlydate", &grib_accessor_class_g1monthlydate}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 82 "accessor_class_list.gperf" - {"g1_half_byte_codeflag", &grib_accessor_class_g1_half_byte_codeflag}, {""}, -#line 81 "accessor_class_list.gperf" - {"from_scale_factor_scaled_value", &grib_accessor_class_from_scale_factor_scaled_value}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 32 "accessor_class_list.gperf" - {"check_internal_version", &grib_accessor_class_check_internal_version}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, -#line 97 "accessor_class_list.gperf" - {"g2_chemical", &grib_accessor_class_g2_chemical}, -#line 87 "accessor_class_list.gperf" - {"g1day_of_the_year_date", &grib_accessor_class_g1day_of_the_year_date}, - {""}, {""}, {""}, {""}, {""}, -#line 165 "accessor_class_list.gperf" - {"reference_value_error", &grib_accessor_class_reference_value_error}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 92 "accessor_class_list.gperf" + {"g1monthlydate", &grib_accessor_class_g1monthlydate}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 93 "accessor_class_list.gperf" +#line 83 "accessor_class_list.gperf" + {"g1_half_byte_codeflag", &grib_accessor_class_g1_half_byte_codeflag}, + {""}, +#line 82 "accessor_class_list.gperf" + {"from_scale_factor_scaled_value", &grib_accessor_class_from_scale_factor_scaled_value}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 166 "accessor_class_list.gperf" + {"reference_value_error", &grib_accessor_class_reference_value_error}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 33 "accessor_class_list.gperf" + {"check_internal_version", &grib_accessor_class_check_internal_version}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 98 "accessor_class_list.gperf" + {"g2_chemical", &grib_accessor_class_g2_chemical}, + {""}, {""}, {""}, {""}, {""}, +#line 88 "accessor_class_list.gperf" + {"g1day_of_the_year_date", &grib_accessor_class_g1day_of_the_year_date}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, +#line 91 "accessor_class_list.gperf" + {"g1forecastmonth", &grib_accessor_class_g1forecastmonth}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, +#line 94 "accessor_class_list.gperf" {"g1number_of_coded_values_sh_simple", &grib_accessor_class_g1number_of_coded_values_sh_simple}, -#line 92 "accessor_class_list.gperf" +#line 93 "accessor_class_list.gperf" {"g1number_of_coded_values_sh_complex", &grib_accessor_class_g1number_of_coded_values_sh_complex}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, -#line 90 "accessor_class_list.gperf" - {"g1forecastmonth", &grib_accessor_class_g1forecastmonth}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, -#line 95 "accessor_class_list.gperf" + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {""}, {""}, +#line 96 "accessor_class_list.gperf" {"g1verificationdate", &grib_accessor_class_g1verificationdate} }; diff --git a/src/grib_accessor_factory.h b/src/grib_accessor_factory.h index 2f889a0c6..13716e28f 100644 --- a/src/grib_accessor_factory.h +++ b/src/grib_accessor_factory.h @@ -19,6 +19,7 @@ { "bufr_string_values", &grib_accessor_class_bufr_string_values, }, { "bufrdc_expanded_descriptors", &grib_accessor_class_bufrdc_expanded_descriptors, }, { "bytes", &grib_accessor_class_bytes, }, +{ "cf_var_name", &grib_accessor_class_cf_var_name, }, { "change_alternative_row_scanning", &grib_accessor_class_change_alternative_row_scanning, }, { "change_scanning_direction", &grib_accessor_class_change_scanning_direction, }, { "check_internal_version", &grib_accessor_class_check_internal_version, }, diff --git a/src/grib_accessor_factory_hash_list b/src/grib_accessor_factory_hash_list index 1f7687f38..ebb16f62f 100644 --- a/src/grib_accessor_factory_hash_list +++ b/src/grib_accessor_factory_hash_list @@ -20,6 +20,7 @@ bufr_simple_thinning, &grib_accessor_class_bufr_simple_thinning bufr_string_values, &grib_accessor_class_bufr_string_values bufrdc_expanded_descriptors, &grib_accessor_class_bufrdc_expanded_descriptors bytes, &grib_accessor_class_bytes +cf_var_name, &grib_accessor_class_cf_var_name change_alternative_row_scanning, &grib_accessor_class_change_alternative_row_scanning change_scanning_direction, &grib_accessor_class_change_scanning_direction check_internal_version, &grib_accessor_class_check_internal_version From da159759db47e9e6af49fe3a8d76e5e03ee45470 Mon Sep 17 00:00:00 2001 From: shahramn Date: Mon, 29 Jul 2024 16:14:59 +0100 Subject: [PATCH 37/63] ECC-1886: Definitions: cfVarName key should be based on the shortName (part 2) --- definitions/grib2/parameters.def | 3 +++ src/accessor_class_hierarchy.txt | 1 + 2 files changed, 4 insertions(+) diff --git a/definitions/grib2/parameters.def b/definitions/grib2/parameters.def index 0ddf9f901..cceae6507 100644 --- a/definitions/grib2/parameters.def +++ b/definitions/grib2/parameters.def @@ -26,6 +26,9 @@ concept cfName(cfNameECMF,"cfName.def",conceptsDir2,conceptsDir1) : no_copy,dump concept cfVarNameLegacyECMF(defaultShortName,"cfVarName.legacy.def",conceptsMasterDir,conceptsLocalDirECMF): no_copy,hidden; concept cfVarNameECMF (cfVarNameLegacyECMF,"cfVarName.def",conceptsMasterDir,conceptsLocalDirECMF): no_copy; concept cfVarName (cfVarNameECMF,"cfVarName.def",conceptsDir2,conceptsDir1): no_copy,dump; +# See ECC-1886 +#meta defaultCfVarName cf_var_name(shortName) : hidden, read_only; +#concept cfVarName (defaultCfVarName, "cfVarName.def", conceptsDir2, conceptsDir1): no_copy,dump; template_nofail names "grib2/products_[productionStatusOfProcessedData].def"; diff --git a/src/accessor_class_hierarchy.txt b/src/accessor_class_hierarchy.txt index 2fa53b858..78f67c6fa 100644 --- a/src/accessor_class_hierarchy.txt +++ b/src/accessor_class_hierarchy.txt @@ -9,6 +9,7 @@ Generated by src/make_accessor_class_hierarchy_dirs.sh |-----grib_accessor_class_long_vector |---grib_accessor_class_ascii |-----grib_accessor_class_bufr_string_values + |-----grib_accessor_class_cf_var_name |-----grib_accessor_class_check_internal_version |-----grib_accessor_class_getenv |-----grib_accessor_class_gts_header From b497b283b921b25c77387d7f1c9fc90b88d459b5 Mon Sep 17 00:00:00 2001 From: shahramn Date: Mon, 29 Jul 2024 22:25:30 +0100 Subject: [PATCH 38/63] Regression test suite: Switch back to the old way until we solve the download problems --- .github/ci-nightly-test.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/ci-nightly-test.sh b/.github/ci-nightly-test.sh index cf7567c5b..822f5564c 100644 --- a/.github/ci-nightly-test.sh +++ b/.github/ci-nightly-test.sh @@ -24,6 +24,7 @@ git clone https://${GH_TOKEN}@github.com/ecmwf/eccodes-regression-tests.git $reg cd $regression_suite_dir # Launch the regression tests in parallel (This script uses GNU parallel) +cd ~masn/REGRESSION_TESTING/ecCodes ./par-suite.sh -w $TMPDIR/install/eccodes/$version # For debugging specific test(s) From 7226e55c74b4e5f7de2d0abadb50ec80805f9c9a Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Tue, 30 Jul 2024 08:22:39 +0000 Subject: [PATCH 39/63] ECC-1887: GRIB2: The mars keys 'date' and 'time' for OSTIA data (using local def 11) are wrong --- definitions/grib1/local.98.11.def | 4 ++-- definitions/grib2/local.98.11.def | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/definitions/grib1/local.98.11.def b/definitions/grib1/local.98.11.def index 475ab900f..6fa5a484d 100644 --- a/definitions/grib1/local.98.11.def +++ b/definitions/grib1/local.98.11.def @@ -32,5 +32,5 @@ constant secondsOfAnalysis = 0; meta dateOfAnalysis g1date(centuryOfAnalysis,yearOfAnalysis,monthOfAnalysis,dayOfAnalysis) : dump; meta timeOfAnalysis time(hourOfAnalysis,minuteOfAnalysis,secondsOfAnalysis) : dump; -alias date = dateOfAnalysis; -alias time = timeOfAnalysis; +alias mars.date = dateOfAnalysis; +alias mars.time = timeOfAnalysis; diff --git a/definitions/grib2/local.98.11.def b/definitions/grib2/local.98.11.def index 3676a5463..58ff884b7 100644 --- a/definitions/grib2/local.98.11.def +++ b/definitions/grib2/local.98.11.def @@ -15,5 +15,5 @@ constant secondsOfAnalysis = 0; meta dateOfAnalysis g2date(yearOfAnalysis,monthOfAnalysis,dayOfAnalysis) : dump; meta timeOfAnalysis time(hourOfAnalysis,minuteOfAnalysis,secondsOfAnalysis) : dump; -alias date = dateOfAnalysis; -alias time = timeOfAnalysis; +alias mars.date = dateOfAnalysis; +alias mars.time = timeOfAnalysis; From 797613d5ae69361db9efec016e23f3c2dd1ecabf Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Tue, 30 Jul 2024 08:23:41 +0000 Subject: [PATCH 40/63] Regression test suite: Revisit --- .github/ci-nightly-test.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/ci-nightly-test.sh b/.github/ci-nightly-test.sh index 822f5564c..c2d17b709 100644 --- a/.github/ci-nightly-test.sh +++ b/.github/ci-nightly-test.sh @@ -18,10 +18,10 @@ version=$(cat $TMPDIR/eccodes/VERSION) # The environment variable "GH_TOKEN" needs to be there for the clone to succeed # -regression_suite_dir=$TMPDIR/eccodes-regression-tests -mkdir -p $regression_suite_dir -git clone https://${GH_TOKEN}@github.com/ecmwf/eccodes-regression-tests.git $regression_suite_dir -cd $regression_suite_dir +#regression_suite_dir=$TMPDIR/eccodes-regression-tests +#mkdir -p $regression_suite_dir +#git clone https://${GH_TOKEN}@github.com/ecmwf/eccodes-regression-tests.git $regression_suite_dir +#cd $regression_suite_dir # Launch the regression tests in parallel (This script uses GNU parallel) cd ~masn/REGRESSION_TESTING/ecCodes From 7053d3b72e86f2cfb000ac7ce8cb8026d4cc28e4 Mon Sep 17 00:00:00 2001 From: Eugen Betke Date: Tue, 30 Jul 2024 12:13:27 +0000 Subject: [PATCH 41/63] ECC-1858: Data encodings parameters are always re-computed --- data/grib_data_files.txt | 2 +- ...ib_accessor_class_data_g22order_packing.cc | 6 +- tests/grib_bitmap.sh | 89 ++++++++++++++++++- 3 files changed, 91 insertions(+), 6 deletions(-) diff --git a/data/grib_data_files.txt b/data/grib_data_files.txt index f6d3a9124..8996acf97 100644 --- a/data/grib_data_files.txt +++ b/data/grib_data_files.txt @@ -91,4 +91,4 @@ mercator.grib2 run_length_packing.grib2 boustrophedonic.grib1 reduced_gaussian_sub_area.legacy.grib1 - +grid_complex_spatial_differencing.grib2 diff --git a/src/accessor/grib_accessor_class_data_g22order_packing.cc b/src/accessor/grib_accessor_class_data_g22order_packing.cc index bbc698100..0fefbc6de 100644 --- a/src/accessor/grib_accessor_class_data_g22order_packing.cc +++ b/src/accessor/grib_accessor_class_data_g22order_packing.cc @@ -787,7 +787,7 @@ int grib_accessor_class_data_g22order_packing_t::pack_double(grib_accessor* a, c // long nvals_per_group = 0; // long nbits_per_group_val = 0; - long binary_scale_factor, decimal_scale_factor, optimize_scale_factor, typeOfOriginalFieldValues; + long binary_scale_factor, decimal_scale_factor, typeOfOriginalFieldValues; // long groupSplittingMethodUsed, numberOfGroupsOfDataValues, referenceForGroupWidths; long missingValueManagementUsed, primaryMissingValueSubstitute, secondaryMissingValueSubstitute; long numberOfBitsUsedForTheGroupWidths, numberOfBitsUsedForTheScaledGroupLengths, orderOfSpatialDifferencing; @@ -816,7 +816,7 @@ int grib_accessor_class_data_g22order_packing_t::pack_double(grib_accessor* a, c if ((err = grib_get_long_internal(gh, self->decimal_scale_factor, &decimal_scale_factor)) != GRIB_SUCCESS) return err; - optimize_scale_factor = 1; // TODO(masn): To be reviewed + int use_scale = 1; if ((err = grib_get_long_internal(gh, self->binary_scale_factor, &binary_scale_factor)) != GRIB_SUCCESS) return err; @@ -939,7 +939,7 @@ int grib_accessor_class_data_g22order_packing_t::pack_double(grib_accessor* a, c binary_scale = bin_scale; - if (optimize_scale_factor == 0) { // ECMWF style + if (use_scale) { // ECMWF style ref = min_val; frange = max_val - ref; dec_scale = 0; diff --git a/tests/grib_bitmap.sh b/tests/grib_bitmap.sh index 456f3255e..9ef78550d 100755 --- a/tests/grib_bitmap.sh +++ b/tests/grib_bitmap.sh @@ -1,4 +1,4 @@ -#!/bin/sh +n#!/bin/sh # (C) Copyright 2005- ECMWF. # # This software is licensed under the terms of the Apache Licence Version 2.0 @@ -122,7 +122,9 @@ stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $tempSimple` # Repack ${tools_dir}/grib_copy -r $infile $temp2 -${tools_dir}/grib_compare -c data:n $infile $temp2 +# The values do not have to be be bit-identical. The high effort to make them bit-identical is not justified. +# Therefore, we compare the values with a relative tolerance. +${tools_dir}/grib_compare -R all=0.3 -c data:n $infile $temp2 grib_check_key_equals $temp2 bitsPerValue 9 # Note: The input file has bpv=9 @@ -165,5 +167,88 @@ ${tools_dir}/grib_filter $tempRules $data_dir/boustrophedonic.grib1 > $REDIRECT ${tools_dir}/grib_filter $tempRules $data_dir/missing_field.grib1 > $REDIRECT ${tools_dir}/grib_filter $tempRules $data_dir/reduced_latlon_surface.grib2 > $REDIRECT +# ECC-1858: grid_complex_spatial_differencing +# Optimize binary_scale_factor, decimal_scale_factor by default +# ---------------------------------------------------------- +# Repack + +in=${data_dir}/grid_complex_spatial_differencing.grib2 +in_with_bitmap=${data_dir}/temp_grid_complex_spatial_differencing_bitmap.grib2 +in_no_bitmap=${data_dir}/temp_grid_complex_spatial_differencing_no_bitmap.grib2 + +${tools_dir}/grib_set -s bitmapPresent=1 $in $in_with_bitmap +${tools_dir}/grib_set -s bitmapPresent=0 $in $in_no_bitmap + +# No bitmap +# Repack +${tools_dir}/grib_copy -r $in_no_bitmap $temp2 +stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $temp2` +[ "$stats" = '549.61 11.61 203.28' ] + +# Rescale +${tools_dir}/grib_set -s scaleValuesBy=0.001 $in_no_bitmap $temp2 +stats=`${tools_dir}/grib_get -F%.4f -p max,min,avg $temp2` +[ "$stats" = '0.5496 0.0116 0.2033' ] + +# BitsPerValue=16 +# If required bits and wanted bits are not the same, use an extra bit (see code) +${tools_dir}/grib_set -s setBitsPerValue=15 $in_no_bitmap $temp2 +stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $temp2` +[ "$stats" = '549.61 11.61 203.28' ] +grib_check_key_equals $temp2 bitsPerValue 16 + +# BitsPerValue=24 (see comment above) +${tools_dir}/grib_set -s setBitsPerValue=23 $in_no_bitmap $temp2 +stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $temp2` +[ "$stats" = '549.61 11.61 203.28' ] +grib_check_key_equals $temp2 bitsPerValue 24 + +# Change packing type +${tools_dir}/grib_set -s packingType=grid_simple $in_no_bitmap $temp2 +stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $temp2` +[ "$stats" = '549.61 11.61 203.28' ] + +${tools_dir}/grib_set -s packingType=grid_complex_spatial_differencing $temp2 $tempSimple +stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $temp2` +[ "$stats" = '549.61 11.61 203.28' ] + +# With bitmap +# Repack +${tools_dir}/grib_copy -r $in_with_bitmap $temp2 +stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $temp2` +[ "$stats" = '549.61 11.61 203.28' ] + +# Rescale +${tools_dir}/grib_set -s scaleValuesBy=0.001 $in_with_bitmap $temp2 +stats=`${tools_dir}/grib_get -F%.4f -p max,min,avg $temp2` +[ "$stats" = '0.5496 0.0116 0.2033' ] + +# BitsPerValue=16 (see comment above) +${tools_dir}/grib_set -s setBitsPerValue=15 $in_with_bitmap $temp2 +stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $temp2` +[ "$stats" = '549.61 11.61 203.28' ] +grib_check_key_equals $temp2 bitsPerValue 16 + +# BitsPerValue=24 (see comment above) +${tools_dir}/grib_set -s setBitsPerValue=23 $in_with_bitmap $temp2 +stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $temp2` +[ "$stats" = '549.61 11.61 203.28' ] +grib_check_key_equals $temp2 bitsPerValue 24 + +# Change packing type +${tools_dir}/grib_set -s packingType=grid_simple $in_with_bitmap $temp2 +stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $temp2` +[ "$stats" = '549.61 11.61 203.28' ] + +${tools_dir}/grib_set -s packingType=grid_complex_spatial_differencing $temp2 $tempSimple +stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $temp2` +[ "$stats" = '549.61 11.61 203.28' ] + +# Clean up for ECC-1858 +rm -f $in_with_bitmap $in_no_bitmap +rm -f $tempSimple + +# ---------------------------------------------------------- + # Clean up rm -f $tempData1 $tempData2 $temp1 $temp2 $tempRules $tempOut From 053bbe4db54267a32d83f9782843ca8c842f6e7c Mon Sep 17 00:00:00 2001 From: shahramn Date: Tue, 30 Jul 2024 14:01:36 +0100 Subject: [PATCH 42/63] Testing: Fix --- tests/grib_bitmap.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/grib_bitmap.sh b/tests/grib_bitmap.sh index 9ef78550d..c8d94850f 100755 --- a/tests/grib_bitmap.sh +++ b/tests/grib_bitmap.sh @@ -1,4 +1,4 @@ -n#!/bin/sh +#!/bin/sh # (C) Copyright 2005- ECMWF. # # This software is licensed under the terms of the Apache Licence Version 2.0 From 077ad9fc24c322d97ed86f87c404b7a554788818 Mon Sep 17 00:00:00 2001 From: Eugen Betke Date: Tue, 30 Jul 2024 17:15:54 +0200 Subject: [PATCH 43/63] ECC-1858: Repack data, when changing packing type --- tests/grib_bitmap.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/grib_bitmap.sh b/tests/grib_bitmap.sh index c8d94850f..36ba2cf4d 100755 --- a/tests/grib_bitmap.sh +++ b/tests/grib_bitmap.sh @@ -204,11 +204,11 @@ stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $temp2` grib_check_key_equals $temp2 bitsPerValue 24 # Change packing type -${tools_dir}/grib_set -s packingType=grid_simple $in_no_bitmap $temp2 +${tools_dir}/grib_set -r -s packingType=grid_simple $in_no_bitmap $temp2 stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $temp2` [ "$stats" = '549.61 11.61 203.28' ] -${tools_dir}/grib_set -s packingType=grid_complex_spatial_differencing $temp2 $tempSimple +${tools_dir}/grib_set -r -s packingType=grid_complex_spatial_differencing $temp2 $tempSimple stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $temp2` [ "$stats" = '549.61 11.61 203.28' ] @@ -236,11 +236,11 @@ stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $temp2` grib_check_key_equals $temp2 bitsPerValue 24 # Change packing type -${tools_dir}/grib_set -s packingType=grid_simple $in_with_bitmap $temp2 +${tools_dir}/grib_set -r -s packingType=grid_simple $in_with_bitmap $temp2 stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $temp2` [ "$stats" = '549.61 11.61 203.28' ] -${tools_dir}/grib_set -s packingType=grid_complex_spatial_differencing $temp2 $tempSimple +${tools_dir}/grib_set -r -s packingType=grid_complex_spatial_differencing $temp2 $tempSimple stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $temp2` [ "$stats" = '549.61 11.61 203.28' ] From e5e33220ccdd0895080b18bfd1fef3c8457a4557 Mon Sep 17 00:00:00 2001 From: shahramn Date: Wed, 31 Jul 2024 10:37:03 +0100 Subject: [PATCH 44/63] ECC-1889: GRIB: Add new MARS type MPP --- definitions/mars/type.table | 1 + tests/grib_sub_hourly.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/definitions/mars/type.table b/definitions/mars/type.table index 1985ee678..edbfb16c3 100644 --- a/definitions/mars/type.table +++ b/definitions/mars/type.table @@ -74,3 +74,4 @@ 93 ppm Point value metrics 94 gwt Weather types 95 est Ensemble statistics +96 mpp Model physics perturbations diff --git a/tests/grib_sub_hourly.sh b/tests/grib_sub_hourly.sh index 0f543cb79..a7a47f69f 100755 --- a/tests/grib_sub_hourly.sh +++ b/tests/grib_sub_hourly.sh @@ -62,7 +62,7 @@ fi instantaneous_field=$data_dir/reduced_gaussian_surface.grib2 accumulated_field=$data_dir/reduced_gaussian_sub_area.grib2 -# ECC-18XX: Bad step initialisatino +# ECC-1855: Bad step initialisation ${tools_dir}/grib_set -s productDefinitionTemplateNumber=11,forecastTime=2184,indicatorOfUnitForForecastTime=1,lengthOfTimeRange=720,indicatorOfUnitForTimeRange=1,typeOfTimeIncrement=2,numberOfTimeRange=2 $accumulated_field $temp ${tools_dir}/grib_ls $temp grib_check_key_equals $temp "-p stepRange" "2184-2904" From 47142da3af4ee7e2a64641fc3f56eb8292cc47e6 Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Wed, 31 Jul 2024 09:29:09 +0100 Subject: [PATCH 45/63] adding mars namespace configurations for elda/mpp and enda/mpp --- definitions/mars/grib.elda.mpp.def | 2 ++ definitions/mars/grib.enda.mpp.def | 1 + 2 files changed, 3 insertions(+) create mode 100644 definitions/mars/grib.elda.mpp.def create mode 100644 definitions/mars/grib.enda.mpp.def diff --git a/definitions/mars/grib.elda.mpp.def b/definitions/mars/grib.elda.mpp.def new file mode 100644 index 000000000..ce5e03eaf --- /dev/null +++ b/definitions/mars/grib.elda.mpp.def @@ -0,0 +1,2 @@ +alias mars.anoffset=offsetToEndOf4DvarWindow; +alias mars.number=perturbationNumber; diff --git a/definitions/mars/grib.enda.mpp.def b/definitions/mars/grib.enda.mpp.def new file mode 100644 index 000000000..4af93e55d --- /dev/null +++ b/definitions/mars/grib.enda.mpp.def @@ -0,0 +1 @@ +alias mars.number=perturbationNumber; From f7fe36b2cf60a6ef249b56dcd767187332199a6f Mon Sep 17 00:00:00 2001 From: Sebastien Villaume Date: Wed, 31 Jul 2024 10:10:58 +0100 Subject: [PATCH 46/63] unalias levtype and levelist for enda/mpp and elda/mpp --- definitions/mars/grib.elda.mpp.def | 3 +++ definitions/mars/grib.enda.mpp.def | 3 +++ 2 files changed, 6 insertions(+) diff --git a/definitions/mars/grib.elda.mpp.def b/definitions/mars/grib.elda.mpp.def index ce5e03eaf..ae2eef11e 100644 --- a/definitions/mars/grib.elda.mpp.def +++ b/definitions/mars/grib.elda.mpp.def @@ -1,2 +1,5 @@ alias mars.anoffset=offsetToEndOf4DvarWindow; alias mars.number=perturbationNumber; + +unalias mars.levtype; +unalias mars.levelist; diff --git a/definitions/mars/grib.enda.mpp.def b/definitions/mars/grib.enda.mpp.def index 4af93e55d..53a837ed2 100644 --- a/definitions/mars/grib.enda.mpp.def +++ b/definitions/mars/grib.enda.mpp.def @@ -1 +1,4 @@ alias mars.number=perturbationNumber; + +unalias mars.levtype; +unalias mars.levelist; From 2554d17256041636535917278b48e43661ece696 Mon Sep 17 00:00:00 2001 From: shahramn Date: Wed, 31 Jul 2024 13:12:01 +0100 Subject: [PATCH 47/63] Formatting and cleanups --- ...class_data_apply_boustrophedonic_bitmap.cc | 87 ++++++----- .../grib_accessor_class_data_dummy_field.cc | 35 +++-- ...b_accessor_class_data_g1complex_packing.cc | 77 +++++----- ...a_g1second_order_constant_width_packing.cc | 44 +++--- ..._accessor_class_data_g1secondary_bitmap.cc | 31 ++-- ...ib_accessor_class_data_g1simple_packing.cc | 16 +- ...accessor_class_data_g2bifourier_packing.cc | 53 +++---- ...b_accessor_class_data_g2complex_packing.cc | 20 +-- ..._accessor_class_data_g2secondary_bitmap.cc | 20 +-- ..._accessor_class_data_g2shsimple_packing.cc | 21 +-- ...ib_accessor_class_data_g2simple_packing.cc | 54 +++---- ...ib_accessor_class_data_jpeg2000_packing.cc | 100 +++++++------ .../grib_accessor_class_data_png_packing.cc | 106 +++++++------ .../grib_accessor_class_data_raw_packing.cc | 54 ++++--- ..._accessor_class_data_run_length_packing.cc | 139 ++++++++++-------- ...ib_accessor_class_data_secondary_bitmap.cc | 28 ++-- .../grib_accessor_class_data_sh_packed.cc | 49 +++--- .../grib_accessor_class_data_sh_unpacked.cc | 19 ++- ...ib_accessor_class_data_shsimple_packing.cc | 17 ++- ...b_accessor_class_g1day_of_the_year_date.cc | 27 ++-- ...ccessor_class_g1end_of_interval_monthly.cc | 45 +++--- ...b_accessor_class_gds_not_present_bitmap.cc | 30 ++-- 22 files changed, 592 insertions(+), 480 deletions(-) diff --git a/src/accessor/grib_accessor_class_data_apply_boustrophedonic_bitmap.cc b/src/accessor/grib_accessor_class_data_apply_boustrophedonic_bitmap.cc index f796cfb02..4ff1322d3 100644 --- a/src/accessor/grib_accessor_class_data_apply_boustrophedonic_bitmap.cc +++ b/src/accessor/grib_accessor_class_data_apply_boustrophedonic_bitmap.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,16 +10,17 @@ #include "grib_accessor_class_data_apply_boustrophedonic_bitmap.h" -grib_accessor_class_data_apply_boustrophedonic_bitmap_t _grib_accessor_class_data_apply_boustrophedonic_bitmap{"data_apply_boustrophedonic_bitmap"}; +grib_accessor_class_data_apply_boustrophedonic_bitmap_t _grib_accessor_class_data_apply_boustrophedonic_bitmap{ "data_apply_boustrophedonic_bitmap" }; grib_accessor_class* grib_accessor_class_data_apply_boustrophedonic_bitmap = &_grib_accessor_class_data_apply_boustrophedonic_bitmap; -void grib_accessor_class_data_apply_boustrophedonic_bitmap_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_apply_boustrophedonic_bitmap_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_gen_t::init(a, v, args); - int n = 0; grib_accessor_data_apply_boustrophedonic_bitmap_t* self = (grib_accessor_data_apply_boustrophedonic_bitmap_t*)a; - grib_handle* gh = grib_handle_of_accessor(a); + grib_handle* gh = grib_handle_of_accessor(a); + int n = 0; self->coded_values = grib_arguments_get_name(gh, args, n++); self->bitmap = grib_arguments_get_name(gh, args, n++); self->missing_value = grib_arguments_get_name(gh, args, n++); @@ -33,15 +33,18 @@ void grib_accessor_class_data_apply_boustrophedonic_bitmap_t::init(grib_accessor a->length = 0; } -void grib_accessor_class_data_apply_boustrophedonic_bitmap_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_data_apply_boustrophedonic_bitmap_t::dump(grib_accessor* a, grib_dumper* dumper) +{ grib_dump_values(dumper, a); } -int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::value_count(grib_accessor* a, long* count) +{ grib_accessor_data_apply_boustrophedonic_bitmap_t* self = (grib_accessor_data_apply_boustrophedonic_bitmap_t*)a; - grib_handle* gh = grib_handle_of_accessor(a); - size_t len = 0; - int ret = 0; + + grib_handle* gh = grib_handle_of_accessor(a); + size_t len = 0; + int ret = 0; /* This accessor is for data with a bitmap after all */ Assert(grib_find_accessor(gh, self->bitmap)); @@ -51,9 +54,10 @@ int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::value_count(grib_ac return ret; } -int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ grib_accessor_data_apply_boustrophedonic_bitmap_t* self = (grib_accessor_data_apply_boustrophedonic_bitmap_t*)a; - grib_handle* gh = grib_handle_of_accessor(a); + grib_handle* gh = grib_handle_of_accessor(a); size_t i = 0, j = 0, n_vals = 0, irow = 0; long nn = 0; @@ -63,7 +67,8 @@ int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::unpack_double(grib_ double missing_value = 0; long numberOfPoints, numberOfRows, numberOfColumns; - err = a->value_count(&nn); n_vals = nn; + err = a->value_count(&nn); + n_vals = nn; if (err) return err; @@ -159,9 +164,10 @@ int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::unpack_double(grib_ return err; } -int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::unpack_double_element(grib_accessor* a, size_t idx, double* val){ +int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::unpack_double_element(grib_accessor* a, size_t idx, double* val) +{ grib_accessor_data_apply_boustrophedonic_bitmap_t* self = (grib_accessor_data_apply_boustrophedonic_bitmap_t*)a; - grib_handle* gh = grib_handle_of_accessor(a); + grib_handle* gh = grib_handle_of_accessor(a); int err = 0, i = 0; size_t cidx = 0; double missing_value = 0; @@ -169,7 +175,8 @@ int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::unpack_double_eleme size_t n_vals = 0; long nn = 0; - err = a->value_count(&nn); n_vals = nn; + err = a->value_count(&nn); + n_vals = nn; if (err) return err; @@ -204,19 +211,21 @@ int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::unpack_double_eleme return grib_get_double_element_internal(gh, self->coded_values, cidx, val); } -int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::unpack_double_element_set(grib_accessor* a, const size_t* index_array, size_t len, double* val_array){ +int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::unpack_double_element_set(grib_accessor* a, const size_t* index_array, size_t len, double* val_array) +{ grib_accessor_data_apply_boustrophedonic_bitmap_t* self = (grib_accessor_data_apply_boustrophedonic_bitmap_t*)a; - grib_handle* gh = grib_handle_of_accessor(a); + grib_handle* gh = grib_handle_of_accessor(a); int err = 0, all_missing = 1; - size_t cidx = 0; /* index into the coded_values array */ - size_t* cidx_array = NULL; /* array of indexes into the coded_values */ - double* cval_array = NULL; /* array of values of the coded_values */ + size_t cidx = 0; /* index into the coded_values array */ + size_t* cidx_array = NULL; /* array of indexes into the coded_values */ + double* cval_array = NULL; /* array of values of the coded_values */ double missing_value = 0; double* bvals = NULL; size_t n_vals = 0, i = 0, j = 0, idx = 0, count_1s = 0, ci = 0; long nn = 0; - err = a->value_count(&nn); n_vals = nn; + err = a->value_count(&nn); + n_vals = nn; if (err) return err; if (!grib_find_accessor(gh, self->bitmap)) @@ -230,7 +239,8 @@ int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::unpack_double_eleme for (i = 0; i < len; i++) { if (val_array[i] == 0) { val_array[i] = missing_value; - } else { + } + else { all_missing = 0; count_1s++; } @@ -255,7 +265,7 @@ int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::unpack_double_eleme ci = 0; for (i = 0; i < len; i++) { if (val_array[i] == 1) { - idx = index_array[i]; + idx = index_array[i]; cidx = 0; for (j = 0; j < idx; j++) { cidx += bvals[j]; @@ -282,17 +292,19 @@ int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::unpack_double_eleme return GRIB_SUCCESS; } -int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ grib_accessor_data_apply_boustrophedonic_bitmap_t* self = (grib_accessor_data_apply_boustrophedonic_bitmap_t*)a; - grib_handle* gh = grib_handle_of_accessor(a); - int err = 0; - size_t bmaplen = *len; - size_t irow = 0; - long coded_n_vals = 0; - double* coded_vals = NULL; - double* values = 0; - long i = 0; - long j = 0; + + grib_handle* gh = grib_handle_of_accessor(a); + int err = 0; + size_t bmaplen = *len; + size_t irow = 0; + long coded_n_vals = 0; + double* coded_vals = NULL; + double* values = 0; + long i = 0; + long j = 0; long numberOfPoints, numberOfRows, numberOfColumns; double missing_value = 0; @@ -381,9 +393,10 @@ int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::pack_double(grib_ac return err; } -int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::get_native_type(grib_accessor* a){ - //grib_accessor_data_apply_boustrophedonic_bitmap_t* self = (grib_accessor_data_apply_boustrophedonic_bitmap_t*)a; - //return grib_accessor_get_native_type(grib_find_accessor(grib_handle_of_accessor(a),self->coded_values)); +int grib_accessor_class_data_apply_boustrophedonic_bitmap_t::get_native_type(grib_accessor* a) +{ + // grib_accessor_data_apply_boustrophedonic_bitmap_t* self = (grib_accessor_data_apply_boustrophedonic_bitmap_t*)a; + // return grib_accessor_get_native_type(grib_find_accessor(grib_handle_of_accessor(a),self->coded_values)); return GRIB_TYPE_DOUBLE; } diff --git a/src/accessor/grib_accessor_class_data_dummy_field.cc b/src/accessor/grib_accessor_class_data_dummy_field.cc index eddadcc08..735ee6766 100644 --- a/src/accessor/grib_accessor_class_data_dummy_field.cc +++ b/src/accessor/grib_accessor_class_data_dummy_field.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,24 +10,26 @@ #include "grib_accessor_class_data_dummy_field.h" -grib_accessor_class_data_dummy_field_t _grib_accessor_class_data_dummy_field{"data_dummy_field"}; +grib_accessor_class_data_dummy_field_t _grib_accessor_class_data_dummy_field{ "data_dummy_field" }; grib_accessor_class* grib_accessor_class_data_dummy_field = &_grib_accessor_class_data_dummy_field; -void grib_accessor_class_data_dummy_field_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_dummy_field_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_data_g1simple_packing_t::init(a, v, args); grib_accessor_data_dummy_field_t* self = (grib_accessor_data_dummy_field_t*)a; - self->missing_value = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); - self->numberOfPoints = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); - self->bitmap = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); + self->missing_value = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); + self->numberOfPoints = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); + self->bitmap = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); } -int grib_accessor_class_data_dummy_field_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_data_dummy_field_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ grib_accessor_data_dummy_field_t* self = (grib_accessor_data_dummy_field_t*)a; size_t i = 0, n_vals = 0; long numberOfPoints; double missing_value = 0; - int err = 0; + int err = 0; if ((err = grib_get_long_internal(grib_handle_of_accessor(a), self->numberOfPoints, &numberOfPoints)) != GRIB_SUCCESS) return err; @@ -54,15 +55,16 @@ int grib_accessor_class_data_dummy_field_t::unpack_double(grib_accessor* a, doub return err; } -int grib_accessor_class_data_dummy_field_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_data_dummy_field_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ grib_accessor_data_dummy_field_t* self = (grib_accessor_data_dummy_field_t*)a; - size_t n_vals = *len; - int err = 0; + size_t n_vals = *len; + int err = 0; long bits_per_value = 0; - long half_byte = 0; - size_t buflen = 0; - unsigned char* buf = NULL; + long half_byte = 0; + size_t buflen = 0; + unsigned char* buf = NULL; if (*len == 0) return GRIB_NO_VALUES; @@ -89,9 +91,10 @@ int grib_accessor_class_data_dummy_field_t::pack_double(grib_accessor* a, const return GRIB_SUCCESS; } -int grib_accessor_class_data_dummy_field_t::value_count(grib_accessor* a, long* numberOfPoints){ +int grib_accessor_class_data_dummy_field_t::value_count(grib_accessor* a, long* numberOfPoints) +{ grib_accessor_data_dummy_field_t* self = (grib_accessor_data_dummy_field_t*)a; - int err = 0; + int err = 0; *numberOfPoints = 0; if ((err = grib_get_long_internal(grib_handle_of_accessor(a), self->numberOfPoints, numberOfPoints)) != GRIB_SUCCESS) { diff --git a/src/accessor/grib_accessor_class_data_g1complex_packing.cc b/src/accessor/grib_accessor_class_data_g1complex_packing.cc index 5ac11346e..e943d5a6e 100644 --- a/src/accessor/grib_accessor_class_data_g1complex_packing.cc +++ b/src/accessor/grib_accessor_class_data_g1complex_packing.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,58 +10,62 @@ #include "grib_accessor_class_data_g1complex_packing.h" -grib_accessor_class_data_g1complex_packing_t _grib_accessor_class_data_g1complex_packing{"data_g1complex_packing"}; +grib_accessor_class_data_g1complex_packing_t _grib_accessor_class_data_g1complex_packing{ "data_g1complex_packing" }; grib_accessor_class* grib_accessor_class_data_g1complex_packing = &_grib_accessor_class_data_g1complex_packing; -void grib_accessor_class_data_g1complex_packing_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_g1complex_packing_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_data_complex_packing_t::init(a, v, args); grib_accessor_data_g1complex_packing_t* self = (grib_accessor_data_g1complex_packing_t*)a; - self->half_byte = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); - self->N = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); - self->packingType = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); - self->ieee_packing = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); - self->precision = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); - self->edition = 1; + + self->half_byte = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); + self->N = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); + self->packingType = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); + self->ieee_packing = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); + self->precision = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); + self->edition = 1; a->flags |= GRIB_ACCESSOR_FLAG_DATA; } -int grib_accessor_class_data_g1complex_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_data_g1complex_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ grib_accessor_data_g1complex_packing_t* self = (grib_accessor_data_g1complex_packing_t*)a; - int ret = GRIB_SUCCESS; - long seclen = 0; - long sub_j = 0; - long sub_k = 0; - long sub_m = 0; - long n = 0; - long half_byte = 0; - long bits_per_value = 0; - size_t buflen = 0; + + int ret = GRIB_SUCCESS; + long seclen = 0; + long sub_j = 0; + long sub_k = 0; + long sub_m = 0; + long n = 0; + long half_byte = 0; + long bits_per_value = 0; + size_t buflen = 0; if (*len == 0) return GRIB_NO_VALUES; -// /* TODO: spectral_ieee does not work */ -// if (c->ieee_packing && self->ieee_packing) { -// grib_handle* h = grib_handle_of_accessor(a); -// grib_context* c = a->context; -// char* packingType_s = NULL; -// char* ieee_packing_s = NULL; -// long precision = c->ieee_packing == 32 ? 1 : 2; -// size_t lenstr = strlen(self->ieee_packing); + // /* TODO: spectral_ieee does not work */ + // if (c->ieee_packing && self->ieee_packing) { + // grib_handle* h = grib_handle_of_accessor(a); + // grib_context* c = a->context; + // char* packingType_s = NULL; + // char* ieee_packing_s = NULL; + // long precision = c->ieee_packing == 32 ? 1 : 2; + // size_t lenstr = strlen(self->ieee_packing); -// packingType_s = grib_context_strdup(c, self->packingType); -// ieee_packing_s = grib_context_strdup(c, self->ieee_packing); -// precision_s = grib_context_strdup(c, self->precision); + // packingType_s = grib_context_strdup(c, self->packingType); + // ieee_packing_s = grib_context_strdup(c, self->ieee_packing); + // precision_s = grib_context_strdup(c, self->precision); -// grib_set_string(h, packingType_s, ieee_packing_s, &lenstr); -// grib_set_long(h, precision_s, precision); + // grib_set_string(h, packingType_s, ieee_packing_s, &lenstr); + // grib_set_long(h, precision_s, precision); -// grib_context_free(c, packingType_s); -// grib_context_free(c, ieee_packing_s); -// grib_context_free(c, precision_s); -// return grib_set_double_array(h, "values", val, *len); -// } + // grib_context_free(c, packingType_s); + // grib_context_free(c, ieee_packing_s); + // grib_context_free(c, precision_s); + // return grib_set_double_array(h, "values", val, *len); + // } if ((ret = grib_get_long_internal(grib_handle_of_accessor(a), self->sub_j, &sub_j)) != GRIB_SUCCESS) return ret; diff --git a/src/accessor/grib_accessor_class_data_g1second_order_constant_width_packing.cc b/src/accessor/grib_accessor_class_data_g1second_order_constant_width_packing.cc index 579fbd8cb..7aac0e031 100644 --- a/src/accessor/grib_accessor_class_data_g1second_order_constant_width_packing.cc +++ b/src/accessor/grib_accessor_class_data_g1second_order_constant_width_packing.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -12,14 +11,15 @@ #include "grib_accessor_class_data_g1second_order_constant_width_packing.h" #include "grib_scaling.h" -grib_accessor_class_data_g1second_order_constant_width_packing_t _grib_accessor_class_data_g1second_order_constant_width_packing{"data_g1second_order_constant_width_packing"}; +grib_accessor_class_data_g1second_order_constant_width_packing_t _grib_accessor_class_data_g1second_order_constant_width_packing{ "data_g1second_order_constant_width_packing" }; grib_accessor_class* grib_accessor_class_data_g1second_order_constant_width_packing = &_grib_accessor_class_data_g1second_order_constant_width_packing; -void grib_accessor_class_data_g1second_order_constant_width_packing_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_g1second_order_constant_width_packing_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_data_simple_packing_t::init(a, v, args); grib_accessor_data_g1second_order_constant_width_packing_t* self = (grib_accessor_data_g1second_order_constant_width_packing_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); + grib_handle* hand = grib_handle_of_accessor(a); self->half_byte = grib_arguments_get_name(hand, args, self->carg++); self->packingType = grib_arguments_get_name(hand, args, self->carg++); @@ -41,23 +41,26 @@ void grib_accessor_class_data_g1second_order_constant_width_packing_t::init(grib a->flags |= GRIB_ACCESSOR_FLAG_DATA; } -int grib_accessor_class_data_g1second_order_constant_width_packing_t::value_count(grib_accessor* a, long* numberOfSecondOrderPackedValues){ - int err = 0; +int grib_accessor_class_data_g1second_order_constant_width_packing_t::value_count(grib_accessor* a, long* numberOfSecondOrderPackedValues) +{ + int err = 0; grib_accessor_data_g1second_order_constant_width_packing_t* self = (grib_accessor_data_g1second_order_constant_width_packing_t*)a; - *numberOfSecondOrderPackedValues = 0; + *numberOfSecondOrderPackedValues = 0; err = grib_get_long_internal(grib_handle_of_accessor(a), self->numberOfSecondOrderPackedValues, numberOfSecondOrderPackedValues); return err; } -int grib_accessor_class_data_g1second_order_constant_width_packing_t::unpack_float(grib_accessor*, float* val, size_t* len){ +int grib_accessor_class_data_g1second_order_constant_width_packing_t::unpack_float(grib_accessor*, float* val, size_t* len) +{ return GRIB_NOT_IMPLEMENTED; } -int grib_accessor_class_data_g1second_order_constant_width_packing_t::unpack_double(grib_accessor* a, double* values, size_t* len){ +int grib_accessor_class_data_g1second_order_constant_width_packing_t::unpack_double(grib_accessor* a, double* values, size_t* len) +{ grib_accessor_data_g1second_order_constant_width_packing_t* self = (grib_accessor_data_g1second_order_constant_width_packing_t*)a; - int ret = 0; + int ret = 0; long numberOfGroups, numberOfSecondOrderPackedValues; long groupWidth = 0; long* firstOrderValues = 0; @@ -139,7 +142,7 @@ int grib_accessor_class_data_g1second_order_constant_width_packing_t::unpack_dou i += secondaryBitmap[n]; long fovi = 0; // ECC-1703 - if ( i >=0 && i < numberOfGroups ) + if (i >= 0 && i < numberOfGroups) fovi = firstOrderValues[i]; X[n] = fovi + X[n]; n++; @@ -151,7 +154,7 @@ int grib_accessor_class_data_g1second_order_constant_width_packing_t::unpack_dou while (n < numberOfSecondOrderPackedValues) { i += secondaryBitmap[n]; long fovi = 0; - if ( i >=0 && i < numberOfGroups ) + if (i >= 0 && i < numberOfGroups) fovi = firstOrderValues[i]; X[n] = fovi; n++; @@ -177,17 +180,19 @@ int grib_accessor_class_data_g1second_order_constant_width_packing_t::unpack_dou return ret; } -int grib_accessor_class_data_g1second_order_constant_width_packing_t::pack_double(grib_accessor* a, const double* cval, size_t* len){ +int grib_accessor_class_data_g1second_order_constant_width_packing_t::pack_double(grib_accessor* a, const double* cval, size_t* len) +{ const char* cclass_name = a->cclass->name; grib_context_log(a->context, GRIB_LOG_ERROR, "%s: %s: Not implemented", cclass_name, __func__); return GRIB_NOT_IMPLEMENTED; } -int grib_accessor_class_data_g1second_order_constant_width_packing_t::unpack_double_element(grib_accessor* a, size_t idx, double* val){ +int grib_accessor_class_data_g1second_order_constant_width_packing_t::unpack_double_element(grib_accessor* a, size_t idx, double* val) +{ grib_handle* hand = grib_handle_of_accessor(a); - size_t size = 0; - double* values = NULL; - int err = 0; + size_t size = 0; + double* values = NULL; + int err = 0; /* TODO: This should be 'codedValues' not 'values' but GRIB1 version of this packing does not have that key!! */ @@ -208,11 +213,12 @@ int grib_accessor_class_data_g1second_order_constant_width_packing_t::unpack_dou return GRIB_SUCCESS; } -int grib_accessor_class_data_g1second_order_constant_width_packing_t::unpack_double_element_set(grib_accessor* a, const size_t* index_array, size_t len, double* val_array){ +int grib_accessor_class_data_g1second_order_constant_width_packing_t::unpack_double_element_set(grib_accessor* a, const size_t* index_array, size_t len, double* val_array) +{ grib_handle* hand = grib_handle_of_accessor(a); size_t size = 0, i = 0; double* values = NULL; - int err = 0; + int err = 0; /* TODO: This should be 'codedValues' not 'values' but GRIB1 version of this packing does not have that key!! */ diff --git a/src/accessor/grib_accessor_class_data_g1secondary_bitmap.cc b/src/accessor/grib_accessor_class_data_g1secondary_bitmap.cc index 3697f6f75..7b80a1891 100644 --- a/src/accessor/grib_accessor_class_data_g1secondary_bitmap.cc +++ b/src/accessor/grib_accessor_class_data_g1secondary_bitmap.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,20 +10,22 @@ #include "grib_accessor_class_data_g1secondary_bitmap.h" -grib_accessor_class_data_g1secondary_bitmap_t _grib_accessor_class_data_g1secondary_bitmap{"data_g1secondary_bitmap"}; +grib_accessor_class_data_g1secondary_bitmap_t _grib_accessor_class_data_g1secondary_bitmap{ "data_g1secondary_bitmap" }; grib_accessor_class* grib_accessor_class_data_g1secondary_bitmap = &_grib_accessor_class_data_g1secondary_bitmap; -void grib_accessor_class_data_g1secondary_bitmap_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_g1secondary_bitmap_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_data_secondary_bitmap_t::init(a, v, args); grib_accessor_data_g1secondary_bitmap_t* self = (grib_accessor_data_g1secondary_bitmap_t*)a; - self->number_of_ones = grib_arguments_get_name(grib_handle_of_accessor(a), args, 4); + self->number_of_ones = grib_arguments_get_name(grib_handle_of_accessor(a), args, 4); } -int grib_accessor_class_data_g1secondary_bitmap_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_data_g1secondary_bitmap_t::value_count(grib_accessor* a, long* count) +{ grib_accessor_data_g1secondary_bitmap_t* self = (grib_accessor_data_g1secondary_bitmap_t*)a; - size_t len = 0; - int err = 0; + size_t len = 0; + int err = 0; long expand_by; *count = 0; @@ -40,11 +41,11 @@ int grib_accessor_class_data_g1secondary_bitmap_t::value_count(grib_accessor* a, return GRIB_SUCCESS; } -int grib_accessor_class_data_g1secondary_bitmap_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_data_g1secondary_bitmap_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ grib_accessor_data_g1secondary_bitmap_t* self = (grib_accessor_data_g1secondary_bitmap_t*)a; - int err = 0; - + int err = 0; long primary_len = 0; long secondary_len = 0; double* primary_bitmap = NULL; @@ -52,11 +53,11 @@ int grib_accessor_class_data_g1secondary_bitmap_t::pack_double(grib_accessor* a, long i = 0; long j = 0; long on = 0; - long k; - long m; - double missing_value = 0; - double present_value = 0; - long expand_by = 0; + long k = 0; + long m = 0; + double missing_value = 0; + double present_value = 0; + long expand_by = 0; if (*len == 0) return GRIB_NO_VALUES; diff --git a/src/accessor/grib_accessor_class_data_g1simple_packing.cc b/src/accessor/grib_accessor_class_data_g1simple_packing.cc index a19132f1a..63b403da0 100644 --- a/src/accessor/grib_accessor_class_data_g1simple_packing.cc +++ b/src/accessor/grib_accessor_class_data_g1simple_packing.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -12,11 +11,12 @@ #include "grib_accessor_class_data_g1simple_packing.h" #include "grib_scaling.h" -grib_accessor_class_data_g1simple_packing_t _grib_accessor_class_data_g1simple_packing{"data_g1simple_packing"}; +grib_accessor_class_data_g1simple_packing_t _grib_accessor_class_data_g1simple_packing{ "data_g1simple_packing" }; grib_accessor_class* grib_accessor_class_data_g1simple_packing = &_grib_accessor_class_data_g1simple_packing; -void grib_accessor_class_data_g1simple_packing_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_g1simple_packing_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_data_simple_packing_t::init(a, v, args); grib_accessor_data_g1simple_packing_t* self = (grib_accessor_data_g1simple_packing_t*)a; @@ -28,9 +28,10 @@ void grib_accessor_class_data_g1simple_packing_t::init(grib_accessor* a, const l a->flags |= GRIB_ACCESSOR_FLAG_DATA; } -int grib_accessor_class_data_g1simple_packing_t::value_count(grib_accessor* a, long* number_of_values){ +int grib_accessor_class_data_g1simple_packing_t::value_count(grib_accessor* a, long* number_of_values) +{ grib_accessor_data_g1simple_packing_t* self = (grib_accessor_data_g1simple_packing_t*)a; - *number_of_values = 0; + *number_of_values = 0; /* Special case for when values are cleared */ /*if(a->length == 0) @@ -39,7 +40,8 @@ int grib_accessor_class_data_g1simple_packing_t::value_count(grib_accessor* a, l return grib_get_long_internal(grib_handle_of_accessor(a), self->number_of_values, number_of_values); } -int grib_accessor_class_data_g1simple_packing_t::pack_double(grib_accessor* a, const double* cval, size_t* len){ +int grib_accessor_class_data_g1simple_packing_t::pack_double(grib_accessor* a, const double* cval, size_t* len) +{ grib_accessor_data_g1simple_packing_t* self = (grib_accessor_data_g1simple_packing_t*)a; size_t n_vals = *len; @@ -108,7 +110,7 @@ int grib_accessor_class_data_g1simple_packing_t::pack_double(grib_accessor* a, c packingType_s = grib_context_strdup(c, self->packingType); ieee_packing_s = grib_context_strdup(c, self->ieee_packing); precision_s = grib_context_strdup(c, self->precision); - precision = c->ieee_packing == 32 ? 1 : 2; + precision = c->ieee_packing == 32 ? 1 : 2; if ((ret = grib_set_string(h, packingType_s, ieee_packing_s, &lenstr)) != GRIB_SUCCESS) return ret; diff --git a/src/accessor/grib_accessor_class_data_g2bifourier_packing.cc b/src/accessor/grib_accessor_class_data_g2bifourier_packing.cc index 0a6092424..c159ceeea 100644 --- a/src/accessor/grib_accessor_class_data_g2bifourier_packing.cc +++ b/src/accessor/grib_accessor_class_data_g2bifourier_packing.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -13,17 +12,18 @@ #include "grib_scaling.h" #include -grib_accessor_class_data_g2bifourier_packing_t _grib_accessor_class_data_g2bifourier_packing{"data_g2bifourier_packing"}; +grib_accessor_class_data_g2bifourier_packing_t _grib_accessor_class_data_g2bifourier_packing{ "data_g2bifourier_packing" }; grib_accessor_class* grib_accessor_class_data_g2bifourier_packing = &_grib_accessor_class_data_g2bifourier_packing; typedef unsigned long (*encode_float_proc)(double); typedef double (*decode_float_proc)(unsigned long); -void grib_accessor_class_data_g2bifourier_packing_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_g2bifourier_packing_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_data_simple_packing_t::init(a, v, args); grib_accessor_data_g2bifourier_packing_t* self = (grib_accessor_data_g2bifourier_packing_t*)a; - grib_handle* gh = grib_handle_of_accessor(a); + grib_handle* gh = grib_handle_of_accessor(a); self->ieee_floats = grib_arguments_get_name(gh, args, self->carg++); self->laplacianOperatorIsSet = grib_arguments_get_name(gh, args, self->carg++); @@ -43,10 +43,11 @@ void grib_accessor_class_data_g2bifourier_packing_t::init(grib_accessor* a, cons self->dirty = 1; } -int grib_accessor_class_data_g2bifourier_packing_t::value_count(grib_accessor* a, long* numberOfValues){ +int grib_accessor_class_data_g2bifourier_packing_t::value_count(grib_accessor* a, long* numberOfValues) +{ grib_accessor_data_g2bifourier_packing_t* self = (grib_accessor_data_g2bifourier_packing_t*)a; - grib_handle* gh = grib_handle_of_accessor(a); - *numberOfValues = 0; + grib_handle* gh = grib_handle_of_accessor(a); + *numberOfValues = 0; return grib_get_long_internal(gh, self->number_of_values, numberOfValues); } @@ -249,7 +250,7 @@ static double laplam(bif_trunc_t* bt, const double val[]) free(itab2); return 0.; } - Assert(lmax>0); + Assert(lmax > 0); /* * Now, itab2 contains all possible values of i*i+j*j, and itab1 contains @@ -426,8 +427,8 @@ static bif_trunc_t* new_bif_trunc(grib_accessor* a) bt->jtruncation_bif = (long*)grib_context_malloc(gh->context, sizeof(long) * (1 + bt->bif_i)); #define RECTANGLE 77 -#define ELLIPSE 88 -#define DIAMOND 99 +#define ELLIPSE 88 +#define DIAMOND 99 switch (bt->biFourierTruncationType) { case RECTANGLE: @@ -471,9 +472,10 @@ cleanup: return NULL; } -int grib_accessor_class_data_g2bifourier_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_data_g2bifourier_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ grib_accessor_data_g2bifourier_packing_t* self = (grib_accessor_data_g2bifourier_packing_t*)a; - grib_handle* gh = grib_handle_of_accessor(a); + grib_handle* gh = grib_handle_of_accessor(a); unsigned char* buf = NULL; unsigned char* hres = NULL; @@ -568,19 +570,20 @@ cleanup: return ret; } -int grib_accessor_class_data_g2bifourier_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_data_g2bifourier_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ grib_accessor_data_g2bifourier_packing_t* self = (grib_accessor_data_g2bifourier_packing_t*)a; - grib_handle* gh = grib_handle_of_accessor(a); - const char* cclass_name = a->cclass->name; + grib_handle* gh = grib_handle_of_accessor(a); + const char* cclass_name = a->cclass->name; - size_t buflen = 0; - size_t hsize = 0; - size_t lsize = 0; - unsigned char* buf = NULL; - unsigned char* hres = NULL; - unsigned char* lres = NULL; - long hpos = 0; - long lpos = 0; + size_t buflen = 0; + size_t hsize = 0; + size_t lsize = 0; + unsigned char* buf = NULL; + unsigned char* hres = NULL; + unsigned char* lres = NULL; + long hpos = 0; + long lpos = 0; int isp; bif_trunc_t* bt = NULL; @@ -619,7 +622,7 @@ int grib_accessor_class_data_g2bifourier_packing_t::pack_double(grib_accessor* a if (*len != bt->n_vals_bif) { grib_context_log(gh->context, GRIB_LOG_ERROR, "BIFOURIER_PACKING: wrong number of values, expected %lu - got %lu", - bt->n_vals_bif, *len); + bt->n_vals_bif, *len); ret = GRIB_INTERNAL_ERROR; goto cleanup; } @@ -745,7 +748,7 @@ int grib_accessor_class_data_g2bifourier_packing_t::pack_double(grib_accessor* a grib_get_double_internal(gh, self->reference_value, &ref); if (ref != bt->reference_value) { grib_context_log(a->context, GRIB_LOG_ERROR, "%s %s: %s (ref=%.10e != reference_value=%.10e)", - cclass_name, __func__, self->reference_value, ref, bt->reference_value); + cclass_name, __func__, self->reference_value, ref, bt->reference_value); return GRIB_INTERNAL_ERROR; } } diff --git a/src/accessor/grib_accessor_class_data_g2complex_packing.cc b/src/accessor/grib_accessor_class_data_g2complex_packing.cc index c1e5e7aad..079d14193 100644 --- a/src/accessor/grib_accessor_class_data_g2complex_packing.cc +++ b/src/accessor/grib_accessor_class_data_g2complex_packing.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,29 +10,32 @@ #include "grib_accessor_class_data_g2complex_packing.h" -grib_accessor_class_data_g2complex_packing_t _grib_accessor_class_data_g2complex_packing{"data_g2complex_packing"}; +grib_accessor_class_data_g2complex_packing_t _grib_accessor_class_data_g2complex_packing{ "data_g2complex_packing" }; grib_accessor_class* grib_accessor_class_data_g2complex_packing = &_grib_accessor_class_data_g2complex_packing; -void grib_accessor_class_data_g2complex_packing_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_g2complex_packing_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_data_complex_packing_t::init(a, v, args); grib_accessor_data_g2complex_packing_t* self = (grib_accessor_data_g2complex_packing_t*)a; - self->numberOfValues = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); - self->edition = 2; + self->numberOfValues = grib_arguments_get_name(grib_handle_of_accessor(a), args, self->carg++); + self->edition = 2; a->flags |= GRIB_ACCESSOR_FLAG_DATA; } -int grib_accessor_class_data_g2complex_packing_t::value_count(grib_accessor* a, long* numberOfValues){ +int grib_accessor_class_data_g2complex_packing_t::value_count(grib_accessor* a, long* numberOfValues) +{ grib_accessor_data_g2complex_packing_t* self = (grib_accessor_data_g2complex_packing_t*)a; - *numberOfValues = 0; + *numberOfValues = 0; return grib_get_long(grib_handle_of_accessor(a), self->numberOfValues, numberOfValues); } -int grib_accessor_class_data_g2complex_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_data_g2complex_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ grib_accessor_data_g2complex_packing_t* self = (grib_accessor_data_g2complex_packing_t*)a; - int ret = GRIB_SUCCESS; + int ret = GRIB_SUCCESS; if (*len == 0) return GRIB_NO_VALUES; diff --git a/src/accessor/grib_accessor_class_data_g2secondary_bitmap.cc b/src/accessor/grib_accessor_class_data_g2secondary_bitmap.cc index a6fd7bd46..d5f9ad174 100644 --- a/src/accessor/grib_accessor_class_data_g2secondary_bitmap.cc +++ b/src/accessor/grib_accessor_class_data_g2secondary_bitmap.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,25 +10,28 @@ #include "grib_accessor_class_data_g2secondary_bitmap.h" -grib_accessor_class_data_g2secondary_bitmap_t _grib_accessor_class_data_g2secondary_bitmap{"data_g2secondary_bitmap"}; +grib_accessor_class_data_g2secondary_bitmap_t _grib_accessor_class_data_g2secondary_bitmap{ "data_g2secondary_bitmap" }; grib_accessor_class* grib_accessor_class_data_g2secondary_bitmap = &_grib_accessor_class_data_g2secondary_bitmap; -void grib_accessor_class_data_g2secondary_bitmap_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_g2secondary_bitmap_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_data_secondary_bitmap_t::init(a, v, args); grib_accessor_data_g2secondary_bitmap_t* self = (grib_accessor_data_g2secondary_bitmap_t*)a; - self->number_of_values = grib_arguments_get_name(grib_handle_of_accessor(a), args, 4); + self->number_of_values = grib_arguments_get_name(grib_handle_of_accessor(a), args, 4); } -int grib_accessor_class_data_g2secondary_bitmap_t::value_count(grib_accessor* a, long* len){ +int grib_accessor_class_data_g2secondary_bitmap_t::value_count(grib_accessor* a, long* len) +{ grib_accessor_data_g2secondary_bitmap_t* self = (grib_accessor_data_g2secondary_bitmap_t*)a; - *len = 0; + *len = 0; return grib_get_long_internal(grib_handle_of_accessor(a), self->number_of_values, len); } -int grib_accessor_class_data_g2secondary_bitmap_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_data_g2secondary_bitmap_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ grib_accessor_data_g2secondary_bitmap_t* self = (grib_accessor_data_g2secondary_bitmap_t*)a; - int err = 0; + int err = 0; long primary_len = 0, secondary_len = 0; double* primary_bitmap = NULL; @@ -85,7 +87,7 @@ int grib_accessor_class_data_g2secondary_bitmap_t::pack_double(grib_accessor* a, primary_bitmap[k++] = present_value; for (j = 0; j < expand_by; j++) secondary_bitmap[m++] = val[i + j]; - //on++; + // on++; } } diff --git a/src/accessor/grib_accessor_class_data_g2shsimple_packing.cc b/src/accessor/grib_accessor_class_data_g2shsimple_packing.cc index 7e2b5cd54..5dde644fa 100644 --- a/src/accessor/grib_accessor_class_data_g2shsimple_packing.cc +++ b/src/accessor/grib_accessor_class_data_g2shsimple_packing.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,11 +10,12 @@ #include "grib_accessor_class_data_g2shsimple_packing.h" -grib_accessor_class_data_g2shsimple_packing_t _grib_accessor_class_data_g2shsimple_packing{"data_g2shsimple_packing"}; +grib_accessor_class_data_g2shsimple_packing_t _grib_accessor_class_data_g2shsimple_packing{ "data_g2shsimple_packing" }; grib_accessor_class* grib_accessor_class_data_g2shsimple_packing = &_grib_accessor_class_data_g2shsimple_packing; -void grib_accessor_class_data_g2shsimple_packing_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_g2shsimple_packing_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_data_shsimple_packing_t::init(a, v, args); grib_accessor_data_g2shsimple_packing_t* self = (grib_accessor_data_g2shsimple_packing_t*)a; @@ -24,15 +24,17 @@ void grib_accessor_class_data_g2shsimple_packing_t::init(grib_accessor* a, const a->flags |= GRIB_ACCESSOR_FLAG_DATA; } -int grib_accessor_class_data_g2shsimple_packing_t::value_count(grib_accessor* a, long* len){ +int grib_accessor_class_data_g2shsimple_packing_t::value_count(grib_accessor* a, long* len) +{ grib_accessor_data_g2shsimple_packing_t* self = (grib_accessor_data_g2shsimple_packing_t*)a; - *len = 0; + *len = 0; return grib_get_long(grib_handle_of_accessor(a), self->numberOfValues, len); } -int grib_accessor_class_data_g2shsimple_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_data_g2shsimple_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ grib_accessor_data_g2shsimple_packing_t* self = (grib_accessor_data_g2shsimple_packing_t*)a; - int err = GRIB_SUCCESS; + int err = GRIB_SUCCESS; size_t n_vals = 0; @@ -61,9 +63,10 @@ int grib_accessor_class_data_g2shsimple_packing_t::unpack_double(grib_accessor* return err; } -int grib_accessor_class_data_g2shsimple_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_data_g2shsimple_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ grib_accessor_data_g2shsimple_packing_t* self = (grib_accessor_data_g2shsimple_packing_t*)a; - int err = GRIB_SUCCESS; + int err = GRIB_SUCCESS; size_t coded_n_vals = *len - 1; size_t n_vals = *len; diff --git a/src/accessor/grib_accessor_class_data_g2simple_packing.cc b/src/accessor/grib_accessor_class_data_g2simple_packing.cc index 08aa11699..c4491e82f 100644 --- a/src/accessor/grib_accessor_class_data_g2simple_packing.cc +++ b/src/accessor/grib_accessor_class_data_g2simple_packing.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -12,43 +11,46 @@ #include "grib_accessor_class_data_g2simple_packing.h" #include "grib_scaling.h" -grib_accessor_class_data_g2simple_packing_t _grib_accessor_class_data_g2simple_packing{"data_g2simple_packing"}; +grib_accessor_class_data_g2simple_packing_t _grib_accessor_class_data_g2simple_packing{ "data_g2simple_packing" }; grib_accessor_class* grib_accessor_class_data_g2simple_packing = &_grib_accessor_class_data_g2simple_packing; -void grib_accessor_class_data_g2simple_packing_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_g2simple_packing_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_data_simple_packing_t::init(a, v, args); grib_accessor_data_g2simple_packing_t* self = (grib_accessor_data_g2simple_packing_t*)a; a->flags |= GRIB_ACCESSOR_FLAG_DATA; self->edition = 2; } -int grib_accessor_class_data_g2simple_packing_t::value_count(grib_accessor* a, long* n_vals){ +int grib_accessor_class_data_g2simple_packing_t::value_count(grib_accessor* a, long* n_vals) +{ grib_accessor_data_g2simple_packing_t* self = (grib_accessor_data_g2simple_packing_t*)a; - *n_vals = 0; + *n_vals = 0; return grib_get_long_internal(grib_handle_of_accessor(a), self->number_of_values, n_vals); } -int grib_accessor_class_data_g2simple_packing_t::pack_double(grib_accessor* a, const double* cval, size_t* len){ +int grib_accessor_class_data_g2simple_packing_t::pack_double(grib_accessor* a, const double* cval, size_t* len) +{ grib_accessor_data_g2simple_packing_t* self = (grib_accessor_data_g2simple_packing_t*)a; - //grib_accessor_class* super = *(a->cclass->super); - size_t n_vals = *len; - double reference_value = 0; - long binary_scale_factor = 0; - long bits_per_value = 0; - long decimal_scale_factor = 0; - double decimal = 1; - size_t buflen = 0; - unsigned char* buf = NULL; - unsigned char* encoded = NULL; - double divisor = 1; - long off = 0; - int ret = 0; - double units_factor = 1.0; - double units_bias = 0.0; - double* val = (double*)cval; + // grib_accessor_class* super = *(a->cclass->super); + size_t n_vals = *len; + double reference_value = 0; + long binary_scale_factor = 0; + long bits_per_value = 0; + long decimal_scale_factor = 0; + double decimal = 1; + size_t buflen = 0; + unsigned char* buf = NULL; + unsigned char* encoded = NULL; + double divisor = 1; + long off = 0; + int ret = 0; + double units_factor = 1.0; + double units_bias = 0.0; + double* val = (double*)cval; int i; - grib_context* c = a->context; + grib_context* c = a->context; if (*len == 0) { grib_buffer_replace(a, NULL, 0, 1, 1); @@ -76,7 +78,8 @@ int grib_accessor_class_data_g2simple_packing_t::pack_double(grib_accessor* a, c for (i = 0; i < n_vals; i++) { val[i] = val[i] * units_factor + units_bias; } - } else { + } + else { for (i = 0; i < n_vals; i++) { val[i] *= units_factor; } @@ -147,7 +150,8 @@ int grib_accessor_class_data_g2simple_packing_t::pack_double(grib_accessor* a, c return ret; } -int grib_accessor_class_data_g2simple_packing_t::pack_bytes(grib_accessor* a, const unsigned char* val, size_t* len){ +int grib_accessor_class_data_g2simple_packing_t::pack_bytes(grib_accessor* a, const unsigned char* val, size_t* len) +{ size_t length = *len; grib_buffer_replace(a, val, length, 1, 1); return GRIB_SUCCESS; diff --git a/src/accessor/grib_accessor_class_data_jpeg2000_packing.cc b/src/accessor/grib_accessor_class_data_jpeg2000_packing.cc index 5ce5ae154..1860737d1 100644 --- a/src/accessor/grib_accessor_class_data_jpeg2000_packing.cc +++ b/src/accessor/grib_accessor_class_data_jpeg2000_packing.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,20 +10,21 @@ #include "grib_accessor_class_data_jpeg2000_packing.h" -grib_accessor_class_data_jpeg2000_packing_t _grib_accessor_class_data_jpeg2000_packing{"data_jpeg2000_packing"}; +grib_accessor_class_data_jpeg2000_packing_t _grib_accessor_class_data_jpeg2000_packing{ "data_jpeg2000_packing" }; grib_accessor_class* grib_accessor_class_data_jpeg2000_packing = &_grib_accessor_class_data_jpeg2000_packing; static int first = 1; -#define JASPER_LIB 1 +#define JASPER_LIB 1 #define OPENJPEG_LIB 2 -void grib_accessor_class_data_jpeg2000_packing_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_jpeg2000_packing_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_data_simple_packing_t::init(a, v, args); - const char* user_lib = NULL; + const char* user_lib = NULL; grib_accessor_data_jpeg2000_packing_t* self = (grib_accessor_data_jpeg2000_packing_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); + grib_handle* hand = grib_handle_of_accessor(a); self->jpeg_lib = 0; self->type_of_compression_used = grib_arguments_get_name(hand, args, self->carg++); @@ -78,9 +78,10 @@ void grib_accessor_class_data_jpeg2000_packing_t::init(grib_accessor* a, const l } } -int grib_accessor_class_data_jpeg2000_packing_t::value_count(grib_accessor* a, long* n_vals){ +int grib_accessor_class_data_jpeg2000_packing_t::value_count(grib_accessor* a, long* n_vals) +{ grib_accessor_data_jpeg2000_packing_t* self = (grib_accessor_data_jpeg2000_packing_t*)a; - *n_vals = 0; + *n_vals = 0; return grib_get_long_internal(grib_handle_of_accessor(a), self->number_of_values, n_vals); } @@ -88,16 +89,18 @@ int grib_accessor_class_data_jpeg2000_packing_t::value_count(grib_accessor* a, l #define EXTRA_BUFFER_SIZE 10240 #if HAVE_JPEG -int grib_accessor_class_data_jpeg2000_packing_t::unpack_float(grib_accessor*, float* val, size_t* len){ +int grib_accessor_class_data_jpeg2000_packing_t::unpack_float(grib_accessor*, float* val, size_t* len) +{ return GRIB_NOT_IMPLEMENTED; } -int grib_accessor_class_data_jpeg2000_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_data_jpeg2000_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ grib_accessor_data_jpeg2000_packing_t* self = (grib_accessor_data_jpeg2000_packing_t*)a; - int err = GRIB_SUCCESS; - size_t i = 0; - size_t buflen = a->byte_count(); + int err = GRIB_SUCCESS; + size_t i = 0; + size_t buflen = a->byte_count(); double bscale = 0; double dscale = 0; unsigned char* buf = NULL; @@ -112,7 +115,8 @@ int grib_accessor_class_data_jpeg2000_packing_t::unpack_double(grib_accessor* a, double units_bias = 0.0; n_vals = 0; - err = a->value_count(&nn); n_vals = nn; + err = a->value_count(&nn); + n_vals = nn; if (err) return err; @@ -176,7 +180,8 @@ int grib_accessor_class_data_jpeg2000_packing_t::unpack_double(grib_accessor* a, for (i = 0; i < n_vals; i++) { val[i] = val[i] * units_factor + units_bias; } - } else { + } + else { for (i = 0; i < n_vals; i++) { val[i] *= units_factor; } @@ -191,10 +196,11 @@ int grib_accessor_class_data_jpeg2000_packing_t::unpack_double(grib_accessor* a, return err; } -int grib_accessor_class_data_jpeg2000_packing_t::pack_double(grib_accessor* a, const double* cval, size_t* len){ +int grib_accessor_class_data_jpeg2000_packing_t::pack_double(grib_accessor* a, const double* cval, size_t* len) +{ grib_accessor_data_jpeg2000_packing_t* self = (grib_accessor_data_jpeg2000_packing_t*)a; - size_t n_vals = *len; - int err = 0; + size_t n_vals = *len; + int err = 0; int i; double reference_value = 0; long binary_scale_factor = 0; @@ -215,9 +221,9 @@ int grib_accessor_class_data_jpeg2000_packing_t::pack_double(grib_accessor* a, c long number_of_data_points; int ret = 0; j2k_encode_helper helper; - double units_factor = 1.0; - double units_bias = 0.0; - double* val = (double*)cval; + double units_factor = 1.0; + double units_bias = 0.0; + double* val = (double*)cval; const char* cclass_name = a->cclass->name; self->dirty = 1; @@ -329,28 +335,28 @@ int grib_accessor_class_data_jpeg2000_packing_t::pack_double(grib_accessor* a, c /* ECC-802: We cannot bomb out here as the user might have changed Ni/Nj and the packingType * but has not yet submitted the new data values. So len will be out of sync! * So issue a warning but proceed. - */ + */ /*return GRIB_INTERNAL_ERROR;*/ grib_context_free(a->context, buf); return GRIB_SUCCESS; } switch (type_of_compression_used) { - case 0: // Lossless + case 0: // Lossless if (target_compression_ratio != 255) { grib_context_log(a->context, GRIB_LOG_ERROR, - "%s %s: When %s=0 (Lossless), %s must be set to 255", - cclass_name, __func__, self->type_of_compression_used, self->target_compression_ratio); + "%s %s: When %s=0 (Lossless), %s must be set to 255", + cclass_name, __func__, self->type_of_compression_used, self->target_compression_ratio); return GRIB_ENCODING_ERROR; } helper.compression = 0; break; - case 1: // Lossy + case 1: // Lossy if (target_compression_ratio == 255 || target_compression_ratio == 0) { grib_context_log(a->context, GRIB_LOG_ERROR, - "%s %s: When %s=1 (Lossy), %s must be specified", - cclass_name, __func__, self->type_of_compression_used, self->target_compression_ratio); + "%s %s: When %s=1 (Lossy), %s must be specified", + cclass_name, __func__, self->type_of_compression_used, self->target_compression_ratio); return GRIB_ENCODING_ERROR; } Assert(target_compression_ratio != 255); @@ -428,34 +434,39 @@ cleanup: } #else -static void print_error_feature_not_enabled(grib_context* c){ +static void print_error_feature_not_enabled(grib_context* c) +{ grib_context_log(c, GRIB_LOG_ERROR, "JPEG support not enabled. Please rebuild with -DENABLE_JPG=ON"); } -int grib_accessor_class_data_jpeg2000_packing_t::unpack_float(grib_accessor* a, float* val, size_t* len){ +int grib_accessor_class_data_jpeg2000_packing_t::unpack_float(grib_accessor* a, float* val, size_t* len) +{ print_error_feature_not_enabled(a->context); return GRIB_FUNCTIONALITY_NOT_ENABLED; } -int grib_accessor_class_data_jpeg2000_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_data_jpeg2000_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ print_error_feature_not_enabled(a->context); return GRIB_FUNCTIONALITY_NOT_ENABLED; } -int grib_accessor_class_data_jpeg2000_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_data_jpeg2000_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ print_error_feature_not_enabled(a->context); return GRIB_FUNCTIONALITY_NOT_ENABLED; } #endif -int grib_accessor_class_data_jpeg2000_packing_t::unpack_double_element(grib_accessor* a, size_t idx, double* val){ +int grib_accessor_class_data_jpeg2000_packing_t::unpack_double_element(grib_accessor* a, size_t idx, double* val) +{ grib_accessor_data_jpeg2000_packing_t* self = (grib_accessor_data_jpeg2000_packing_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); - size_t size = 0; - double* values = NULL; - int err = 0; - double reference_value = 0; - long bits_per_value = 0; + grib_handle* hand = grib_handle_of_accessor(a); + size_t size = 0; + double* values = NULL; + int err = 0; + double reference_value = 0; + long bits_per_value = 0; if ((err = grib_get_long_internal(hand, self->bits_per_value, &bits_per_value)) != GRIB_SUCCESS) return err; @@ -486,14 +497,15 @@ int grib_accessor_class_data_jpeg2000_packing_t::unpack_double_element(grib_acce return GRIB_SUCCESS; } -int grib_accessor_class_data_jpeg2000_packing_t::unpack_double_element_set(grib_accessor* a, const size_t* index_array, size_t len, double* val_array){ +int grib_accessor_class_data_jpeg2000_packing_t::unpack_double_element_set(grib_accessor* a, const size_t* index_array, size_t len, double* val_array) +{ grib_accessor_data_jpeg2000_packing_t* self = (grib_accessor_data_jpeg2000_packing_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); + grib_handle* hand = grib_handle_of_accessor(a); size_t size = 0, i = 0; - double* values = NULL; - int err = 0; + double* values = NULL; + int err = 0; double reference_value = 0; - long bits_per_value = 0; + long bits_per_value = 0; if ((err = grib_get_long_internal(hand, self->bits_per_value, &bits_per_value)) != GRIB_SUCCESS) return err; diff --git a/src/accessor/grib_accessor_class_data_png_packing.cc b/src/accessor/grib_accessor_class_data_png_packing.cc index 690070214..999722f36 100644 --- a/src/accessor/grib_accessor_class_data_png_packing.cc +++ b/src/accessor/grib_accessor_class_data_png_packing.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -14,14 +13,15 @@ #define PNG_ANYBITS -grib_accessor_class_data_png_packing_t _grib_accessor_class_data_png_packing{"data_png_packing"}; +grib_accessor_class_data_png_packing_t _grib_accessor_class_data_png_packing{ "data_png_packing" }; grib_accessor_class* grib_accessor_class_data_png_packing = &_grib_accessor_class_data_png_packing; -void grib_accessor_class_data_png_packing_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_png_packing_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_values_t::init(a, v, args); grib_accessor_data_png_packing_t* self = (grib_accessor_data_png_packing_t*)a; - grib_handle* h = grib_handle_of_accessor(a); + grib_handle* h = grib_handle_of_accessor(a); self->number_of_values = grib_arguments_get_name(h, args, self->carg++); self->reference_value = grib_arguments_get_name(h, args, self->carg++); @@ -36,15 +36,16 @@ void grib_accessor_class_data_png_packing_t::init(grib_accessor* a, const long v a->flags |= GRIB_ACCESSOR_FLAG_DATA; } -int grib_accessor_class_data_png_packing_t::value_count(grib_accessor* a, long* n_vals){ +int grib_accessor_class_data_png_packing_t::value_count(grib_accessor* a, long* n_vals) +{ grib_accessor_data_png_packing_t* self = (grib_accessor_data_png_packing_t*)a; - *n_vals = 0; + *n_vals = 0; return grib_get_long_internal(grib_handle_of_accessor(a), self->number_of_values, n_vals); } #if HAVE_LIBPNG -#include + #include typedef struct png_read_callback_data { @@ -69,7 +70,7 @@ static void png_write_callback(png_structp png, png_bytep data, png_size_t lengt if (p->offset + length > p->length) { /* Errors handled through png_error() are fatal, meaning that png_error() should never return to its caller. Currently, this is handled via setjmp() and longjmp() */ - png_error(png,"Failed to write PNG data"); + png_error(png, "Failed to write PNG data"); } memcpy(p->buffer + p->offset, data, length); p->offset += length; @@ -80,12 +81,13 @@ static void png_flush_callback(png_structp png) /* Empty */ } -int grib_accessor_class_data_png_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_data_png_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ grib_accessor_data_png_packing_t* self = (grib_accessor_data_png_packing_t*)a; int err = GRIB_SUCCESS; int i, j; - size_t buflen = a->byte_count(); + size_t buflen = a->byte_count(); double bscale = 0; double dscale = 0; unsigned char* buf = NULL; @@ -109,7 +111,8 @@ int grib_accessor_class_data_png_packing_t::unpack_double(grib_accessor* a, doub self->dirty = 0; - err = a->value_count(&nn); n_vals = nn; + err = a->value_count(&nn); + n_vals = nn; if (err) return err; if ((err = grib_get_long_internal(grib_handle_of_accessor(a), self->bits_per_value, &bits_per_value)) != GRIB_SUCCESS) @@ -195,11 +198,11 @@ int grib_accessor_class_data_png_packing_t::unpack_double(grib_accessor* a, doub depth = 32; bits8 = ((bits_per_value + 7) / 8) * 8; -#ifdef PNG_ANYBITS + #ifdef PNG_ANYBITS Assert(depth == bits8); -#else + #else Assert(bits_per_value % 8 == 0); -#endif + #endif i = 0; @@ -224,10 +227,11 @@ cleanup: static bool is_constant(const double* values, size_t n_vals) { bool isConstant = true; - double v = 0; + double v = 0; size_t i; for (i = 0; i < n_vals; i++) { - if (i == 0) v = values[i]; + if (i == 0) + v = values[i]; else if (v != values[i]) { isConstant = false; break; @@ -236,11 +240,12 @@ static bool is_constant(const double* values, size_t n_vals) return isConstant; } -int grib_accessor_class_data_png_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_data_png_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ grib_accessor_data_png_packing_t* self = (grib_accessor_data_png_packing_t*)a; - const char* cclass_name = a->cclass->name; + const char* cclass_name = a->cclass->name; - int err = GRIB_SUCCESS; + int err = GRIB_SUCCESS; bool is_constant_field = false; int i, j; size_t buflen = 0; @@ -299,11 +304,11 @@ int grib_accessor_class_data_png_packing_t::pack_double(grib_accessor* a, const } if (is_constant_field) { -#ifdef DEBUG + #ifdef DEBUG for (i = 1; i < n_vals; i++) { Assert(val[i] == val[0]); } -#endif + #endif if ((err = grib_set_double_internal(grib_handle_of_accessor(a), self->reference_value, val[0])) != GRIB_SUCCESS) return err; @@ -313,7 +318,7 @@ int grib_accessor_class_data_png_packing_t::pack_double(grib_accessor* a, const grib_get_double_internal(grib_handle_of_accessor(a), self->reference_value, &ref); if (ref != reference_value) { grib_context_log(a->context, GRIB_LOG_ERROR, "%s %s: %s (ref=%.10e != reference_value=%.10e)", - cclass_name, __func__, self->reference_value, ref, reference_value); + cclass_name, __func__, self->reference_value, ref, reference_value); return GRIB_INTERNAL_ERROR; } } @@ -370,7 +375,7 @@ int grib_accessor_class_data_png_packing_t::pack_double(grib_accessor* a, const /* ECC-802: We cannot bomb out here as the user might have changed Ni/Nj and the packingType * but has not yet submitted the new data values. So len will be out of sync! * So issue a warning but proceed. - */ + */ return GRIB_SUCCESS; } @@ -379,8 +384,10 @@ int grib_accessor_class_data_png_packing_t::pack_double(grib_accessor* a, const max = val[0]; min = max; for (i = 1; i < n_vals; i++) { - if (val[i] > max) max = val[i]; - else if (val[i] < min) min = val[i]; + if (val[i] > max) + max = val[i]; + else if (val[i] < min) + min = val[i]; } min *= d; max *= d; @@ -393,16 +400,16 @@ int grib_accessor_class_data_png_packing_t::pack_double(grib_accessor* a, const if (reference_value > min) { grib_context_log(a->context, GRIB_LOG_ERROR, "reference_value=%g min_value=%g diff=%g", - reference_value, min, reference_value - min); + reference_value, min, reference_value - min); return GRIB_INTERNAL_ERROR; } binary_scale_factor = grib_get_binary_scale_fact(max, reference_value, bits_per_value, &err); divisor = codes_power(-binary_scale_factor, 2); -#ifndef PNG_ANYBITS + #ifndef PNG_ANYBITS Assert(bits_per_value % 8 == 0); -#endif + #endif bits8 = (bits_per_value + 7) / 8 * 8; encoded = (unsigned char*)grib_context_buffer_malloc_clear(a->context, bits8 / 8 * n_vals); if (!encoded) { @@ -531,15 +538,16 @@ cleanup: return err; } -int grib_accessor_class_data_png_packing_t::unpack_double_element(grib_accessor* a, size_t idx, double* val){ +int grib_accessor_class_data_png_packing_t::unpack_double_element(grib_accessor* a, size_t idx, double* val) +{ /* The index idx relates to codedValues NOT values! */ grib_accessor_data_png_packing_t* self = (grib_accessor_data_png_packing_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); - int err = 0; - size_t size = 0; - double reference_value = 0; - long bits_per_value = 0; - double* values = NULL; + grib_handle* hand = grib_handle_of_accessor(a); + int err = 0; + size_t size = 0; + double reference_value = 0; + long bits_per_value = 0; + double* values = NULL; if ((err = grib_get_long_internal(hand, self->bits_per_value, &bits_per_value)) != GRIB_SUCCESS) return err; @@ -566,15 +574,16 @@ int grib_accessor_class_data_png_packing_t::unpack_double_element(grib_accessor* return GRIB_SUCCESS; } -int grib_accessor_class_data_png_packing_t::unpack_double_element_set(grib_accessor* a, const size_t* index_array, size_t len, double* val_array){ +int grib_accessor_class_data_png_packing_t::unpack_double_element_set(grib_accessor* a, const size_t* index_array, size_t len, double* val_array) +{ /* The index idx relates to codedValues NOT values! */ grib_accessor_data_png_packing_t* self = (grib_accessor_data_png_packing_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); - int err = 0; + grib_handle* hand = grib_handle_of_accessor(a); + int err = 0; size_t size = 0, i = 0; - double reference_value = 0; - long bits_per_value = 0; - double* values = NULL; + double reference_value = 0; + long bits_per_value = 0; + double* values = NULL; if ((err = grib_get_long_internal(hand, self->bits_per_value, &bits_per_value)) != GRIB_SUCCESS) return err; @@ -612,24 +621,29 @@ int grib_accessor_class_data_png_packing_t::unpack_double_element_set(grib_acces #else -static void print_error_feature_not_enabled(grib_context* c){ +static void print_error_feature_not_enabled(grib_context* c) +{ grib_context_log(c, GRIB_LOG_ERROR, "PNG support not enabled. Please rebuild with -DENABLE_PNG=ON"); } -int grib_accessor_class_data_png_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_data_png_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ print_error_feature_not_enabled(a->context); return GRIB_FUNCTIONALITY_NOT_ENABLED; } -int grib_accessor_class_data_png_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_data_png_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ print_error_feature_not_enabled(a->context); return GRIB_FUNCTIONALITY_NOT_ENABLED; } -int grib_accessor_class_data_png_packing_t::unpack_double_element(grib_accessor* a, size_t idx, double* val){ +int grib_accessor_class_data_png_packing_t::unpack_double_element(grib_accessor* a, size_t idx, double* val) +{ print_error_feature_not_enabled(a->context); return GRIB_FUNCTIONALITY_NOT_ENABLED; } -int grib_accessor_class_data_png_packing_t::unpack_double_element_set(grib_accessor* a, const size_t* index_array, size_t len, double* val_array){ +int grib_accessor_class_data_png_packing_t::unpack_double_element_set(grib_accessor* a, const size_t* index_array, size_t len, double* val_array) +{ print_error_feature_not_enabled(a->context); return GRIB_FUNCTIONALITY_NOT_ENABLED; } diff --git a/src/accessor/grib_accessor_class_data_raw_packing.cc b/src/accessor/grib_accessor_class_data_raw_packing.cc index 499b46bec..8cf92e0a9 100644 --- a/src/accessor/grib_accessor_class_data_raw_packing.cc +++ b/src/accessor/grib_accessor_class_data_raw_packing.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -12,11 +11,12 @@ #include "grib_accessor_class_data_raw_packing.h" #include "grib_ieeefloat.h" -grib_accessor_class_data_raw_packing_t _grib_accessor_class_data_raw_packing{"data_raw_packing"}; +grib_accessor_class_data_raw_packing_t _grib_accessor_class_data_raw_packing{ "data_raw_packing" }; grib_accessor_class* grib_accessor_class_data_raw_packing = &_grib_accessor_class_data_raw_packing; -void grib_accessor_class_data_raw_packing_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_raw_packing_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_values_t::init(a, v, args); grib_accessor_data_raw_packing_t* self = (grib_accessor_data_raw_packing_t*)a; @@ -25,19 +25,21 @@ void grib_accessor_class_data_raw_packing_t::init(grib_accessor* a, const long v a->flags |= GRIB_ACCESSOR_FLAG_DATA; } -int grib_accessor_class_data_raw_packing_t::value_count(grib_accessor* a, long* n_vals){ +int grib_accessor_class_data_raw_packing_t::value_count(grib_accessor* a, long* n_vals) +{ grib_accessor_data_raw_packing_t* self = (grib_accessor_data_raw_packing_t*)a; - *n_vals = 0; + *n_vals = 0; return grib_get_long_internal(grib_handle_of_accessor(a), self->number_of_values, n_vals); } -int grib_accessor_class_data_raw_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_data_raw_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ grib_accessor_data_raw_packing_t* self = (grib_accessor_data_raw_packing_t*)a; - unsigned char* buf = NULL; - int bytes = 0; - size_t nvals = 0; - long inlen = a->byte_count(); - long precision = 0; + unsigned char* buf = NULL; + int bytes = 0; + size_t nvals = 0; + long inlen = a->byte_count(); + long precision = 0; int code = GRIB_SUCCESS; @@ -71,7 +73,8 @@ int grib_accessor_class_data_raw_packing_t::unpack_double(grib_accessor* a, doub return code; } -int grib_accessor_class_data_raw_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_data_raw_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ grib_accessor_data_raw_packing_t* self = (grib_accessor_data_raw_packing_t*)a; int bytes = 0; @@ -127,7 +130,7 @@ clean_up: * free(buffer); * if (free_values) * free(values); - */ + */ grib_buffer_replace(a, buffer, bufsize, 1, 1); @@ -142,14 +145,16 @@ clean_up: return code; } -int grib_accessor_class_data_raw_packing_t::unpack_double_element(grib_accessor* a, size_t idx, double* val){ - int ret = 0; +int grib_accessor_class_data_raw_packing_t::unpack_double_element(grib_accessor* a, size_t idx, double* val) +{ + int ret = 0; grib_accessor_data_raw_packing_t* self = (grib_accessor_data_raw_packing_t*)a; - unsigned char* buf = NULL; - int bytes = 0; - size_t nvals = 0; - long inlen = a->byte_count(); long pos = 0; - long precision = 0; + unsigned char* buf = NULL; + int bytes = 0; + size_t nvals = 0; + long inlen = a->byte_count(); + long pos = 0; + long precision = 0; if ((ret = grib_get_long_internal(grib_handle_of_accessor(a), self->precision, &precision)) != GRIB_SUCCESS) return ret; @@ -183,11 +188,12 @@ int grib_accessor_class_data_raw_packing_t::unpack_double_element(grib_accessor* return ret; } -int grib_accessor_class_data_raw_packing_t::unpack_double_element_set(grib_accessor* a, const size_t* index_array, size_t len, double* val_array){ - int err = 0; +int grib_accessor_class_data_raw_packing_t::unpack_double_element_set(grib_accessor* a, const size_t* index_array, size_t len, double* val_array) +{ + int err = 0; size_t i = 0; - for (i=0; inumber_of_values = grib_arguments_get_name(gh, args, self->carg++); - self->bits_per_value = grib_arguments_get_name(gh, args, self->carg++); - self->max_level_value = grib_arguments_get_name(gh, args, self->carg++); - self->number_of_level_values = grib_arguments_get_name(gh, args, self->carg++); - self->decimal_scale_factor = grib_arguments_get_name(gh, args, self->carg++); - self->level_values = grib_arguments_get_name(gh, args, self->carg++); + grib_handle* gh = grib_handle_of_accessor(a); + self->number_of_values = grib_arguments_get_name(gh, args, self->carg++); + self->bits_per_value = grib_arguments_get_name(gh, args, self->carg++); + self->max_level_value = grib_arguments_get_name(gh, args, self->carg++); + self->number_of_level_values = grib_arguments_get_name(gh, args, self->carg++); + self->decimal_scale_factor = grib_arguments_get_name(gh, args, self->carg++); + self->level_values = grib_arguments_get_name(gh, args, self->carg++); a->flags |= GRIB_ACCESSOR_FLAG_DATA; } -int grib_accessor_class_data_run_length_packing_t::value_count(grib_accessor* a, long* number_of_values){ +int grib_accessor_class_data_run_length_packing_t::value_count(grib_accessor* a, long* number_of_values) +{ grib_accessor_data_run_length_packing_t* self = (grib_accessor_data_run_length_packing_t*)a; - *number_of_values = 0; + *number_of_values = 0; return grib_get_long_internal(grib_handle_of_accessor(a), self->number_of_values, number_of_values); } -int grib_accessor_class_data_run_length_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_data_run_length_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ grib_accessor_data_run_length_packing_t* self = (grib_accessor_data_run_length_packing_t*)a; - grib_handle* gh = grib_handle_of_accessor(a); - const char* cclass_name = a->cclass->name; - int err = GRIB_SUCCESS; + grib_handle* gh = grib_handle_of_accessor(a); + const char* cclass_name = a->cclass->name; + int err = GRIB_SUCCESS; long seclen, number_of_values, bits_per_value, max_level_value, number_of_level_values, decimal_scale_factor; - long* level_values = NULL; + long* level_values = NULL; size_t level_values_size = 0; long i = 0, number_of_compressed_values = 0, range = 0, offsetBeforeData = 0, pos = 0; long v, n, factor, k, j; - long* compressed_values = NULL; + long* compressed_values = NULL; double level_scale_factor = 0; - double* levels = NULL; - unsigned char* buf = NULL; - double missingValue = 9999.0; + double* levels = NULL; + unsigned char* buf = NULL; + double missingValue = 9999.0; if ((err = grib_get_long_internal(gh, self->seclen, &seclen)) != GRIB_SUCCESS) return err; @@ -66,12 +68,12 @@ int grib_accessor_class_data_run_length_packing_t::unpack_double(grib_accessor* if ((err = grib_get_double(gh, "missingValue", &missingValue)) != GRIB_SUCCESS) return err; - level_values = (long*)grib_context_malloc_clear(a->context, sizeof(long) * number_of_level_values); + level_values = (long*)grib_context_malloc_clear(a->context, sizeof(long) * number_of_level_values); level_values_size = number_of_level_values; if ((err = grib_get_long_array_internal(gh, self->level_values, level_values, &level_values_size)) != GRIB_SUCCESS) return err; - *len = number_of_values; - i = 0; + *len = number_of_values; + i = 0; number_of_compressed_values = ((seclen - 5) * 8) / bits_per_value; if (number_of_compressed_values == 0 || max_level_value == 0) { for (i = 0; i < number_of_values; i++) { @@ -82,23 +84,24 @@ int grib_accessor_class_data_run_length_packing_t::unpack_double(grib_accessor* range = (1 << bits_per_value) - 1 - max_level_value; if ((max_level_value <= 0) || (number_of_level_values <= 0) || (max_level_value > number_of_level_values) || (range <= 0)) { grib_context_log(a->context, GRIB_LOG_ERROR, - "%s: parameters are invalid: max_level_value=%ld(>0, <=number_of_level_values), " - "number_of_level_values=%ld(>0, >=max_level_value), range=%ld(>0)", - cclass_name, max_level_value, number_of_level_values, range); + "%s: parameters are invalid: max_level_value=%ld(>0, <=number_of_level_values), " + "number_of_level_values=%ld(>0, >=max_level_value), range=%ld(>0)", + cclass_name, max_level_value, number_of_level_values, range); return GRIB_DECODING_ERROR; } if (decimal_scale_factor > 127) { decimal_scale_factor = -(decimal_scale_factor - 128); } level_scale_factor = codes_power(-decimal_scale_factor, 10.0); - levels = (double*)grib_context_malloc_clear(a->context, sizeof(double) * (number_of_level_values + 1)); - levels[0] = missingValue; + levels = (double*)grib_context_malloc_clear(a->context, sizeof(double) * (number_of_level_values + 1)); + levels[0] = missingValue; for (i = 0; i < number_of_level_values; i++) { levels[i + 1] = level_values[i] * level_scale_factor; } compressed_values = (long*)grib_context_malloc_clear(a->context, sizeof(long) * number_of_compressed_values); - buf = (unsigned char*)grib_handle_of_accessor(a)->buffer->data; - offsetBeforeData = a->byte_offset(); buf += offsetBeforeData; + buf = (unsigned char*)grib_handle_of_accessor(a)->buffer->data; + offsetBeforeData = a->byte_offset(); + buf += offsetBeforeData; pos = 0; grib_decode_long_array(buf, &pos, bits_per_value, number_of_compressed_values, compressed_values); j = 0; @@ -106,13 +109,13 @@ int grib_accessor_class_data_run_length_packing_t::unpack_double(grib_accessor* while (i < number_of_compressed_values) { if (compressed_values[i] > max_level_value) { grib_context_log(a->context, GRIB_LOG_ERROR, - "%s: numberOfValues mismatch: i=%ld, " - "compressed_values[i]=%ld, max_level_value=%ld", - cclass_name, i, compressed_values[i], max_level_value); + "%s: numberOfValues mismatch: i=%ld, " + "compressed_values[i]=%ld, max_level_value=%ld", + cclass_name, i, compressed_values[i], max_level_value); break; } - v = compressed_values[i++]; - n = 1; + v = compressed_values[i++]; + n = 1; factor = 1; while (i < number_of_compressed_values && compressed_values[i] > max_level_value) { n += factor * (compressed_values[i] - max_level_value - 1); @@ -121,7 +124,7 @@ int grib_accessor_class_data_run_length_packing_t::unpack_double(grib_accessor* } if (n > number_of_values) { grib_context_log(a->context, GRIB_LOG_ERROR, "%s: numberOfValues mismatch: n=%ld, number_of_values=%ld", - cclass_name, n, number_of_values); + cclass_name, n, number_of_values); break; } for (k = 0; k < n; k++) { @@ -139,19 +142,20 @@ int grib_accessor_class_data_run_length_packing_t::unpack_double(grib_accessor* return err; } -int grib_accessor_class_data_run_length_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_data_run_length_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ grib_accessor_data_run_length_packing_t* self = (grib_accessor_data_run_length_packing_t*)a; - grib_handle* gh = grib_handle_of_accessor(a); - const char* cclass_name = a->cclass->name; - int err = GRIB_SUCCESS; + grib_handle* gh = grib_handle_of_accessor(a); + const char* cclass_name = a->cclass->name; + int err = GRIB_SUCCESS; long number_of_values, bits_per_value, max_level_value, number_of_level_values, decimal_scale_factor; - long* level_values = NULL; + long* level_values = NULL; size_t level_values_size = 0; long i = 0, range = 0, pos = 0, n = 0, j = 0, k = 0, l = 0, missingValueLong = 0; double level_scale_factor = 0; - unsigned char* buf = NULL; - double missingValue = 9999.0; - size_t n_vals = *len; + unsigned char* buf = NULL; + double missingValue = 9999.0; + size_t n_vals = *len; if ((err = grib_get_long_internal(gh, self->number_of_values, &number_of_values)) != GRIB_SUCCESS) return err; @@ -177,7 +181,7 @@ int grib_accessor_class_data_run_length_packing_t::pack_double(grib_accessor* a, return GRIB_SUCCESS; } - level_values = (long*)grib_context_malloc_clear(a->context, sizeof(long) * number_of_level_values); + level_values = (long*)grib_context_malloc_clear(a->context, sizeof(long) * number_of_level_values); level_values_size = number_of_level_values; if ((err = grib_get_long_array_internal(gh, self->level_values, level_values, &level_values_size)) != GRIB_SUCCESS) return err; @@ -185,7 +189,7 @@ int grib_accessor_class_data_run_length_packing_t::pack_double(grib_accessor* a, decimal_scale_factor = -(decimal_scale_factor - 128); } level_scale_factor = grib_power(-decimal_scale_factor, 10.0); - missingValueLong = (long)(round(missingValue / level_scale_factor)); + missingValueLong = (long)(round(missingValue / level_scale_factor)); for (i = 0; i < number_of_level_values; i++) { if (missingValueLong == level_values[i]) { grib_context_log(a->context, GRIB_LOG_ERROR, "%s: Parameters are invalid: level_values[%ld]=%ld, missingValueLong=%ld", @@ -196,22 +200,23 @@ int grib_accessor_class_data_run_length_packing_t::pack_double(grib_accessor* a, range = (1 << bits_per_value) - 1 - max_level_value; if ((max_level_value <= 0) || (number_of_level_values <= 0) || (max_level_value > number_of_level_values) || (range <= 0)) { grib_context_log(a->context, GRIB_LOG_ERROR, - "%s: Parameters are invalid: max_level_value=%ld(>0, <=number_of_level_values), " - "number_of_level_values=%ld(>0, >=max_level_value), range=%ld(>0)", - cclass_name, max_level_value, number_of_level_values, range); + "%s: Parameters are invalid: max_level_value=%ld(>0, <=number_of_level_values), " + "number_of_level_values=%ld(>0, >=max_level_value), range=%ld(>0)", + cclass_name, max_level_value, number_of_level_values, range); return GRIB_ENCODING_ERROR; } buf = (unsigned char*)grib_context_malloc(a->context, 2 * number_of_values); for (i = 0; i < number_of_values; i++) { - k = (long)(round(val[i] / level_scale_factor)); + k = (long)(round(val[i] / level_scale_factor)); err = GRIB_ENCODING_ERROR; if (missingValueLong == k) { - k = 0; + k = 0; err = GRIB_SUCCESS; - } else { + } + else { for (j = 0; j < max_level_value; j++) { if (level_values[j] == k) { - k = j + 1; + k = j + 1; err = GRIB_SUCCESS; break; } @@ -219,17 +224,19 @@ int grib_accessor_class_data_run_length_packing_t::pack_double(grib_accessor* a, } if (err != GRIB_SUCCESS) { grib_context_log(a->context, GRIB_LOG_ERROR, - "%s: Values and/or parameters are invalid: val[%ld]=%lf, level_value=%ld, max_level_value=%ld", - cclass_name, i, val[i], k, max_level_value); + "%s: Values and/or parameters are invalid: val[%ld]=%lf, level_value=%ld, max_level_value=%ld", + cclass_name, i, val[i], k, max_level_value); return GRIB_ENCODING_ERROR; } if (i == 0) { grib_encode_unsigned_longb(buf, k, &pos, bits_per_value); - } else if (i == number_of_values - 1) { + } + else if (i == number_of_values - 1) { if (k != l) { if (n == 0) { grib_encode_unsigned_longb(buf, k, &pos, bits_per_value); - } else { + } + else { while (n >= range) { grib_encode_unsigned_longb(buf, (n % range) + max_level_value + 1, &pos, bits_per_value); n = n / range; @@ -237,7 +244,8 @@ int grib_accessor_class_data_run_length_packing_t::pack_double(grib_accessor* a, grib_encode_unsigned_longb(buf, n + max_level_value + 1, &pos, bits_per_value); grib_encode_unsigned_longb(buf, k, &pos, bits_per_value); } - } else { + } + else { n = n + 1; while (n >= range) { grib_encode_unsigned_longb(buf, (n % range) + max_level_value + 1, &pos, bits_per_value); @@ -245,11 +253,13 @@ int grib_accessor_class_data_run_length_packing_t::pack_double(grib_accessor* a, } grib_encode_unsigned_longb(buf, n + max_level_value + 1, &pos, bits_per_value); } - } else { + } + else { if (k != l) { - if ( n == 0 ) { + if (n == 0) { grib_encode_unsigned_longb(buf, k, &pos, bits_per_value); - } else { + } + else { while (n >= range) { grib_encode_unsigned_longb(buf, (n % range) + max_level_value + 1, &pos, bits_per_value); n = n / range; @@ -258,14 +268,15 @@ int grib_accessor_class_data_run_length_packing_t::pack_double(grib_accessor* a, grib_encode_unsigned_longb(buf, k, &pos, bits_per_value); n = 0; } - } else { + } + else { n = n + 1; } } l = k; } grib_context_free(a->context, level_values); - grib_buffer_replace(a, buf, pos/8, 1, 1); + grib_buffer_replace(a, buf, pos / 8, 1, 1); grib_context_buffer_free(a->context, buf); return err; } diff --git a/src/accessor/grib_accessor_class_data_secondary_bitmap.cc b/src/accessor/grib_accessor_class_data_secondary_bitmap.cc index f79098f84..8e8f2b626 100644 --- a/src/accessor/grib_accessor_class_data_secondary_bitmap.cc +++ b/src/accessor/grib_accessor_class_data_secondary_bitmap.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,26 +10,29 @@ #include "grib_accessor_class_data_secondary_bitmap.h" -grib_accessor_class_data_secondary_bitmap_t _grib_accessor_class_data_secondary_bitmap{"data_secondary_bitmap"}; +grib_accessor_class_data_secondary_bitmap_t _grib_accessor_class_data_secondary_bitmap{ "data_secondary_bitmap" }; grib_accessor_class* grib_accessor_class_data_secondary_bitmap = &_grib_accessor_class_data_secondary_bitmap; -void grib_accessor_class_data_secondary_bitmap_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_secondary_bitmap_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_gen_t::init(a, v, args); grib_accessor_data_secondary_bitmap_t* self = (grib_accessor_data_secondary_bitmap_t*)a; - self->primary_bitmap = grib_arguments_get_name(grib_handle_of_accessor(a), args, 0); - self->secondary_bitmap = grib_arguments_get_name(grib_handle_of_accessor(a), args, 1); - self->missing_value = grib_arguments_get_name(grib_handle_of_accessor(a), args, 2); - self->expand_by = grib_arguments_get_name(grib_handle_of_accessor(a), args, 3); + self->primary_bitmap = grib_arguments_get_name(grib_handle_of_accessor(a), args, 0); + self->secondary_bitmap = grib_arguments_get_name(grib_handle_of_accessor(a), args, 1); + self->missing_value = grib_arguments_get_name(grib_handle_of_accessor(a), args, 2); + self->expand_by = grib_arguments_get_name(grib_handle_of_accessor(a), args, 3); a->length = 0; } -void grib_accessor_class_data_secondary_bitmap_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_data_secondary_bitmap_t::dump(grib_accessor* a, grib_dumper* dumper) +{ grib_dump_values(dumper, a); } -int grib_accessor_class_data_secondary_bitmap_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_data_secondary_bitmap_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ grib_accessor_data_secondary_bitmap_t* self = (grib_accessor_data_secondary_bitmap_t*)a; size_t i = 0; @@ -45,7 +47,8 @@ int grib_accessor_class_data_secondary_bitmap_t::unpack_double(grib_accessor* a, size_t secondary_len; double* primary_vals; double* secondary_vals; - err = a->value_count(&nn); n_vals = nn; + err = a->value_count(&nn); + n_vals = nn; if (err) return err; @@ -111,8 +114,9 @@ int grib_accessor_class_data_secondary_bitmap_t::unpack_double(grib_accessor* a, return err; } -int grib_accessor_class_data_secondary_bitmap_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_data_secondary_bitmap_t::get_native_type(grib_accessor* a) +{ // grib_accessor_data_secondary_bitmap_t* self = (grib_accessor_data_secondary_bitmap_t*)a; - //return grib_accessor_get_native_type(grib_find_accessor(grib_handle_of_accessor(a),self->coded_values)); + // return grib_accessor_get_native_type(grib_find_accessor(grib_handle_of_accessor(a),self->coded_values)); return GRIB_TYPE_DOUBLE; } diff --git a/src/accessor/grib_accessor_class_data_sh_packed.cc b/src/accessor/grib_accessor_class_data_sh_packed.cc index 80bc7648f..e1d3044f7 100644 --- a/src/accessor/grib_accessor_class_data_sh_packed.cc +++ b/src/accessor/grib_accessor_class_data_sh_packed.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -12,17 +11,18 @@ #include "grib_accessor_class_data_sh_packed.h" #include "grib_scaling.h" -grib_accessor_class_data_sh_packed_t _grib_accessor_class_data_sh_packed{"data_sh_packed"}; +grib_accessor_class_data_sh_packed_t _grib_accessor_class_data_sh_packed{ "data_sh_packed" }; grib_accessor_class* grib_accessor_class_data_sh_packed = &_grib_accessor_class_data_sh_packed; typedef unsigned long (*encode_float_proc)(double); typedef double (*decode_float_proc)(unsigned long); -void grib_accessor_class_data_sh_packed_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_sh_packed_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_data_simple_packing_t::init(a, v, args); grib_accessor_data_sh_packed_t* self = (grib_accessor_data_sh_packed_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); + grib_handle* hand = grib_handle_of_accessor(a); self->GRIBEX_sh_bug_present = grib_arguments_get_name(hand, args, self->carg++); self->ieee_floats = grib_arguments_get_name(hand, args, self->carg++); @@ -39,11 +39,12 @@ void grib_accessor_class_data_sh_packed_t::init(grib_accessor* a, const long v, a->length = 0; } -int grib_accessor_class_data_sh_packed_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_data_sh_packed_t::value_count(grib_accessor* a, long* count) +{ grib_accessor_data_sh_packed_t* self = (grib_accessor_data_sh_packed_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); - int ret = 0; - const char* cclass_name = a->cclass->name; + grib_handle* hand = grib_handle_of_accessor(a); + int ret = 0; + const char* cclass_name = a->cclass->name; long sub_j = 0; long sub_k = 0; @@ -75,42 +76,44 @@ int grib_accessor_class_data_sh_packed_t::value_count(grib_accessor* a, long* co return ret; } -int grib_accessor_class_data_sh_packed_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_data_sh_packed_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ grib_accessor_data_sh_packed_t* self = (grib_accessor_data_sh_packed_t*)a; - size_t i = 0; - int ret = GRIB_SUCCESS; + size_t i = 0; + int ret = GRIB_SUCCESS; // long lup = 0; long hcount = 0, lcount = 0, hpos = 0, mmax = 0, n_vals = 0; double* scals = NULL; /* double *pscals=NULL; */ double s = 0, d = 0, laplacianOperator = 0; - unsigned char* buf = NULL; - unsigned char* hres = NULL; - unsigned char* lres = NULL; + unsigned char* buf = NULL; + unsigned char* hres = NULL; + unsigned char* lres = NULL; unsigned long packed_offset; long lpos = 0; long maxv = 0; long GRIBEX_sh_bug_present = 0; long ieee_floats = 0; - long offsetdata = 0; - long bits_per_value = 0; - double reference_value = 0; - long binary_scale_factor = 0; - long decimal_scale_factor = 0; + long offsetdata = 0; + long bits_per_value = 0; + double reference_value = 0; + long binary_scale_factor = 0; + long decimal_scale_factor = 0; long sub_j = 0, sub_k = 0, sub_m = 0, pen_j = 0, pen_k = 0, pen_m = 0; double operat = 0; - int bytes = 0; - int err = 0; + int bytes = 0; + int err = 0; decode_float_proc decode_float = NULL; n_vals = 0; - err = a->value_count(&n_vals); if (err) + err = a->value_count(&n_vals); + if (err) return err; if (*len < n_vals) { @@ -191,7 +194,7 @@ int grib_accessor_class_data_sh_packed_t::unpack_double(grib_accessor* a, double d = codes_power(-decimal_scale_factor, 10); scals = (double*)grib_context_malloc(a->context, maxv * sizeof(double)); - if(!scals) return GRIB_OUT_OF_MEMORY; + if (!scals) return GRIB_OUT_OF_MEMORY; scals[0] = 0; for (i = 1; i < maxv; i++) { diff --git a/src/accessor/grib_accessor_class_data_sh_unpacked.cc b/src/accessor/grib_accessor_class_data_sh_unpacked.cc index efa738c65..6a95eebb1 100644 --- a/src/accessor/grib_accessor_class_data_sh_unpacked.cc +++ b/src/accessor/grib_accessor_class_data_sh_unpacked.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -12,17 +11,18 @@ #include "grib_accessor_class_data_sh_unpacked.h" #include "grib_scaling.h" -grib_accessor_class_data_sh_unpacked_t _grib_accessor_class_data_sh_unpacked{"data_sh_unpacked"}; +grib_accessor_class_data_sh_unpacked_t _grib_accessor_class_data_sh_unpacked{ "data_sh_unpacked" }; grib_accessor_class* grib_accessor_class_data_sh_unpacked = &_grib_accessor_class_data_sh_unpacked; typedef unsigned long (*encode_float_proc)(double); typedef double (*decode_float_proc)(unsigned long); -void grib_accessor_class_data_sh_unpacked_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_sh_unpacked_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_data_simple_packing_t::init(a, v, args); grib_accessor_data_sh_unpacked_t* self = (grib_accessor_data_sh_unpacked_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); + grib_handle* hand = grib_handle_of_accessor(a); self->GRIBEX_sh_bug_present = grib_arguments_get_name(hand, args, self->carg++); self->ieee_floats = grib_arguments_get_name(hand, args, self->carg++); @@ -39,9 +39,10 @@ void grib_accessor_class_data_sh_unpacked_t::init(grib_accessor* a, const long v a->length = 0; } -int grib_accessor_class_data_sh_unpacked_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_data_sh_unpacked_t::value_count(grib_accessor* a, long* count) +{ grib_accessor_data_sh_unpacked_t* self = (grib_accessor_data_sh_unpacked_t*)a; - int ret = 0; + int ret = 0; long sub_j = 0; long sub_k = 0; @@ -62,7 +63,8 @@ int grib_accessor_class_data_sh_unpacked_t::value_count(grib_accessor* a, long* return ret; } -int grib_accessor_class_data_sh_unpacked_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_data_sh_unpacked_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ grib_accessor_data_sh_unpacked_t* self = (grib_accessor_data_sh_unpacked_t*)a; size_t i = 0; @@ -110,7 +112,8 @@ int grib_accessor_class_data_sh_unpacked_t::unpack_double(grib_accessor* a, doub decode_float_proc decode_float = NULL; n_vals = 0; - err = a->value_count(&n_vals); if (err) + err = a->value_count(&n_vals); + if (err) return err; if (*len < n_vals) { diff --git a/src/accessor/grib_accessor_class_data_shsimple_packing.cc b/src/accessor/grib_accessor_class_data_shsimple_packing.cc index 0de921d06..7f8b60e14 100644 --- a/src/accessor/grib_accessor_class_data_shsimple_packing.cc +++ b/src/accessor/grib_accessor_class_data_shsimple_packing.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,11 +10,12 @@ #include "grib_accessor_class_data_shsimple_packing.h" -grib_accessor_class_data_shsimple_packing_t _grib_accessor_class_data_shsimple_packing{"data_shsimple_packing"}; +grib_accessor_class_data_shsimple_packing_t _grib_accessor_class_data_shsimple_packing{ "data_shsimple_packing" }; grib_accessor_class* grib_accessor_class_data_shsimple_packing = &_grib_accessor_class_data_shsimple_packing; -void grib_accessor_class_data_shsimple_packing_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_data_shsimple_packing_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_gen_t::init(a, v, args); grib_accessor_data_shsimple_packing_t* self = (grib_accessor_data_shsimple_packing_t*)a; @@ -26,13 +26,15 @@ void grib_accessor_class_data_shsimple_packing_t::init(grib_accessor* a, const l a->length = 0; } -void grib_accessor_class_data_shsimple_packing_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_data_shsimple_packing_t::dump(grib_accessor* a, grib_dumper* dumper) +{ grib_dump_values(dumper, a); } -int grib_accessor_class_data_shsimple_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_data_shsimple_packing_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ grib_accessor_data_shsimple_packing_t* self = (grib_accessor_data_shsimple_packing_t*)a; - int err = GRIB_SUCCESS; + int err = GRIB_SUCCESS; size_t coded_n_vals = *len - 1; size_t n_vals = *len; @@ -55,6 +57,7 @@ int grib_accessor_class_data_shsimple_packing_t::pack_double(grib_accessor* a, c return err; } -int grib_accessor_class_data_shsimple_packing_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_data_shsimple_packing_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_DOUBLE; } diff --git a/src/accessor/grib_accessor_class_g1day_of_the_year_date.cc b/src/accessor/grib_accessor_class_g1day_of_the_year_date.cc index 83d23ea92..9ca30593b 100644 --- a/src/accessor/grib_accessor_class_g1day_of_the_year_date.cc +++ b/src/accessor/grib_accessor_class_g1day_of_the_year_date.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,31 +10,33 @@ #include "grib_accessor_class_g1day_of_the_year_date.h" -grib_accessor_class_g1day_of_the_year_date_t _grib_accessor_class_g1day_of_the_year_date{"g1day_of_the_year_date"}; +grib_accessor_class_g1day_of_the_year_date_t _grib_accessor_class_g1day_of_the_year_date{ "g1day_of_the_year_date" }; grib_accessor_class* grib_accessor_class_g1day_of_the_year_date = &_grib_accessor_class_g1day_of_the_year_date; - -void grib_accessor_class_g1day_of_the_year_date_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_g1day_of_the_year_date_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_g1date_t::init(a, l, c); a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; } -void grib_accessor_class_g1day_of_the_year_date_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_g1day_of_the_year_date_t::dump(grib_accessor* a, grib_dumper* dumper) +{ grib_dump_string(dumper, a, NULL); } -int grib_accessor_class_g1day_of_the_year_date_t::unpack_string(grib_accessor* a, char* val, size_t* len){ +int grib_accessor_class_g1day_of_the_year_date_t::unpack_string(grib_accessor* a, char* val, size_t* len) +{ /* special clim case where each mont have 30 days.. to comply with mars*/ grib_accessor_g1day_of_the_year_date_t* self = (grib_accessor_g1day_of_the_year_date_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); + grib_handle* hand = grib_handle_of_accessor(a); char tmp[1024]; - long year = 0; - long century = 0; - long month = 0; - long day = 0; - long fullyear = 0; + long year = 0; + long century = 0; + long month = 0; + long day = 0; + long fullyear = 0; long fake_day_of_year = 0; grib_get_long_internal(hand, self->century, ¢ury); @@ -43,7 +44,7 @@ int grib_accessor_class_g1day_of_the_year_date_t::unpack_string(grib_accessor* a grib_get_long_internal(hand, self->month, &month); grib_get_long_internal(hand, self->year, &year); - fullyear = ((century - 1) * 100 + year); + fullyear = ((century - 1) * 100 + year); fake_day_of_year = ((month - 1) * 30) + day; snprintf(tmp, sizeof(tmp), "%04ld-%03ld", fullyear, fake_day_of_year); diff --git a/src/accessor/grib_accessor_class_g1end_of_interval_monthly.cc b/src/accessor/grib_accessor_class_g1end_of_interval_monthly.cc index ea48fc6cb..3bf953598 100644 --- a/src/accessor/grib_accessor_class_g1end_of_interval_monthly.cc +++ b/src/accessor/grib_accessor_class_g1end_of_interval_monthly.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,14 +10,15 @@ #include "grib_accessor_class_g1end_of_interval_monthly.h" -grib_accessor_class_g1end_of_interval_monthly_t _grib_accessor_class_g1end_of_interval_monthly{"g1end_of_interval_monthly"}; +grib_accessor_class_g1end_of_interval_monthly_t _grib_accessor_class_g1end_of_interval_monthly{ "g1end_of_interval_monthly" }; grib_accessor_class* grib_accessor_class_g1end_of_interval_monthly = &_grib_accessor_class_g1end_of_interval_monthly; -void grib_accessor_class_g1end_of_interval_monthly_t::init(grib_accessor* a, const long l, grib_arguments* c){ +void grib_accessor_class_g1end_of_interval_monthly_t::init(grib_accessor* a, const long l, grib_arguments* c) +{ grib_accessor_class_abstract_vector_t::init(a, l, c); grib_accessor_g1end_of_interval_monthly_t* self = (grib_accessor_g1end_of_interval_monthly_t*)a; - int n = 0; + int n = 0; self->verifyingMonth = grib_arguments_get_name(grib_handle_of_accessor(a), c, n++); a->flags |= GRIB_ACCESSOR_FLAG_READ_ONLY; @@ -26,20 +26,23 @@ void grib_accessor_class_g1end_of_interval_monthly_t::init(grib_accessor* a, con a->flags |= GRIB_ACCESSOR_FLAG_HIDDEN; self->number_of_elements = 6; - self->v = (double*)grib_context_malloc(a->context, sizeof(double) * self->number_of_elements); + self->v = (double*)grib_context_malloc(a->context, sizeof(double) * self->number_of_elements); a->length = 0; a->dirty = 1; } -int grib_accessor_class_g1end_of_interval_monthly_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_g1end_of_interval_monthly_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ grib_accessor_g1end_of_interval_monthly_t* self = (grib_accessor_g1end_of_interval_monthly_t*)a; - int ret = 0; - char verifyingMonth[7] = {0,}; + int ret = 0; + char verifyingMonth[7] = { + 0, + }; size_t slen = 7; long year = 0, month = 0, date = 0; const long mdays[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; - long days = 0; + long days = 0; if (!a->dirty) return GRIB_SUCCESS; @@ -50,7 +53,7 @@ int grib_accessor_class_g1end_of_interval_monthly_t::unpack_double(grib_accessor if ((ret = grib_get_string(grib_handle_of_accessor(a), self->verifyingMonth, verifyingMonth, &slen)) != GRIB_SUCCESS) return ret; - date = atoi(verifyingMonth); + date = atoi(verifyingMonth); if (date < 0) { return GRIB_INVALID_ARGUMENT; } @@ -85,19 +88,22 @@ int grib_accessor_class_g1end_of_interval_monthly_t::unpack_double(grib_accessor return ret; } -int grib_accessor_class_g1end_of_interval_monthly_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_g1end_of_interval_monthly_t::value_count(grib_accessor* a, long* count) +{ grib_accessor_g1end_of_interval_monthly_t* self = (grib_accessor_g1end_of_interval_monthly_t*)a; - *count = self->number_of_elements; + *count = self->number_of_elements; return 0; } -void grib_accessor_class_g1end_of_interval_monthly_t::destroy(grib_context* c, grib_accessor* a){ +void grib_accessor_class_g1end_of_interval_monthly_t::destroy(grib_context* c, grib_accessor* a) +{ grib_accessor_g1end_of_interval_monthly_t* self = (grib_accessor_g1end_of_interval_monthly_t*)a; grib_context_free(c, self->v); grib_accessor_class_abstract_vector_t::destroy(c, a); } -int grib_accessor_class_g1end_of_interval_monthly_t::compare(grib_accessor* a, grib_accessor* b){ +int grib_accessor_class_g1end_of_interval_monthly_t::compare(grib_accessor* a, grib_accessor* b) +{ int retval = GRIB_SUCCESS; double* aval = 0; double* bval = 0; @@ -107,11 +113,13 @@ int grib_accessor_class_g1end_of_interval_monthly_t::compare(grib_accessor* a, g size_t blen = 0; int err = 0; - err = a->value_count(&count); if (err) + err = a->value_count(&count); + if (err) return err; alen = count; - err = b->value_count(&count); if (err) + err = b->value_count(&count); + if (err) return err; blen = count; @@ -124,8 +132,9 @@ int grib_accessor_class_g1end_of_interval_monthly_t::compare(grib_accessor* a, g b->dirty = 1; a->dirty = 1; - err = a->unpack_double(aval, &alen); err = b->unpack_double(bval, &blen); - for(size_t i=0; iunpack_double(aval, &alen); + err = b->unpack_double(bval, &blen); + for (size_t i = 0; i < alen && retval == GRIB_SUCCESS; ++i) { if (aval[i] != bval[i]) retval = GRIB_DOUBLE_VALUE_MISMATCH; } diff --git a/src/accessor/grib_accessor_class_gds_not_present_bitmap.cc b/src/accessor/grib_accessor_class_gds_not_present_bitmap.cc index 6691e2fea..976f7e5b7 100644 --- a/src/accessor/grib_accessor_class_gds_not_present_bitmap.cc +++ b/src/accessor/grib_accessor_class_gds_not_present_bitmap.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,15 +10,16 @@ #include "grib_accessor_class_gds_not_present_bitmap.h" -grib_accessor_class_gds_not_present_bitmap_t _grib_accessor_class_gds_not_present_bitmap{"gds_not_present_bitmap"}; +grib_accessor_class_gds_not_present_bitmap_t _grib_accessor_class_gds_not_present_bitmap{ "gds_not_present_bitmap" }; grib_accessor_class* grib_accessor_class_gds_not_present_bitmap = &_grib_accessor_class_gds_not_present_bitmap; -void grib_accessor_class_gds_not_present_bitmap_t::init(grib_accessor* a, const long v, grib_arguments* args){ +void grib_accessor_class_gds_not_present_bitmap_t::init(grib_accessor* a, const long v, grib_arguments* args) +{ grib_accessor_class_gen_t::init(a, v, args); - int n = 0; + int n = 0; grib_accessor_gds_not_present_bitmap_t* self = (grib_accessor_gds_not_present_bitmap_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); + grib_handle* hand = grib_handle_of_accessor(a); self->missing_value = grib_arguments_get_name(hand, args, n++); self->number_of_values = grib_arguments_get_name(hand, args, n++); @@ -29,15 +29,17 @@ void grib_accessor_class_gds_not_present_bitmap_t::init(grib_accessor* a, const a->length = 0; } -int grib_accessor_class_gds_not_present_bitmap_t::value_count(grib_accessor* a, long* number_of_points){ +int grib_accessor_class_gds_not_present_bitmap_t::value_count(grib_accessor* a, long* number_of_points) +{ grib_accessor_gds_not_present_bitmap_t* self = (grib_accessor_gds_not_present_bitmap_t*)a; - *number_of_points = 0; + *number_of_points = 0; return grib_get_long_internal(grib_handle_of_accessor(a), self->number_of_points, number_of_points); } -int grib_accessor_class_gds_not_present_bitmap_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_gds_not_present_bitmap_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ grib_accessor_gds_not_present_bitmap_t* self = (grib_accessor_gds_not_present_bitmap_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); + grib_handle* hand = grib_handle_of_accessor(a); long number_of_points = 0, number_of_values = 0, ni = 0; long latitude_of_first_point = 0; @@ -47,8 +49,8 @@ int grib_accessor_class_gds_not_present_bitmap_t::unpack_double(grib_accessor* a long missing_value; double* coded_vals = NULL; - int err = a->value_count(&nn); - n_vals = nn; + int err = a->value_count(&nn); + n_vals = nn; if (err) return err; @@ -98,12 +100,14 @@ int grib_accessor_class_gds_not_present_bitmap_t::unpack_double(grib_accessor* a return err; } -int grib_accessor_class_gds_not_present_bitmap_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_gds_not_present_bitmap_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ // See deprecated/grib_accessor_class_gds_not_present_bitmap.cc for // a possible implementation return GRIB_NOT_IMPLEMENTED; } -int grib_accessor_class_gds_not_present_bitmap_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_gds_not_present_bitmap_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_DOUBLE; } From 86dc278ee3406c41a477277e0d9649c2334eaf4f Mon Sep 17 00:00:00 2001 From: shahramn Date: Wed, 31 Jul 2024 13:27:52 +0100 Subject: [PATCH 48/63] Formatting and cleanups --- .../grib_accessor_class_bufr_data_array.cc | 40 ++++++++++++------- .../grib_accessor_class_bufr_group.cc | 6 +-- ..._accessor_class_data_g1shsimple_packing.cc | 16 ++++---- .../grib_accessor_class_g1fcperiod.cc | 10 ++--- 4 files changed, 42 insertions(+), 30 deletions(-) diff --git a/src/accessor/grib_accessor_class_bufr_data_array.cc b/src/accessor/grib_accessor_class_bufr_data_array.cc index 0bd2c2c0f..b0b0dc50a 100644 --- a/src/accessor/grib_accessor_class_bufr_data_array.cc +++ b/src/accessor/grib_accessor_class_bufr_data_array.cc @@ -163,7 +163,8 @@ static int check_overridden_reference_values(const grib_context* c, long* refVal #define DYN_ARRAY_SIZE_INIT 1000 /* Initial size for grib_iarray_new and grib_darray_new */ #define DYN_ARRAY_SIZE_INCR 1000 /* Increment size for grib_iarray_new and grib_darray_new */ -void grib_accessor_class_bufr_data_array_t::init(grib_accessor* a, const long v, grib_arguments* params){ +void grib_accessor_class_bufr_data_array_t::init(grib_accessor* a, const long v, grib_arguments* params) +{ grib_accessor_class_gen_t::init(a, v, params); grib_accessor_bufr_data_array_t* self = (grib_accessor_bufr_data_array_t*)a; int n = 0; @@ -228,7 +229,8 @@ static int check_end_data(grib_context* c, bufr_descriptor* bd, grib_accessor_bu return 0; } -void self_clear(grib_context* c, grib_accessor_bufr_data_array_t* self){ +void self_clear(grib_context* c, grib_accessor_bufr_data_array_t* self) +{ grib_context_free(c, self->canBeMissing); grib_vdarray_delete_content(c, self->numericValues); grib_vdarray_delete(c, self->numericValues); @@ -257,30 +259,36 @@ void self_clear(grib_context* c, grib_accessor_bufr_data_array_t* self){ if (self->inputBitmap) grib_context_free(c, self->inputBitmap); } -int grib_accessor_class_bufr_data_array_t::get_native_type(grib_accessor* a){ +int grib_accessor_class_bufr_data_array_t::get_native_type(grib_accessor* a) +{ return GRIB_TYPE_DOUBLE; } -long grib_accessor_class_bufr_data_array_t::byte_count(grib_accessor* a){ +long grib_accessor_class_bufr_data_array_t::byte_count(grib_accessor* a) +{ return 0; } -long grib_accessor_class_bufr_data_array_t::byte_offset(grib_accessor* a){ +long grib_accessor_class_bufr_data_array_t::byte_offset(grib_accessor* a) +{ return a->offset; } -long grib_accessor_class_bufr_data_array_t::next_offset(grib_accessor* a){ +long grib_accessor_class_bufr_data_array_t::next_offset(grib_accessor* a) +{ return a->offset; } -int grib_accessor_class_bufr_data_array_t::pack_long(grib_accessor* a, const long* val, size_t* len){ +int grib_accessor_class_bufr_data_array_t::pack_long(grib_accessor* a, const long* val, size_t* len) +{ grib_accessor_bufr_data_array_t* self = (grib_accessor_bufr_data_array_t*)a; self->do_decode = 1; return GRIB_NOT_IMPLEMENTED; } -int grib_accessor_class_bufr_data_array_t::pack_double(grib_accessor* a, const double* val, size_t* len){ +int grib_accessor_class_bufr_data_array_t::pack_double(grib_accessor* a, const double* val, size_t* len) +{ grib_accessor_bufr_data_array_t* self = (grib_accessor_bufr_data_array_t*)a; self->do_decode = 1; return process_elements(a, PROCESS_ENCODE, 0, 0, 0); @@ -536,7 +544,8 @@ static int encode_string_array(grib_context* c, grib_buffer* buff, long* pos, bu return err; } -void set_missing_long_to_double(grib_darray* dvalues){ +void set_missing_long_to_double(grib_darray* dvalues) +{ size_t i, n = grib_darray_used_size(dvalues); for (i = 0; i < n; i++) { if (dvalues->v[i] == GRIB_MISSING_LONG) @@ -3166,14 +3175,15 @@ static int process_elements(grib_accessor* a, int flag, long onlySubset, long st return err; } -void grib_accessor_class_bufr_data_array_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_bufr_data_array_t::dump(grib_accessor* a, grib_dumper* dumper) +{ // grib_accessor_bufr_data_array_t *self =(grib_accessor_bufr_data_array_t*)a; // int err=process_elements(a,PROCESS_DECODE); // grib_dump_section(dumper,a,self->dataKeys->block); - return; } -int grib_accessor_class_bufr_data_array_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_bufr_data_array_t::value_count(grib_accessor* a, long* count) +{ int err = 0, l; long i; grib_accessor_bufr_data_array_t* self = (grib_accessor_bufr_data_array_t*)a; @@ -3196,7 +3206,8 @@ int grib_accessor_class_bufr_data_array_t::value_count(grib_accessor* a, long* c return err; } -int grib_accessor_class_bufr_data_array_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_bufr_data_array_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ int err = 0, i, k, ii; int proc_flag = PROCESS_DECODE; size_t l = 0, elementsInSubset; @@ -3249,7 +3260,8 @@ int grib_accessor_class_bufr_data_array_t::unpack_double(grib_accessor* a, doubl return GRIB_SUCCESS; } -void grib_accessor_class_bufr_data_array_t::destroy(grib_context* c, grib_accessor* a){ +void grib_accessor_class_bufr_data_array_t::destroy(grib_context* c, grib_accessor* a) +{ grib_accessor_bufr_data_array_t* self = (grib_accessor_bufr_data_array_t*)a; self_clear(c, self); if (self->dataAccessors) diff --git a/src/accessor/grib_accessor_class_bufr_group.cc b/src/accessor/grib_accessor_class_bufr_group.cc index 71249f70d..e5b7a0841 100644 --- a/src/accessor/grib_accessor_class_bufr_group.cc +++ b/src/accessor/grib_accessor_class_bufr_group.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,11 +10,12 @@ #include "grib_accessor_class_bufr_group.h" -grib_accessor_class_bufr_group_t _grib_accessor_class_bufr_group{"bufr_group"}; +grib_accessor_class_bufr_group_t _grib_accessor_class_bufr_group{ "bufr_group" }; grib_accessor_class* grib_accessor_class_bufr_group = &_grib_accessor_class_bufr_group; -void grib_accessor_class_bufr_group_t::dump(grib_accessor* a, grib_dumper* dumper){ +void grib_accessor_class_bufr_group_t::dump(grib_accessor* a, grib_dumper* dumper) +{ grib_dump_section(dumper, a, a->sub_section->block); } diff --git a/src/accessor/grib_accessor_class_data_g1shsimple_packing.cc b/src/accessor/grib_accessor_class_data_g1shsimple_packing.cc index f1f06d654..0cf00e74c 100644 --- a/src/accessor/grib_accessor_class_data_g1shsimple_packing.cc +++ b/src/accessor/grib_accessor_class_data_g1shsimple_packing.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,15 +10,15 @@ #include "grib_accessor_class_data_g1shsimple_packing.h" -grib_accessor_class_data_g1shsimple_packing_t _grib_accessor_class_data_g1shsimple_packing{"data_g1shsimple_packing"}; +grib_accessor_class_data_g1shsimple_packing_t _grib_accessor_class_data_g1shsimple_packing{ "data_g1shsimple_packing" }; grib_accessor_class* grib_accessor_class_data_g1shsimple_packing = &_grib_accessor_class_data_g1shsimple_packing; - -int grib_accessor_class_data_g1shsimple_packing_t::value_count(grib_accessor* a, long* count){ +int grib_accessor_class_data_g1shsimple_packing_t::value_count(grib_accessor* a, long* count) +{ grib_accessor_data_g1shsimple_packing_t* self = (grib_accessor_data_g1shsimple_packing_t*)a; - size_t len = 0; - int err = 0; + size_t len = 0; + int err = 0; err = grib_get_size(grib_handle_of_accessor(a), self->coded_values, &len); len += 1; @@ -28,9 +27,10 @@ int grib_accessor_class_data_g1shsimple_packing_t::value_count(grib_accessor* a, return err; } -int grib_accessor_class_data_g1shsimple_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len){ +int grib_accessor_class_data_g1shsimple_packing_t::unpack_double(grib_accessor* a, double* val, size_t* len) +{ grib_accessor_data_g1shsimple_packing_t* self = (grib_accessor_data_g1shsimple_packing_t*)a; - int err = GRIB_SUCCESS; + int err = GRIB_SUCCESS; size_t coded_n_vals = 0; size_t n_vals = 0; diff --git a/src/accessor/grib_accessor_class_g1fcperiod.cc b/src/accessor/grib_accessor_class_g1fcperiod.cc index fcf98d78d..454a684d0 100644 --- a/src/accessor/grib_accessor_class_g1fcperiod.cc +++ b/src/accessor/grib_accessor_class_g1fcperiod.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -11,16 +10,17 @@ #include "grib_accessor_class_g1fcperiod.h" -grib_accessor_class_g1fcperiod_t _grib_accessor_class_g1fcperiod{"g1fcperiod"}; +grib_accessor_class_g1fcperiod_t _grib_accessor_class_g1fcperiod{ "g1fcperiod" }; grib_accessor_class* grib_accessor_class_g1fcperiod = &_grib_accessor_class_g1fcperiod; -int grib_accessor_class_g1fcperiod_t::unpack_string(grib_accessor* a, char* val, size_t* len){ +int grib_accessor_class_g1fcperiod_t::unpack_string(grib_accessor* a, char* val, size_t* len) +{ long start = 0, theEnd = 0; char tmp[1024]; const size_t tmpLen = sizeof(tmp); - int err = grib_g1_step_get_steps(a, &start, &theEnd); - size_t l = 0; + int err = grib_g1_step_get_steps(a, &start, &theEnd); + size_t l = 0; if (err) return err; From ec1a3a10f50aca73789ed3ca7409dc2d63a31bd3 Mon Sep 17 00:00:00 2001 From: shahramn Date: Wed, 31 Jul 2024 15:32:54 +0100 Subject: [PATCH 49/63] Regression test suite: For tests use the git repo and for DATA/REF point to elsewhere --- .github/ci-nightly-test.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/ci-nightly-test.sh b/.github/ci-nightly-test.sh index c2d17b709..4052a07c0 100644 --- a/.github/ci-nightly-test.sh +++ b/.github/ci-nightly-test.sh @@ -18,13 +18,13 @@ version=$(cat $TMPDIR/eccodes/VERSION) # The environment variable "GH_TOKEN" needs to be there for the clone to succeed # -#regression_suite_dir=$TMPDIR/eccodes-regression-tests -#mkdir -p $regression_suite_dir -#git clone https://${GH_TOKEN}@github.com/ecmwf/eccodes-regression-tests.git $regression_suite_dir -#cd $regression_suite_dir +regression_suite_dir=$TMPDIR/eccodes-regression-tests +mkdir -p $regression_suite_dir +git clone https://${GH_TOKEN}@github.com/ecmwf/eccodes-regression-tests.git $regression_suite_dir +cd $regression_suite_dir # Launch the regression tests in parallel (This script uses GNU parallel) -cd ~masn/REGRESSION_TESTING/ecCodes +# cd ~masn/REGRESSION_TESTING/ecCodes ./par-suite.sh -w $TMPDIR/install/eccodes/$version # For debugging specific test(s) From 4f35b2ac2088f7a2775912b23cef18195b6218d2 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Thu, 1 Aug 2024 14:05:07 +0000 Subject: [PATCH 50/63] Filter: 'contains' for string keys to mimic strstr/strcasestr --- src/grib_expression_class_functor.cc | 28 +++++++++++++++++++++++ tests/CMakeLists.txt | 1 + tests/filter_contains.sh | 34 ++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100755 tests/filter_contains.sh diff --git a/src/grib_expression_class_functor.cc b/src/grib_expression_class_functor.cc index f335966a0..1185338e7 100644 --- a/src/grib_expression_class_functor.cc +++ b/src/grib_expression_class_functor.cc @@ -168,6 +168,34 @@ static int evaluate_long(grib_expression* g, grib_handle* h, long* lres) return GRIB_SUCCESS; } + if (STR_EQUAL(e->name, "contains")) { + *lres = 0; + const int n = grib_arguments_get_count(e->args); + if (n != 3) return GRIB_INVALID_ARGUMENT; + const char* keyName = grib_arguments_get_name(h, e->args, 0); + if (!keyName) return GRIB_INVALID_ARGUMENT; + int type = 0; + int err = grib_get_native_type(h, keyName, &type); + if (err) return err; + if (type == GRIB_TYPE_STRING) { + char keyValue[254] = {0,}; + size_t len = sizeof(keyValue); + err = grib_get_string(h, keyName, keyValue, &len); + if (err) return err; + const char* sValue = grib_arguments_get_string(h, e->args, 1); + const bool case_sens = grib_arguments_get_long(h, e->args, 2) != 0; + const bool contains = case_sens? strcasestr(keyValue, sValue) : strstr(keyValue, sValue); + if (sValue && contains) { + *lres = 1; + return GRIB_SUCCESS; + } + } else { + // For now only keys of type string supported + return GRIB_INVALID_ARGUMENT; + } + return GRIB_SUCCESS; + } + if (STR_EQUAL(e->name, "is_one_of")) { *lres = 0; const char* keyName = grib_arguments_get_name(h, e->args, 0); diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 755a84654..b6194fc61 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -104,6 +104,7 @@ if( HAVE_BUILD_TOOLS ) grib_ifsParam grib_packing_order filter_substr + filter_contains filter_size filter_is_one_of filter_is_in_list diff --git a/tests/filter_contains.sh b/tests/filter_contains.sh new file mode 100755 index 000000000..681bc3906 --- /dev/null +++ b/tests/filter_contains.sh @@ -0,0 +1,34 @@ +#!/bin/sh +# (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. +# + +. ./include.ctest.sh + +label="filter_contains_test" +tempFilt=temp.$label.txt +sample=$ECCODES_SAMPLES_PATH/GRIB2.tmpl + +# The contains functor: +# 1st argument: Key name (haystack) +# 2nd argument: string (needle) +# 3rd argument 0=case-sensitive, 1=case-insensitive +# +cat > $tempFilt < Date: Thu, 1 Aug 2024 14:44:58 +0000 Subject: [PATCH 51/63] Fix Windows build --- src/grib_expression_class_functor.cc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/grib_expression_class_functor.cc b/src/grib_expression_class_functor.cc index 1185338e7..44b728662 100644 --- a/src/grib_expression_class_functor.cc +++ b/src/grib_expression_class_functor.cc @@ -71,6 +71,29 @@ grib_expression_class* grib_expression_class_functor = &_grib_expression_class_f /* END_CLASS_IMP */ + +#ifdef ECCODES_ON_WINDOWS +// Windows does not have strcasestr +static char* strcasestr(const char *haystack, const char* needle) +{ + char c, sc; + size_t len = 0; + + if ((c = *needle++) != 0) { + c = tolower((unsigned char)c); + len = strlen(needle); + do { + do { + if ((sc = *haystack++) == 0) + return (NULL); + } while ((char)tolower((unsigned char)sc) != c); + } while (strncasecmp(haystack, needle, len) != 0); + haystack--; + } + return ((char *)haystack); +} +#endif + static int evaluate_long(grib_expression* g, grib_handle* h, long* lres) { grib_expression_functor* e = (grib_expression_functor*)g; From 43dac51b42cd518bd006d08fc4c5c4064339befd Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Thu, 1 Aug 2024 15:05:12 +0000 Subject: [PATCH 52/63] Fix Windows build (take 2) --- src/grib_expression_class_functor.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/grib_expression_class_functor.cc b/src/grib_expression_class_functor.cc index 44b728662..332d219ce 100644 --- a/src/grib_expression_class_functor.cc +++ b/src/grib_expression_class_functor.cc @@ -87,7 +87,7 @@ static char* strcasestr(const char *haystack, const char* needle) if ((sc = *haystack++) == 0) return (NULL); } while ((char)tolower((unsigned char)sc) != c); - } while (strncasecmp(haystack, needle, len) != 0); + } while (_strnicmp(haystack, needle, len) != 0); haystack--; } return ((char *)haystack); From 4b60193c0745dc8950adc96c8ca8c4798789d268 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Thu, 1 Aug 2024 15:14:26 +0000 Subject: [PATCH 53/63] ECC-1779: log preprocessing is experimental --- definitions/grib2/template.7.61.def | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/definitions/grib2/template.7.61.def b/definitions/grib2/template.7.61.def index 6f7f3fdd6..fb21838b8 100644 --- a/definitions/grib2/template.7.61.def +++ b/definitions/grib2/template.7.61.def @@ -4,7 +4,7 @@ # Note from WMO document: # This template is experimental, was not validated at the time of publication and should be used only for bilateral previously agreed tests -transient template_is_deprecated = 1 : hidden; +transient template_is_experimental = 1 : hidden; meta codedValues data_g2simple_packing_with_preprocessing( section7Length, From 453c19b97ee0f70a69b006ab4e90048d816717e4 Mon Sep 17 00:00:00 2001 From: shahramn Date: Wed, 31 Jul 2024 14:12:10 +0100 Subject: [PATCH 54/63] ECC-1886: Enable the cf_var_name accessor --- definitions/grib2/parameters.def | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/definitions/grib2/parameters.def b/definitions/grib2/parameters.def index cceae6507..f8157da15 100644 --- a/definitions/grib2/parameters.def +++ b/definitions/grib2/parameters.def @@ -23,12 +23,12 @@ concept cfNameLegacyECMF(defaultShortName,"cfName.legacy.def",conceptsMasterDir, concept cfNameECMF(cfNameLegacyECMF,"cfName.def",conceptsMasterDir,conceptsLocalDirECMF) : no_copy; concept cfName(cfNameECMF,"cfName.def",conceptsDir2,conceptsDir1) : no_copy,dump; -concept cfVarNameLegacyECMF(defaultShortName,"cfVarName.legacy.def",conceptsMasterDir,conceptsLocalDirECMF): no_copy,hidden; -concept cfVarNameECMF (cfVarNameLegacyECMF,"cfVarName.def",conceptsMasterDir,conceptsLocalDirECMF): no_copy; -concept cfVarName (cfVarNameECMF,"cfVarName.def",conceptsDir2,conceptsDir1): no_copy,dump; +# concept cfVarNameLegacyECMF(defaultShortName,"cfVarName.legacy.def",conceptsMasterDir,conceptsLocalDirECMF): no_copy,hidden; +# concept cfVarNameECMF (cfVarNameLegacyECMF,"cfVarName.def",conceptsMasterDir,conceptsLocalDirECMF): no_copy; +# concept cfVarName (cfVarNameECMF,"cfVarName.def",conceptsDir2,conceptsDir1): no_copy,dump; # See ECC-1886 -#meta defaultCfVarName cf_var_name(shortName) : hidden, read_only; -#concept cfVarName (defaultCfVarName, "cfVarName.def", conceptsDir2, conceptsDir1): no_copy,dump; +meta defaultCfVarName cf_var_name(shortName) : hidden, read_only; +concept cfVarName (defaultCfVarName, "cfVarName.def", conceptsDir2, conceptsDir1): no_copy,dump; template_nofail names "grib2/products_[productionStatusOfProcessedData].def"; From f75193d4669a9e17f090a21b15ed987a258839d8 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Fri, 2 Aug 2024 11:37:53 +0000 Subject: [PATCH 55/63] ECC-1886: Definitions: cfVarName key should be based on the shortName (with a few exceptions) --- definitions/check_grib_defs.pl | 12 +- definitions/create_def.pl | 89 +- definitions/grib1/cfVarName.def | 1902 -- .../grib1/localConcepts/ecmf/cfVarName.def | 17517 +------------ .../grib1/localConcepts/rjtd/cfVarName.def | 913 +- definitions/grib1/section.1.def | 7 +- definitions/grib2/cfVarName.def | 10941 -------- .../grib2/localConcepts/ecmf/cfVarName.def | 21399 +--------------- .../grib2/localConcepts/kwbc/cfVarName.def | 1896 -- .../grib2/localConcepts/s2s/cfVarName.def | 208 +- .../grib2/localConcepts/tigge/cfVarName.def | 82 +- .../grib2/localConcepts/uerra/cfVarName.def | 358 +- definitions/grib2/parameters.def | 4 +- tests/grib_check_param_concepts.cc | 8 + tests/grib_check_param_concepts.sh | 9 +- 15 files changed, 152 insertions(+), 55193 deletions(-) diff --git a/definitions/check_grib_defs.pl b/definitions/check_grib_defs.pl index d011680f3..ecce92ac3 100755 --- a/definitions/check_grib_defs.pl +++ b/definitions/check_grib_defs.pl @@ -106,12 +106,12 @@ is_deeply(\%name_map, \%paramId_map, 'Check name and paramId are the same'); is_deeply(\%name_map, \%shortName_map, 'Check name and shortName are the same'); is_deeply(\%name_map, \%units_map, 'Check name and units are the same'); -if (-f "cfVarName.def") { - my %cfVar_map = process("cfVarName.def"); - is_deeply(\%name_map, \%cfVar_map, 'Check name and cfVarName are the same'); -} else { - print "\n\tINFO: Did not find a cfVarName.def file!!!\n\n"; -} +#if (-f "cfVarName.def") { +# my %cfVar_map = process("cfVarName.def"); +# is_deeply(\%name_map, \%cfVar_map, 'Check name and cfVarName are the same'); +#} else { +# print "\n\tINFO: Did not find a cfVarName.def file!!!\n\n"; +#} done_testing(); diff --git a/definitions/create_def.pl b/definitions/create_def.pl index 677a189df..6e5ff223a 100755 --- a/definitions/create_def.pl +++ b/definitions/create_def.pl @@ -182,7 +182,93 @@ EOF close(TAR); } - + +sub create_cfVarName { + my $p; my %seen; + my ($key) =@_; + my $field=$key; + + #if ($key =~ /paramId/) { $field="param.id"; } + #if ($key =~ /name/) { $field="param.name"; } + #if ($key =~ /units/) { $field="units.name"; } + if ($key =~ /cfVarName/) { $field="cfVarName"; } + + my $query= <<"EOF"; + select $field,force128,edition, + centre.abbreviation,param_id,attribute.name,attribute_value,param.name,param.shortName + from param,grib_encoding,grib,attribute,centre,units where + param.hide_def=0 and + grib_encoding.id=grib.encoding_id and + param.id=grib_encoding.param_id and + attribute.id=grib.attribute_id and + centre.id=grib_encoding.centre_id and + units.id=param.units_id + and cfVarName IS NOT NULL + order by edition,centre_id,param.o,param.id,grib_encoding.param_version,attribute.o; +EOF + + my $qh=$dbh->prepare($query); + $qh->execute(); + + # file containing the list of grib api parameters files we want to tar and + # distribute to users for them to download and update their list of parameter + # to the latest + #open(TAR,$tarfilesflag ? ">>" : ">","tarfiles.txt") or die "Count not open file tarfiles.txt: $!"; + #$tarfilesflag=1; + + while (my ($keyval,$force128,$edition,$centre,$paramId,$attribute,$value,$name,$shortName)=$qh->fetchrow_array ) + { + if ($centre eq "wmo" ) { $conceptDir=""; } + else { $conceptDir="/localConcepts/$centre"; } + #if ($key =~ /paramId/ && $force128==1 && $keyval >1000) { + # $keyval= $keyval % 1000; + #} + + if ($filebase ne "$basedir/grib$edition$conceptDir") { + if ($filebase) { + print $out "}\n"; + close $out; + } + $filebase="$basedir/grib$edition$conceptDir"; + mkpath($filebase); + + #copy("$filebase/$key.def","$filebase/$key.def.bkp") + # or die ("unable to copy $filebase/$key.def"); + + print TAR "grib$edition$conceptDir/$key.def\n"; + #system("cp -f $filebase/$key.def $filebase/$key.def.orig"); + open($out,"> $filebase/$key.def") + or die "unable to open $filebase/$key.def"; + print $out "# Automatically generated by $0, do not edit\n"; + $p=(); + } + if ($p ne $paramId || exists($seen{$attribute}) ) { + if ($p) { print $out "\t}\n"; } + print $out "#$name\n" ; + print $out "\'".$keyval."\' = {\n" ; + $p=$paramId; + %seen=(); + } + $seen{$attribute}=1; + print "($key=$keyval) $edition,$centre,$shortName,$paramId,$name,$attribute,$value\n"; + # we need to allow strings in the attribute_value field + # for the moment we apply a patch here + if ($attribute =~ /stepType/ ) { + $value="\"accum\""; + } + if ($value eq '') { + $value="missing()"; + } + print $out "\t $attribute = $value ;\n" ; + } + if ($filebase) { + print $out "}\n"; + close $out; + } + + close(TAR); +} + sub create_paramId_def { my $p; my %seen; @@ -270,6 +356,7 @@ create_def("paramId"); create_def("shortName"); create_def("name"); create_def("units"); +create_cfVarName("cfVarName"); create_cfName("cfName"); # #create_paramId_def(); diff --git a/definitions/grib1/cfVarName.def b/definitions/grib1/cfVarName.def index 94c685c22..60f679f5d 100644 --- a/definitions/grib1/cfVarName.def +++ b/definitions/grib1/cfVarName.def @@ -1,94 +1,4 @@ # Automatically generated by ./create_def.pl, do not edit -#Stream function -'strf' = { - table2Version = 3 ; - indicatorOfParameter = 35 ; - } -#Stream function -'strf' = { - table2Version = 2 ; - indicatorOfParameter = 35 ; - } -#Stream function -'strf' = { - table2Version = 1 ; - indicatorOfParameter = 35 ; - } -#Velocity potential -'vp' = { - table2Version = 3 ; - indicatorOfParameter = 36 ; - } -#Velocity potential -'vp' = { - table2Version = 2 ; - indicatorOfParameter = 36 ; - } -#Velocity potential -'vp' = { - table2Version = 1 ; - indicatorOfParameter = 36 ; - } -#Potential temperature -'pt' = { - table2Version = 3 ; - indicatorOfParameter = 13 ; - } -#Potential temperature -'pt' = { - table2Version = 2 ; - indicatorOfParameter = 13 ; - } -#Potential temperature -'pt' = { - table2Version = 1 ; - indicatorOfParameter = 13 ; - } -#Wind speed -'ws' = { - table2Version = 3 ; - indicatorOfParameter = 32 ; - } -#Wind speed -'ws' = { - table2Version = 2 ; - indicatorOfParameter = 32 ; - } -#Wind speed -'ws' = { - table2Version = 1 ; - indicatorOfParameter = 32 ; - } -#Pressure -'pres' = { - table2Version = 3 ; - indicatorOfParameter = 1 ; - } -#Pressure -'pres' = { - table2Version = 2 ; - indicatorOfParameter = 1 ; - } -#Pressure -'pres' = { - table2Version = 1 ; - indicatorOfParameter = 1 ; - } -#Potential vorticity -'pv' = { - table2Version = 3 ; - indicatorOfParameter = 4 ; - } -#Potential vorticity -'pv' = { - table2Version = 2 ; - indicatorOfParameter = 4 ; - } -#Potential vorticity -'pv' = { - table2Version = 1 ; - indicatorOfParameter = 4 ; - } #Maximum temperature at 2 metres in the last 6 hours 'mx2t6' = { table2Version = 3 ; @@ -131,189 +41,6 @@ indicatorOfTypeOfLevel = 105 ; level = 2 ; } -#Geopotential -'z' = { - table2Version = 3 ; - indicatorOfParameter = 6 ; - } -#Geopotential -'z' = { - table2Version = 2 ; - indicatorOfParameter = 6 ; - } -#Geopotential -'z' = { - table2Version = 1 ; - indicatorOfParameter = 6 ; - } -#Temperature -'t' = { - table2Version = 3 ; - indicatorOfParameter = 11 ; - } -#Temperature -'t' = { - table2Version = 2 ; - indicatorOfParameter = 11 ; - } -#Temperature -'t' = { - table2Version = 1 ; - indicatorOfParameter = 11 ; - } -#U component of wind -'u' = { - table2Version = 3 ; - indicatorOfParameter = 33 ; - } -#U component of wind -'u' = { - table2Version = 2 ; - indicatorOfParameter = 33 ; - } -#U component of wind -'u' = { - table2Version = 1 ; - indicatorOfParameter = 33 ; - } -#V component of wind -'v' = { - table2Version = 3 ; - indicatorOfParameter = 34 ; - } -#V component of wind -'v' = { - table2Version = 2 ; - indicatorOfParameter = 34 ; - } -#V component of wind -'v' = { - table2Version = 1 ; - indicatorOfParameter = 34 ; - } -#Specific humidity -'q' = { - table2Version = 3 ; - indicatorOfParameter = 51 ; - } -#Specific humidity -'q' = { - table2Version = 2 ; - indicatorOfParameter = 51 ; - } -#Specific humidity -'q' = { - table2Version = 1 ; - indicatorOfParameter = 51 ; - } -#Surface pressure -'sp' = { - table2Version = 3 ; - indicatorOfParameter = 1 ; - indicatorOfTypeOfLevel = 1 ; - } -#Surface pressure -'sp' = { - table2Version = 2 ; - indicatorOfParameter = 1 ; - indicatorOfTypeOfLevel = 1 ; - } -#Surface pressure -'sp' = { - table2Version = 1 ; - indicatorOfParameter = 1 ; - indicatorOfTypeOfLevel = 1 ; - } -#Vertical velocity -'w' = { - table2Version = 3 ; - indicatorOfParameter = 39 ; - } -#Vertical velocity -'w' = { - table2Version = 2 ; - indicatorOfParameter = 39 ; - } -#Vertical velocity -'w' = { - table2Version = 1 ; - indicatorOfParameter = 39 ; - } -#Vorticity (relative) -'vo' = { - table2Version = 3 ; - indicatorOfParameter = 43 ; - } -#Vorticity (relative) -'vo' = { - table2Version = 2 ; - indicatorOfParameter = 43 ; - } -#Vorticity (relative) -'vo' = { - table2Version = 1 ; - indicatorOfParameter = 43 ; - } -#Mean sea level pressure -'msl' = { - table2Version = 3 ; - indicatorOfParameter = 2 ; - } -#Mean sea level pressure -'msl' = { - table2Version = 2 ; - indicatorOfParameter = 2 ; - } -#Mean sea level pressure -'msl' = { - table2Version = 1 ; - indicatorOfParameter = 2 ; - } -#Divergence -'d' = { - table2Version = 3 ; - indicatorOfParameter = 44 ; - } -#Divergence -'d' = { - table2Version = 2 ; - indicatorOfParameter = 44 ; - } -#Divergence -'d' = { - table2Version = 1 ; - indicatorOfParameter = 44 ; - } -#Geopotential height -'gh' = { - table2Version = 3 ; - indicatorOfParameter = 7 ; - } -#Geopotential height -'gh' = { - table2Version = 2 ; - indicatorOfParameter = 7 ; - } -#Geopotential height -'gh' = { - table2Version = 1 ; - indicatorOfParameter = 7 ; - } -#Relative humidity -'r' = { - table2Version = 3 ; - indicatorOfParameter = 52 ; - } -#Relative humidity -'r' = { - table2Version = 2 ; - indicatorOfParameter = 52 ; - } -#Relative humidity -'r' = { - table2Version = 1 ; - indicatorOfParameter = 52 ; - } #10 metre U wind component 'u10' = { table2Version = 3 ; @@ -397,1633 +124,4 @@ indicatorOfParameter = 17 ; indicatorOfTypeOfLevel = 105 ; level = 2 ; - } -#Land-sea mask -'lsm' = { - table2Version = 3 ; - indicatorOfParameter = 81 ; - } -#Land-sea mask -'lsm' = { - table2Version = 2 ; - indicatorOfParameter = 81 ; - } -#Land-sea mask -'lsm' = { - table2Version = 1 ; - indicatorOfParameter = 81 ; - } -#Surface roughness (climatological) -'sr' = { - table2Version = 3 ; - indicatorOfParameter = 83 ; - } -#Surface roughness (climatological) -'sr' = { - table2Version = 2 ; - indicatorOfParameter = 83 ; - } -#Surface roughness (climatological) -'sr' = { - table2Version = 1 ; - indicatorOfParameter = 83 ; - } -#Evaporation -'e' = { - table2Version = 3 ; - indicatorOfParameter = 57 ; - } -#Evaporation -'e' = { - table2Version = 2 ; - indicatorOfParameter = 57 ; - } -#Evaporation -'e' = { - table2Version = 1 ; - indicatorOfParameter = 57 ; - } -#Brightness temperature -'btmp' = { - table2Version = 3 ; - indicatorOfParameter = 118 ; - } -#Brightness temperature -'btmp' = { - table2Version = 2 ; - indicatorOfParameter = 118 ; - } -#Brightness temperature -'btmp' = { - table2Version = 1 ; - indicatorOfParameter = 118 ; - } -#Runoff -'ro' = { - table2Version = 3 ; - indicatorOfParameter = 90 ; - } -#Runoff -'ro' = { - table2Version = 2 ; - indicatorOfParameter = 90 ; - } -#Runoff -'ro' = { - table2Version = 1 ; - indicatorOfParameter = 90 ; - } -#Total column ozone -'tco3' = { - table2Version = 3 ; - indicatorOfParameter = 10 ; - } -#Total column ozone -'tco3' = { - table2Version = 2 ; - indicatorOfParameter = 10 ; - } -#Total column ozone -'tco3' = { - table2Version = 1 ; - indicatorOfParameter = 10 ; - } -#Large-scale precipitation -'lsp' = { - table2Version = 3 ; - indicatorOfParameter = 62 ; - } -#Large-scale precipitation -'lsp' = { - table2Version = 2 ; - indicatorOfParameter = 62 ; - } -#Large-scale precipitation -'lsp' = { - table2Version = 1 ; - indicatorOfParameter = 62 ; - } -#Snow depth -'sde' = { - table2Version = 3 ; - indicatorOfParameter = 66 ; - } -#Snow depth -'sde' = { - table2Version = 2 ; - indicatorOfParameter = 66 ; - } -#Snow depth -'sde' = { - table2Version = 1 ; - indicatorOfParameter = 66 ; - } -#Convective cloud cover -'ccc' = { - table2Version = 3 ; - indicatorOfParameter = 72 ; - } -#Convective cloud cover -'ccc' = { - table2Version = 2 ; - indicatorOfParameter = 72 ; - } -#Convective cloud cover -'ccc' = { - table2Version = 1 ; - indicatorOfParameter = 72 ; - } -#Low cloud cover -'lcc' = { - table2Version = 3 ; - indicatorOfParameter = 73 ; - } -#Low cloud cover -'lcc' = { - table2Version = 2 ; - indicatorOfParameter = 73 ; - } -#Low cloud cover -'lcc' = { - table2Version = 1 ; - indicatorOfParameter = 73 ; - } -#Medium cloud cover -'mcc' = { - table2Version = 3 ; - indicatorOfParameter = 74 ; - } -#Medium cloud cover -'mcc' = { - table2Version = 2 ; - indicatorOfParameter = 74 ; - } -#Medium cloud cover -'mcc' = { - table2Version = 1 ; - indicatorOfParameter = 74 ; - } -#High cloud cover -'hcc' = { - table2Version = 3 ; - indicatorOfParameter = 75 ; - } -#High cloud cover -'hcc' = { - table2Version = 2 ; - indicatorOfParameter = 75 ; - } -#High cloud cover -'hcc' = { - table2Version = 1 ; - indicatorOfParameter = 75 ; - } -#Large scale snow -'lssf' = { - table2Version = 3 ; - indicatorOfParameter = 79 ; - } -#Large scale snow -'lssf' = { - table2Version = 2 ; - indicatorOfParameter = 79 ; - } -#Large scale snow -'lssf' = { - table2Version = 1 ; - indicatorOfParameter = 79 ; - } -#Latent heat flux -'lhf' = { - table2Version = 3 ; - indicatorOfParameter = 121 ; - } -#Latent heat flux -'lhf' = { - table2Version = 2 ; - indicatorOfParameter = 121 ; - } -#Latent heat flux -'lhf' = { - table2Version = 1 ; - indicatorOfParameter = 121 ; - } -#Sensible heat flux -'shf' = { - table2Version = 3 ; - indicatorOfParameter = 122 ; - } -#Sensible heat flux -'shf' = { - table2Version = 2 ; - indicatorOfParameter = 122 ; - } -#Sensible heat flux -'shf' = { - table2Version = 1 ; - indicatorOfParameter = 122 ; - } -#Boundary layer dissipation -'bld' = { - table2Version = 3 ; - indicatorOfParameter = 123 ; - } -#Boundary layer dissipation -'bld' = { - table2Version = 2 ; - indicatorOfParameter = 123 ; - } -#Boundary layer dissipation -'bld' = { - table2Version = 1 ; - indicatorOfParameter = 123 ; - } -#Convective snow -'snoc' = { - table2Version = 3 ; - indicatorOfParameter = 78 ; - } -#Convective snow -'snoc' = { - table2Version = 2 ; - indicatorOfParameter = 78 ; - } -#Convective snow -'snoc' = { - table2Version = 1 ; - indicatorOfParameter = 78 ; - } -#Cloud water -'cwat' = { - table2Version = 3 ; - indicatorOfParameter = 76 ; - } -#Cloud water -'cwat' = { - table2Version = 2 ; - indicatorOfParameter = 76 ; - } -#Cloud water -'cwat' = { - table2Version = 1 ; - indicatorOfParameter = 76 ; - } -#Forecast albedo -'al' = { - table2Version = 3 ; - indicatorOfParameter = 84 ; - } -#Forecast albedo -'al' = { - table2Version = 2 ; - indicatorOfParameter = 84 ; - } -#Forecast albedo -'al' = { - table2Version = 1 ; - indicatorOfParameter = 84 ; - } -#Virtual temperature -'vtmp' = { - table2Version = 3 ; - indicatorOfParameter = 12 ; - } -#Virtual temperature -'vtmp' = { - table2Version = 2 ; - indicatorOfParameter = 12 ; - } -#Virtual temperature -'vtmp' = { - table2Version = 1 ; - indicatorOfParameter = 12 ; - } -#Pressure tendency -'ptend' = { - table2Version = 3 ; - indicatorOfParameter = 3 ; - } -#Pressure tendency -'ptend' = { - table2Version = 2 ; - indicatorOfParameter = 3 ; - } -#Pressure tendency -'ptend' = { - table2Version = 1 ; - indicatorOfParameter = 3 ; - } -#ICAO Standard Atmosphere reference height -'icaht' = { - table2Version = 3 ; - indicatorOfParameter = 5 ; - } -#ICAO Standard Atmosphere reference height -'icaht' = { - table2Version = 2 ; - indicatorOfParameter = 5 ; - } -#ICAO Standard Atmosphere reference height -'icaht' = { - table2Version = 1 ; - indicatorOfParameter = 5 ; - } -#Geometrical height -'h' = { - table2Version = 3 ; - indicatorOfParameter = 8 ; - } -#Geometrical height -'h' = { - table2Version = 2 ; - indicatorOfParameter = 8 ; - } -#Geometrical height -'h' = { - table2Version = 1 ; - indicatorOfParameter = 8 ; - } -#Standard deviation of height -'hstdv' = { - table2Version = 3 ; - indicatorOfParameter = 9 ; - } -#Standard deviation of height -'hstdv' = { - table2Version = 2 ; - indicatorOfParameter = 9 ; - } -#Standard deviation of height -'hstdv' = { - table2Version = 1 ; - indicatorOfParameter = 9 ; - } -#Pseudo-adiabatic potential temperature -'papt' = { - table2Version = 3 ; - indicatorOfParameter = 14 ; - } -#Pseudo-adiabatic potential temperature -'papt' = { - table2Version = 2 ; - indicatorOfParameter = 14 ; - } -#Pseudo-adiabatic potential temperature -'papt' = { - table2Version = 1 ; - indicatorOfParameter = 14 ; - } -#Maximum temperature -'tmax' = { - table2Version = 3 ; - indicatorOfParameter = 15 ; - } -#Maximum temperature -'tmax' = { - table2Version = 2 ; - indicatorOfParameter = 15 ; - } -#Maximum temperature -'tmax' = { - table2Version = 1 ; - indicatorOfParameter = 15 ; - } -#Minimum temperature -'tmin' = { - table2Version = 3 ; - indicatorOfParameter = 16 ; - } -#Minimum temperature -'tmin' = { - table2Version = 2 ; - indicatorOfParameter = 16 ; - } -#Minimum temperature -'tmin' = { - table2Version = 1 ; - indicatorOfParameter = 16 ; - } -#Dew point temperature -'dpt' = { - table2Version = 3 ; - indicatorOfParameter = 17 ; - } -#Dew point temperature -'dpt' = { - table2Version = 2 ; - indicatorOfParameter = 17 ; - } -#Dew point temperature -'dpt' = { - table2Version = 1 ; - indicatorOfParameter = 17 ; - } -#Dew point depression (or deficit) -'depr' = { - table2Version = 3 ; - indicatorOfParameter = 18 ; - } -#Dew point depression (or deficit) -'depr' = { - table2Version = 2 ; - indicatorOfParameter = 18 ; - } -#Dew point depression (or deficit) -'depr' = { - table2Version = 1 ; - indicatorOfParameter = 18 ; - } -#Lapse rate -'lapr' = { - table2Version = 3 ; - indicatorOfParameter = 19 ; - } -#Lapse rate -'lapr' = { - table2Version = 2 ; - indicatorOfParameter = 19 ; - } -#Lapse rate -'lapr' = { - table2Version = 1 ; - indicatorOfParameter = 19 ; - } -#Visibility -'vis' = { - table2Version = 3 ; - indicatorOfParameter = 20 ; - } -#Visibility -'vis' = { - table2Version = 2 ; - indicatorOfParameter = 20 ; - } -#Visibility -'vis' = { - table2Version = 1 ; - indicatorOfParameter = 20 ; - } -#Radar spectra (1) -'rdsp1' = { - table2Version = 3 ; - indicatorOfParameter = 21 ; - } -#Radar spectra (1) -'rdsp1' = { - table2Version = 2 ; - indicatorOfParameter = 21 ; - } -#Radar spectra (1) -'rdsp1' = { - table2Version = 1 ; - indicatorOfParameter = 21 ; - } -#Radar spectra (2) -'rdsp2' = { - table2Version = 3 ; - indicatorOfParameter = 22 ; - } -#Radar spectra (2) -'rdsp2' = { - table2Version = 2 ; - indicatorOfParameter = 22 ; - } -#Radar spectra (2) -'rdsp2' = { - table2Version = 1 ; - indicatorOfParameter = 22 ; - } -#Radar spectra (3) -'rdsp3' = { - table2Version = 3 ; - indicatorOfParameter = 23 ; - } -#Radar spectra (3) -'rdsp3' = { - table2Version = 2 ; - indicatorOfParameter = 23 ; - } -#Radar spectra (3) -'rdsp3' = { - table2Version = 1 ; - indicatorOfParameter = 23 ; - } -#Parcel lifted index (to 500 hPa) -'pli' = { - table2Version = 3 ; - indicatorOfParameter = 24 ; - } -#Parcel lifted index (to 500 hPa) -'pli' = { - table2Version = 2 ; - indicatorOfParameter = 24 ; - } -#Parcel lifted index (to 500 hPa) -'pli' = { - table2Version = 1 ; - indicatorOfParameter = 24 ; - } -#Temperature anomaly -'ta' = { - table2Version = 3 ; - indicatorOfParameter = 25 ; - } -#Temperature anomaly -'ta' = { - table2Version = 2 ; - indicatorOfParameter = 25 ; - } -#Temperature anomaly -'ta' = { - table2Version = 1 ; - indicatorOfParameter = 25 ; - } -#Pressure anomaly -'presa' = { - table2Version = 3 ; - indicatorOfParameter = 26 ; - } -#Pressure anomaly -'presa' = { - table2Version = 2 ; - indicatorOfParameter = 26 ; - } -#Pressure anomaly -'presa' = { - table2Version = 1 ; - indicatorOfParameter = 26 ; - } -#Geopotential height anomaly -'gpa' = { - table2Version = 3 ; - indicatorOfParameter = 27 ; - } -#Geopotential height anomaly -'gpa' = { - table2Version = 2 ; - indicatorOfParameter = 27 ; - } -#Geopotential height anomaly -'gpa' = { - table2Version = 1 ; - indicatorOfParameter = 27 ; - } -#Wave spectra (1) -'wvsp1' = { - table2Version = 3 ; - indicatorOfParameter = 28 ; - } -#Wave spectra (1) -'wvsp1' = { - table2Version = 2 ; - indicatorOfParameter = 28 ; - } -#Wave spectra (1) -'wvsp1' = { - table2Version = 1 ; - indicatorOfParameter = 28 ; - } -#Wave spectra (2) -'wvsp2' = { - table2Version = 3 ; - indicatorOfParameter = 29 ; - } -#Wave spectra (2) -'wvsp2' = { - table2Version = 2 ; - indicatorOfParameter = 29 ; - } -#Wave spectra (2) -'wvsp2' = { - table2Version = 1 ; - indicatorOfParameter = 29 ; - } -#Wave spectra (3) -'wvsp3' = { - table2Version = 3 ; - indicatorOfParameter = 30 ; - } -#Wave spectra (3) -'wvsp3' = { - table2Version = 2 ; - indicatorOfParameter = 30 ; - } -#Wave spectra (3) -'wvsp3' = { - table2Version = 1 ; - indicatorOfParameter = 30 ; - } -#Wind direction -'wdir' = { - table2Version = 3 ; - indicatorOfParameter = 31 ; - } -#Wind direction -'wdir' = { - table2Version = 2 ; - indicatorOfParameter = 31 ; - } -#Wind direction -'wdir' = { - table2Version = 1 ; - indicatorOfParameter = 31 ; - } -#Montgomery stream Function -'mntsf' = { - table2Version = 3 ; - indicatorOfParameter = 37 ; - } -#Montgomery stream Function -'mntsf' = { - table2Version = 2 ; - indicatorOfParameter = 37 ; - } -#Montgomery stream Function -'mntsf' = { - table2Version = 1 ; - indicatorOfParameter = 37 ; - } -#Sigma coordinate vertical velocity -'sgcvv' = { - table2Version = 3 ; - indicatorOfParameter = 38 ; - } -#Sigma coordinate vertical velocity -'sgcvv' = { - table2Version = 2 ; - indicatorOfParameter = 38 ; - } -#Sigma coordinate vertical velocity -'sgcvv' = { - table2Version = 1 ; - indicatorOfParameter = 38 ; - } -#Absolute vorticity -'absv' = { - table2Version = 3 ; - indicatorOfParameter = 41 ; - } -#Absolute vorticity -'absv' = { - table2Version = 2 ; - indicatorOfParameter = 41 ; - } -#Absolute vorticity -'absv' = { - table2Version = 1 ; - indicatorOfParameter = 41 ; - } -#Absolute divergence -'absd' = { - table2Version = 3 ; - indicatorOfParameter = 42 ; - } -#Absolute divergence -'absd' = { - table2Version = 2 ; - indicatorOfParameter = 42 ; - } -#Absolute divergence -'absd' = { - table2Version = 1 ; - indicatorOfParameter = 42 ; - } -#Vertical u-component shear -'vucsh' = { - table2Version = 3 ; - indicatorOfParameter = 45 ; - } -#Vertical u-component shear -'vucsh' = { - table2Version = 2 ; - indicatorOfParameter = 45 ; - } -#Vertical u-component shear -'vucsh' = { - table2Version = 1 ; - indicatorOfParameter = 45 ; - } -#Vertical v-component shear -'vvcsh' = { - table2Version = 3 ; - indicatorOfParameter = 46 ; - } -#Vertical v-component shear -'vvcsh' = { - table2Version = 2 ; - indicatorOfParameter = 46 ; - } -#Vertical v-component shear -'vvcsh' = { - table2Version = 1 ; - indicatorOfParameter = 46 ; - } -#Direction of current -'dirc' = { - table2Version = 3 ; - indicatorOfParameter = 47 ; - } -#Direction of current -'dirc' = { - table2Version = 2 ; - indicatorOfParameter = 47 ; - } -#Direction of current -'dirc' = { - table2Version = 1 ; - indicatorOfParameter = 47 ; - } -#Speed of current -'spc' = { - table2Version = 3 ; - indicatorOfParameter = 48 ; - } -#Speed of current -'spc' = { - table2Version = 2 ; - indicatorOfParameter = 48 ; - } -#Speed of current -'spc' = { - table2Version = 1 ; - indicatorOfParameter = 48 ; - } -#Humidity mixing ratio -'mixr' = { - table2Version = 3 ; - indicatorOfParameter = 53 ; - } -#Humidity mixing ratio -'mixr' = { - table2Version = 2 ; - indicatorOfParameter = 53 ; - } -#Humidity mixing ratio -'mixr' = { - table2Version = 1 ; - indicatorOfParameter = 53 ; - } -#Precipitable water -'pwat' = { - table2Version = 3 ; - indicatorOfParameter = 54 ; - } -#Precipitable water -'pwat' = { - table2Version = 2 ; - indicatorOfParameter = 54 ; - } -#Precipitable water -'pwat' = { - table2Version = 1 ; - indicatorOfParameter = 54 ; - } -#Vapour pressure -'vp' = { - table2Version = 3 ; - indicatorOfParameter = 55 ; - } -#Vapour pressure -'vp' = { - table2Version = 2 ; - indicatorOfParameter = 55 ; - } -#Vapour pressure -'vp' = { - table2Version = 1 ; - indicatorOfParameter = 55 ; - } -#Saturation deficit -'satd' = { - table2Version = 3 ; - indicatorOfParameter = 56 ; - } -#Saturation deficit -'satd' = { - table2Version = 2 ; - indicatorOfParameter = 56 ; - } -#Saturation deficit -'satd' = { - table2Version = 1 ; - indicatorOfParameter = 56 ; - } -#Precipitation rate -'prate' = { - table2Version = 3 ; - indicatorOfParameter = 59 ; - } -#Precipitation rate -'prate' = { - table2Version = 2 ; - indicatorOfParameter = 59 ; - } -#Precipitation rate -'prate' = { - table2Version = 1 ; - indicatorOfParameter = 59 ; - } -#Thunderstorm probability -'tstm' = { - table2Version = 3 ; - indicatorOfParameter = 60 ; - } -#Thunderstorm probability -'tstm' = { - table2Version = 2 ; - indicatorOfParameter = 60 ; - } -#Thunderstorm probability -'tstm' = { - table2Version = 1 ; - indicatorOfParameter = 60 ; - } -#Convective precipitation (water) -'acpcp' = { - table2Version = 3 ; - indicatorOfParameter = 63 ; - } -#Convective precipitation (water) -'acpcp' = { - table2Version = 2 ; - indicatorOfParameter = 63 ; - } -#Convective precipitation (water) -'acpcp' = { - table2Version = 1 ; - indicatorOfParameter = 63 ; - } -#Snow fall rate water equivalent -'srweq' = { - table2Version = 3 ; - indicatorOfParameter = 64 ; - } -#Snow fall rate water equivalent -'srweq' = { - table2Version = 2 ; - indicatorOfParameter = 64 ; - } -#Snow fall rate water equivalent -'srweq' = { - table2Version = 1 ; - indicatorOfParameter = 64 ; - } -#Mixed layer depth -'mld' = { - table2Version = 3 ; - indicatorOfParameter = 67 ; - } -#Mixed layer depth -'mld' = { - table2Version = 2 ; - indicatorOfParameter = 67 ; - } -#Mixed layer depth -'mld' = { - table2Version = 1 ; - indicatorOfParameter = 67 ; - } -#Transient thermocline depth -'tthdp' = { - table2Version = 3 ; - indicatorOfParameter = 68 ; - } -#Transient thermocline depth -'tthdp' = { - table2Version = 2 ; - indicatorOfParameter = 68 ; - } -#Transient thermocline depth -'tthdp' = { - table2Version = 1 ; - indicatorOfParameter = 68 ; - } -#Main thermocline depth -'mthd' = { - table2Version = 3 ; - indicatorOfParameter = 69 ; - } -#Main thermocline depth -'mthd' = { - table2Version = 2 ; - indicatorOfParameter = 69 ; - } -#Main thermocline depth -'mthd' = { - table2Version = 1 ; - indicatorOfParameter = 69 ; - } -#Main thermocline anomaly -'mtha' = { - table2Version = 3 ; - indicatorOfParameter = 70 ; - } -#Main thermocline anomaly -'mtha' = { - table2Version = 2 ; - indicatorOfParameter = 70 ; - } -#Main thermocline anomaly -'mtha' = { - table2Version = 1 ; - indicatorOfParameter = 70 ; - } -#Best lifted index (to 500 hPa) -'bli' = { - table2Version = 3 ; - indicatorOfParameter = 77 ; - } -#Best lifted index (to 500 hPa) -'bli' = { - table2Version = 2 ; - indicatorOfParameter = 77 ; - } -#Best lifted index (to 500 hPa) -'bli' = { - table2Version = 1 ; - indicatorOfParameter = 77 ; - } -#Water temperature -'wtmp' = { - table2Version = 3 ; - indicatorOfParameter = 80 ; - } -#Water temperature -'wtmp' = { - table2Version = 2 ; - indicatorOfParameter = 80 ; - } -#Water temperature -'wtmp' = { - table2Version = 1 ; - indicatorOfParameter = 80 ; - } -#Deviation of sea-level from mean -'dslm' = { - table2Version = 3 ; - indicatorOfParameter = 82 ; - } -#Deviation of sea-level from mean -'dslm' = { - table2Version = 2 ; - indicatorOfParameter = 82 ; - } -#Deviation of sea-level from mean -'dslm' = { - table2Version = 1 ; - indicatorOfParameter = 82 ; - } -#Soil moisture content -'ssw' = { - table2Version = 3 ; - indicatorOfParameter = 86 ; - } -#Soil moisture content -'ssw' = { - table2Version = 2 ; - indicatorOfParameter = 86 ; - } -#Soil moisture content -'ssw' = { - table2Version = 1 ; - indicatorOfParameter = 86 ; - } -#Salinity -'s' = { - table2Version = 3 ; - indicatorOfParameter = 88 ; - } -#Salinity -'s' = { - table2Version = 2 ; - indicatorOfParameter = 88 ; - } -#Salinity -'s' = { - table2Version = 1 ; - indicatorOfParameter = 88 ; - } -#Density -'den' = { - table2Version = 3 ; - indicatorOfParameter = 89 ; - } -#Density -'den' = { - table2Version = 2 ; - indicatorOfParameter = 89 ; - } -#Density -'den' = { - table2Version = 1 ; - indicatorOfParameter = 89 ; - } -#Ice cover (1=ice, 0=no ice) -'icec' = { - table2Version = 3 ; - indicatorOfParameter = 91 ; - } -#Ice cover (1=ice, 0=no ice) -'icec' = { - table2Version = 2 ; - indicatorOfParameter = 91 ; - } -#Ice cover (1=ice, 0=no ice) -'icec' = { - table2Version = 1 ; - indicatorOfParameter = 91 ; - } -#Ice thickness -'icetk' = { - table2Version = 3 ; - indicatorOfParameter = 92 ; - } -#Ice thickness -'icetk' = { - table2Version = 2 ; - indicatorOfParameter = 92 ; - } -#Ice thickness -'icetk' = { - table2Version = 1 ; - indicatorOfParameter = 92 ; - } -#Direction of ice drift -'diced' = { - table2Version = 3 ; - indicatorOfParameter = 93 ; - } -#Direction of ice drift -'diced' = { - table2Version = 2 ; - indicatorOfParameter = 93 ; - } -#Direction of ice drift -'diced' = { - table2Version = 1 ; - indicatorOfParameter = 93 ; - } -#Speed of ice drift -'siced' = { - table2Version = 3 ; - indicatorOfParameter = 94 ; - } -#Speed of ice drift -'siced' = { - table2Version = 2 ; - indicatorOfParameter = 94 ; - } -#Speed of ice drift -'siced' = { - table2Version = 1 ; - indicatorOfParameter = 94 ; - } -#U-component of ice drift -'uice' = { - table2Version = 3 ; - indicatorOfParameter = 95 ; - } -#U-component of ice drift -'uice' = { - table2Version = 2 ; - indicatorOfParameter = 95 ; - } -#U-component of ice drift -'uice' = { - table2Version = 1 ; - indicatorOfParameter = 95 ; - } -#V-component of ice drift -'vice' = { - table2Version = 3 ; - indicatorOfParameter = 96 ; - } -#V-component of ice drift -'vice' = { - table2Version = 2 ; - indicatorOfParameter = 96 ; - } -#V-component of ice drift -'vice' = { - table2Version = 1 ; - indicatorOfParameter = 96 ; - } -#Ice growth rate -'iceg' = { - table2Version = 3 ; - indicatorOfParameter = 97 ; - } -#Ice growth rate -'iceg' = { - table2Version = 2 ; - indicatorOfParameter = 97 ; - } -#Ice growth rate -'iceg' = { - table2Version = 1 ; - indicatorOfParameter = 97 ; - } -#Ice divergence -'iced' = { - table2Version = 3 ; - indicatorOfParameter = 98 ; - } -#Ice divergence -'iced' = { - table2Version = 2 ; - indicatorOfParameter = 98 ; - } -#Ice divergence -'iced' = { - table2Version = 1 ; - indicatorOfParameter = 98 ; - } -#Snowmelt -'snom' = { - table2Version = 3 ; - indicatorOfParameter = 99 ; - } -#Snowmelt -'snom' = { - table2Version = 2 ; - indicatorOfParameter = 99 ; - } -#Snowmelt -'snom' = { - table2Version = 1 ; - indicatorOfParameter = 99 ; - } -#Signific.height,combined wind waves+swell -'swh' = { - table2Version = 3 ; - indicatorOfParameter = 100 ; - } -#Signific.height,combined wind waves+swell -'swh' = { - table2Version = 2 ; - indicatorOfParameter = 100 ; - } -#Signific.height,combined wind waves+swell -'swh' = { - table2Version = 1 ; - indicatorOfParameter = 100 ; - } -#Mean direction of wind waves -'mdww' = { - table2Version = 3 ; - indicatorOfParameter = 101 ; - } -#Mean direction of wind waves -'mdww' = { - table2Version = 2 ; - indicatorOfParameter = 101 ; - } -#Mean direction of wind waves -'mdww' = { - table2Version = 1 ; - indicatorOfParameter = 101 ; - } -#Significant height of wind waves -'shww' = { - table2Version = 3 ; - indicatorOfParameter = 102 ; - } -#Significant height of wind waves -'shww' = { - table2Version = 2 ; - indicatorOfParameter = 102 ; - } -#Significant height of wind waves -'shww' = { - table2Version = 1 ; - indicatorOfParameter = 102 ; - } -#Mean period of wind waves -'mpww' = { - table2Version = 3 ; - indicatorOfParameter = 103 ; - } -#Mean period of wind waves -'mpww' = { - table2Version = 2 ; - indicatorOfParameter = 103 ; - } -#Mean period of wind waves -'mpww' = { - table2Version = 1 ; - indicatorOfParameter = 103 ; - } -#Direction of swell waves -'swdir' = { - table2Version = 3 ; - indicatorOfParameter = 104 ; - } -#Direction of swell waves -'swdir' = { - table2Version = 2 ; - indicatorOfParameter = 104 ; - } -#Direction of swell waves -'swdir' = { - table2Version = 1 ; - indicatorOfParameter = 104 ; - } -#Significant height of swell waves -'swell' = { - table2Version = 3 ; - indicatorOfParameter = 105 ; - } -#Significant height of swell waves -'swell' = { - table2Version = 2 ; - indicatorOfParameter = 105 ; - } -#Significant height of swell waves -'swell' = { - table2Version = 1 ; - indicatorOfParameter = 105 ; - } -#Mean period of swell waves -'swper' = { - table2Version = 3 ; - indicatorOfParameter = 106 ; - } -#Mean period of swell waves -'swper' = { - table2Version = 2 ; - indicatorOfParameter = 106 ; - } -#Mean period of swell waves -'swper' = { - table2Version = 1 ; - indicatorOfParameter = 106 ; - } -#Primary wave direction -'mdps' = { - table2Version = 3 ; - indicatorOfParameter = 107 ; - } -#Primary wave direction -'mdps' = { - table2Version = 2 ; - indicatorOfParameter = 107 ; - } -#Primary wave direction -'mdps' = { - table2Version = 1 ; - indicatorOfParameter = 107 ; - } -#Primary wave mean period -'mpps' = { - table2Version = 3 ; - indicatorOfParameter = 108 ; - } -#Primary wave mean period -'mpps' = { - table2Version = 2 ; - indicatorOfParameter = 108 ; - } -#Primary wave mean period -'mpps' = { - table2Version = 1 ; - indicatorOfParameter = 108 ; - } -#Secondary wave direction -'dirsw' = { - table2Version = 3 ; - indicatorOfParameter = 109 ; - } -#Secondary wave direction -'dirsw' = { - table2Version = 2 ; - indicatorOfParameter = 109 ; - } -#Secondary wave direction -'dirsw' = { - table2Version = 1 ; - indicatorOfParameter = 109 ; - } -#Secondary wave mean period -'swp' = { - table2Version = 3 ; - indicatorOfParameter = 110 ; - } -#Secondary wave mean period -'swp' = { - table2Version = 2 ; - indicatorOfParameter = 110 ; - } -#Secondary wave mean period -'swp' = { - table2Version = 1 ; - indicatorOfParameter = 110 ; - } -#Net short-wave radiation flux (surface) -'nswrs' = { - table2Version = 3 ; - indicatorOfParameter = 111 ; - } -#Net short-wave radiation flux (surface) -'nswrs' = { - table2Version = 2 ; - indicatorOfParameter = 111 ; - } -#Net short-wave radiation flux (surface) -'nswrs' = { - table2Version = 1 ; - indicatorOfParameter = 111 ; - } -#Net long-wave radiation flux (surface) -'nlwrs' = { - table2Version = 3 ; - indicatorOfParameter = 112 ; - } -#Net long-wave radiation flux (surface) -'nlwrs' = { - table2Version = 2 ; - indicatorOfParameter = 112 ; - } -#Net long-wave radiation flux (surface) -'nlwrs' = { - table2Version = 1 ; - indicatorOfParameter = 112 ; - } -#Net short-wave radiation flux(atmosph.top) -'nswrt' = { - table2Version = 3 ; - indicatorOfParameter = 113 ; - } -#Net short-wave radiation flux(atmosph.top) -'nswrt' = { - table2Version = 2 ; - indicatorOfParameter = 113 ; - } -#Net short-wave radiation flux(atmosph.top) -'nswrt' = { - table2Version = 1 ; - indicatorOfParameter = 113 ; - } -#Net long-wave radiation flux(atmosph.top) -'nlwrt' = { - table2Version = 3 ; - indicatorOfParameter = 114 ; - } -#Net long-wave radiation flux(atmosph.top) -'nlwrt' = { - table2Version = 2 ; - indicatorOfParameter = 114 ; - } -#Net long-wave radiation flux(atmosph.top) -'nlwrt' = { - table2Version = 1 ; - indicatorOfParameter = 114 ; - } -#Long wave radiation flux -'lwavr' = { - table2Version = 3 ; - indicatorOfParameter = 115 ; - } -#Long wave radiation flux -'lwavr' = { - table2Version = 2 ; - indicatorOfParameter = 115 ; - } -#Long wave radiation flux -'lwavr' = { - table2Version = 1 ; - indicatorOfParameter = 115 ; - } -#Short wave radiation flux -'swavr' = { - table2Version = 3 ; - indicatorOfParameter = 116 ; - } -#Short wave radiation flux -'swavr' = { - table2Version = 2 ; - indicatorOfParameter = 116 ; - } -#Short wave radiation flux -'swavr' = { - table2Version = 1 ; - indicatorOfParameter = 116 ; - } -#Global radiation flux -'grad' = { - table2Version = 3 ; - indicatorOfParameter = 117 ; - } -#Global radiation flux -'grad' = { - table2Version = 2 ; - indicatorOfParameter = 117 ; - } -#Global radiation flux -'grad' = { - table2Version = 1 ; - indicatorOfParameter = 117 ; - } -#Radiance (with respect to wave number) -'lwrad' = { - table2Version = 3 ; - indicatorOfParameter = 119 ; - } -#Radiance (with respect to wave number) -'lwrad' = { - table2Version = 2 ; - indicatorOfParameter = 119 ; - } -#Radiance (with respect to wave number) -'lwrad' = { - table2Version = 1 ; - indicatorOfParameter = 119 ; - } -#Radiance (with respect to wave length) -'swrad' = { - table2Version = 3 ; - indicatorOfParameter = 120 ; - } -#Radiance (with respect to wave length) -'swrad' = { - table2Version = 2 ; - indicatorOfParameter = 120 ; - } -#Radiance (with respect to wave length) -'swrad' = { - table2Version = 1 ; - indicatorOfParameter = 120 ; - } -#Momentum flux, u-component -'uflx' = { - table2Version = 3 ; - indicatorOfParameter = 124 ; - } -#Momentum flux, u-component -'uflx' = { - table2Version = 2 ; - indicatorOfParameter = 124 ; - } -#Momentum flux, u-component -'uflx' = { - table2Version = 1 ; - indicatorOfParameter = 124 ; - } -#Momentum flux, v-component -'vflx' = { - table2Version = 3 ; - indicatorOfParameter = 125 ; - } -#Momentum flux, v-component -'vflx' = { - table2Version = 2 ; - indicatorOfParameter = 125 ; - } -#Momentum flux, v-component -'vflx' = { - table2Version = 1 ; - indicatorOfParameter = 125 ; - } -#Wind mixing energy -'wmixe' = { - table2Version = 3 ; - indicatorOfParameter = 126 ; - } -#Wind mixing energy -'wmixe' = { - table2Version = 2 ; - indicatorOfParameter = 126 ; - } -#Wind mixing energy -'wmixe' = { - table2Version = 1 ; - indicatorOfParameter = 126 ; - } -#Image data -'imgd' = { - table2Version = 3 ; - indicatorOfParameter = 127 ; - } -#Image data -'imgd' = { - table2Version = 2 ; - indicatorOfParameter = 127 ; - } -#Image data -'imgd' = { - table2Version = 1 ; - indicatorOfParameter = 127 ; - } -#Percentage of vegetation -'vegrea' = { - table2Version = 3 ; - indicatorOfParameter = 87 ; - } -#Percentage of vegetation -'vegrea' = { - table2Version = 2 ; - indicatorOfParameter = 87 ; - } -#Percentage of vegetation -'vegrea' = { - table2Version = 1 ; - indicatorOfParameter = 87 ; - } -#Orography -'orog' = { - table2Version = 3 ; - indicatorOfParameter = 7 ; - indicatorOfTypeOfLevel = 1 ; - } -#Orography -'orog' = { - table2Version = 2 ; - indicatorOfParameter = 7 ; - indicatorOfTypeOfLevel = 1 ; - } -#Orography -'orog' = { - table2Version = 1 ; - indicatorOfParameter = 7 ; - indicatorOfTypeOfLevel = 1 ; - } -#Soil moisture -'sm' = { - table2Version = 3 ; - indicatorOfParameter = 86 ; - } -#Soil moisture -'sm' = { - table2Version = 2 ; - indicatorOfParameter = 86 ; - } -#Soil moisture -'sm' = { - table2Version = 1 ; - indicatorOfParameter = 86 ; - } -#Soil temperature -'st' = { - table2Version = 3 ; - indicatorOfParameter = 85 ; - } -#Soil temperature -'st' = { - table2Version = 2 ; - indicatorOfParameter = 85 ; - } -#Soil temperature -'st' = { - table2Version = 1 ; - indicatorOfParameter = 85 ; - } -#Snowfall water equivalent -'sf' = { - table2Version = 3 ; - indicatorOfParameter = 65 ; - } -#Snowfall water equivalent -'sf' = { - table2Version = 2 ; - indicatorOfParameter = 65 ; - } -#Snowfall water equivalent -'sf' = { - table2Version = 1 ; - indicatorOfParameter = 65 ; - } -#Total Cloud Cover -'tcc' = { - table2Version = 3 ; - indicatorOfParameter = 71 ; - } -#Total Cloud Cover -'tcc' = { - table2Version = 2 ; - indicatorOfParameter = 71 ; - } -#Total Cloud Cover -'tcc' = { - table2Version = 1 ; - indicatorOfParameter = 71 ; - } -#Total Precipitation -'tp' = { - table2Version = 3 ; - indicatorOfParameter = 61 ; - indicatorOfTypeOfLevel = 1 ; - level = 0 ; - } -#Total Precipitation -'tp' = { - table2Version = 2 ; - indicatorOfParameter = 61 ; - indicatorOfTypeOfLevel = 1 ; - level = 0 ; - } -#Total Precipitation -'tp' = { - table2Version = 1 ; - indicatorOfParameter = 61 ; - indicatorOfTypeOfLevel = 1 ; - level = 0 ; } diff --git a/definitions/grib1/localConcepts/ecmf/cfVarName.def b/definitions/grib1/localConcepts/ecmf/cfVarName.def index e3d757597..92f6bd7cb 100644 --- a/definitions/grib1/localConcepts/ecmf/cfVarName.def +++ b/definitions/grib1/localConcepts/ecmf/cfVarName.def @@ -1,654 +1,14 @@ # Automatically generated by ./create_def.pl, do not edit -#Total precipitation of at least 1 mm -'tpg1' = { - table2Version = 131 ; - indicatorOfParameter = 60 ; - } -#Total precipitation of at least 5 mm -'tpg5' = { - table2Version = 131 ; - indicatorOfParameter = 61 ; - } -#Total precipitation of at least 10 mm -'tpg10' = { - table2Version = 131 ; - indicatorOfParameter = 62 ; - } -#Total precipitation of at least 20 mm -'tpg20' = { - table2Version = 131 ; - indicatorOfParameter = 63 ; - } -#Total precipitation of at least 40 mm -'tpg40' = { - table2Version = 131 ; - indicatorOfParameter = 82 ; - } -#Total precipitation of at least 60 mm -'tpg60' = { - table2Version = 131 ; - indicatorOfParameter = 83 ; - } -#Total precipitation of at least 80 mm -'tpg80' = { - table2Version = 131 ; - indicatorOfParameter = 84 ; - } -#Total precipitation of at least 100 mm -'tpg100' = { - table2Version = 131 ; - indicatorOfParameter = 85 ; - } -#Total precipitation of at least 150 mm -'tpg150' = { - table2Version = 131 ; - indicatorOfParameter = 86 ; - } -#Total precipitation of at least 200 mm -'tpg200' = { - table2Version = 131 ; - indicatorOfParameter = 87 ; - } -#Total precipitation of at least 300 mm -'tpg300' = { - table2Version = 131 ; - indicatorOfParameter = 88 ; - } -#Stream function -'strf' = { - table2Version = 128 ; - indicatorOfParameter = 1 ; - } -#Velocity potential -'vp' = { - table2Version = 128 ; - indicatorOfParameter = 2 ; - } -#Potential temperature -'pt' = { - table2Version = 128 ; - indicatorOfParameter = 3 ; - } -#Equivalent potential temperature -'eqpt' = { - table2Version = 128 ; - indicatorOfParameter = 4 ; - } -#Saturated equivalent potential temperature -'sept' = { - table2Version = 128 ; - indicatorOfParameter = 5 ; - } -#Soil sand fraction -'ssfr' = { - table2Version = 128 ; - indicatorOfParameter = 6 ; - } -#Soil clay fraction -'scfr' = { - table2Version = 128 ; - indicatorOfParameter = 7 ; - } -#Surface runoff -'sro' = { - table2Version = 128 ; - indicatorOfParameter = 8 ; - } -#Sub-surface runoff -'ssro' = { - table2Version = 128 ; - indicatorOfParameter = 9 ; - } -#Wind speed -'ws' = { - table2Version = 128 ; - indicatorOfParameter = 10 ; - } -#U component of divergent wind -'udvw' = { - table2Version = 128 ; - indicatorOfParameter = 11 ; - } -#V component of divergent wind -'vdvw' = { - table2Version = 128 ; - indicatorOfParameter = 12 ; - } -#U component of rotational wind -'urtw' = { - table2Version = 128 ; - indicatorOfParameter = 13 ; - } -#V component of rotational wind -'vrtw' = { - table2Version = 128 ; - indicatorOfParameter = 14 ; - } -#UV visible albedo for direct radiation (climatological) -'aluvp' = { - table2Version = 128 ; - indicatorOfParameter = 15 ; - } -#UV visible albedo for diffuse radiation (climatological) -'aluvd' = { - table2Version = 128 ; - indicatorOfParameter = 16 ; - } -#Near IR albedo for direct radiation (climatological) -'alnip' = { - table2Version = 128 ; - indicatorOfParameter = 17 ; - } -#Near IR albedo for diffuse radiation (climatological) -'alnid' = { - table2Version = 128 ; - indicatorOfParameter = 18 ; - } -#Clear sky surface UV -'uvcs' = { - table2Version = 128 ; - indicatorOfParameter = 19 ; - } -#Surface photosynthetically active radiation, clear sky -'parcs' = { - table2Version = 128 ; - indicatorOfParameter = 20 ; - } -#Unbalanced component of temperature -'uctp' = { - table2Version = 128 ; - indicatorOfParameter = 21 ; - } -#Unbalanced component of logarithm of surface pressure -'ucln' = { - table2Version = 128 ; - indicatorOfParameter = 22 ; - } -#Unbalanced component of divergence -'ucdv' = { - table2Version = 128 ; - indicatorOfParameter = 23 ; - } -#Reserved for future unbalanced components -'p24.128' = { - table2Version = 128 ; - indicatorOfParameter = 24 ; - } -#Reserved for future unbalanced components -'p25.128' = { - table2Version = 128 ; - indicatorOfParameter = 25 ; - } -#Lake cover -'cl' = { - table2Version = 128 ; - indicatorOfParameter = 26 ; - } -#Low vegetation cover -'cvl' = { - table2Version = 128 ; - indicatorOfParameter = 27 ; - } -#High vegetation cover -'cvh' = { - table2Version = 128 ; - indicatorOfParameter = 28 ; - } -#Type of low vegetation -'tvl' = { - table2Version = 128 ; - indicatorOfParameter = 29 ; - } -#Type of high vegetation -'tvh' = { - table2Version = 128 ; - indicatorOfParameter = 30 ; - } #Sea ice area fraction 'siconc' = { table2Version = 128 ; indicatorOfParameter = 31 ; } -#Snow albedo -'asn' = { - table2Version = 128 ; - indicatorOfParameter = 32 ; - } -#Snow density -'rsn' = { - table2Version = 128 ; - indicatorOfParameter = 33 ; - } -#Sea surface temperature -'sst' = { - table2Version = 128 ; - indicatorOfParameter = 34 ; - } -#Ice temperature layer 1 -'istl1' = { - table2Version = 128 ; - indicatorOfParameter = 35 ; - } -#Ice temperature layer 2 -'istl2' = { - table2Version = 128 ; - indicatorOfParameter = 36 ; - } -#Ice temperature layer 3 -'istl3' = { - table2Version = 128 ; - indicatorOfParameter = 37 ; - } -#Ice temperature layer 4 -'istl4' = { - table2Version = 128 ; - indicatorOfParameter = 38 ; - } -#Volumetric soil water layer 1 -'swvl1' = { - table2Version = 128 ; - indicatorOfParameter = 39 ; - } -#Volumetric soil water layer 2 -'swvl2' = { - table2Version = 128 ; - indicatorOfParameter = 40 ; - } -#Volumetric soil water layer 3 -'swvl3' = { - table2Version = 128 ; - indicatorOfParameter = 41 ; - } -#Volumetric soil water layer 4 -'swvl4' = { - table2Version = 128 ; - indicatorOfParameter = 42 ; - } -#Soil type -'slt' = { - table2Version = 128 ; - indicatorOfParameter = 43 ; - } -#Snow evaporation -'es' = { - table2Version = 128 ; - indicatorOfParameter = 44 ; - } -#Snowmelt -'smlt' = { - table2Version = 128 ; - indicatorOfParameter = 45 ; - } -#Solar duration -'sdur' = { - table2Version = 128 ; - indicatorOfParameter = 46 ; - } -#Direct solar radiation -'dsrp' = { - table2Version = 128 ; - indicatorOfParameter = 47 ; - } -#Magnitude of turbulent surface stress -'magss' = { - table2Version = 128 ; - indicatorOfParameter = 48 ; - } #Maximum 10 metre wind gust since previous post-processing 'fg10' = { table2Version = 128 ; indicatorOfParameter = 49 ; } -#Large-scale precipitation fraction -'lspf' = { - table2Version = 128 ; - indicatorOfParameter = 50 ; - } -#Maximum temperature at 2 metres in the last 24 hours -'mx2t24' = { - table2Version = 128 ; - indicatorOfParameter = 51 ; - } -#Minimum temperature at 2 metres in the last 24 hours -'mn2t24' = { - table2Version = 128 ; - indicatorOfParameter = 52 ; - } -#Montgomery potential -'mont' = { - table2Version = 128 ; - indicatorOfParameter = 53 ; - } -#Pressure -'pres' = { - table2Version = 128 ; - indicatorOfParameter = 54 ; - } -#Mean temperature at 2 metres in the last 24 hours -'mean2t24' = { - table2Version = 128 ; - indicatorOfParameter = 55 ; - } -#Mean 2 metre dewpoint temperature in the last 24 hours -'mn2d24' = { - table2Version = 128 ; - indicatorOfParameter = 56 ; - } -#Downward UV radiation at the surface -'uvb' = { - table2Version = 128 ; - indicatorOfParameter = 57 ; - } -#Photosynthetically active radiation at the surface -'par' = { - table2Version = 128 ; - indicatorOfParameter = 58 ; - } -#Convective available potential energy -'cape' = { - table2Version = 128 ; - indicatorOfParameter = 59 ; - } -#Potential vorticity -'pv' = { - table2Version = 128 ; - indicatorOfParameter = 60 ; - } -#Observation count -'obct' = { - table2Version = 128 ; - indicatorOfParameter = 62 ; - } -#Start time for skin temperature difference -'stsktd' = { - table2Version = 128 ; - indicatorOfParameter = 63 ; - } -#Finish time for skin temperature difference -'ftsktd' = { - table2Version = 128 ; - indicatorOfParameter = 64 ; - } -#Skin temperature difference -'sktd' = { - table2Version = 128 ; - indicatorOfParameter = 65 ; - } -#Leaf area index, low vegetation -'lai_lv' = { - table2Version = 128 ; - indicatorOfParameter = 66 ; - } -#Leaf area index, high vegetation -'lai_hv' = { - table2Version = 128 ; - indicatorOfParameter = 67 ; - } -#Minimum stomatal resistance, low vegetation -'msr_lv' = { - table2Version = 128 ; - indicatorOfParameter = 68 ; - } -#Minimum stomatal resistance, high vegetation -'msr_hv' = { - table2Version = 128 ; - indicatorOfParameter = 69 ; - } -#Biome cover, low vegetation -'bc_lv' = { - table2Version = 128 ; - indicatorOfParameter = 70 ; - } -#Biome cover, high vegetation -'bc_hv' = { - table2Version = 128 ; - indicatorOfParameter = 71 ; - } -#Instantaneous surface solar radiation downwards -'issrd' = { - table2Version = 128 ; - indicatorOfParameter = 72 ; - } -#Instantaneous surface thermal radiation downwards -'istrd' = { - table2Version = 128 ; - indicatorOfParameter = 73 ; - } -#Standard deviation of filtered subgrid orography (climatological) -'sdfor' = { - table2Version = 128 ; - indicatorOfParameter = 74 ; - } -#Specific rain water content -'crwc' = { - table2Version = 128 ; - indicatorOfParameter = 75 ; - } -#Specific snow water content -'cswc' = { - table2Version = 128 ; - indicatorOfParameter = 76 ; - } -#Eta-coordinate vertical velocity -'etadot' = { - table2Version = 128 ; - indicatorOfParameter = 77 ; - } -#Total column cloud liquid water -'tclw' = { - table2Version = 128 ; - indicatorOfParameter = 78 ; - } -#Total column cloud ice water -'tciw' = { - table2Version = 128 ; - indicatorOfParameter = 79 ; - } -#Experimental product -'p80.128' = { - table2Version = 128 ; - indicatorOfParameter = 80 ; - } -#Experimental product -'p81.128' = { - table2Version = 128 ; - indicatorOfParameter = 81 ; - } -#Experimental product -'p82.128' = { - table2Version = 128 ; - indicatorOfParameter = 82 ; - } -#Experimental product -'p83.128' = { - table2Version = 128 ; - indicatorOfParameter = 83 ; - } -#Experimental product -'p84.128' = { - table2Version = 128 ; - indicatorOfParameter = 84 ; - } -#Experimental product -'p85.128' = { - table2Version = 128 ; - indicatorOfParameter = 85 ; - } -#Experimental product -'p86.128' = { - table2Version = 128 ; - indicatorOfParameter = 86 ; - } -#Experimental product -'p87.128' = { - table2Version = 128 ; - indicatorOfParameter = 87 ; - } -#Experimental product -'p88.128' = { - table2Version = 128 ; - indicatorOfParameter = 88 ; - } -#Experimental product -'p89.128' = { - table2Version = 128 ; - indicatorOfParameter = 89 ; - } -#Experimental product -'p90.128' = { - table2Version = 128 ; - indicatorOfParameter = 90 ; - } -#Experimental product -'p91.128' = { - table2Version = 128 ; - indicatorOfParameter = 91 ; - } -#Experimental product -'p92.128' = { - table2Version = 128 ; - indicatorOfParameter = 92 ; - } -#Experimental product -'p93.128' = { - table2Version = 128 ; - indicatorOfParameter = 93 ; - } -#Experimental product -'p94.128' = { - table2Version = 128 ; - indicatorOfParameter = 94 ; - } -#Experimental product -'p95.128' = { - table2Version = 128 ; - indicatorOfParameter = 95 ; - } -#Experimental product -'p96.128' = { - table2Version = 128 ; - indicatorOfParameter = 96 ; - } -#Experimental product -'p97.128' = { - table2Version = 128 ; - indicatorOfParameter = 97 ; - } -#Experimental product -'p98.128' = { - table2Version = 128 ; - indicatorOfParameter = 98 ; - } -#Experimental product -'p99.128' = { - table2Version = 128 ; - indicatorOfParameter = 99 ; - } -#Experimental product -'p100.128' = { - table2Version = 128 ; - indicatorOfParameter = 100 ; - } -#Experimental product -'p101.128' = { - table2Version = 128 ; - indicatorOfParameter = 101 ; - } -#Experimental product -'p102.128' = { - table2Version = 128 ; - indicatorOfParameter = 102 ; - } -#Experimental product -'p103.128' = { - table2Version = 128 ; - indicatorOfParameter = 103 ; - } -#Experimental product -'p104.128' = { - table2Version = 128 ; - indicatorOfParameter = 104 ; - } -#Experimental product -'p105.128' = { - table2Version = 128 ; - indicatorOfParameter = 105 ; - } -#Experimental product -'p106.128' = { - table2Version = 128 ; - indicatorOfParameter = 106 ; - } -#Experimental product -'p107.128' = { - table2Version = 128 ; - indicatorOfParameter = 107 ; - } -#Experimental product -'p108.128' = { - table2Version = 128 ; - indicatorOfParameter = 108 ; - } -#Experimental product -'p109.128' = { - table2Version = 128 ; - indicatorOfParameter = 109 ; - } -#Experimental product -'p110.128' = { - table2Version = 128 ; - indicatorOfParameter = 110 ; - } -#Experimental product -'p111.128' = { - table2Version = 128 ; - indicatorOfParameter = 111 ; - } -#Experimental product -'p112.128' = { - table2Version = 128 ; - indicatorOfParameter = 112 ; - } -#Experimental product -'p113.128' = { - table2Version = 128 ; - indicatorOfParameter = 113 ; - } -#Experimental product -'p114.128' = { - table2Version = 128 ; - indicatorOfParameter = 114 ; - } -#Experimental product -'p115.128' = { - table2Version = 128 ; - indicatorOfParameter = 115 ; - } -#Experimental product -'p116.128' = { - table2Version = 128 ; - indicatorOfParameter = 116 ; - } -#Experimental product -'p117.128' = { - table2Version = 128 ; - indicatorOfParameter = 117 ; - } -#Experimental product -'p118.128' = { - table2Version = 128 ; - indicatorOfParameter = 118 ; - } -#Experimental product -'p119.128' = { - table2Version = 128 ; - indicatorOfParameter = 119 ; - } -#Experimental product -'p120.128' = { - table2Version = 128 ; - indicatorOfParameter = 120 ; - } #Maximum temperature at 2 metres in the last 6 hours 'mx2t6' = { table2Version = 128 ; @@ -659,561 +19,6 @@ table2Version = 128 ; indicatorOfParameter = 122 ; } -#Maximum 10 metre wind gust in the last 6 hours -'p10fg6' = { - table2Version = 128 ; - indicatorOfParameter = 123 ; - } -#Surface emissivity -'emis' = { - table2Version = 128 ; - indicatorOfParameter = 124 ; - } -#Vertically integrated total energy -'vite' = { - table2Version = 128 ; - indicatorOfParameter = 125 ; - } -#Generic parameter for sensitive area prediction -'p126.128' = { - table2Version = 128 ; - indicatorOfParameter = 126 ; - } -#Atmospheric tide -'at' = { - table2Version = 128 ; - indicatorOfParameter = 127 ; - } -#Atmospheric tide -'at' = { - table2Version = 160 ; - indicatorOfParameter = 127 ; - } -#Budget values -'bv' = { - table2Version = 128 ; - indicatorOfParameter = 128 ; - } -#Budget values -'bv' = { - table2Version = 160 ; - indicatorOfParameter = 128 ; - } -#Geopotential -'z' = { - table2Version = 128 ; - indicatorOfParameter = 129 ; - } -#Geopotential -'z' = { - table2Version = 160 ; - indicatorOfParameter = 129 ; - } -#Geopotential -'z' = { - table2Version = 170 ; - indicatorOfParameter = 129 ; - } -#Geopotential -'z' = { - table2Version = 180 ; - indicatorOfParameter = 129 ; - } -#Geopotential -'z' = { - table2Version = 190 ; - indicatorOfParameter = 129 ; - } -#Temperature -'t' = { - table2Version = 128 ; - indicatorOfParameter = 130 ; - } -#Temperature -'t' = { - table2Version = 160 ; - indicatorOfParameter = 130 ; - } -#Temperature -'t' = { - table2Version = 170 ; - indicatorOfParameter = 130 ; - } -#Temperature -'t' = { - table2Version = 180 ; - indicatorOfParameter = 130 ; - } -#Temperature -'t' = { - table2Version = 190 ; - indicatorOfParameter = 130 ; - } -#U component of wind -'u' = { - table2Version = 128 ; - indicatorOfParameter = 131 ; - } -#U component of wind -'u' = { - table2Version = 160 ; - indicatorOfParameter = 131 ; - } -#U component of wind -'u' = { - table2Version = 170 ; - indicatorOfParameter = 131 ; - } -#U component of wind -'u' = { - table2Version = 180 ; - indicatorOfParameter = 131 ; - } -#U component of wind -'u' = { - table2Version = 190 ; - indicatorOfParameter = 131 ; - } -#V component of wind -'v' = { - table2Version = 128 ; - indicatorOfParameter = 132 ; - } -#V component of wind -'v' = { - table2Version = 160 ; - indicatorOfParameter = 132 ; - } -#V component of wind -'v' = { - table2Version = 170 ; - indicatorOfParameter = 132 ; - } -#V component of wind -'v' = { - table2Version = 180 ; - indicatorOfParameter = 132 ; - } -#V component of wind -'v' = { - table2Version = 190 ; - indicatorOfParameter = 132 ; - } -#Specific humidity -'q' = { - table2Version = 128 ; - indicatorOfParameter = 133 ; - } -#Specific humidity -'q' = { - table2Version = 160 ; - indicatorOfParameter = 133 ; - } -#Specific humidity -'q' = { - table2Version = 170 ; - indicatorOfParameter = 133 ; - } -#Specific humidity -'q' = { - table2Version = 180 ; - indicatorOfParameter = 133 ; - } -#Specific humidity -'q' = { - table2Version = 190 ; - indicatorOfParameter = 133 ; - } -#Surface pressure -'sp' = { - table2Version = 128 ; - indicatorOfParameter = 134 ; - } -#Surface pressure -'sp' = { - table2Version = 160 ; - indicatorOfParameter = 134 ; - } -#Surface pressure -'sp' = { - table2Version = 162 ; - indicatorOfParameter = 52 ; - } -#Surface pressure -'sp' = { - table2Version = 180 ; - indicatorOfParameter = 134 ; - } -#Surface pressure -'sp' = { - table2Version = 190 ; - indicatorOfParameter = 134 ; - } -#Vertical velocity -'w' = { - table2Version = 128 ; - indicatorOfParameter = 135 ; - } -#Vertical velocity -'w' = { - table2Version = 170 ; - indicatorOfParameter = 135 ; - } -#Total column water -'tcw' = { - table2Version = 128 ; - indicatorOfParameter = 136 ; - } -#Total column water -'tcw' = { - table2Version = 160 ; - indicatorOfParameter = 136 ; - } -#Total column vertically-integrated water vapour -'tcwv' = { - table2Version = 128 ; - indicatorOfParameter = 137 ; - } -#Total column vertically-integrated water vapour -'tcwv' = { - table2Version = 180 ; - indicatorOfParameter = 137 ; - } -#Vorticity (relative) -'vo' = { - table2Version = 128 ; - indicatorOfParameter = 138 ; - } -#Vorticity (relative) -'vo' = { - table2Version = 160 ; - indicatorOfParameter = 138 ; - } -#Vorticity (relative) -'vo' = { - table2Version = 170 ; - indicatorOfParameter = 138 ; - } -#Vorticity (relative) -'vo' = { - table2Version = 180 ; - indicatorOfParameter = 138 ; - } -#Vorticity (relative) -'vo' = { - table2Version = 190 ; - indicatorOfParameter = 138 ; - } -#Soil temperature level 1 -'stl1' = { - table2Version = 128 ; - indicatorOfParameter = 139 ; - } -#Soil temperature level 1 -'stl1' = { - table2Version = 160 ; - indicatorOfParameter = 139 ; - } -#Soil temperature level 1 -'stl1' = { - table2Version = 170 ; - indicatorOfParameter = 139 ; - } -#Soil temperature level 1 -'stl1' = { - table2Version = 190 ; - indicatorOfParameter = 139 ; - } -#Soil wetness level 1 -'swl1' = { - table2Version = 128 ; - indicatorOfParameter = 140 ; - } -#Soil wetness level 1 -'swl1' = { - table2Version = 170 ; - indicatorOfParameter = 140 ; - } -#Snow depth -'sd' = { - table2Version = 128 ; - indicatorOfParameter = 141 ; - } -#Snow depth -'sd' = { - table2Version = 170 ; - indicatorOfParameter = 141 ; - } -#Snow depth -'sd' = { - table2Version = 180 ; - indicatorOfParameter = 141 ; - } -#Large-scale precipitation -'lsp' = { - table2Version = 128 ; - indicatorOfParameter = 142 ; - } -#Large-scale precipitation -'lsp' = { - table2Version = 170 ; - indicatorOfParameter = 142 ; - } -#Large-scale precipitation -'lsp' = { - table2Version = 180 ; - indicatorOfParameter = 142 ; - } -#Convective precipitation -'cp' = { - table2Version = 128 ; - indicatorOfParameter = 143 ; - } -#Convective precipitation -'cp' = { - table2Version = 170 ; - indicatorOfParameter = 143 ; - } -#Convective precipitation -'cp' = { - table2Version = 180 ; - indicatorOfParameter = 143 ; - } -#Snowfall -'sf' = { - table2Version = 128 ; - indicatorOfParameter = 144 ; - } -#Snowfall -'sf' = { - table2Version = 180 ; - indicatorOfParameter = 144 ; - } -#Boundary layer dissipation -'bld' = { - table2Version = 128 ; - indicatorOfParameter = 145 ; - } -#Boundary layer dissipation -'bld' = { - table2Version = 160 ; - indicatorOfParameter = 145 ; - } -#Surface sensible heat flux -'sshf' = { - table2Version = 128 ; - indicatorOfParameter = 146 ; - } -#Surface sensible heat flux -'sshf' = { - table2Version = 160 ; - indicatorOfParameter = 146 ; - } -#Surface sensible heat flux -'sshf' = { - table2Version = 170 ; - indicatorOfParameter = 146 ; - } -#Surface sensible heat flux -'sshf' = { - table2Version = 180 ; - indicatorOfParameter = 146 ; - } -#Surface sensible heat flux -'sshf' = { - table2Version = 190 ; - indicatorOfParameter = 146 ; - } -#Surface latent heat flux -'slhf' = { - table2Version = 128 ; - indicatorOfParameter = 147 ; - } -#Surface latent heat flux -'slhf' = { - table2Version = 160 ; - indicatorOfParameter = 147 ; - } -#Surface latent heat flux -'slhf' = { - table2Version = 170 ; - indicatorOfParameter = 147 ; - } -#Surface latent heat flux -'slhf' = { - table2Version = 180 ; - indicatorOfParameter = 147 ; - } -#Surface latent heat flux -'slhf' = { - table2Version = 190 ; - indicatorOfParameter = 147 ; - } -#Charnock -'chnk' = { - table2Version = 128 ; - indicatorOfParameter = 148 ; - } -#Surface net radiation (SW and LW) -'snr' = { - table2Version = 128 ; - indicatorOfParameter = 149 ; - } -#Top net radiation (SW and LW) -'tnr' = { - table2Version = 128 ; - indicatorOfParameter = 150 ; - } -#Mean sea level pressure -'msl' = { - table2Version = 128 ; - indicatorOfParameter = 151 ; - } -#Mean sea level pressure -'msl' = { - table2Version = 160 ; - indicatorOfParameter = 151 ; - } -#Mean sea level pressure -'msl' = { - table2Version = 170 ; - indicatorOfParameter = 151 ; - } -#Mean sea level pressure -'msl' = { - table2Version = 180 ; - indicatorOfParameter = 151 ; - } -#Mean sea level pressure -'msl' = { - table2Version = 190 ; - indicatorOfParameter = 151 ; - } -#Logarithm of surface pressure -'lnsp' = { - table2Version = 128 ; - indicatorOfParameter = 152 ; - } -#Logarithm of surface pressure -'lnsp' = { - table2Version = 160 ; - indicatorOfParameter = 152 ; - } -#Short-wave heating rate -'swhr' = { - table2Version = 128 ; - indicatorOfParameter = 153 ; - } -#Long-wave heating rate -'lwhr' = { - table2Version = 128 ; - indicatorOfParameter = 154 ; - } -#Divergence -'d' = { - table2Version = 128 ; - indicatorOfParameter = 155 ; - } -#Divergence -'d' = { - table2Version = 160 ; - indicatorOfParameter = 155 ; - } -#Divergence -'d' = { - table2Version = 170 ; - indicatorOfParameter = 155 ; - } -#Divergence -'d' = { - table2Version = 180 ; - indicatorOfParameter = 155 ; - } -#Divergence -'d' = { - table2Version = 190 ; - indicatorOfParameter = 155 ; - } -#Geopotential height -'gh' = { - table2Version = 128 ; - indicatorOfParameter = 156 ; - } -#Relative humidity -'r' = { - table2Version = 128 ; - indicatorOfParameter = 157 ; - } -#Relative humidity -'r' = { - table2Version = 170 ; - indicatorOfParameter = 157 ; - } -#Relative humidity -'r' = { - table2Version = 190 ; - indicatorOfParameter = 157 ; - } -#Tendency of surface pressure -'tsp' = { - table2Version = 128 ; - indicatorOfParameter = 158 ; - } -#Tendency of surface pressure -'tsp' = { - table2Version = 160 ; - indicatorOfParameter = 158 ; - } -#Boundary layer height -'blh' = { - table2Version = 128 ; - indicatorOfParameter = 159 ; - } -#Standard deviation of sub-gridscale orography -'sdor' = { - table2Version = 128 ; - indicatorOfParameter = 160 ; - } -#Anisotropy of sub-gridscale orography -'isor' = { - table2Version = 128 ; - indicatorOfParameter = 161 ; - } -#Angle of sub-gridscale orography -'anor' = { - table2Version = 128 ; - indicatorOfParameter = 162 ; - } -#Slope of sub-gridscale orography -'slor' = { - table2Version = 128 ; - indicatorOfParameter = 163 ; - } -#Total cloud cover -'tcc' = { - table2Version = 128 ; - indicatorOfParameter = 164 ; - } -#Total cloud cover -'tcc' = { - table2Version = 160 ; - indicatorOfParameter = 164 ; - } -#Total cloud cover -'tcc' = { - table2Version = 170 ; - indicatorOfParameter = 164 ; - } -#Total cloud cover -'tcc' = { - table2Version = 180 ; - indicatorOfParameter = 164 ; - } -#Total cloud cover -'tcc' = { - table2Version = 190 ; - indicatorOfParameter = 164 ; - } #10 metre U wind component 'u10' = { table2Version = 128 ; @@ -1294,386 +99,6 @@ table2Version = 190 ; indicatorOfParameter = 168 ; } -#Surface short-wave (solar) radiation downwards -'ssrd' = { - table2Version = 128 ; - indicatorOfParameter = 169 ; - } -#Surface short-wave (solar) radiation downwards -'ssrd' = { - table2Version = 190 ; - indicatorOfParameter = 169 ; - } -#Soil temperature level 2 -'stl2' = { - table2Version = 128 ; - indicatorOfParameter = 170 ; - } -#Soil temperature level 2 -'stl2' = { - table2Version = 160 ; - indicatorOfParameter = 170 ; - } -#Soil wetness level 2 -'swl2' = { - table2Version = 128 ; - indicatorOfParameter = 171 ; - } -#Land-sea mask -'lsm' = { - table2Version = 128 ; - indicatorOfParameter = 172 ; - } -#Land-sea mask -'lsm' = { - table2Version = 160 ; - indicatorOfParameter = 172 ; - } -#Land-sea mask -'lsm' = { - table2Version = 171 ; - indicatorOfParameter = 172 ; - } -#Land-sea mask -'lsm' = { - table2Version = 174 ; - indicatorOfParameter = 172 ; - } -#Land-sea mask -'lsm' = { - table2Version = 175 ; - indicatorOfParameter = 172 ; - } -#Land-sea mask -'lsm' = { - table2Version = 180 ; - indicatorOfParameter = 172 ; - } -#Land-sea mask -'lsm' = { - table2Version = 190 ; - indicatorOfParameter = 172 ; - } -#Surface roughness (climatological) -'sr' = { - table2Version = 128 ; - indicatorOfParameter = 173 ; - } -#Surface roughness (climatological) -'sr' = { - table2Version = 160 ; - indicatorOfParameter = 173 ; - } -#Albedo (climatological) -'al' = { - table2Version = 128 ; - indicatorOfParameter = 174 ; - } -#Albedo (climatological) -'al' = { - table2Version = 160 ; - indicatorOfParameter = 174 ; - } -#Albedo (climatological) -'al' = { - table2Version = 190 ; - indicatorOfParameter = 174 ; - } -#Surface long-wave (thermal) radiation downwards -'strd' = { - table2Version = 128 ; - indicatorOfParameter = 175 ; - } -#Surface long-wave (thermal) radiation downwards -'strd' = { - table2Version = 190 ; - indicatorOfParameter = 175 ; - } -#Surface net short-wave (solar) radiation -'ssr' = { - table2Version = 128 ; - indicatorOfParameter = 176 ; - } -#Surface net short-wave (solar) radiation -'ssr' = { - table2Version = 160 ; - indicatorOfParameter = 176 ; - } -#Surface net short-wave (solar) radiation -'ssr' = { - table2Version = 170 ; - indicatorOfParameter = 176 ; - } -#Surface net short-wave (solar) radiation -'ssr' = { - table2Version = 190 ; - indicatorOfParameter = 176 ; - } -#Surface net long-wave (thermal) radiation -'str' = { - table2Version = 128 ; - indicatorOfParameter = 177 ; - } -#Surface net long-wave (thermal) radiation -'str' = { - table2Version = 160 ; - indicatorOfParameter = 177 ; - } -#Surface net long-wave (thermal) radiation -'str' = { - table2Version = 170 ; - indicatorOfParameter = 177 ; - } -#Surface net long-wave (thermal) radiation -'str' = { - table2Version = 190 ; - indicatorOfParameter = 177 ; - } -#Top net short-wave (solar) radiation -'tsr' = { - table2Version = 128 ; - indicatorOfParameter = 178 ; - } -#Top net short-wave (solar) radiation -'tsr' = { - table2Version = 160 ; - indicatorOfParameter = 178 ; - } -#Top net short-wave (solar) radiation -'tsr' = { - table2Version = 190 ; - indicatorOfParameter = 178 ; - } -#Top net long-wave (thermal) radiation -'ttr' = { - table2Version = 128 ; - indicatorOfParameter = 179 ; - } -#Top net long-wave (thermal) radiation -'ttr' = { - table2Version = 160 ; - indicatorOfParameter = 179 ; - } -#Top net long-wave (thermal) radiation -'ttr' = { - table2Version = 190 ; - indicatorOfParameter = 179 ; - } -#Time-integrated eastward turbulent surface stress -'ewss' = { - table2Version = 128 ; - indicatorOfParameter = 180 ; - } -#Time-integrated eastward turbulent surface stress -'ewss' = { - table2Version = 170 ; - indicatorOfParameter = 180 ; - } -#Time-integrated eastward turbulent surface stress -'ewss' = { - table2Version = 180 ; - indicatorOfParameter = 180 ; - } -#Time-integrated northward turbulent surface stress -'nsss' = { - table2Version = 128 ; - indicatorOfParameter = 181 ; - } -#Time-integrated northward turbulent surface stress -'nsss' = { - table2Version = 170 ; - indicatorOfParameter = 181 ; - } -#Time-integrated northward turbulent surface stress -'nsss' = { - table2Version = 180 ; - indicatorOfParameter = 181 ; - } -#Evaporation -'e' = { - table2Version = 128 ; - indicatorOfParameter = 182 ; - } -#Evaporation -'e' = { - table2Version = 170 ; - indicatorOfParameter = 182 ; - } -#Evaporation -'e' = { - table2Version = 180 ; - indicatorOfParameter = 182 ; - } -#Evaporation -'e' = { - table2Version = 190 ; - indicatorOfParameter = 182 ; - } -#Soil temperature level 3 -'stl3' = { - table2Version = 128 ; - indicatorOfParameter = 183 ; - } -#Soil temperature level 3 -'stl3' = { - table2Version = 160 ; - indicatorOfParameter = 183 ; - } -#Soil wetness level 3 -'swl3' = { - table2Version = 128 ; - indicatorOfParameter = 184 ; - } -#Soil wetness level 3 -'swl3' = { - table2Version = 170 ; - indicatorOfParameter = 184 ; - } -#Convective cloud cover -'ccc' = { - table2Version = 128 ; - indicatorOfParameter = 185 ; - } -#Convective cloud cover -'ccc' = { - table2Version = 160 ; - indicatorOfParameter = 185 ; - } -#Convective cloud cover -'ccc' = { - table2Version = 170 ; - indicatorOfParameter = 185 ; - } -#Low cloud cover -'lcc' = { - table2Version = 128 ; - indicatorOfParameter = 186 ; - } -#Low cloud cover -'lcc' = { - table2Version = 160 ; - indicatorOfParameter = 186 ; - } -#Medium cloud cover -'mcc' = { - table2Version = 128 ; - indicatorOfParameter = 187 ; - } -#Medium cloud cover -'mcc' = { - table2Version = 160 ; - indicatorOfParameter = 187 ; - } -#High cloud cover -'hcc' = { - table2Version = 128 ; - indicatorOfParameter = 188 ; - } -#High cloud cover -'hcc' = { - table2Version = 160 ; - indicatorOfParameter = 188 ; - } -#Sunshine duration -'sund' = { - table2Version = 128 ; - indicatorOfParameter = 189 ; - } -#East-West component of sub-gridscale orographic variance -'ewov' = { - table2Version = 128 ; - indicatorOfParameter = 190 ; - } -#East-West component of sub-gridscale orographic variance -'ewov' = { - table2Version = 160 ; - indicatorOfParameter = 190 ; - } -#North-South component of sub-gridscale orographic variance -'nsov' = { - table2Version = 128 ; - indicatorOfParameter = 191 ; - } -#North-South component of sub-gridscale orographic variance -'nsov' = { - table2Version = 160 ; - indicatorOfParameter = 191 ; - } -#North-West/South-East component of sub-gridscale orographic variance -'nwov' = { - table2Version = 128 ; - indicatorOfParameter = 192 ; - } -#North-West/South-East component of sub-gridscale orographic variance -'nwov' = { - table2Version = 160 ; - indicatorOfParameter = 192 ; - } -#North-East/South-West component of sub-gridscale orographic variance -'neov' = { - table2Version = 128 ; - indicatorOfParameter = 193 ; - } -#North-East/South-West component of sub-gridscale orographic variance -'neov' = { - table2Version = 160 ; - indicatorOfParameter = 193 ; - } -#Brightness temperature -'btmp' = { - table2Version = 128 ; - indicatorOfParameter = 194 ; - } -#Eastward gravity wave surface stress -'lgws' = { - table2Version = 128 ; - indicatorOfParameter = 195 ; - } -#Eastward gravity wave surface stress -'lgws' = { - table2Version = 160 ; - indicatorOfParameter = 195 ; - } -#Northward gravity wave surface stress -'mgws' = { - table2Version = 128 ; - indicatorOfParameter = 196 ; - } -#Northward gravity wave surface stress -'mgws' = { - table2Version = 160 ; - indicatorOfParameter = 196 ; - } -#Gravity wave dissipation -'gwd' = { - table2Version = 128 ; - indicatorOfParameter = 197 ; - } -#Gravity wave dissipation -'gwd' = { - table2Version = 160 ; - indicatorOfParameter = 197 ; - } -#Skin reservoir content -'src' = { - table2Version = 128 ; - indicatorOfParameter = 198 ; - } -#Vegetation fraction -'veg' = { - table2Version = 128 ; - indicatorOfParameter = 199 ; - } -#Variance of sub-gridscale orography -'vso' = { - table2Version = 128 ; - indicatorOfParameter = 200 ; - } -#Variance of sub-gridscale orography -'vso' = { - table2Version = 160 ; - indicatorOfParameter = 200 ; - } #Maximum temperature at 2 metres since previous post-processing 'mx2t' = { table2Version = 128 ; @@ -1704,1126 +129,21 @@ table2Version = 190 ; indicatorOfParameter = 202 ; } -#Ozone mass mixing ratio -'o3' = { - table2Version = 128 ; - indicatorOfParameter = 203 ; - } -#Precipitation analysis weights -'paw' = { - table2Version = 128 ; - indicatorOfParameter = 204 ; - } -#Precipitation analysis weights -'paw' = { - table2Version = 160 ; - indicatorOfParameter = 204 ; - } -#Runoff -'ro' = { - table2Version = 128 ; - indicatorOfParameter = 205 ; - } -#Runoff -'ro' = { - table2Version = 180 ; - indicatorOfParameter = 205 ; - } -#Total column ozone -'tco3' = { - table2Version = 128 ; - indicatorOfParameter = 206 ; - } #10 metre wind speed 'si10' = { table2Version = 128 ; indicatorOfParameter = 207 ; } -#Top net short-wave (solar) radiation, clear sky -'tsrc' = { - table2Version = 128 ; - indicatorOfParameter = 208 ; - } -#Top net long-wave (thermal) radiation, clear sky -'ttrc' = { - table2Version = 128 ; - indicatorOfParameter = 209 ; - } -#Surface net short-wave (solar) radiation, clear sky -'ssrc' = { - table2Version = 128 ; - indicatorOfParameter = 210 ; - } -#Surface net long-wave (thermal) radiation, clear sky -'strc' = { - table2Version = 128 ; - indicatorOfParameter = 211 ; - } -#TOA incident short-wave (solar) radiation -'tisr' = { - table2Version = 128 ; - indicatorOfParameter = 212 ; - } -#Vertically integrated moisture divergence -'vimd' = { - table2Version = 128 ; - indicatorOfParameter = 213 ; - } -#Diabatic heating by radiation -'dhr' = { - table2Version = 128 ; - indicatorOfParameter = 214 ; - } -#Diabatic heating by vertical diffusion -'dhvd' = { - table2Version = 128 ; - indicatorOfParameter = 215 ; - } -#Diabatic heating by cumulus convection -'dhcc' = { - table2Version = 128 ; - indicatorOfParameter = 216 ; - } -#Diabatic heating large-scale condensation -'dhlc' = { - table2Version = 128 ; - indicatorOfParameter = 217 ; - } -#Vertical diffusion of zonal wind -'vdzw' = { - table2Version = 128 ; - indicatorOfParameter = 218 ; - } -#Vertical diffusion of meridional wind -'vdmw' = { - table2Version = 128 ; - indicatorOfParameter = 219 ; - } -#East-West gravity wave drag tendency -'ewgd' = { - table2Version = 128 ; - indicatorOfParameter = 220 ; - } -#North-South gravity wave drag tendency -'nsgd' = { - table2Version = 128 ; - indicatorOfParameter = 221 ; - } -#Convective tendency of zonal wind -'ctzw' = { - table2Version = 128 ; - indicatorOfParameter = 222 ; - } -#Convective tendency of zonal wind -'ctzw' = { - table2Version = 130 ; - indicatorOfParameter = 222 ; - } -#Convective tendency of meridional wind -'ctmw' = { - table2Version = 128 ; - indicatorOfParameter = 223 ; - } -#Convective tendency of meridional wind -'ctmw' = { - table2Version = 130 ; - indicatorOfParameter = 223 ; - } -#Vertical diffusion of humidity -'vdh' = { - table2Version = 128 ; - indicatorOfParameter = 224 ; - } -#Humidity tendency by cumulus convection -'htcc' = { - table2Version = 128 ; - indicatorOfParameter = 225 ; - } -#Humidity tendency by large-scale condensation -'htlc' = { - table2Version = 128 ; - indicatorOfParameter = 226 ; - } -#Tendency due to removal of negative humidity -'crnh' = { - table2Version = 128 ; - indicatorOfParameter = 227 ; - } -#Tendency due to removal of negative humidity -'crnh' = { - table2Version = 130 ; - indicatorOfParameter = 227 ; - } -#Total precipitation -'tp' = { - table2Version = 128 ; - indicatorOfParameter = 228 ; - } -#Total precipitation -'tp' = { - table2Version = 160 ; - indicatorOfParameter = 228 ; - } -#Total precipitation -'tp' = { - table2Version = 170 ; - indicatorOfParameter = 228 ; - } -#Total precipitation -'tp' = { - table2Version = 190 ; - indicatorOfParameter = 228 ; - } -#Instantaneous eastward turbulent surface stress -'iews' = { - table2Version = 128 ; - indicatorOfParameter = 229 ; - } -#Instantaneous eastward turbulent surface stress -'iews' = { - table2Version = 160 ; - indicatorOfParameter = 229 ; - } -#Instantaneous northward turbulent surface stress -'inss' = { - table2Version = 128 ; - indicatorOfParameter = 230 ; - } -#Instantaneous northward turbulent surface stress -'inss' = { - table2Version = 160 ; - indicatorOfParameter = 230 ; - } -#Instantaneous surface sensible heat flux -'ishf' = { - table2Version = 128 ; - indicatorOfParameter = 231 ; - } -#Instantaneous moisture flux -'ie' = { - table2Version = 128 ; - indicatorOfParameter = 232 ; - } -#Instantaneous moisture flux -'ie' = { - table2Version = 160 ; - indicatorOfParameter = 232 ; - } -#Apparent surface humidity -'asq' = { - table2Version = 128 ; - indicatorOfParameter = 233 ; - } -#Apparent surface humidity -'asq' = { - table2Version = 160 ; - indicatorOfParameter = 233 ; - } -#Logarithm of surface roughness length for heat (climatological) -'lsrh' = { - table2Version = 128 ; - indicatorOfParameter = 234 ; - } -#Logarithm of surface roughness length for heat (climatological) -'lsrh' = { - table2Version = 160 ; - indicatorOfParameter = 234 ; - } -#Skin temperature -'skt' = { - table2Version = 128 ; - indicatorOfParameter = 235 ; - } -#Skin temperature -'skt' = { - table2Version = 160 ; - indicatorOfParameter = 235 ; - } -#Soil temperature level 4 -'stl4' = { - table2Version = 128 ; - indicatorOfParameter = 236 ; - } -#Soil temperature level 4 -'stl4' = { - table2Version = 160 ; - indicatorOfParameter = 236 ; - } -#Soil wetness level 4 -'swl4' = { - table2Version = 128 ; - indicatorOfParameter = 237 ; - } -#Soil wetness level 4 -'swl4' = { - table2Version = 160 ; - indicatorOfParameter = 237 ; - } -#Temperature of snow layer -'tsn' = { - table2Version = 128 ; - indicatorOfParameter = 238 ; - } -#Temperature of snow layer -'tsn' = { - table2Version = 160 ; - indicatorOfParameter = 238 ; - } -#Convective snowfall -'csf' = { - table2Version = 128 ; - indicatorOfParameter = 239 ; - } -#Large-scale snowfall -'lsf' = { - table2Version = 128 ; - indicatorOfParameter = 240 ; - } -#Accumulated cloud fraction tendency -'acf' = { - table2Version = 128 ; - indicatorOfParameter = 241 ; - } -#Accumulated liquid water tendency -'alw' = { - table2Version = 128 ; - indicatorOfParameter = 242 ; - } -#Forecast albedo -'fal' = { - table2Version = 128 ; - indicatorOfParameter = 243 ; - } -#Forecast surface roughness -'fsr' = { - table2Version = 128 ; - indicatorOfParameter = 244 ; - } -#Forecast surface roughness -'fsr' = { - table2Version = 160 ; - indicatorOfParameter = 244 ; - } -#Forecast logarithm of surface roughness for heat -'flsr' = { - table2Version = 128 ; - indicatorOfParameter = 245 ; - } -#Forecast logarithm of surface roughness for heat -'flsr' = { - table2Version = 160 ; - indicatorOfParameter = 245 ; - } -#Specific cloud liquid water content -'clwc' = { - table2Version = 128 ; - indicatorOfParameter = 246 ; - } -#Specific cloud ice water content -'ciwc' = { - table2Version = 128 ; - indicatorOfParameter = 247 ; - } -#Fraction of cloud cover -'cc' = { - table2Version = 128 ; - indicatorOfParameter = 248 ; - } -#Accumulated ice water tendency -'aiw' = { - table2Version = 128 ; - indicatorOfParameter = 249 ; - } -#Ice age -'ice' = { - table2Version = 128 ; - indicatorOfParameter = 250 ; - } -#Adiabatic tendency of temperature -'atte' = { - table2Version = 128 ; - indicatorOfParameter = 251 ; - } -#Adiabatic tendency of humidity -'athe' = { - table2Version = 128 ; - indicatorOfParameter = 252 ; - } -#Adiabatic tendency of zonal wind -'atze' = { - table2Version = 128 ; - indicatorOfParameter = 253 ; - } -#Adiabatic tendency of meridional wind -'atmw' = { - table2Version = 128 ; - indicatorOfParameter = 254 ; - } -#Indicates a missing value -'p255.190' = { - table2Version = 128 ; - indicatorOfParameter = 255 ; - } -#Indicates a missing value -'p255.190' = { - table2Version = 130 ; - indicatorOfParameter = 255 ; - } -#Indicates a missing value -'p255.190' = { - table2Version = 132 ; - indicatorOfParameter = 255 ; - } -#Indicates a missing value -'p255.190' = { - table2Version = 160 ; - indicatorOfParameter = 255 ; - } -#Indicates a missing value -'p255.190' = { - table2Version = 170 ; - indicatorOfParameter = 255 ; - } -#Indicates a missing value -'p255.190' = { - table2Version = 180 ; - indicatorOfParameter = 255 ; - } -#Indicates a missing value -'p255.190' = { - table2Version = 190 ; - indicatorOfParameter = 255 ; - } -#Stream function difference -'strfdiff' = { - table2Version = 200 ; - indicatorOfParameter = 1 ; - } -#Velocity potential difference -'vpotdiff' = { - table2Version = 200 ; - indicatorOfParameter = 2 ; - } -#Potential temperature difference -'ptdiff' = { - table2Version = 200 ; - indicatorOfParameter = 3 ; - } -#Equivalent potential temperature difference -'eqptdiff' = { - table2Version = 200 ; - indicatorOfParameter = 4 ; - } -#Saturated equivalent potential temperature difference -'septdiff' = { - table2Version = 200 ; - indicatorOfParameter = 5 ; - } -#U component of divergent wind difference -'udvwdiff' = { - table2Version = 200 ; - indicatorOfParameter = 11 ; - } -#V component of divergent wind difference -'vdvwdiff' = { - table2Version = 200 ; - indicatorOfParameter = 12 ; - } -#U component of rotational wind difference -'urtwdiff' = { - table2Version = 200 ; - indicatorOfParameter = 13 ; - } -#V component of rotational wind difference -'vrtwdiff' = { - table2Version = 200 ; - indicatorOfParameter = 14 ; - } -#Unbalanced component of temperature difference -'uctpdiff' = { - table2Version = 200 ; - indicatorOfParameter = 21 ; - } -#Unbalanced component of logarithm of surface pressure difference -'uclndiff' = { - table2Version = 200 ; - indicatorOfParameter = 22 ; - } -#Unbalanced component of divergence difference -'ucdvdiff' = { - table2Version = 200 ; - indicatorOfParameter = 23 ; - } -#Reserved for future unbalanced components -'p24.200' = { - table2Version = 200 ; - indicatorOfParameter = 24 ; - } -#Reserved for future unbalanced components -'p25.200' = { - table2Version = 200 ; - indicatorOfParameter = 25 ; - } -#Lake cover difference -'cldiff' = { - table2Version = 200 ; - indicatorOfParameter = 26 ; - } -#Low vegetation cover difference -'cvldiff' = { - table2Version = 200 ; - indicatorOfParameter = 27 ; - } -#High vegetation cover difference -'cvhdiff' = { - table2Version = 200 ; - indicatorOfParameter = 28 ; - } -#Type of low vegetation difference -'tvldiff' = { - table2Version = 200 ; - indicatorOfParameter = 29 ; - } -#Type of high vegetation difference -'tvhdiff' = { - table2Version = 200 ; - indicatorOfParameter = 30 ; - } -#Sea-ice cover difference -'sicdiff' = { - table2Version = 200 ; - indicatorOfParameter = 31 ; - } -#Snow albedo difference -'asndiff' = { - table2Version = 200 ; - indicatorOfParameter = 32 ; - } -#Snow density difference -'rsndiff' = { - table2Version = 200 ; - indicatorOfParameter = 33 ; - } -#Sea surface temperature difference -'sstdiff' = { - table2Version = 200 ; - indicatorOfParameter = 34 ; - } -#Ice surface temperature layer 1 difference -'istl1diff' = { - table2Version = 200 ; - indicatorOfParameter = 35 ; - } -#Ice surface temperature layer 2 difference -'istl2diff' = { - table2Version = 200 ; - indicatorOfParameter = 36 ; - } -#Ice surface temperature layer 3 difference -'istl3diff' = { - table2Version = 200 ; - indicatorOfParameter = 37 ; - } -#Ice surface temperature layer 4 difference -'istl4diff' = { - table2Version = 200 ; - indicatorOfParameter = 38 ; - } -#Volumetric soil water layer 1 difference -'swvl1diff' = { - table2Version = 200 ; - indicatorOfParameter = 39 ; - } -#Volumetric soil water layer 2 difference -'swvl2diff' = { - table2Version = 200 ; - indicatorOfParameter = 40 ; - } -#Volumetric soil water layer 3 difference -'swvl3diff' = { - table2Version = 200 ; - indicatorOfParameter = 41 ; - } -#Volumetric soil water layer 4 difference -'swvl4diff' = { - table2Version = 200 ; - indicatorOfParameter = 42 ; - } -#Soil type difference -'sltdiff' = { - table2Version = 200 ; - indicatorOfParameter = 43 ; - } -#Snow evaporation difference -'esdiff' = { - table2Version = 200 ; - indicatorOfParameter = 44 ; - } -#Snowmelt difference -'smltdiff' = { - table2Version = 200 ; - indicatorOfParameter = 45 ; - } -#Solar duration difference -'sdurdiff' = { - table2Version = 200 ; - indicatorOfParameter = 46 ; - } -#Direct solar radiation difference -'dsrpdiff' = { - table2Version = 200 ; - indicatorOfParameter = 47 ; - } -#Magnitude of turbulent surface stress difference -'magssdiff' = { - table2Version = 200 ; - indicatorOfParameter = 48 ; - } #10 metre wind gust difference 'fgdiff10' = { table2Version = 200 ; indicatorOfParameter = 49 ; } -#Large-scale precipitation fraction difference -'lspfdiff' = { - table2Version = 200 ; - indicatorOfParameter = 50 ; - } -#Maximum 2 metre temperature difference -'mx2t24diff' = { - table2Version = 200 ; - indicatorOfParameter = 51 ; - } -#Minimum 2 metre temperature difference -'mn2t24diff' = { - table2Version = 200 ; - indicatorOfParameter = 52 ; - } -#Montgomery potential difference -'montdiff' = { - table2Version = 200 ; - indicatorOfParameter = 53 ; - } -#Pressure difference -'presdiff' = { - table2Version = 200 ; - indicatorOfParameter = 54 ; - } -#Mean 2 metre temperature in the last 24 hours difference -'mean2t24diff' = { - table2Version = 200 ; - indicatorOfParameter = 55 ; - } -#Mean 2 metre dewpoint temperature in the last 24 hours difference -'mn2d24diff' = { - table2Version = 200 ; - indicatorOfParameter = 56 ; - } -#Downward UV radiation at the surface difference -'uvbdiff' = { - table2Version = 200 ; - indicatorOfParameter = 57 ; - } -#Photosynthetically active radiation at the surface difference -'pardiff' = { - table2Version = 200 ; - indicatorOfParameter = 58 ; - } -#Convective available potential energy difference -'capediff' = { - table2Version = 200 ; - indicatorOfParameter = 59 ; - } -#Potential vorticity difference -'pvdiff' = { - table2Version = 200 ; - indicatorOfParameter = 60 ; - } -#Total precipitation from observations difference -'tpodiff' = { - table2Version = 200 ; - indicatorOfParameter = 61 ; - } -#Observation count difference -'obctdiff' = { - table2Version = 200 ; - indicatorOfParameter = 62 ; - } -#Start time for skin temperature difference -'p63.200' = { - table2Version = 200 ; - indicatorOfParameter = 63 ; - } -#Finish time for skin temperature difference -'p64.200' = { - table2Version = 200 ; - indicatorOfParameter = 64 ; - } -#Skin temperature difference -'p65.200' = { - table2Version = 200 ; - indicatorOfParameter = 65 ; - } -#Leaf area index, low vegetation -'p66.200' = { - table2Version = 200 ; - indicatorOfParameter = 66 ; - } -#Leaf area index, high vegetation -'p67.200' = { - table2Version = 200 ; - indicatorOfParameter = 67 ; - } -#Minimum stomatal resistance, low vegetation -'p68.200' = { - table2Version = 200 ; - indicatorOfParameter = 68 ; - } -#Minimum stomatal resistance, high vegetation -'p69.200' = { - table2Version = 200 ; - indicatorOfParameter = 69 ; - } -#Biome cover, low vegetation -'p70.200' = { - table2Version = 200 ; - indicatorOfParameter = 70 ; - } -#Biome cover, high vegetation -'p71.200' = { - table2Version = 200 ; - indicatorOfParameter = 71 ; - } -#Total column liquid water -'p78.200' = { - table2Version = 200 ; - indicatorOfParameter = 78 ; - } -#Total column ice water -'p79.200' = { - table2Version = 200 ; - indicatorOfParameter = 79 ; - } -#Experimental product -'p80.200' = { - table2Version = 200 ; - indicatorOfParameter = 80 ; - } -#Experimental product -'p81.200' = { - table2Version = 200 ; - indicatorOfParameter = 81 ; - } -#Experimental product -'p82.200' = { - table2Version = 200 ; - indicatorOfParameter = 82 ; - } -#Experimental product -'p83.200' = { - table2Version = 200 ; - indicatorOfParameter = 83 ; - } -#Experimental product -'p84.200' = { - table2Version = 200 ; - indicatorOfParameter = 84 ; - } -#Experimental product -'p85.200' = { - table2Version = 200 ; - indicatorOfParameter = 85 ; - } -#Experimental product -'p86.200' = { - table2Version = 200 ; - indicatorOfParameter = 86 ; - } -#Experimental product -'p87.200' = { - table2Version = 200 ; - indicatorOfParameter = 87 ; - } -#Experimental product -'p88.200' = { - table2Version = 200 ; - indicatorOfParameter = 88 ; - } -#Experimental product -'p89.200' = { - table2Version = 200 ; - indicatorOfParameter = 89 ; - } -#Experimental product -'p90.200' = { - table2Version = 200 ; - indicatorOfParameter = 90 ; - } -#Experimental product -'p91.200' = { - table2Version = 200 ; - indicatorOfParameter = 91 ; - } -#Experimental product -'p92.200' = { - table2Version = 200 ; - indicatorOfParameter = 92 ; - } -#Experimental product -'p93.200' = { - table2Version = 200 ; - indicatorOfParameter = 93 ; - } -#Experimental product -'p94.200' = { - table2Version = 200 ; - indicatorOfParameter = 94 ; - } -#Experimental product -'p95.200' = { - table2Version = 200 ; - indicatorOfParameter = 95 ; - } -#Experimental product -'p96.200' = { - table2Version = 200 ; - indicatorOfParameter = 96 ; - } -#Experimental product -'p97.200' = { - table2Version = 200 ; - indicatorOfParameter = 97 ; - } -#Experimental product -'p98.200' = { - table2Version = 200 ; - indicatorOfParameter = 98 ; - } -#Experimental product -'p99.200' = { - table2Version = 200 ; - indicatorOfParameter = 99 ; - } -#Experimental product -'p100.200' = { - table2Version = 200 ; - indicatorOfParameter = 100 ; - } -#Experimental product -'p101.200' = { - table2Version = 200 ; - indicatorOfParameter = 101 ; - } -#Experimental product -'p102.200' = { - table2Version = 200 ; - indicatorOfParameter = 102 ; - } -#Experimental product -'p103.200' = { - table2Version = 200 ; - indicatorOfParameter = 103 ; - } -#Experimental product -'p104.200' = { - table2Version = 200 ; - indicatorOfParameter = 104 ; - } -#Experimental product -'p105.200' = { - table2Version = 200 ; - indicatorOfParameter = 105 ; - } -#Experimental product -'p106.200' = { - table2Version = 200 ; - indicatorOfParameter = 106 ; - } -#Experimental product -'p107.200' = { - table2Version = 200 ; - indicatorOfParameter = 107 ; - } -#Experimental product -'p108.200' = { - table2Version = 200 ; - indicatorOfParameter = 108 ; - } -#Experimental product -'p109.200' = { - table2Version = 200 ; - indicatorOfParameter = 109 ; - } -#Experimental product -'p110.200' = { - table2Version = 200 ; - indicatorOfParameter = 110 ; - } -#Experimental product -'p111.200' = { - table2Version = 200 ; - indicatorOfParameter = 111 ; - } -#Experimental product -'p112.200' = { - table2Version = 200 ; - indicatorOfParameter = 112 ; - } -#Experimental product -'p113.200' = { - table2Version = 200 ; - indicatorOfParameter = 113 ; - } -#Experimental product -'p114.200' = { - table2Version = 200 ; - indicatorOfParameter = 114 ; - } -#Experimental product -'p115.200' = { - table2Version = 200 ; - indicatorOfParameter = 115 ; - } -#Experimental product -'p116.200' = { - table2Version = 200 ; - indicatorOfParameter = 116 ; - } -#Experimental product -'p117.200' = { - table2Version = 200 ; - indicatorOfParameter = 117 ; - } -#Experimental product -'p118.200' = { - table2Version = 200 ; - indicatorOfParameter = 118 ; - } -#Experimental product -'p119.200' = { - table2Version = 200 ; - indicatorOfParameter = 119 ; - } -#Experimental product -'p120.200' = { - table2Version = 200 ; - indicatorOfParameter = 120 ; - } -#Maximum temperature at 2 metres difference -'mx2t6diff' = { - table2Version = 200 ; - indicatorOfParameter = 121 ; - } -#Minimum temperature at 2 metres difference -'mn2t6diff' = { - table2Version = 200 ; - indicatorOfParameter = 122 ; - } #10 metre wind gust in the last 6 hours difference 'fg6diff10' = { table2Version = 200 ; indicatorOfParameter = 123 ; } -#Vertically integrated total energy -'p125.200' = { - table2Version = 200 ; - indicatorOfParameter = 125 ; - } -#Generic parameter for sensitive area prediction -'p126.200' = { - table2Version = 200 ; - indicatorOfParameter = 126 ; - } -#Atmospheric tide difference -'atdiff' = { - table2Version = 200 ; - indicatorOfParameter = 127 ; - } -#Budget values difference -'bvdiff' = { - table2Version = 200 ; - indicatorOfParameter = 128 ; - } -#Geopotential difference -'zdiff' = { - table2Version = 200 ; - indicatorOfParameter = 129 ; - } -#Temperature difference -'tdiff' = { - table2Version = 200 ; - indicatorOfParameter = 130 ; - } -#U component of wind difference -'udiff' = { - table2Version = 200 ; - indicatorOfParameter = 131 ; - } -#V component of wind difference -'vdiff' = { - table2Version = 200 ; - indicatorOfParameter = 132 ; - } -#Specific humidity difference -'qdiff' = { - table2Version = 200 ; - indicatorOfParameter = 133 ; - } -#Surface pressure difference -'spdiff' = { - table2Version = 200 ; - indicatorOfParameter = 134 ; - } -#Vertical velocity (pressure) difference -'wdiff' = { - table2Version = 200 ; - indicatorOfParameter = 135 ; - } -#Total column water difference -'tcwdiff' = { - table2Version = 200 ; - indicatorOfParameter = 136 ; - } -#Total column water vapour difference -'tcwvdiff' = { - table2Version = 200 ; - indicatorOfParameter = 137 ; - } -#Vorticity (relative) difference -'vodiff' = { - table2Version = 200 ; - indicatorOfParameter = 138 ; - } -#Soil temperature level 1 difference -'stl1diff' = { - table2Version = 200 ; - indicatorOfParameter = 139 ; - } -#Soil wetness level 1 difference -'swl1diff' = { - table2Version = 200 ; - indicatorOfParameter = 140 ; - } -#Snow depth difference -'sddiff' = { - table2Version = 200 ; - indicatorOfParameter = 141 ; - } -#Stratiform precipitation (Large-scale precipitation) difference -'lspdiff' = { - table2Version = 200 ; - indicatorOfParameter = 142 ; - } -#Convective precipitation difference -'cpdiff' = { - table2Version = 200 ; - indicatorOfParameter = 143 ; - } -#Snowfall (convective + stratiform) difference -'sfdiff' = { - table2Version = 200 ; - indicatorOfParameter = 144 ; - } -#Boundary layer dissipation difference -'blddiff' = { - table2Version = 200 ; - indicatorOfParameter = 145 ; - } -#Surface sensible heat flux difference -'sshfdiff' = { - table2Version = 200 ; - indicatorOfParameter = 146 ; - } -#Surface latent heat flux difference -'slhfdiff' = { - table2Version = 200 ; - indicatorOfParameter = 147 ; - } -#Charnock difference -'chnkdiff' = { - table2Version = 200 ; - indicatorOfParameter = 148 ; - } -#Surface net radiation difference -'snrdiff' = { - table2Version = 200 ; - indicatorOfParameter = 149 ; - } -#Top net radiation difference -'tnrdiff' = { - table2Version = 200 ; - indicatorOfParameter = 150 ; - } -#Mean sea level pressure difference -'msldiff' = { - table2Version = 200 ; - indicatorOfParameter = 151 ; - } -#Logarithm of surface pressure difference -'lnspdiff' = { - table2Version = 200 ; - indicatorOfParameter = 152 ; - } -#Short-wave heating rate difference -'swhrdiff' = { - table2Version = 200 ; - indicatorOfParameter = 153 ; - } -#Long-wave heating rate difference -'lwhrdiff' = { - table2Version = 200 ; - indicatorOfParameter = 154 ; - } -#Divergence difference -'ddiff' = { - table2Version = 200 ; - indicatorOfParameter = 155 ; - } -#Height difference -'ghdiff' = { - table2Version = 200 ; - indicatorOfParameter = 156 ; - } -#Relative humidity difference -'rdiff' = { - table2Version = 200 ; - indicatorOfParameter = 157 ; - } -#Tendency of surface pressure difference -'tspdiff' = { - table2Version = 200 ; - indicatorOfParameter = 158 ; - } -#Boundary layer height difference -'blhdiff' = { - table2Version = 200 ; - indicatorOfParameter = 159 ; - } -#Standard deviation of orography difference -'sdordiff' = { - table2Version = 200 ; - indicatorOfParameter = 160 ; - } -#Anisotropy of sub-gridscale orography difference -'isordiff' = { - table2Version = 200 ; - indicatorOfParameter = 161 ; - } -#Angle of sub-gridscale orography difference -'anordiff' = { - table2Version = 200 ; - indicatorOfParameter = 162 ; - } -#Slope of sub-gridscale orography difference -'slordiff' = { - table2Version = 200 ; - indicatorOfParameter = 163 ; - } -#Total cloud cover difference -'tccdiff' = { - table2Version = 200 ; - indicatorOfParameter = 164 ; - } #10 metre U wind component difference 'udiff10' = { table2Version = 200 ; @@ -2839,941 +159,16 @@ table2Version = 200 ; indicatorOfParameter = 167 ; } -#Surface solar radiation downwards difference -'ssrddiff' = { - table2Version = 200 ; - indicatorOfParameter = 169 ; - } -#Soil temperature level 2 difference -'stl2diff' = { - table2Version = 200 ; - indicatorOfParameter = 170 ; - } -#Soil wetness level 2 difference -'swl2diff' = { - table2Version = 200 ; - indicatorOfParameter = 171 ; - } -#Land-sea mask difference -'lsmdiff' = { - table2Version = 200 ; - indicatorOfParameter = 172 ; - } -#Surface roughness difference -'srdiff' = { - table2Version = 200 ; - indicatorOfParameter = 173 ; - } -#Albedo difference -'aldiff' = { - table2Version = 200 ; - indicatorOfParameter = 174 ; - } -#Surface thermal radiation downwards difference -'strddiff' = { - table2Version = 200 ; - indicatorOfParameter = 175 ; - } -#Surface net solar radiation difference -'ssrdiff' = { - table2Version = 200 ; - indicatorOfParameter = 176 ; - } -#Surface net thermal radiation difference -'strdiff' = { - table2Version = 200 ; - indicatorOfParameter = 177 ; - } -#Top net solar radiation difference -'tsrdiff' = { - table2Version = 200 ; - indicatorOfParameter = 178 ; - } -#Top net thermal radiation difference -'ttrdiff' = { - table2Version = 200 ; - indicatorOfParameter = 179 ; - } -#East-West surface stress difference -'ewssdiff' = { - table2Version = 200 ; - indicatorOfParameter = 180 ; - } -#North-South surface stress difference -'nsssdiff' = { - table2Version = 200 ; - indicatorOfParameter = 181 ; - } -#Evaporation difference -'ediff' = { - table2Version = 200 ; - indicatorOfParameter = 182 ; - } -#Soil temperature level 3 difference -'stl3diff' = { - table2Version = 200 ; - indicatorOfParameter = 183 ; - } -#Soil wetness level 3 difference -'swl3diff' = { - table2Version = 200 ; - indicatorOfParameter = 184 ; - } -#Convective cloud cover difference -'cccdiff' = { - table2Version = 200 ; - indicatorOfParameter = 185 ; - } -#Low cloud cover difference -'lccdiff' = { - table2Version = 200 ; - indicatorOfParameter = 186 ; - } -#Medium cloud cover difference -'mccdiff' = { - table2Version = 200 ; - indicatorOfParameter = 187 ; - } -#High cloud cover difference -'hccdiff' = { - table2Version = 200 ; - indicatorOfParameter = 188 ; - } -#Sunshine duration difference -'sunddiff' = { - table2Version = 200 ; - indicatorOfParameter = 189 ; - } -#East-West component of sub-gridscale orographic variance difference -'ewovdiff' = { - table2Version = 200 ; - indicatorOfParameter = 190 ; - } -#North-South component of sub-gridscale orographic variance difference -'nsovdiff' = { - table2Version = 200 ; - indicatorOfParameter = 191 ; - } -#North-West/South-East component of sub-gridscale orographic variance difference -'nwovdiff' = { - table2Version = 200 ; - indicatorOfParameter = 192 ; - } -#North-East/South-West component of sub-gridscale orographic variance difference -'neovdiff' = { - table2Version = 200 ; - indicatorOfParameter = 193 ; - } -#Brightness temperature difference -'btmpdiff' = { - table2Version = 200 ; - indicatorOfParameter = 194 ; - } -#Longitudinal component of gravity wave stress difference -'lgwsdiff' = { - table2Version = 200 ; - indicatorOfParameter = 195 ; - } -#Meridional component of gravity wave stress difference -'mgwsdiff' = { - table2Version = 200 ; - indicatorOfParameter = 196 ; - } -#Gravity wave dissipation difference -'gwddiff' = { - table2Version = 200 ; - indicatorOfParameter = 197 ; - } -#Skin reservoir content difference -'srcdiff' = { - table2Version = 200 ; - indicatorOfParameter = 198 ; - } -#Vegetation fraction difference -'vegdiff' = { - table2Version = 200 ; - indicatorOfParameter = 199 ; - } -#Variance of sub-gridscale orography difference -'vsodiff' = { - table2Version = 200 ; - indicatorOfParameter = 200 ; - } -#Maximum temperature at 2 metres since previous post-processing difference -'mx2tdiff' = { - table2Version = 200 ; - indicatorOfParameter = 201 ; - } -#Minimum temperature at 2 metres since previous post-processing difference -'mn2tdiff' = { - table2Version = 200 ; - indicatorOfParameter = 202 ; - } -#Ozone mass mixing ratio difference -'o3diff' = { - table2Version = 200 ; - indicatorOfParameter = 203 ; - } -#Precipitation analysis weights difference -'pawdiff' = { - table2Version = 200 ; - indicatorOfParameter = 204 ; - } -#Runoff difference -'rodiff' = { - table2Version = 200 ; - indicatorOfParameter = 205 ; - } -#Total column ozone difference -'tco3diff' = { - table2Version = 200 ; - indicatorOfParameter = 206 ; - } #10 metre wind speed difference 'sidiff10' = { table2Version = 200 ; indicatorOfParameter = 207 ; } -#Top net solar radiation, clear sky difference -'tsrcdiff' = { - table2Version = 200 ; - indicatorOfParameter = 208 ; - } -#Top net thermal radiation, clear sky difference -'ttrcdiff' = { - table2Version = 200 ; - indicatorOfParameter = 209 ; - } -#Surface net solar radiation, clear sky difference -'ssrcdiff' = { - table2Version = 200 ; - indicatorOfParameter = 210 ; - } -#Surface net thermal radiation, clear sky difference -'strcdiff' = { - table2Version = 200 ; - indicatorOfParameter = 211 ; - } -#TOA incident solar radiation difference -'tisrdiff' = { - table2Version = 200 ; - indicatorOfParameter = 212 ; - } -#Diabatic heating by radiation difference -'dhrdiff' = { - table2Version = 200 ; - indicatorOfParameter = 214 ; - } -#Diabatic heating by vertical diffusion difference -'dhvddiff' = { - table2Version = 200 ; - indicatorOfParameter = 215 ; - } -#Diabatic heating by cumulus convection difference -'dhccdiff' = { - table2Version = 200 ; - indicatorOfParameter = 216 ; - } -#Diabatic heating large-scale condensation difference -'dhlcdiff' = { - table2Version = 200 ; - indicatorOfParameter = 217 ; - } -#Vertical diffusion of zonal wind difference -'vdzwdiff' = { - table2Version = 200 ; - indicatorOfParameter = 218 ; - } -#Vertical diffusion of meridional wind difference -'vdmwdiff' = { - table2Version = 200 ; - indicatorOfParameter = 219 ; - } -#East-West gravity wave drag tendency difference -'ewgddiff' = { - table2Version = 200 ; - indicatorOfParameter = 220 ; - } -#North-South gravity wave drag tendency difference -'nsgddiff' = { - table2Version = 200 ; - indicatorOfParameter = 221 ; - } -#Convective tendency of zonal wind difference -'ctzwdiff' = { - table2Version = 200 ; - indicatorOfParameter = 222 ; - } -#Convective tendency of meridional wind difference -'ctmwdiff' = { - table2Version = 200 ; - indicatorOfParameter = 223 ; - } -#Vertical diffusion of humidity difference -'vdhdiff' = { - table2Version = 200 ; - indicatorOfParameter = 224 ; - } -#Humidity tendency by cumulus convection difference -'htccdiff' = { - table2Version = 200 ; - indicatorOfParameter = 225 ; - } -#Humidity tendency by large-scale condensation difference -'htlcdiff' = { - table2Version = 200 ; - indicatorOfParameter = 226 ; - } -#Change from removal of negative humidity difference -'crnhdiff' = { - table2Version = 200 ; - indicatorOfParameter = 227 ; - } -#Total precipitation difference -'tpdiff' = { - table2Version = 200 ; - indicatorOfParameter = 228 ; - } -#Instantaneous X surface stress difference -'iewsdiff' = { - table2Version = 200 ; - indicatorOfParameter = 229 ; - } -#Instantaneous Y surface stress difference -'inssdiff' = { - table2Version = 200 ; - indicatorOfParameter = 230 ; - } -#Instantaneous surface heat flux difference -'ishfdiff' = { - table2Version = 200 ; - indicatorOfParameter = 231 ; - } -#Instantaneous moisture flux difference -'iediff' = { - table2Version = 200 ; - indicatorOfParameter = 232 ; - } -#Apparent surface humidity difference -'asqdiff' = { - table2Version = 200 ; - indicatorOfParameter = 233 ; - } -#Logarithm of surface roughness length for heat difference -'lsrhdiff' = { - table2Version = 200 ; - indicatorOfParameter = 234 ; - } -#Skin temperature difference -'sktdiff' = { - table2Version = 200 ; - indicatorOfParameter = 235 ; - } -#Soil temperature level 4 difference -'stl4diff' = { - table2Version = 200 ; - indicatorOfParameter = 236 ; - } -#Soil wetness level 4 difference -'swl4diff' = { - table2Version = 200 ; - indicatorOfParameter = 237 ; - } -#Temperature of snow layer difference -'tsndiff' = { - table2Version = 200 ; - indicatorOfParameter = 238 ; - } -#Convective snowfall difference -'csfdiff' = { - table2Version = 200 ; - indicatorOfParameter = 239 ; - } -#Large scale snowfall difference -'lsfdiff' = { - table2Version = 200 ; - indicatorOfParameter = 240 ; - } -#Accumulated cloud fraction tendency difference -'acfdiff' = { - table2Version = 200 ; - indicatorOfParameter = 241 ; - } -#Accumulated liquid water tendency difference -'alwdiff' = { - table2Version = 200 ; - indicatorOfParameter = 242 ; - } -#Forecast albedo difference -'faldiff' = { - table2Version = 200 ; - indicatorOfParameter = 243 ; - } -#Forecast surface roughness difference -'fsrdiff' = { - table2Version = 200 ; - indicatorOfParameter = 244 ; - } -#Forecast logarithm of surface roughness for heat difference -'flsrdiff' = { - table2Version = 200 ; - indicatorOfParameter = 245 ; - } -#Specific cloud liquid water content difference -'clwcdiff' = { - table2Version = 200 ; - indicatorOfParameter = 246 ; - } -#Specific cloud ice water content difference -'ciwcdiff' = { - table2Version = 200 ; - indicatorOfParameter = 247 ; - } -#Cloud cover difference -'ccdiff' = { - table2Version = 200 ; - indicatorOfParameter = 248 ; - } -#Accumulated ice water tendency difference -'aiwdiff' = { - table2Version = 200 ; - indicatorOfParameter = 249 ; - } -#Ice age difference -'icediff' = { - table2Version = 200 ; - indicatorOfParameter = 250 ; - } -#Adiabatic tendency of temperature difference -'attediff' = { - table2Version = 200 ; - indicatorOfParameter = 251 ; - } -#Adiabatic tendency of humidity difference -'athediff' = { - table2Version = 200 ; - indicatorOfParameter = 252 ; - } -#Adiabatic tendency of zonal wind difference -'atzediff' = { - table2Version = 200 ; - indicatorOfParameter = 253 ; - } -#Adiabatic tendency of meridional wind difference -'atmwdiff' = { - table2Version = 200 ; - indicatorOfParameter = 254 ; - } -#Indicates a missing value -'p255.200' = { - table2Version = 200 ; - indicatorOfParameter = 255 ; - } -#Probability of a tropical storm -'p131089' = { - table2Version = 131 ; - indicatorOfParameter = 89 ; - } -#Probability of a hurricane -'p131090' = { - table2Version = 131 ; - indicatorOfParameter = 90 ; - } -#Probability of a tropical depression -'p131091' = { - table2Version = 131 ; - indicatorOfParameter = 91 ; - } -#Climatological probability of a tropical storm -'p131092' = { - table2Version = 131 ; - indicatorOfParameter = 92 ; - } -#Climatological probability of a hurricane -'p131093' = { - table2Version = 131 ; - indicatorOfParameter = 93 ; - } -#Climatological probability of a tropical depression -'p131094' = { - table2Version = 131 ; - indicatorOfParameter = 94 ; - } -#Probability anomaly of a tropical storm -'p131095' = { - table2Version = 131 ; - indicatorOfParameter = 95 ; - } -#Probability anomaly of a hurricane -'p131096' = { - table2Version = 131 ; - indicatorOfParameter = 96 ; - } -#Probability anomaly of a tropical depression -'p131097' = { - table2Version = 131 ; - indicatorOfParameter = 97 ; - } -#Total precipitation of at least 25 mm -'tpg25' = { - table2Version = 131 ; - indicatorOfParameter = 98 ; - } -#Total precipitation of at least 50 mm -'tpg50' = { - table2Version = 131 ; - indicatorOfParameter = 99 ; - } #10 metre wind gust of at least 10 m/s 'fgg1010' = { table2Version = 131 ; indicatorOfParameter = 100 ; } -#Convective available potential energy shear index -'capesi' = { - table2Version = 132 ; - indicatorOfParameter = 44 ; - } -#Water vapour flux index -'wvfi' = { - table2Version = 132 ; - indicatorOfParameter = 45 ; - } -#Convective available potential energy index -'capei' = { - table2Version = 132 ; - indicatorOfParameter = 59 ; - } -#Maximum of significant wave height index -'maxswhi' = { - table2Version = 132 ; - indicatorOfParameter = 216 ; - } -#Wave experimental parameter 1 -'p140080' = { - table2Version = 140 ; - indicatorOfParameter = 80 ; - } -#Wave experimental parameter 2 -'p140081' = { - table2Version = 140 ; - indicatorOfParameter = 81 ; - } -#Wave experimental parameter 3 -'p140082' = { - table2Version = 140 ; - indicatorOfParameter = 82 ; - } -#Wave experimental parameter 4 -'p140083' = { - table2Version = 140 ; - indicatorOfParameter = 83 ; - } -#Wave experimental parameter 5 -'p140084' = { - table2Version = 140 ; - indicatorOfParameter = 84 ; - } -#Wave induced mean sea level correction -'weta' = { - table2Version = 140 ; - indicatorOfParameter = 98 ; - } -#Ratio of wave angular and frequency width -'wraf' = { - table2Version = 140 ; - indicatorOfParameter = 99 ; - } -#Number of events in freak waves statistics -'wnslc' = { - table2Version = 140 ; - indicatorOfParameter = 100 ; - } -#U-component of atmospheric surface momentum flux -'utaua' = { - table2Version = 140 ; - indicatorOfParameter = 101 ; - } -#V-component of atmospheric surface momentum flux -'vtaua' = { - table2Version = 140 ; - indicatorOfParameter = 102 ; - } -#U-component of surface momentum flux into ocean -'utauo' = { - table2Version = 140 ; - indicatorOfParameter = 103 ; - } -#V-component of surface momentum flux into ocean -'vtauo' = { - table2Version = 140 ; - indicatorOfParameter = 104 ; - } -#Wave turbulent energy flux into ocean -'wphio' = { - table2Version = 140 ; - indicatorOfParameter = 105 ; - } -#Wave directional width of first swell partition -'wdw1' = { - table2Version = 140 ; - indicatorOfParameter = 106 ; - } -#Wave frequency width of first swell partition -'wfw1' = { - table2Version = 140 ; - indicatorOfParameter = 107 ; - } -#Wave directional width of second swell partition -'wdw2' = { - table2Version = 140 ; - indicatorOfParameter = 108 ; - } -#Wave frequency width of second swell partition -'wfw2' = { - table2Version = 140 ; - indicatorOfParameter = 109 ; - } -#Wave directional width of third swell partition -'wdw3' = { - table2Version = 140 ; - indicatorOfParameter = 110 ; - } -#Wave frequency width of third swell partition -'wfw3' = { - table2Version = 140 ; - indicatorOfParameter = 111 ; - } -#Wave energy flux magnitude -'wefxm' = { - table2Version = 140 ; - indicatorOfParameter = 112 ; - } -#Wave energy flux mean direction -'wefxd' = { - table2Version = 140 ; - indicatorOfParameter = 113 ; - } -#Significant wave height of all waves with periods within the inclusive range from 10 to 12 seconds -'h1012' = { - table2Version = 140 ; - indicatorOfParameter = 114 ; - } -#Significant wave height of all waves with periods within the inclusive range from 12 to 14 seconds -'h1214' = { - table2Version = 140 ; - indicatorOfParameter = 115 ; - } -#Significant wave height of all waves with periods within the inclusive range from 14 to 17 seconds -'h1417' = { - table2Version = 140 ; - indicatorOfParameter = 116 ; - } -#Significant wave height of all waves with periods within the inclusive range from 17 to 21 seconds -'h1721' = { - table2Version = 140 ; - indicatorOfParameter = 117 ; - } -#Significant wave height of all waves with periods within the inclusive range from 21 to 25 seconds -'h2125' = { - table2Version = 140 ; - indicatorOfParameter = 118 ; - } -#Significant wave height of all waves with periods within the inclusive range from 25 to 30 seconds -'h2530' = { - table2Version = 140 ; - indicatorOfParameter = 119 ; - } -#Significant wave height of all waves with period larger than 10s -'sh10' = { - table2Version = 140 ; - indicatorOfParameter = 120 ; - } -#Significant wave height of first swell partition -'p140121' = { - table2Version = 140 ; - indicatorOfParameter = 121 ; - } -#Mean wave direction of first swell partition -'p140122' = { - table2Version = 140 ; - indicatorOfParameter = 122 ; - } -#Mean wave period of first swell partition -'p140123' = { - table2Version = 140 ; - indicatorOfParameter = 123 ; - } -#Significant wave height of second swell partition -'p140124' = { - table2Version = 140 ; - indicatorOfParameter = 124 ; - } -#Mean wave direction of second swell partition -'p140125' = { - table2Version = 140 ; - indicatorOfParameter = 125 ; - } -#Mean wave period of second swell partition -'p140126' = { - table2Version = 140 ; - indicatorOfParameter = 126 ; - } -#Significant wave height of third swell partition -'p140127' = { - table2Version = 140 ; - indicatorOfParameter = 127 ; - } -#Mean wave direction of third swell partition -'p140128' = { - table2Version = 140 ; - indicatorOfParameter = 128 ; - } -#Mean wave period of third swell partition -'p140129' = { - table2Version = 140 ; - indicatorOfParameter = 129 ; - } -#Wave Spectral Skewness -'wss' = { - table2Version = 140 ; - indicatorOfParameter = 207 ; - } -#Free convective velocity over the oceans -'p140208' = { - table2Version = 140 ; - indicatorOfParameter = 208 ; - } -#Air density over the oceans -'p140209' = { - table2Version = 140 ; - indicatorOfParameter = 209 ; - } -#Mean square wave strain in sea ice -'p140210' = { - table2Version = 140 ; - indicatorOfParameter = 210 ; - } -#Normalized energy flux into waves -'phiaw' = { - table2Version = 140 ; - indicatorOfParameter = 211 ; - } -#Normalized energy flux into ocean -'phioc' = { - table2Version = 140 ; - indicatorOfParameter = 212 ; - } -#Turbulent Langmuir number -'tla' = { - table2Version = 140 ; - indicatorOfParameter = 213 ; - } -#Normalized stress into ocean -'tauoc' = { - table2Version = 140 ; - indicatorOfParameter = 214 ; - } -#Reserved -'p193.151' = { - table2Version = 151 ; - indicatorOfParameter = 193 ; - } -#Water vapour flux -'wvf' = { - table2Version = 162 ; - indicatorOfParameter = 45 ; - } -#Vertical integral of divergence of cloud liquid water flux -'p79.162' = { - table2Version = 162 ; - indicatorOfParameter = 79 ; - } -#Vertical integral of divergence of cloud frozen water flux -'p80.162' = { - table2Version = 162 ; - indicatorOfParameter = 80 ; - } -#Vertical integral of eastward cloud liquid water flux -'p88.162' = { - table2Version = 162 ; - indicatorOfParameter = 88 ; - } -#Vertical integral of northward cloud liquid water flux -'p89.162' = { - table2Version = 162 ; - indicatorOfParameter = 89 ; - } -#Vertical integral of eastward cloud frozen water flux -'p90.162' = { - table2Version = 162 ; - indicatorOfParameter = 90 ; - } -#Vertical integral of northward cloud frozen water flux -'p91.162' = { - table2Version = 162 ; - indicatorOfParameter = 91 ; - } -#Vertical integral of mass tendency -'p92.162' = { - table2Version = 162 ; - indicatorOfParameter = 92 ; - } -#U-tendency from dynamics -'utendd' = { - table2Version = 162 ; - indicatorOfParameter = 114 ; - } -#V-tendency from dynamics -'vtendd' = { - table2Version = 162 ; - indicatorOfParameter = 115 ; - } -#T-tendency from dynamics -'ttendd' = { - table2Version = 162 ; - indicatorOfParameter = 116 ; - } -#q-tendency from dynamics -'qtendd' = { - table2Version = 162 ; - indicatorOfParameter = 117 ; - } -#T-tendency from radiation -'ttendr' = { - table2Version = 162 ; - indicatorOfParameter = 118 ; - } -#U-tendency from turbulent diffusion + subgrid orography -'utendts' = { - table2Version = 162 ; - indicatorOfParameter = 119 ; - } -#V-tendency from turbulent diffusion + subgrid orography -'vtendts' = { - table2Version = 162 ; - indicatorOfParameter = 120 ; - } -#T-tendency from turbulent diffusion + subgrid orography -'ttendts' = { - table2Version = 162 ; - indicatorOfParameter = 121 ; - } -#q-tendency from turbulent diffusion -'qtendt' = { - table2Version = 162 ; - indicatorOfParameter = 122 ; - } -#U-tendency from subgrid orography -'utends' = { - table2Version = 162 ; - indicatorOfParameter = 123 ; - } -#V-tendency from subgrid orography -'vtends' = { - table2Version = 162 ; - indicatorOfParameter = 124 ; - } -#T-tendency from subgrid orography -'ttends' = { - table2Version = 162 ; - indicatorOfParameter = 125 ; - } -#U-tendency from convection (deep+shallow) -'utendcds' = { - table2Version = 162 ; - indicatorOfParameter = 126 ; - } -#V-tendency from convection (deep+shallow) -'vtendcds' = { - table2Version = 162 ; - indicatorOfParameter = 127 ; - } -#T-tendency from convection (deep+shallow) -'ttendcds' = { - table2Version = 162 ; - indicatorOfParameter = 128 ; - } -#q-tendency from convection (deep+shallow) -'qtendcds' = { - table2Version = 162 ; - indicatorOfParameter = 129 ; - } -#Liquid Precipitation flux from convection -'lpc' = { - table2Version = 162 ; - indicatorOfParameter = 130 ; - } -#Ice Precipitation flux from convection -'ipc' = { - table2Version = 162 ; - indicatorOfParameter = 131 ; - } -#T-tendency from cloud scheme -'ttendcs' = { - table2Version = 162 ; - indicatorOfParameter = 132 ; - } -#q-tendency from cloud scheme -'qtendcs' = { - table2Version = 162 ; - indicatorOfParameter = 133 ; - } -#ql-tendency from cloud scheme -'qltendcs' = { - table2Version = 162 ; - indicatorOfParameter = 134 ; - } -#qi-tendency from cloud scheme -'qitendcs' = { - table2Version = 162 ; - indicatorOfParameter = 135 ; - } -#Liquid Precip flux from cloud scheme (stratiform) -'lpcs' = { - table2Version = 162 ; - indicatorOfParameter = 136 ; - } -#Ice Precip flux from cloud scheme (stratiform) -'ipcs' = { - table2Version = 162 ; - indicatorOfParameter = 137 ; - } -#U-tendency from shallow convection -'utendcs' = { - table2Version = 162 ; - indicatorOfParameter = 138 ; - } -#V-tendency from shallow convection -'vtendcs' = { - table2Version = 162 ; - indicatorOfParameter = 139 ; - } -#T-tendency from shallow convection -'ttendsc' = { - table2Version = 162 ; - indicatorOfParameter = 140 ; - } -#q-tendency from shallow convection -'qtendsc' = { - table2Version = 162 ; - indicatorOfParameter = 141 ; - } -#Standardised precipitation index valid in the last 3 months -'spi03' = { - table2Version = 170 ; - indicatorOfParameter = 1 ; - } -#Standardised precipitation index valid in the last 6 months -'spi06' = { - table2Version = 170 ; - indicatorOfParameter = 2 ; - } -#Standardised precipitation index valid in the last 12 months -'spi12' = { - table2Version = 170 ; - indicatorOfParameter = 3 ; - } #100 metre U wind component anomaly 'ua100' = { table2Version = 171 ; @@ -3784,6391 +179,21 @@ table2Version = 171 ; indicatorOfParameter = 7 ; } -#Lake mix-layer temperature anomaly -'lmlta' = { - table2Version = 171 ; - indicatorOfParameter = 24 ; - } -#Lake ice depth anomaly -'licda' = { - table2Version = 171 ; - indicatorOfParameter = 25 ; - } -#Maximum temperature at 2 metres in the last 6 hours anomaly -'mx2t6a' = { - table2Version = 171 ; - indicatorOfParameter = 121 ; - } -#Minimum temperature at 2 metres in the last 6 hours anomaly -'mn2t6a' = { - table2Version = 171 ; - indicatorOfParameter = 122 ; - } -#Mean surface runoff rate -'msror' = { - table2Version = 172 ; - indicatorOfParameter = 8 ; - } -#Mean sub-surface runoff rate -'mssror' = { - table2Version = 172 ; - indicatorOfParameter = 9 ; - } -#Mean surface runoff rate anomaly -'msrora' = { - table2Version = 173 ; - indicatorOfParameter = 8 ; - } -#Mean sub-surface runoff rate anomaly -'mssrora' = { - table2Version = 173 ; - indicatorOfParameter = 9 ; - } -#Clear-sky (II) down surface sw flux -'sswcsdown' = { - table2Version = 174 ; - indicatorOfParameter = 10 ; - } -#Clear-sky (II) up surface sw flux -'sswcsup' = { - table2Version = 174 ; - indicatorOfParameter = 13 ; - } -#Visibility at 1.5m -'vis15' = { - table2Version = 174 ; - indicatorOfParameter = 25 ; - } -#Minimum temperature at 1.5m since previous post-processing -'mn15t' = { - table2Version = 174 ; - indicatorOfParameter = 50 ; - } -#Maximum temperature at 1.5m since previous post-processing -'mx15t' = { - table2Version = 174 ; - indicatorOfParameter = 51 ; - } -#Relative humidity at 1.5m -'rhum' = { - table2Version = 174 ; - indicatorOfParameter = 52 ; - } #2 metre specific humidity 'sh2' = { table2Version = 174 ; indicatorOfParameter = 96 ; } -#Sea ice snow thickness -'sisnthick' = { - table2Version = 174 ; - indicatorOfParameter = 97 ; - } -#Short wave radiation flux at surface -'swrsurf' = { - table2Version = 174 ; - indicatorOfParameter = 116 ; - } -#Short wave radiation flux at top of atmosphere -'swrtop' = { - table2Version = 174 ; - indicatorOfParameter = 117 ; - } -#Total column water vapour -'tcwvap' = { - table2Version = 174 ; - indicatorOfParameter = 137 ; - } -#Large scale rainfall rate -'lsrrate' = { - table2Version = 174 ; - indicatorOfParameter = 142 ; - } -#Convective rainfall rate -'crfrate' = { - table2Version = 174 ; - indicatorOfParameter = 143 ; - } -#Very low cloud amount -'vlca' = { - table2Version = 174 ; - indicatorOfParameter = 186 ; - } -#Convective snowfall rate -'csfrate' = { - table2Version = 174 ; - indicatorOfParameter = 239 ; - } -#Large scale snowfall rate -'lsfrate' = { - table2Version = 174 ; - indicatorOfParameter = 240 ; - } -#Total cloud amount - random overlap -'tccro' = { - table2Version = 174 ; - indicatorOfParameter = 248 ; - } -#Total cloud amount in lw radiation -'tcclwr' = { - table2Version = 174 ; - indicatorOfParameter = 249 ; - } -#Volcanic ash aerosol mixing ratio -'aermr13' = { - table2Version = 210 ; - indicatorOfParameter = 13 ; - } -#Volcanic sulphate aerosol mixing ratio -'aermr14' = { - table2Version = 210 ; - indicatorOfParameter = 14 ; - } -#Volcanic SO2 precursor mixing ratio -'aermr15' = { - table2Version = 210 ; - indicatorOfParameter = 15 ; - } -#SO4 aerosol precursor mass mixing ratio -'aerpr03' = { - table2Version = 210 ; - indicatorOfParameter = 28 ; - } -#Water vapour mixing ratio for hydrophilic aerosols in mode 1 -'aerwv01' = { - table2Version = 210 ; - indicatorOfParameter = 29 ; - } -#Water vapour mixing ratio for hydrophilic aerosols in mode 2 -'aerwv02' = { - table2Version = 210 ; - indicatorOfParameter = 30 ; - } -#DMS surface emission -'emdms' = { - table2Version = 210 ; - indicatorOfParameter = 43 ; - } -#Water vapour mixing ratio for hydrophilic aerosols in mode 3 -'aerwv03' = { - table2Version = 210 ; - indicatorOfParameter = 44 ; - } -#Water vapour mixing ratio for hydrophilic aerosols in mode 4 -'aerwv04' = { - table2Version = 210 ; - indicatorOfParameter = 45 ; - } -#Experimental product -'p55.210' = { - table2Version = 210 ; - indicatorOfParameter = 55 ; - } -#Experimental product -'p56.210' = { - table2Version = 210 ; - indicatorOfParameter = 56 ; - } -#Mixing ration of organic carbon aerosol, nucleation mode -'ocnuc' = { - table2Version = 210 ; - indicatorOfParameter = 57 ; - } -#Monoterpene precursor mixing ratio -'monot' = { - table2Version = 210 ; - indicatorOfParameter = 58 ; - } -#Secondary organic precursor mixing ratio -'soapr' = { - table2Version = 210 ; - indicatorOfParameter = 59 ; - } -#Injection height (from IS4FIRES) -'injh' = { - table2Version = 210 ; - indicatorOfParameter = 60 ; - } -#Particulate matter d <= 1 um -'pm1' = { - table2Version = 210 ; - indicatorOfParameter = 72 ; - } -#Particulate matter d <= 2.5 um -'pm2p5' = { - table2Version = 210 ; - indicatorOfParameter = 73 ; - } -#Particulate matter d <= 10 um -'pm10' = { - table2Version = 210 ; - indicatorOfParameter = 74 ; - } -#Wildfire viewing angle of observation -'vafire' = { - table2Version = 210 ; - indicatorOfParameter = 79 ; - } -#Wildfire Flux of Ethane (C2H6) -'c2h6fire' = { - table2Version = 210 ; - indicatorOfParameter = 118 ; - } -#Mean height of maximum injection -'mami' = { - table2Version = 210 ; - indicatorOfParameter = 119 ; - } -#Plume top height above surface -'apt' = { - table2Version = 210 ; - indicatorOfParameter = 120 ; - } -#UV visible albedo for direct radiation, isotropic component (climatological) -'aluvpi' = { - table2Version = 210 ; - indicatorOfParameter = 186 ; - } -#UV visible albedo for direct radiation, volumetric component (climatological) -'aluvpv' = { - table2Version = 210 ; - indicatorOfParameter = 187 ; - } -#UV visible albedo for direct radiation, geometric component (climatological) -'aluvpg' = { - table2Version = 210 ; - indicatorOfParameter = 188 ; - } -#Near IR albedo for direct radiation, isotropic component (climatological) -'alnipi' = { - table2Version = 210 ; - indicatorOfParameter = 189 ; - } -#Near IR albedo for direct radiation, volumetric component (climatological) -'alnipv' = { - table2Version = 210 ; - indicatorOfParameter = 190 ; - } -#Near IR albedo for direct radiation, geometric component (climatological) -'alnipg' = { - table2Version = 210 ; - indicatorOfParameter = 191 ; - } -#UV visible albedo for diffuse radiation, isotropic component (climatological) -'aluvdi' = { - table2Version = 210 ; - indicatorOfParameter = 192 ; - } -#UV visible albedo for diffuse radiation, volumetric component (climatological) -'aluvdv' = { - table2Version = 210 ; - indicatorOfParameter = 193 ; - } -#UV visible albedo for diffuse radiation, geometric component (climatological) -'aluvdg' = { - table2Version = 210 ; - indicatorOfParameter = 194 ; - } -#Near IR albedo for diffuse radiation, isotropic component (climatological) -'alnidi' = { - table2Version = 210 ; - indicatorOfParameter = 195 ; - } -#Near IR albedo for diffuse radiation, volumetric component (climatological) -'alnidv' = { - table2Version = 210 ; - indicatorOfParameter = 196 ; - } -#Near IR albedo for diffuse radiation, geometric component (climatological) -'alnidg' = { - table2Version = 210 ; - indicatorOfParameter = 197 ; - } -#Total aerosol optical depth at 340 nm -'aod340' = { - table2Version = 210 ; - indicatorOfParameter = 217 ; - } -#Total aerosol optical depth at 355 nm -'aod355' = { - table2Version = 210 ; - indicatorOfParameter = 218 ; - } -#Total aerosol optical depth at 380 nm -'aod380' = { - table2Version = 210 ; - indicatorOfParameter = 219 ; - } -#Total aerosol optical depth at 400 nm -'aod400' = { - table2Version = 210 ; - indicatorOfParameter = 220 ; - } -#Total aerosol optical depth at 440 nm -'aod440' = { - table2Version = 210 ; - indicatorOfParameter = 221 ; - } -#Total aerosol optical depth at 500 nm -'aod500' = { - table2Version = 210 ; - indicatorOfParameter = 222 ; - } -#Total aerosol optical depth at 532 nm -'aod532' = { - table2Version = 210 ; - indicatorOfParameter = 223 ; - } -#Total aerosol optical depth at 645 nm -'aod645' = { - table2Version = 210 ; - indicatorOfParameter = 224 ; - } -#Total aerosol optical depth at 800 nm -'aod800' = { - table2Version = 210 ; - indicatorOfParameter = 225 ; - } -#Total aerosol optical depth at 858 nm -'aod858' = { - table2Version = 210 ; - indicatorOfParameter = 226 ; - } -#Total aerosol optical depth at 1020 nm -'aod1020' = { - table2Version = 210 ; - indicatorOfParameter = 227 ; - } -#Total aerosol optical depth at 1064 nm -'aod1064' = { - table2Version = 210 ; - indicatorOfParameter = 228 ; - } -#Total aerosol optical depth at 1640 nm -'aod1640' = { - table2Version = 210 ; - indicatorOfParameter = 229 ; - } -#Total aerosol optical depth at 2130 nm -'aod2130' = { - table2Version = 210 ; - indicatorOfParameter = 230 ; - } -#Wildfire Flux of Toluene (C7H8) -'c7h8fire' = { - table2Version = 210 ; - indicatorOfParameter = 231 ; - } -#Wildfire Flux of Benzene (C6H6) -'c6h6fire' = { - table2Version = 210 ; - indicatorOfParameter = 232 ; - } -#Wildfire Flux of Xylene (C8H10) -'c8h10fire' = { - table2Version = 210 ; - indicatorOfParameter = 233 ; - } -#Wildfire Flux of Butenes (C4H8) -'c4h8fire' = { - table2Version = 210 ; - indicatorOfParameter = 234 ; - } -#Wildfire Flux of Pentenes (C5H10) -'c5h10fire' = { - table2Version = 210 ; - indicatorOfParameter = 235 ; - } -#Wildfire Flux of Hexene (C6H12) -'c6h12fire' = { - table2Version = 210 ; - indicatorOfParameter = 236 ; - } -#Wildfire Flux of Octene (C8H16) -'c8h16fire' = { - table2Version = 210 ; - indicatorOfParameter = 237 ; - } -#Wildfire Flux of Butanes (C4H10) -'c4h10fire' = { - table2Version = 210 ; - indicatorOfParameter = 238 ; - } -#Wildfire Flux of Pentanes (C5H12) -'c5h12fire' = { - table2Version = 210 ; - indicatorOfParameter = 239 ; - } -#Wildfire Flux of Hexanes (C6H14) -'c6h14fire' = { - table2Version = 210 ; - indicatorOfParameter = 240 ; - } -#Wildfire Flux of Heptane (C7H16) -'c7h16fire' = { - table2Version = 210 ; - indicatorOfParameter = 241 ; - } -#Plume bottom height above surface -'apb' = { - table2Version = 210 ; - indicatorOfParameter = 242 ; - } -#Volcanic sulphate aerosol optical depth at 550 nm -'vsuaod550' = { - table2Version = 210 ; - indicatorOfParameter = 243 ; - } -#Volcanic ash optical depth at 550 nm -'vashaod550' = { - table2Version = 210 ; - indicatorOfParameter = 244 ; - } -#Profile of total aerosol dry extinction coefficient -'taedec550' = { - table2Version = 210 ; - indicatorOfParameter = 245 ; - } -#Profile of total aerosol dry absorption coefficient -'taedab550' = { - table2Version = 210 ; - indicatorOfParameter = 246 ; - } -#Nitrate fine mode aerosol mass mixing ratio -'aermr16' = { - table2Version = 210 ; - indicatorOfParameter = 247 ; - } -#Nitrate coarse mode aerosol mass mixing ratio -'aermr17' = { - table2Version = 210 ; - indicatorOfParameter = 248 ; - } -#Ammonium aerosol mass mixing ratio -'aermr18' = { - table2Version = 210 ; - indicatorOfParameter = 249 ; - } -#Nitrate aerosol optical depth at 550 nm -'niaod550' = { - table2Version = 210 ; - indicatorOfParameter = 250 ; - } -#Ammonium aerosol optical depth at 550 nm -'amaod550' = { - table2Version = 210 ; - indicatorOfParameter = 251 ; - } -#Aerosol type 13 mass mixing ratio -'aermr13diff' = { - table2Version = 211 ; - indicatorOfParameter = 13 ; - } -#Aerosol type 14 mass mixing ratio -'aermr14diff' = { - table2Version = 211 ; - indicatorOfParameter = 14 ; - } -#Aerosol type 15 mass mixing ratio -'aermr15diff' = { - table2Version = 211 ; - indicatorOfParameter = 15 ; - } -#SO4 aerosol precursor mass mixing ratio -'aerpr03diff' = { - table2Version = 211 ; - indicatorOfParameter = 28 ; - } -#Water vapour mixing ratio for hydrophilic aerosols in mode 1 -'aerwv01diff' = { - table2Version = 211 ; - indicatorOfParameter = 29 ; - } -#Water vapour mixing ratio for hydrophilic aerosols in mode 2 -'aerwv02diff' = { - table2Version = 211 ; - indicatorOfParameter = 30 ; - } -#DMS surface emission -'emdmsdiff' = { - table2Version = 211 ; - indicatorOfParameter = 43 ; - } -#Water vapour mixing ratio for hydrophilic aerosols in mode 3 -'aerwv03diff' = { - table2Version = 211 ; - indicatorOfParameter = 44 ; - } -#Water vapour mixing ratio for hydrophilic aerosols in mode 4 -'aerwv04diff' = { - table2Version = 211 ; - indicatorOfParameter = 45 ; - } -#Experimental product -'p55.211' = { - table2Version = 211 ; - indicatorOfParameter = 55 ; - } -#Experimental product -'p56.211' = { - table2Version = 211 ; - indicatorOfParameter = 56 ; - } -#Wildfire Flux of Ethane (C2H6) -'c2h6firediff' = { - table2Version = 211 ; - indicatorOfParameter = 118 ; - } -#Altitude of emitter -'alediff' = { - table2Version = 211 ; - indicatorOfParameter = 119 ; - } -#Altitude of plume top -'aptdiff' = { - table2Version = 211 ; - indicatorOfParameter = 120 ; - } -#Experimental product -'p1.212' = { - table2Version = 212 ; - indicatorOfParameter = 1 ; - } -#Experimental product -'p2.212' = { - table2Version = 212 ; - indicatorOfParameter = 2 ; - } -#Experimental product -'p3.212' = { - table2Version = 212 ; - indicatorOfParameter = 3 ; - } -#Experimental product -'p4.212' = { - table2Version = 212 ; - indicatorOfParameter = 4 ; - } -#Experimental product -'p5.212' = { - table2Version = 212 ; - indicatorOfParameter = 5 ; - } -#Experimental product -'p6.212' = { - table2Version = 212 ; - indicatorOfParameter = 6 ; - } -#Experimental product -'p7.212' = { - table2Version = 212 ; - indicatorOfParameter = 7 ; - } -#Experimental product -'p8.212' = { - table2Version = 212 ; - indicatorOfParameter = 8 ; - } -#Experimental product -'p9.212' = { - table2Version = 212 ; - indicatorOfParameter = 9 ; - } -#Experimental product -'p10.212' = { - table2Version = 212 ; - indicatorOfParameter = 10 ; - } -#Experimental product -'p11.212' = { - table2Version = 212 ; - indicatorOfParameter = 11 ; - } -#Experimental product -'p12.212' = { - table2Version = 212 ; - indicatorOfParameter = 12 ; - } -#Experimental product -'p13.212' = { - table2Version = 212 ; - indicatorOfParameter = 13 ; - } -#Experimental product -'p14.212' = { - table2Version = 212 ; - indicatorOfParameter = 14 ; - } -#Experimental product -'p15.212' = { - table2Version = 212 ; - indicatorOfParameter = 15 ; - } -#Experimental product -'p16.212' = { - table2Version = 212 ; - indicatorOfParameter = 16 ; - } -#Experimental product -'p17.212' = { - table2Version = 212 ; - indicatorOfParameter = 17 ; - } -#Experimental product -'p18.212' = { - table2Version = 212 ; - indicatorOfParameter = 18 ; - } -#Experimental product -'p19.212' = { - table2Version = 212 ; - indicatorOfParameter = 19 ; - } -#Experimental product -'p20.212' = { - table2Version = 212 ; - indicatorOfParameter = 20 ; - } -#Experimental product -'p21.212' = { - table2Version = 212 ; - indicatorOfParameter = 21 ; - } -#Experimental product -'p22.212' = { - table2Version = 212 ; - indicatorOfParameter = 22 ; - } -#Experimental product -'p23.212' = { - table2Version = 212 ; - indicatorOfParameter = 23 ; - } -#Experimental product -'p24.212' = { - table2Version = 212 ; - indicatorOfParameter = 24 ; - } -#Experimental product -'p25.212' = { - table2Version = 212 ; - indicatorOfParameter = 25 ; - } -#Experimental product -'p26.212' = { - table2Version = 212 ; - indicatorOfParameter = 26 ; - } -#Experimental product -'p27.212' = { - table2Version = 212 ; - indicatorOfParameter = 27 ; - } -#Experimental product -'p28.212' = { - table2Version = 212 ; - indicatorOfParameter = 28 ; - } -#Experimental product -'p29.212' = { - table2Version = 212 ; - indicatorOfParameter = 29 ; - } -#Experimental product -'p30.212' = { - table2Version = 212 ; - indicatorOfParameter = 30 ; - } -#Experimental product -'p31.212' = { - table2Version = 212 ; - indicatorOfParameter = 31 ; - } -#Experimental product -'p32.212' = { - table2Version = 212 ; - indicatorOfParameter = 32 ; - } -#Experimental product -'p33.212' = { - table2Version = 212 ; - indicatorOfParameter = 33 ; - } -#Experimental product -'p34.212' = { - table2Version = 212 ; - indicatorOfParameter = 34 ; - } -#Experimental product -'p35.212' = { - table2Version = 212 ; - indicatorOfParameter = 35 ; - } -#Experimental product -'p36.212' = { - table2Version = 212 ; - indicatorOfParameter = 36 ; - } -#Experimental product -'p37.212' = { - table2Version = 212 ; - indicatorOfParameter = 37 ; - } -#Experimental product -'p38.212' = { - table2Version = 212 ; - indicatorOfParameter = 38 ; - } -#Experimental product -'p39.212' = { - table2Version = 212 ; - indicatorOfParameter = 39 ; - } -#Experimental product -'p40.212' = { - table2Version = 212 ; - indicatorOfParameter = 40 ; - } -#Experimental product -'p41.212' = { - table2Version = 212 ; - indicatorOfParameter = 41 ; - } -#Experimental product -'p42.212' = { - table2Version = 212 ; - indicatorOfParameter = 42 ; - } -#Experimental product -'p43.212' = { - table2Version = 212 ; - indicatorOfParameter = 43 ; - } -#Experimental product -'p44.212' = { - table2Version = 212 ; - indicatorOfParameter = 44 ; - } -#Experimental product -'p45.212' = { - table2Version = 212 ; - indicatorOfParameter = 45 ; - } -#Experimental product -'p46.212' = { - table2Version = 212 ; - indicatorOfParameter = 46 ; - } -#Experimental product -'p47.212' = { - table2Version = 212 ; - indicatorOfParameter = 47 ; - } -#Experimental product -'p48.212' = { - table2Version = 212 ; - indicatorOfParameter = 48 ; - } -#Experimental product -'p49.212' = { - table2Version = 212 ; - indicatorOfParameter = 49 ; - } -#Experimental product -'p50.212' = { - table2Version = 212 ; - indicatorOfParameter = 50 ; - } -#Experimental product -'p51.212' = { - table2Version = 212 ; - indicatorOfParameter = 51 ; - } -#Experimental product -'p52.212' = { - table2Version = 212 ; - indicatorOfParameter = 52 ; - } -#Experimental product -'p53.212' = { - table2Version = 212 ; - indicatorOfParameter = 53 ; - } -#Experimental product -'p54.212' = { - table2Version = 212 ; - indicatorOfParameter = 54 ; - } -#Experimental product -'p55.212' = { - table2Version = 212 ; - indicatorOfParameter = 55 ; - } -#Experimental product -'p56.212' = { - table2Version = 212 ; - indicatorOfParameter = 56 ; - } -#Experimental product -'p57.212' = { - table2Version = 212 ; - indicatorOfParameter = 57 ; - } -#Experimental product -'p58.212' = { - table2Version = 212 ; - indicatorOfParameter = 58 ; - } -#Experimental product -'p59.212' = { - table2Version = 212 ; - indicatorOfParameter = 59 ; - } -#Experimental product -'p60.212' = { - table2Version = 212 ; - indicatorOfParameter = 60 ; - } -#Experimental product -'p61.212' = { - table2Version = 212 ; - indicatorOfParameter = 61 ; - } -#Experimental product -'p62.212' = { - table2Version = 212 ; - indicatorOfParameter = 62 ; - } -#Experimental product -'p63.212' = { - table2Version = 212 ; - indicatorOfParameter = 63 ; - } -#Experimental product -'p64.212' = { - table2Version = 212 ; - indicatorOfParameter = 64 ; - } -#Experimental product -'p65.212' = { - table2Version = 212 ; - indicatorOfParameter = 65 ; - } -#Experimental product -'p66.212' = { - table2Version = 212 ; - indicatorOfParameter = 66 ; - } -#Experimental product -'p67.212' = { - table2Version = 212 ; - indicatorOfParameter = 67 ; - } -#Experimental product -'p68.212' = { - table2Version = 212 ; - indicatorOfParameter = 68 ; - } -#Experimental product -'p69.212' = { - table2Version = 212 ; - indicatorOfParameter = 69 ; - } -#Experimental product -'p70.212' = { - table2Version = 212 ; - indicatorOfParameter = 70 ; - } -#Experimental product -'p71.212' = { - table2Version = 212 ; - indicatorOfParameter = 71 ; - } -#Experimental product -'p72.212' = { - table2Version = 212 ; - indicatorOfParameter = 72 ; - } -#Experimental product -'p73.212' = { - table2Version = 212 ; - indicatorOfParameter = 73 ; - } -#Experimental product -'p74.212' = { - table2Version = 212 ; - indicatorOfParameter = 74 ; - } -#Experimental product -'p75.212' = { - table2Version = 212 ; - indicatorOfParameter = 75 ; - } -#Experimental product -'p76.212' = { - table2Version = 212 ; - indicatorOfParameter = 76 ; - } -#Experimental product -'p77.212' = { - table2Version = 212 ; - indicatorOfParameter = 77 ; - } -#Experimental product -'p78.212' = { - table2Version = 212 ; - indicatorOfParameter = 78 ; - } -#Experimental product -'p79.212' = { - table2Version = 212 ; - indicatorOfParameter = 79 ; - } -#Experimental product -'p80.212' = { - table2Version = 212 ; - indicatorOfParameter = 80 ; - } -#Experimental product -'p81.212' = { - table2Version = 212 ; - indicatorOfParameter = 81 ; - } -#Experimental product -'p82.212' = { - table2Version = 212 ; - indicatorOfParameter = 82 ; - } -#Experimental product -'p83.212' = { - table2Version = 212 ; - indicatorOfParameter = 83 ; - } -#Experimental product -'p84.212' = { - table2Version = 212 ; - indicatorOfParameter = 84 ; - } -#Experimental product -'p85.212' = { - table2Version = 212 ; - indicatorOfParameter = 85 ; - } -#Experimental product -'p86.212' = { - table2Version = 212 ; - indicatorOfParameter = 86 ; - } -#Experimental product -'p87.212' = { - table2Version = 212 ; - indicatorOfParameter = 87 ; - } -#Experimental product -'p88.212' = { - table2Version = 212 ; - indicatorOfParameter = 88 ; - } -#Experimental product -'p89.212' = { - table2Version = 212 ; - indicatorOfParameter = 89 ; - } -#Experimental product -'p90.212' = { - table2Version = 212 ; - indicatorOfParameter = 90 ; - } -#Experimental product -'p91.212' = { - table2Version = 212 ; - indicatorOfParameter = 91 ; - } -#Experimental product -'p92.212' = { - table2Version = 212 ; - indicatorOfParameter = 92 ; - } -#Experimental product -'p93.212' = { - table2Version = 212 ; - indicatorOfParameter = 93 ; - } -#Experimental product -'p94.212' = { - table2Version = 212 ; - indicatorOfParameter = 94 ; - } -#Experimental product -'p95.212' = { - table2Version = 212 ; - indicatorOfParameter = 95 ; - } -#Experimental product -'p96.212' = { - table2Version = 212 ; - indicatorOfParameter = 96 ; - } -#Experimental product -'p97.212' = { - table2Version = 212 ; - indicatorOfParameter = 97 ; - } -#Experimental product -'p98.212' = { - table2Version = 212 ; - indicatorOfParameter = 98 ; - } -#Experimental product -'p99.212' = { - table2Version = 212 ; - indicatorOfParameter = 99 ; - } -#Experimental product -'p100.212' = { - table2Version = 212 ; - indicatorOfParameter = 100 ; - } -#Experimental product -'p101.212' = { - table2Version = 212 ; - indicatorOfParameter = 101 ; - } -#Experimental product -'p102.212' = { - table2Version = 212 ; - indicatorOfParameter = 102 ; - } -#Experimental product -'p103.212' = { - table2Version = 212 ; - indicatorOfParameter = 103 ; - } -#Experimental product -'p104.212' = { - table2Version = 212 ; - indicatorOfParameter = 104 ; - } -#Experimental product -'p105.212' = { - table2Version = 212 ; - indicatorOfParameter = 105 ; - } -#Experimental product -'p106.212' = { - table2Version = 212 ; - indicatorOfParameter = 106 ; - } -#Experimental product -'p107.212' = { - table2Version = 212 ; - indicatorOfParameter = 107 ; - } -#Experimental product -'p108.212' = { - table2Version = 212 ; - indicatorOfParameter = 108 ; - } -#Experimental product -'p109.212' = { - table2Version = 212 ; - indicatorOfParameter = 109 ; - } -#Experimental product -'p110.212' = { - table2Version = 212 ; - indicatorOfParameter = 110 ; - } -#Experimental product -'p111.212' = { - table2Version = 212 ; - indicatorOfParameter = 111 ; - } -#Experimental product -'p112.212' = { - table2Version = 212 ; - indicatorOfParameter = 112 ; - } -#Experimental product -'p113.212' = { - table2Version = 212 ; - indicatorOfParameter = 113 ; - } -#Experimental product -'p114.212' = { - table2Version = 212 ; - indicatorOfParameter = 114 ; - } -#Experimental product -'p115.212' = { - table2Version = 212 ; - indicatorOfParameter = 115 ; - } -#Experimental product -'p116.212' = { - table2Version = 212 ; - indicatorOfParameter = 116 ; - } -#Experimental product -'p117.212' = { - table2Version = 212 ; - indicatorOfParameter = 117 ; - } -#Experimental product -'p118.212' = { - table2Version = 212 ; - indicatorOfParameter = 118 ; - } -#Experimental product -'p119.212' = { - table2Version = 212 ; - indicatorOfParameter = 119 ; - } -#Experimental product -'p120.212' = { - table2Version = 212 ; - indicatorOfParameter = 120 ; - } -#Experimental product -'p121.212' = { - table2Version = 212 ; - indicatorOfParameter = 121 ; - } -#Experimental product -'p122.212' = { - table2Version = 212 ; - indicatorOfParameter = 122 ; - } -#Experimental product -'p123.212' = { - table2Version = 212 ; - indicatorOfParameter = 123 ; - } -#Experimental product -'p124.212' = { - table2Version = 212 ; - indicatorOfParameter = 124 ; - } -#Experimental product -'p125.212' = { - table2Version = 212 ; - indicatorOfParameter = 125 ; - } -#Experimental product -'p126.212' = { - table2Version = 212 ; - indicatorOfParameter = 126 ; - } -#Experimental product -'p127.212' = { - table2Version = 212 ; - indicatorOfParameter = 127 ; - } -#Experimental product -'p128.212' = { - table2Version = 212 ; - indicatorOfParameter = 128 ; - } -#Experimental product -'p129.212' = { - table2Version = 212 ; - indicatorOfParameter = 129 ; - } -#Experimental product -'p130.212' = { - table2Version = 212 ; - indicatorOfParameter = 130 ; - } -#Experimental product -'p131.212' = { - table2Version = 212 ; - indicatorOfParameter = 131 ; - } -#Experimental product -'p132.212' = { - table2Version = 212 ; - indicatorOfParameter = 132 ; - } -#Experimental product -'p133.212' = { - table2Version = 212 ; - indicatorOfParameter = 133 ; - } -#Experimental product -'p134.212' = { - table2Version = 212 ; - indicatorOfParameter = 134 ; - } -#Experimental product -'p135.212' = { - table2Version = 212 ; - indicatorOfParameter = 135 ; - } -#Experimental product -'p136.212' = { - table2Version = 212 ; - indicatorOfParameter = 136 ; - } -#Experimental product -'p137.212' = { - table2Version = 212 ; - indicatorOfParameter = 137 ; - } -#Experimental product -'p138.212' = { - table2Version = 212 ; - indicatorOfParameter = 138 ; - } -#Experimental product -'p139.212' = { - table2Version = 212 ; - indicatorOfParameter = 139 ; - } -#Experimental product -'p140.212' = { - table2Version = 212 ; - indicatorOfParameter = 140 ; - } -#Experimental product -'p141.212' = { - table2Version = 212 ; - indicatorOfParameter = 141 ; - } -#Experimental product -'p142.212' = { - table2Version = 212 ; - indicatorOfParameter = 142 ; - } -#Experimental product -'p143.212' = { - table2Version = 212 ; - indicatorOfParameter = 143 ; - } -#Experimental product -'p144.212' = { - table2Version = 212 ; - indicatorOfParameter = 144 ; - } -#Experimental product -'p145.212' = { - table2Version = 212 ; - indicatorOfParameter = 145 ; - } -#Experimental product -'p146.212' = { - table2Version = 212 ; - indicatorOfParameter = 146 ; - } -#Experimental product -'p147.212' = { - table2Version = 212 ; - indicatorOfParameter = 147 ; - } -#Experimental product -'p148.212' = { - table2Version = 212 ; - indicatorOfParameter = 148 ; - } -#Experimental product -'p149.212' = { - table2Version = 212 ; - indicatorOfParameter = 149 ; - } -#Experimental product -'p150.212' = { - table2Version = 212 ; - indicatorOfParameter = 150 ; - } -#Experimental product -'p151.212' = { - table2Version = 212 ; - indicatorOfParameter = 151 ; - } -#Experimental product -'p152.212' = { - table2Version = 212 ; - indicatorOfParameter = 152 ; - } -#Experimental product -'p153.212' = { - table2Version = 212 ; - indicatorOfParameter = 153 ; - } -#Experimental product -'p154.212' = { - table2Version = 212 ; - indicatorOfParameter = 154 ; - } -#Experimental product -'p155.212' = { - table2Version = 212 ; - indicatorOfParameter = 155 ; - } -#Experimental product -'p156.212' = { - table2Version = 212 ; - indicatorOfParameter = 156 ; - } -#Experimental product -'p157.212' = { - table2Version = 212 ; - indicatorOfParameter = 157 ; - } -#Experimental product -'p158.212' = { - table2Version = 212 ; - indicatorOfParameter = 158 ; - } -#Experimental product -'p159.212' = { - table2Version = 212 ; - indicatorOfParameter = 159 ; - } -#Experimental product -'p160.212' = { - table2Version = 212 ; - indicatorOfParameter = 160 ; - } -#Experimental product -'p161.212' = { - table2Version = 212 ; - indicatorOfParameter = 161 ; - } -#Experimental product -'p162.212' = { - table2Version = 212 ; - indicatorOfParameter = 162 ; - } -#Experimental product -'p163.212' = { - table2Version = 212 ; - indicatorOfParameter = 163 ; - } -#Experimental product -'p164.212' = { - table2Version = 212 ; - indicatorOfParameter = 164 ; - } -#Experimental product -'p165.212' = { - table2Version = 212 ; - indicatorOfParameter = 165 ; - } -#Experimental product -'p166.212' = { - table2Version = 212 ; - indicatorOfParameter = 166 ; - } -#Experimental product -'p167.212' = { - table2Version = 212 ; - indicatorOfParameter = 167 ; - } -#Experimental product -'p168.212' = { - table2Version = 212 ; - indicatorOfParameter = 168 ; - } -#Experimental product -'p169.212' = { - table2Version = 212 ; - indicatorOfParameter = 169 ; - } -#Experimental product -'p170.212' = { - table2Version = 212 ; - indicatorOfParameter = 170 ; - } -#Experimental product -'p171.212' = { - table2Version = 212 ; - indicatorOfParameter = 171 ; - } -#Experimental product -'p172.212' = { - table2Version = 212 ; - indicatorOfParameter = 172 ; - } -#Experimental product -'p173.212' = { - table2Version = 212 ; - indicatorOfParameter = 173 ; - } -#Experimental product -'p174.212' = { - table2Version = 212 ; - indicatorOfParameter = 174 ; - } -#Experimental product -'p175.212' = { - table2Version = 212 ; - indicatorOfParameter = 175 ; - } -#Experimental product -'p176.212' = { - table2Version = 212 ; - indicatorOfParameter = 176 ; - } -#Experimental product -'p177.212' = { - table2Version = 212 ; - indicatorOfParameter = 177 ; - } -#Experimental product -'p178.212' = { - table2Version = 212 ; - indicatorOfParameter = 178 ; - } -#Experimental product -'p179.212' = { - table2Version = 212 ; - indicatorOfParameter = 179 ; - } -#Experimental product -'p180.212' = { - table2Version = 212 ; - indicatorOfParameter = 180 ; - } -#Experimental product -'p181.212' = { - table2Version = 212 ; - indicatorOfParameter = 181 ; - } -#Experimental product -'p182.212' = { - table2Version = 212 ; - indicatorOfParameter = 182 ; - } -#Experimental product -'p183.212' = { - table2Version = 212 ; - indicatorOfParameter = 183 ; - } -#Experimental product -'p184.212' = { - table2Version = 212 ; - indicatorOfParameter = 184 ; - } -#Experimental product -'p185.212' = { - table2Version = 212 ; - indicatorOfParameter = 185 ; - } -#Experimental product -'p186.212' = { - table2Version = 212 ; - indicatorOfParameter = 186 ; - } -#Experimental product -'p187.212' = { - table2Version = 212 ; - indicatorOfParameter = 187 ; - } -#Experimental product -'p188.212' = { - table2Version = 212 ; - indicatorOfParameter = 188 ; - } -#Experimental product -'p189.212' = { - table2Version = 212 ; - indicatorOfParameter = 189 ; - } -#Experimental product -'p190.212' = { - table2Version = 212 ; - indicatorOfParameter = 190 ; - } -#Experimental product -'p191.212' = { - table2Version = 212 ; - indicatorOfParameter = 191 ; - } -#Experimental product -'p192.212' = { - table2Version = 212 ; - indicatorOfParameter = 192 ; - } -#Experimental product -'p193.212' = { - table2Version = 212 ; - indicatorOfParameter = 193 ; - } -#Experimental product -'p194.212' = { - table2Version = 212 ; - indicatorOfParameter = 194 ; - } -#Experimental product -'p195.212' = { - table2Version = 212 ; - indicatorOfParameter = 195 ; - } -#Experimental product -'p196.212' = { - table2Version = 212 ; - indicatorOfParameter = 196 ; - } -#Experimental product -'p197.212' = { - table2Version = 212 ; - indicatorOfParameter = 197 ; - } -#Experimental product -'p198.212' = { - table2Version = 212 ; - indicatorOfParameter = 198 ; - } -#Experimental product -'p199.212' = { - table2Version = 212 ; - indicatorOfParameter = 199 ; - } -#Experimental product -'p200.212' = { - table2Version = 212 ; - indicatorOfParameter = 200 ; - } -#Experimental product -'p201.212' = { - table2Version = 212 ; - indicatorOfParameter = 201 ; - } -#Experimental product -'p202.212' = { - table2Version = 212 ; - indicatorOfParameter = 202 ; - } -#Experimental product -'p203.212' = { - table2Version = 212 ; - indicatorOfParameter = 203 ; - } -#Experimental product -'p204.212' = { - table2Version = 212 ; - indicatorOfParameter = 204 ; - } -#Experimental product -'p205.212' = { - table2Version = 212 ; - indicatorOfParameter = 205 ; - } -#Experimental product -'p206.212' = { - table2Version = 212 ; - indicatorOfParameter = 206 ; - } -#Experimental product -'p207.212' = { - table2Version = 212 ; - indicatorOfParameter = 207 ; - } -#Experimental product -'p208.212' = { - table2Version = 212 ; - indicatorOfParameter = 208 ; - } -#Experimental product -'p209.212' = { - table2Version = 212 ; - indicatorOfParameter = 209 ; - } -#Experimental product -'p210.212' = { - table2Version = 212 ; - indicatorOfParameter = 210 ; - } -#Experimental product -'p211.212' = { - table2Version = 212 ; - indicatorOfParameter = 211 ; - } -#Experimental product -'p212.212' = { - table2Version = 212 ; - indicatorOfParameter = 212 ; - } -#Experimental product -'p213.212' = { - table2Version = 212 ; - indicatorOfParameter = 213 ; - } -#Experimental product -'p214.212' = { - table2Version = 212 ; - indicatorOfParameter = 214 ; - } -#Experimental product -'p215.212' = { - table2Version = 212 ; - indicatorOfParameter = 215 ; - } -#Experimental product -'p216.212' = { - table2Version = 212 ; - indicatorOfParameter = 216 ; - } -#Experimental product -'p217.212' = { - table2Version = 212 ; - indicatorOfParameter = 217 ; - } -#Experimental product -'p218.212' = { - table2Version = 212 ; - indicatorOfParameter = 218 ; - } -#Experimental product -'p219.212' = { - table2Version = 212 ; - indicatorOfParameter = 219 ; - } -#Experimental product -'p220.212' = { - table2Version = 212 ; - indicatorOfParameter = 220 ; - } -#Experimental product -'p221.212' = { - table2Version = 212 ; - indicatorOfParameter = 221 ; - } -#Experimental product -'p222.212' = { - table2Version = 212 ; - indicatorOfParameter = 222 ; - } -#Experimental product -'p223.212' = { - table2Version = 212 ; - indicatorOfParameter = 223 ; - } -#Experimental product -'p224.212' = { - table2Version = 212 ; - indicatorOfParameter = 224 ; - } -#Experimental product -'p225.212' = { - table2Version = 212 ; - indicatorOfParameter = 225 ; - } -#Experimental product -'p226.212' = { - table2Version = 212 ; - indicatorOfParameter = 226 ; - } -#Experimental product -'p227.212' = { - table2Version = 212 ; - indicatorOfParameter = 227 ; - } -#Experimental product -'p228.212' = { - table2Version = 212 ; - indicatorOfParameter = 228 ; - } -#Experimental product -'p229.212' = { - table2Version = 212 ; - indicatorOfParameter = 229 ; - } -#Experimental product -'p230.212' = { - table2Version = 212 ; - indicatorOfParameter = 230 ; - } -#Experimental product -'p231.212' = { - table2Version = 212 ; - indicatorOfParameter = 231 ; - } -#Experimental product -'p232.212' = { - table2Version = 212 ; - indicatorOfParameter = 232 ; - } -#Experimental product -'p233.212' = { - table2Version = 212 ; - indicatorOfParameter = 233 ; - } -#Experimental product -'p234.212' = { - table2Version = 212 ; - indicatorOfParameter = 234 ; - } -#Experimental product -'p235.212' = { - table2Version = 212 ; - indicatorOfParameter = 235 ; - } -#Experimental product -'p236.212' = { - table2Version = 212 ; - indicatorOfParameter = 236 ; - } -#Experimental product -'p237.212' = { - table2Version = 212 ; - indicatorOfParameter = 237 ; - } -#Experimental product -'p238.212' = { - table2Version = 212 ; - indicatorOfParameter = 238 ; - } -#Experimental product -'p239.212' = { - table2Version = 212 ; - indicatorOfParameter = 239 ; - } -#Experimental product -'p240.212' = { - table2Version = 212 ; - indicatorOfParameter = 240 ; - } -#Experimental product -'p241.212' = { - table2Version = 212 ; - indicatorOfParameter = 241 ; - } -#Experimental product -'p242.212' = { - table2Version = 212 ; - indicatorOfParameter = 242 ; - } -#Experimental product -'p243.212' = { - table2Version = 212 ; - indicatorOfParameter = 243 ; - } -#Experimental product -'p244.212' = { - table2Version = 212 ; - indicatorOfParameter = 244 ; - } -#Experimental product -'p245.212' = { - table2Version = 212 ; - indicatorOfParameter = 245 ; - } -#Experimental product -'p246.212' = { - table2Version = 212 ; - indicatorOfParameter = 246 ; - } -#Experimental product -'p247.212' = { - table2Version = 212 ; - indicatorOfParameter = 247 ; - } -#Experimental product -'p248.212' = { - table2Version = 212 ; - indicatorOfParameter = 248 ; - } -#Experimental product -'p249.212' = { - table2Version = 212 ; - indicatorOfParameter = 249 ; - } -#Experimental product -'p250.212' = { - table2Version = 212 ; - indicatorOfParameter = 250 ; - } -#Experimental product -'p251.212' = { - table2Version = 212 ; - indicatorOfParameter = 251 ; - } -#Experimental product -'p252.212' = { - table2Version = 212 ; - indicatorOfParameter = 252 ; - } -#Experimental product -'p253.212' = { - table2Version = 212 ; - indicatorOfParameter = 253 ; - } -#Experimental product -'p254.212' = { - table2Version = 212 ; - indicatorOfParameter = 254 ; - } -#Experimental product -'p255.212' = { - table2Version = 212 ; - indicatorOfParameter = 255 ; - } -#Random pattern 1 for sppt -'sppt1' = { - table2Version = 213 ; - indicatorOfParameter = 1 ; - } -#Random pattern 2 for sppt -'sppt2' = { - table2Version = 213 ; - indicatorOfParameter = 2 ; - } -#Random pattern 3 for sppt -'sppt3' = { - table2Version = 213 ; - indicatorOfParameter = 3 ; - } -#Random pattern 4 for sppt -'sppt4' = { - table2Version = 213 ; - indicatorOfParameter = 4 ; - } -#Random pattern 5 for sppt -'sppt5' = { - table2Version = 213 ; - indicatorOfParameter = 5 ; - } -#Random pattern 1 for SPP scheme -'spp1' = { - table2Version = 213 ; - indicatorOfParameter = 101 ; - } -#Random pattern 2 for SPP scheme -'spp2' = { - table2Version = 213 ; - indicatorOfParameter = 102 ; - } -#Random pattern 3 for SPP scheme -'spp3' = { - table2Version = 213 ; - indicatorOfParameter = 103 ; - } -#Random pattern 4 for SPP scheme -'spp4' = { - table2Version = 213 ; - indicatorOfParameter = 104 ; - } -#Random pattern 5 for SPP scheme -'spp5' = { - table2Version = 213 ; - indicatorOfParameter = 105 ; - } -#Random pattern 6 for SPP scheme -'spp6' = { - table2Version = 213 ; - indicatorOfParameter = 106 ; - } -#Random pattern 7 for SPP scheme -'spp7' = { - table2Version = 213 ; - indicatorOfParameter = 107 ; - } -#Random pattern 8 for SPP scheme -'spp8' = { - table2Version = 213 ; - indicatorOfParameter = 108 ; - } -#Random pattern 9 for SPP scheme -'spp9' = { - table2Version = 213 ; - indicatorOfParameter = 109 ; - } -#Random pattern 10 for SPP scheme -'spp10' = { - table2Version = 213 ; - indicatorOfParameter = 110 ; - } -#Random pattern 11 for SPP scheme -'spp11' = { - table2Version = 213 ; - indicatorOfParameter = 111 ; - } -#Random pattern 12 for SPP scheme -'spp12' = { - table2Version = 213 ; - indicatorOfParameter = 112 ; - } -#Random pattern 13 for SPP scheme -'spp13' = { - table2Version = 213 ; - indicatorOfParameter = 113 ; - } -#Random pattern 14 for SPP scheme -'spp14' = { - table2Version = 213 ; - indicatorOfParameter = 114 ; - } -#Random pattern 15 for SPP scheme -'spp15' = { - table2Version = 213 ; - indicatorOfParameter = 115 ; - } -#Random pattern 16 for SPP scheme -'spp16' = { - table2Version = 213 ; - indicatorOfParameter = 116 ; - } -#Random pattern 17 for SPP scheme -'spp17' = { - table2Version = 213 ; - indicatorOfParameter = 117 ; - } -#Random pattern 18 for SPP scheme -'spp18' = { - table2Version = 213 ; - indicatorOfParameter = 118 ; - } -#Random pattern 19 for SPP scheme -'spp19' = { - table2Version = 213 ; - indicatorOfParameter = 119 ; - } -#Random pattern 20 for SPP scheme -'spp20' = { - table2Version = 213 ; - indicatorOfParameter = 120 ; - } -#Random pattern 21 for SPP scheme -'spp21' = { - table2Version = 213 ; - indicatorOfParameter = 121 ; - } -#Random pattern 22 for SPP scheme -'spp22' = { - table2Version = 213 ; - indicatorOfParameter = 122 ; - } -#Random pattern 23 for SPP scheme -'spp23' = { - table2Version = 213 ; - indicatorOfParameter = 123 ; - } -#Random pattern 24 for SPP scheme -'spp24' = { - table2Version = 213 ; - indicatorOfParameter = 124 ; - } -#Random pattern 25 for SPP scheme -'spp25' = { - table2Version = 213 ; - indicatorOfParameter = 125 ; - } -#Random pattern 26 for SPP scheme -'spp26' = { - table2Version = 213 ; - indicatorOfParameter = 126 ; - } -#Random pattern 27 for SPP scheme -'spp27' = { - table2Version = 213 ; - indicatorOfParameter = 127 ; - } -#Random pattern 28 for SPP scheme -'spp28' = { - table2Version = 213 ; - indicatorOfParameter = 128 ; - } -#Random pattern 29 for SPP scheme -'spp29' = { - table2Version = 213 ; - indicatorOfParameter = 129 ; - } -#Random pattern 30 for SPP scheme -'spp30' = { - table2Version = 213 ; - indicatorOfParameter = 130 ; - } -#Random pattern 31 for SPP scheme -'spp31' = { - table2Version = 213 ; - indicatorOfParameter = 131 ; - } -#Random pattern 32 for SPP scheme -'spp32' = { - table2Version = 213 ; - indicatorOfParameter = 132 ; - } -#Random pattern 33 for SPP scheme -'spp33' = { - table2Version = 213 ; - indicatorOfParameter = 133 ; - } -#Random pattern 34 for SPP scheme -'spp34' = { - table2Version = 213 ; - indicatorOfParameter = 134 ; - } -#Random pattern 35 for SPP scheme -'spp35' = { - table2Version = 213 ; - indicatorOfParameter = 135 ; - } -#Random pattern 36 for SPP scheme -'spp36' = { - table2Version = 213 ; - indicatorOfParameter = 136 ; - } -#Random pattern 37 for SPP scheme -'spp37' = { - table2Version = 213 ; - indicatorOfParameter = 137 ; - } -#Random pattern 38 for SPP scheme -'spp38' = { - table2Version = 213 ; - indicatorOfParameter = 138 ; - } -#Random pattern 39 for SPP scheme -'spp39' = { - table2Version = 213 ; - indicatorOfParameter = 139 ; - } -#Random pattern 40 for SPP scheme -'spp40' = { - table2Version = 213 ; - indicatorOfParameter = 140 ; - } -#Random pattern 41 for SPP scheme -'spp41' = { - table2Version = 213 ; - indicatorOfParameter = 141 ; - } -#Random pattern 42 for SPP scheme -'spp42' = { - table2Version = 213 ; - indicatorOfParameter = 142 ; - } -#Random pattern 43 for SPP scheme -'spp43' = { - table2Version = 213 ; - indicatorOfParameter = 143 ; - } -#Random pattern 44 for SPP scheme -'spp44' = { - table2Version = 213 ; - indicatorOfParameter = 144 ; - } -#Random pattern 45 for SPP scheme -'spp45' = { - table2Version = 213 ; - indicatorOfParameter = 145 ; - } -#Random pattern 46 for SPP scheme -'spp46' = { - table2Version = 213 ; - indicatorOfParameter = 146 ; - } -#Random pattern 47 for SPP scheme -'spp47' = { - table2Version = 213 ; - indicatorOfParameter = 147 ; - } -#Random pattern 48 for SPP scheme -'spp48' = { - table2Version = 213 ; - indicatorOfParameter = 148 ; - } -#Random pattern 49 for SPP scheme -'spp49' = { - table2Version = 213 ; - indicatorOfParameter = 149 ; - } -#Random pattern 50 for SPP scheme -'spp50' = { - table2Version = 213 ; - indicatorOfParameter = 150 ; - } -#Random pattern 51 for SPP scheme -'spp51' = { - table2Version = 213 ; - indicatorOfParameter = 151 ; - } -#Random pattern 52 for SPP scheme -'spp52' = { - table2Version = 213 ; - indicatorOfParameter = 152 ; - } -#Random pattern 53 for SPP scheme -'spp53' = { - table2Version = 213 ; - indicatorOfParameter = 153 ; - } -#Random pattern 54 for SPP scheme -'spp54' = { - table2Version = 213 ; - indicatorOfParameter = 154 ; - } -#Random pattern 55 for SPP scheme -'spp55' = { - table2Version = 213 ; - indicatorOfParameter = 155 ; - } -#Random pattern 56 for SPP scheme -'spp56' = { - table2Version = 213 ; - indicatorOfParameter = 156 ; - } -#Random pattern 57 for SPP scheme -'spp57' = { - table2Version = 213 ; - indicatorOfParameter = 157 ; - } -#Random pattern 58 for SPP scheme -'spp58' = { - table2Version = 213 ; - indicatorOfParameter = 158 ; - } -#Random pattern 59 for SPP scheme -'spp59' = { - table2Version = 213 ; - indicatorOfParameter = 159 ; - } -#Random pattern 60 for SPP scheme -'spp60' = { - table2Version = 213 ; - indicatorOfParameter = 160 ; - } -#Random pattern 61 for SPP scheme -'spp61' = { - table2Version = 213 ; - indicatorOfParameter = 161 ; - } -#Random pattern 62 for SPP scheme -'spp62' = { - table2Version = 213 ; - indicatorOfParameter = 162 ; - } -#Random pattern 63 for SPP scheme -'spp63' = { - table2Version = 213 ; - indicatorOfParameter = 163 ; - } -#Random pattern 64 for SPP scheme -'spp64' = { - table2Version = 213 ; - indicatorOfParameter = 164 ; - } -#Random pattern 65 for SPP scheme -'spp65' = { - table2Version = 213 ; - indicatorOfParameter = 165 ; - } -#Random pattern 66 for SPP scheme -'spp66' = { - table2Version = 213 ; - indicatorOfParameter = 166 ; - } -#Random pattern 67 for SPP scheme -'spp67' = { - table2Version = 213 ; - indicatorOfParameter = 167 ; - } -#Random pattern 68 for SPP scheme -'spp68' = { - table2Version = 213 ; - indicatorOfParameter = 168 ; - } -#Random pattern 69 for SPP scheme -'spp69' = { - table2Version = 213 ; - indicatorOfParameter = 169 ; - } -#Random pattern 70 for SPP scheme -'spp70' = { - table2Version = 213 ; - indicatorOfParameter = 170 ; - } -#Random pattern 71 for SPP scheme -'spp71' = { - table2Version = 213 ; - indicatorOfParameter = 171 ; - } -#Random pattern 72 for SPP scheme -'spp72' = { - table2Version = 213 ; - indicatorOfParameter = 172 ; - } -#Random pattern 73 for SPP scheme -'spp73' = { - table2Version = 213 ; - indicatorOfParameter = 173 ; - } -#Random pattern 74 for SPP scheme -'spp74' = { - table2Version = 213 ; - indicatorOfParameter = 174 ; - } -#Random pattern 75 for SPP scheme -'spp75' = { - table2Version = 213 ; - indicatorOfParameter = 175 ; - } -#Random pattern 76 for SPP scheme -'spp76' = { - table2Version = 213 ; - indicatorOfParameter = 176 ; - } -#Random pattern 77 for SPP scheme -'spp77' = { - table2Version = 213 ; - indicatorOfParameter = 177 ; - } -#Random pattern 78 for SPP scheme -'spp78' = { - table2Version = 213 ; - indicatorOfParameter = 178 ; - } -#Random pattern 79 for SPP scheme -'spp79' = { - table2Version = 213 ; - indicatorOfParameter = 179 ; - } -#Random pattern 80 for SPP scheme -'spp80' = { - table2Version = 213 ; - indicatorOfParameter = 180 ; - } -#Random pattern 81 for SPP scheme -'spp81' = { - table2Version = 213 ; - indicatorOfParameter = 181 ; - } -#Random pattern 82 for SPP scheme -'spp82' = { - table2Version = 213 ; - indicatorOfParameter = 182 ; - } -#Random pattern 83 for SPP scheme -'spp83' = { - table2Version = 213 ; - indicatorOfParameter = 183 ; - } -#Random pattern 84 for SPP scheme -'spp84' = { - table2Version = 213 ; - indicatorOfParameter = 184 ; - } -#Random pattern 85 for SPP scheme -'spp85' = { - table2Version = 213 ; - indicatorOfParameter = 185 ; - } -#Random pattern 86 for SPP scheme -'spp86' = { - table2Version = 213 ; - indicatorOfParameter = 186 ; - } -#Random pattern 87 for SPP scheme -'spp87' = { - table2Version = 213 ; - indicatorOfParameter = 187 ; - } -#Random pattern 88 for SPP scheme -'spp88' = { - table2Version = 213 ; - indicatorOfParameter = 188 ; - } -#Random pattern 89 for SPP scheme -'spp89' = { - table2Version = 213 ; - indicatorOfParameter = 189 ; - } -#Random pattern 90 for SPP scheme -'spp90' = { - table2Version = 213 ; - indicatorOfParameter = 190 ; - } -#Random pattern 91 for SPP scheme -'spp91' = { - table2Version = 213 ; - indicatorOfParameter = 191 ; - } -#Random pattern 92 for SPP scheme -'spp92' = { - table2Version = 213 ; - indicatorOfParameter = 192 ; - } -#Random pattern 93 for SPP scheme -'spp93' = { - table2Version = 213 ; - indicatorOfParameter = 193 ; - } -#Random pattern 94 for SPP scheme -'spp94' = { - table2Version = 213 ; - indicatorOfParameter = 194 ; - } -#Random pattern 95 for SPP scheme -'spp95' = { - table2Version = 213 ; - indicatorOfParameter = 195 ; - } -#Random pattern 96 for SPP scheme -'spp96' = { - table2Version = 213 ; - indicatorOfParameter = 196 ; - } -#Random pattern 97 for SPP scheme -'spp97' = { - table2Version = 213 ; - indicatorOfParameter = 197 ; - } -#Random pattern 98 for SPP scheme -'spp98' = { - table2Version = 213 ; - indicatorOfParameter = 198 ; - } -#Random pattern 99 for SPP scheme -'spp99' = { - table2Version = 213 ; - indicatorOfParameter = 199 ; - } -#Random pattern 100 for SPP scheme -'spp100' = { - table2Version = 213 ; - indicatorOfParameter = 200 ; - } -#Random pattern 101 for SPP scheme -'spp101' = { - table2Version = 213 ; - indicatorOfParameter = 201 ; - } -#Random pattern 102 for SPP scheme -'spp102' = { - table2Version = 213 ; - indicatorOfParameter = 202 ; - } -#Random pattern 103 for SPP scheme -'spp103' = { - table2Version = 213 ; - indicatorOfParameter = 203 ; - } -#Random pattern 104 for SPP scheme -'spp104' = { - table2Version = 213 ; - indicatorOfParameter = 204 ; - } -#Random pattern 105 for SPP scheme -'spp105' = { - table2Version = 213 ; - indicatorOfParameter = 205 ; - } -#Random pattern 106 for SPP scheme -'spp106' = { - table2Version = 213 ; - indicatorOfParameter = 206 ; - } -#Random pattern 107 for SPP scheme -'spp107' = { - table2Version = 213 ; - indicatorOfParameter = 207 ; - } -#Random pattern 108 for SPP scheme -'spp108' = { - table2Version = 213 ; - indicatorOfParameter = 208 ; - } -#Random pattern 109 for SPP scheme -'spp109' = { - table2Version = 213 ; - indicatorOfParameter = 209 ; - } -#Random pattern 110 for SPP scheme -'spp110' = { - table2Version = 213 ; - indicatorOfParameter = 210 ; - } -#Random pattern 111 for SPP scheme -'spp111' = { - table2Version = 213 ; - indicatorOfParameter = 211 ; - } -#Random pattern 112 for SPP scheme -'spp112' = { - table2Version = 213 ; - indicatorOfParameter = 212 ; - } -#Random pattern 113 for SPP scheme -'spp113' = { - table2Version = 213 ; - indicatorOfParameter = 213 ; - } -#Random pattern 114 for SPP scheme -'spp114' = { - table2Version = 213 ; - indicatorOfParameter = 214 ; - } -#Random pattern 115 for SPP scheme -'spp115' = { - table2Version = 213 ; - indicatorOfParameter = 215 ; - } -#Random pattern 116 for SPP scheme -'spp116' = { - table2Version = 213 ; - indicatorOfParameter = 216 ; - } -#Random pattern 117 for SPP scheme -'spp117' = { - table2Version = 213 ; - indicatorOfParameter = 217 ; - } -#Random pattern 118 for SPP scheme -'spp118' = { - table2Version = 213 ; - indicatorOfParameter = 218 ; - } -#Random pattern 119 for SPP scheme -'spp119' = { - table2Version = 213 ; - indicatorOfParameter = 219 ; - } -#Random pattern 120 for SPP scheme -'spp120' = { - table2Version = 213 ; - indicatorOfParameter = 220 ; - } -#Random pattern 121 for SPP scheme -'spp121' = { - table2Version = 213 ; - indicatorOfParameter = 221 ; - } -#Cosine of solar zenith angle -'uvcossza' = { - table2Version = 214 ; - indicatorOfParameter = 1 ; - } -#UV biologically effective dose -'uvbed' = { - table2Version = 214 ; - indicatorOfParameter = 2 ; - } -#UV biologically effective dose clear-sky -'uvbedcs' = { - table2Version = 214 ; - indicatorOfParameter = 3 ; - } -#Total surface UV spectral flux (280-285 nm) -'uvsflxt280285' = { - table2Version = 214 ; - indicatorOfParameter = 4 ; - } -#Total surface UV spectral flux (285-290 nm) -'uvsflxt285290' = { - table2Version = 214 ; - indicatorOfParameter = 5 ; - } -#Total surface UV spectral flux (290-295 nm) -'uvsflxt290295' = { - table2Version = 214 ; - indicatorOfParameter = 6 ; - } -#Total surface UV spectral flux (295-300 nm) -'uvsflxt295300' = { - table2Version = 214 ; - indicatorOfParameter = 7 ; - } -#Total surface UV spectral flux (300-305 nm) -'uvsflxt300305' = { - table2Version = 214 ; - indicatorOfParameter = 8 ; - } -#Total surface UV spectral flux (305-310 nm) -'uvsflxt305310' = { - table2Version = 214 ; - indicatorOfParameter = 9 ; - } -#Total surface UV spectral flux (310-315 nm) -'uvsflxt310315' = { - table2Version = 214 ; - indicatorOfParameter = 10 ; - } -#Total surface UV spectral flux (315-320 nm) -'uvsflxt315320' = { - table2Version = 214 ; - indicatorOfParameter = 11 ; - } -#Total surface UV spectral flux (320-325 nm) -'uvsflxt320325' = { - table2Version = 214 ; - indicatorOfParameter = 12 ; - } -#Total surface UV spectral flux (325-330 nm) -'uvsflxt325330' = { - table2Version = 214 ; - indicatorOfParameter = 13 ; - } -#Total surface UV spectral flux (330-335 nm) -'uvsflxt330335' = { - table2Version = 214 ; - indicatorOfParameter = 14 ; - } -#Total surface UV spectral flux (335-340 nm) -'uvsflxt335340' = { - table2Version = 214 ; - indicatorOfParameter = 15 ; - } -#Total surface UV spectral flux (340-345 nm) -'uvsflxt340345' = { - table2Version = 214 ; - indicatorOfParameter = 16 ; - } -#Total surface UV spectral flux (345-350 nm) -'uvsflxt345350' = { - table2Version = 214 ; - indicatorOfParameter = 17 ; - } -#Total surface UV spectral flux (350-355 nm) -'uvsflxt350355' = { - table2Version = 214 ; - indicatorOfParameter = 18 ; - } -#Total surface UV spectral flux (355-360 nm) -'uvsflxt355360' = { - table2Version = 214 ; - indicatorOfParameter = 19 ; - } -#Total surface UV spectral flux (360-365 nm) -'uvsflxt360365' = { - table2Version = 214 ; - indicatorOfParameter = 20 ; - } -#Total surface UV spectral flux (365-370 nm) -'uvsflxt365370' = { - table2Version = 214 ; - indicatorOfParameter = 21 ; - } -#Total surface UV spectral flux (370-375 nm) -'uvsflxt370375' = { - table2Version = 214 ; - indicatorOfParameter = 22 ; - } -#Total surface UV spectral flux (375-380 nm) -'uvsflxt375380' = { - table2Version = 214 ; - indicatorOfParameter = 23 ; - } -#Total surface UV spectral flux (380-385 nm) -'uvsflxt380385' = { - table2Version = 214 ; - indicatorOfParameter = 24 ; - } -#Total surface UV spectral flux (385-390 nm) -'uvsflxt385390' = { - table2Version = 214 ; - indicatorOfParameter = 25 ; - } -#Total surface UV spectral flux (390-395 nm) -'uvsflxt390395' = { - table2Version = 214 ; - indicatorOfParameter = 26 ; - } -#Total surface UV spectral flux (395-400 nm) -'uvsflxt395400' = { - table2Version = 214 ; - indicatorOfParameter = 27 ; - } -#Clear-sky surface UV spectral flux (280-285 nm) -'uvsflxcs280285' = { - table2Version = 214 ; - indicatorOfParameter = 28 ; - } -#Clear-sky surface UV spectral flux (285-290 nm) -'uvsflxcs285290' = { - table2Version = 214 ; - indicatorOfParameter = 29 ; - } -#Clear-sky surface UV spectral flux (290-295 nm) -'uvsflxcs290295' = { - table2Version = 214 ; - indicatorOfParameter = 30 ; - } -#Clear-sky surface UV spectral flux (295-300 nm) -'uvsflxcs295300' = { - table2Version = 214 ; - indicatorOfParameter = 31 ; - } -#Clear-sky surface UV spectral flux (300-305 nm) -'uvsflxcs300305' = { - table2Version = 214 ; - indicatorOfParameter = 32 ; - } -#Clear-sky surface UV spectral flux (305-310 nm) -'uvsflxcs305310' = { - table2Version = 214 ; - indicatorOfParameter = 33 ; - } -#Clear-sky surface UV spectral flux (310-315 nm) -'uvsflxcs310315' = { - table2Version = 214 ; - indicatorOfParameter = 34 ; - } -#Clear-sky surface UV spectral flux (315-320 nm) -'uvsflxcs315320' = { - table2Version = 214 ; - indicatorOfParameter = 35 ; - } -#Clear-sky surface UV spectral flux (320-325 nm) -'uvsflxcs320325' = { - table2Version = 214 ; - indicatorOfParameter = 36 ; - } -#Clear-sky surface UV spectral flux (325-330 nm) -'uvsflxcs325330' = { - table2Version = 214 ; - indicatorOfParameter = 37 ; - } -#Clear-sky surface UV spectral flux (330-335 nm) -'uvsflxcs330335' = { - table2Version = 214 ; - indicatorOfParameter = 38 ; - } -#Clear-sky surface UV spectral flux (335-340 nm) -'uvsflxcs335340' = { - table2Version = 214 ; - indicatorOfParameter = 39 ; - } -#Clear-sky surface UV spectral flux (340-345 nm) -'uvsflxcs340345' = { - table2Version = 214 ; - indicatorOfParameter = 40 ; - } -#Clear-sky surface UV spectral flux (345-350 nm) -'uvsflxcs345350' = { - table2Version = 214 ; - indicatorOfParameter = 41 ; - } -#Clear-sky surface UV spectral flux (350-355 nm) -'uvsflxcs350355' = { - table2Version = 214 ; - indicatorOfParameter = 42 ; - } -#Clear-sky surface UV spectral flux (355-360 nm) -'uvsflxcs355360' = { - table2Version = 214 ; - indicatorOfParameter = 43 ; - } -#Clear-sky surface UV spectral flux (360-365 nm) -'uvsflxcs360365' = { - table2Version = 214 ; - indicatorOfParameter = 44 ; - } -#Clear-sky surface UV spectral flux (365-370 nm) -'uvsflxcs365370' = { - table2Version = 214 ; - indicatorOfParameter = 45 ; - } -#Clear-sky surface UV spectral flux (370-375 nm) -'uvsflxcs370375' = { - table2Version = 214 ; - indicatorOfParameter = 46 ; - } -#Clear-sky surface UV spectral flux (375-380 nm) -'uvsflxcs375380' = { - table2Version = 214 ; - indicatorOfParameter = 47 ; - } -#Clear-sky surface UV spectral flux (380-385 nm) -'uvsflxcs380385' = { - table2Version = 214 ; - indicatorOfParameter = 48 ; - } -#Clear-sky surface UV spectral flux (385-390 nm) -'uvsflxcs385390' = { - table2Version = 214 ; - indicatorOfParameter = 49 ; - } -#Clear-sky surface UV spectral flux (390-395 nm) -'uvsflxcs390395' = { - table2Version = 214 ; - indicatorOfParameter = 50 ; - } -#Clear-sky surface UV spectral flux (395-400 nm) -'uvsflxcs395400' = { - table2Version = 214 ; - indicatorOfParameter = 51 ; - } -#Profile of optical thickness at 340 nm -'aot340' = { - table2Version = 214 ; - indicatorOfParameter = 52 ; - } -#Source/gain of sea salt aerosol (0.03 - 0.5 um) -'aersrcsss' = { - table2Version = 215 ; - indicatorOfParameter = 1 ; - } -#Source/gain of sea salt aerosol (0.5 - 5 um) -'aersrcssm' = { - table2Version = 215 ; - indicatorOfParameter = 2 ; - } -#Source/gain of sea salt aerosol (5 - 20 um) -'aersrcssl' = { - table2Version = 215 ; - indicatorOfParameter = 3 ; - } -#Dry deposition of sea salt aerosol (0.03 - 0.5 um) -'aerddpsss' = { - table2Version = 215 ; - indicatorOfParameter = 4 ; - } -#Dry deposition of sea salt aerosol (0.5 - 5 um) -'aerddpssm' = { - table2Version = 215 ; - indicatorOfParameter = 5 ; - } -#Dry deposition of sea salt aerosol (5 - 20 um) -'aerddpssl' = { - table2Version = 215 ; - indicatorOfParameter = 6 ; - } -#Sedimentation of sea salt aerosol (0.03 - 0.5 um) -'aersdmsss' = { - table2Version = 215 ; - indicatorOfParameter = 7 ; - } -#Sedimentation of sea salt aerosol (0.5 - 5 um) -'aersdmssm' = { - table2Version = 215 ; - indicatorOfParameter = 8 ; - } -#Sedimentation of sea salt aerosol (5 - 20 um) -'aersdmssl' = { - table2Version = 215 ; - indicatorOfParameter = 9 ; - } -#Wet deposition of sea salt aerosol (0.03 - 0.5 um) by large-scale precipitation -'aerwdlssss' = { - table2Version = 215 ; - indicatorOfParameter = 10 ; - } -#Wet deposition of sea salt aerosol (0.5 - 5 um) by large-scale precipitation -'aerwdlsssm' = { - table2Version = 215 ; - indicatorOfParameter = 11 ; - } -#Wet deposition of sea salt aerosol (5 - 20 um) by large-scale precipitation -'aerwdlsssl' = { - table2Version = 215 ; - indicatorOfParameter = 12 ; - } -#Wet deposition of sea salt aerosol (0.03 - 0.5 um) by convective precipitation -'aerwdccsss' = { - table2Version = 215 ; - indicatorOfParameter = 13 ; - } -#Wet deposition of sea salt aerosol (0.5 - 5 um) by convective precipitation -'aerwdccssm' = { - table2Version = 215 ; - indicatorOfParameter = 14 ; - } -#Wet deposition of sea salt aerosol (5 - 20 um) by convective precipitation -'aerwdccssl' = { - table2Version = 215 ; - indicatorOfParameter = 15 ; - } -#Negative fixer of sea salt aerosol (0.03 - 0.5 um) -'aerngtsss' = { - table2Version = 215 ; - indicatorOfParameter = 16 ; - } -#Negative fixer of sea salt aerosol (0.5 - 5 um) -'aerngtssm' = { - table2Version = 215 ; - indicatorOfParameter = 17 ; - } -#Negative fixer of sea salt aerosol (5 - 20 um) -'aerngtssl' = { - table2Version = 215 ; - indicatorOfParameter = 18 ; - } -#Vertically integrated mass of sea salt aerosol (0.03 - 0.5 um) -'aermsssss' = { - table2Version = 215 ; - indicatorOfParameter = 19 ; - } -#Vertically integrated mass of sea salt aerosol (0.5 - 5 um) -'aermssssm' = { - table2Version = 215 ; - indicatorOfParameter = 20 ; - } -#Vertically integrated mass of sea salt aerosol (5 - 20 um) -'aermssssl' = { - table2Version = 215 ; - indicatorOfParameter = 21 ; - } -#Sea salt aerosol (0.03 - 0.5 um) optical depth -'aerodsss' = { - table2Version = 215 ; - indicatorOfParameter = 22 ; - } -#Sea salt aerosol (0.5 - 5 um) optical depth -'aerodssm' = { - table2Version = 215 ; - indicatorOfParameter = 23 ; - } -#Sea salt aerosol (5 - 20 um) optical depth -'aerodssl' = { - table2Version = 215 ; - indicatorOfParameter = 24 ; - } -#Source/gain of dust aerosol (0.03 - 0.55 um) -'aersrcdus' = { - table2Version = 215 ; - indicatorOfParameter = 25 ; - } -#Source/gain of dust aerosol (0.55 - 9 um) -'aersrcdum' = { - table2Version = 215 ; - indicatorOfParameter = 26 ; - } -#Source/gain of dust aerosol (9 - 20 um) -'aersrcdul' = { - table2Version = 215 ; - indicatorOfParameter = 27 ; - } -#Dry deposition of dust aerosol (0.03 - 0.55 um) -'aerddpdus' = { - table2Version = 215 ; - indicatorOfParameter = 28 ; - } -#Dry deposition of dust aerosol (0.55 - 9 um) -'aerddpdum' = { - table2Version = 215 ; - indicatorOfParameter = 29 ; - } -#Dry deposition of dust aerosol (9 - 20 um) -'aerddpdul' = { - table2Version = 215 ; - indicatorOfParameter = 30 ; - } -#Sedimentation of dust aerosol (0.03 - 0.55 um) -'aersdmdus' = { - table2Version = 215 ; - indicatorOfParameter = 31 ; - } -#Sedimentation of dust aerosol (0.55 - 9 um) -'aersdmdum' = { - table2Version = 215 ; - indicatorOfParameter = 32 ; - } -#Sedimentation of dust aerosol (9 - 20 um) -'aersdmdul' = { - table2Version = 215 ; - indicatorOfParameter = 33 ; - } -#Wet deposition of dust aerosol (0.03 - 0.55 um) by large-scale precipitation -'aerwdlsdus' = { - table2Version = 215 ; - indicatorOfParameter = 34 ; - } -#Wet deposition of dust aerosol (0.55 - 9 um) by large-scale precipitation -'aerwdlsdum' = { - table2Version = 215 ; - indicatorOfParameter = 35 ; - } -#Wet deposition of dust aerosol (9 - 20 um) by large-scale precipitation -'aerwdlsdul' = { - table2Version = 215 ; - indicatorOfParameter = 36 ; - } -#Wet deposition of dust aerosol (0.03 - 0.55 um) by convective precipitation -'aerwdccdus' = { - table2Version = 215 ; - indicatorOfParameter = 37 ; - } -#Wet deposition of dust aerosol (0.55 - 9 um) by convective precipitation -'aerwdccdum' = { - table2Version = 215 ; - indicatorOfParameter = 38 ; - } -#Wet deposition of dust aerosol (9 - 20 um) by convective precipitation -'aerwdccdul' = { - table2Version = 215 ; - indicatorOfParameter = 39 ; - } -#Negative fixer of dust aerosol (0.03 - 0.55 um) -'aerngtdus' = { - table2Version = 215 ; - indicatorOfParameter = 40 ; - } -#Negative fixer of dust aerosol (0.55 - 9 um) -'aerngtdum' = { - table2Version = 215 ; - indicatorOfParameter = 41 ; - } -#Negative fixer of dust aerosol (9 - 20 um) -'aerngtdul' = { - table2Version = 215 ; - indicatorOfParameter = 42 ; - } -#Vertically integrated mass of dust aerosol (0.03 - 0.55 um) -'aermssdus' = { - table2Version = 215 ; - indicatorOfParameter = 43 ; - } -#Vertically integrated mass of dust aerosol (0.55 - 9 um) -'aermssdum' = { - table2Version = 215 ; - indicatorOfParameter = 44 ; - } -#Vertically integrated mass of dust aerosol (9 - 20 um) -'aermssdul' = { - table2Version = 215 ; - indicatorOfParameter = 45 ; - } -#Dust aerosol (0.03 - 0.55 um) optical depth -'aeroddus' = { - table2Version = 215 ; - indicatorOfParameter = 46 ; - } -#Dust aerosol (0.55 - 9 um) optical depth -'aeroddum' = { - table2Version = 215 ; - indicatorOfParameter = 47 ; - } -#Dust aerosol (9 - 20 um) optical depth -'aeroddul' = { - table2Version = 215 ; - indicatorOfParameter = 48 ; - } -#Source/gain of hydrophobic organic matter aerosol -'aersrcomhphob' = { - table2Version = 215 ; - indicatorOfParameter = 49 ; - } -#Source/gain of hydrophilic organic matter aerosol -'aersrcomhphil' = { - table2Version = 215 ; - indicatorOfParameter = 50 ; - } -#Dry deposition of hydrophobic organic matter aerosol -'aerddpomhphob' = { - table2Version = 215 ; - indicatorOfParameter = 51 ; - } -#Dry deposition of hydrophilic organic matter aerosol -'aerddpomhphil' = { - table2Version = 215 ; - indicatorOfParameter = 52 ; - } -#Sedimentation of hydrophobic organic matter aerosol -'aersdmomhphob' = { - table2Version = 215 ; - indicatorOfParameter = 53 ; - } -#Sedimentation of hydrophilic organic matter aerosol -'aersdmomhphil' = { - table2Version = 215 ; - indicatorOfParameter = 54 ; - } -#Wet deposition of hydrophobic organic matter aerosol by large-scale precipitation -'aerwdlsomhphob' = { - table2Version = 215 ; - indicatorOfParameter = 55 ; - } -#Wet deposition of hydrophilic organic matter aerosol by large-scale precipitation -'aerwdlsomhphil' = { - table2Version = 215 ; - indicatorOfParameter = 56 ; - } -#Wet deposition of hydrophobic organic matter aerosol by convective precipitation -'aerwdccomhphob' = { - table2Version = 215 ; - indicatorOfParameter = 57 ; - } -#Wet deposition of hydrophilic organic matter aerosol by convective precipitation -'aerwdccomhphil' = { - table2Version = 215 ; - indicatorOfParameter = 58 ; - } -#Negative fixer of hydrophobic organic matter aerosol -'aerngtomhphob' = { - table2Version = 215 ; - indicatorOfParameter = 59 ; - } -#Negative fixer of hydrophilic organic matter aerosol -'aerngtomhphil' = { - table2Version = 215 ; - indicatorOfParameter = 60 ; - } -#Vertically integrated mass of hydrophobic organic matter aerosol -'aermssomhphob' = { - table2Version = 215 ; - indicatorOfParameter = 61 ; - } -#Vertically integrated mass of hydrophilic organic matter aerosol -'aermssomhphil' = { - table2Version = 215 ; - indicatorOfParameter = 62 ; - } -#Hydrophobic organic matter aerosol optical depth -'aerodomhphob' = { - table2Version = 215 ; - indicatorOfParameter = 63 ; - } -#Hydrophilic organic matter aerosol optical depth -'aerodomhphil' = { - table2Version = 215 ; - indicatorOfParameter = 64 ; - } -#Source/gain of hydrophobic black carbon aerosol -'aersrcbchphob' = { - table2Version = 215 ; - indicatorOfParameter = 65 ; - } -#Source/gain of hydrophilic black carbon aerosol -'aersrcbchphil' = { - table2Version = 215 ; - indicatorOfParameter = 66 ; - } -#Dry deposition of hydrophobic black carbon aerosol -'aerddpbchphob' = { - table2Version = 215 ; - indicatorOfParameter = 67 ; - } -#Dry deposition of hydrophilic black carbon aerosol -'aerddpbchphil' = { - table2Version = 215 ; - indicatorOfParameter = 68 ; - } -#Sedimentation of hydrophobic black carbon aerosol -'aersdmbchphob' = { - table2Version = 215 ; - indicatorOfParameter = 69 ; - } -#Sedimentation of hydrophilic black carbon aerosol -'aersdmbchphil' = { - table2Version = 215 ; - indicatorOfParameter = 70 ; - } -#Wet deposition of hydrophobic black carbon aerosol by large-scale precipitation -'aerwdlsbchphob' = { - table2Version = 215 ; - indicatorOfParameter = 71 ; - } -#Wet deposition of hydrophilic black carbon aerosol by large-scale precipitation -'aerwdlsbchphil' = { - table2Version = 215 ; - indicatorOfParameter = 72 ; - } -#Wet deposition of hydrophobic black carbon aerosol by convective precipitation -'aerwdccbchphob' = { - table2Version = 215 ; - indicatorOfParameter = 73 ; - } -#Wet deposition of hydrophilic black carbon aerosol by convective precipitation -'aerwdccbchphil' = { - table2Version = 215 ; - indicatorOfParameter = 74 ; - } -#Negative fixer of hydrophobic black carbon aerosol -'aerngtbchphob' = { - table2Version = 215 ; - indicatorOfParameter = 75 ; - } -#Negative fixer of hydrophilic black carbon aerosol -'aerngtbchphil' = { - table2Version = 215 ; - indicatorOfParameter = 76 ; - } -#Vertically integrated mass of hydrophobic black carbon aerosol -'aermssbchphob' = { - table2Version = 215 ; - indicatorOfParameter = 77 ; - } -#Vertically integrated mass of hydrophilic black carbon aerosol -'aermssbchphil' = { - table2Version = 215 ; - indicatorOfParameter = 78 ; - } -#Hydrophobic black carbon aerosol optical depth -'aerodbchphob' = { - table2Version = 215 ; - indicatorOfParameter = 79 ; - } -#Hydrophilic black carbon aerosol optical depth -'aerodbchphil' = { - table2Version = 215 ; - indicatorOfParameter = 80 ; - } -#Source/gain of sulphate aerosol -'aersrcsu' = { - table2Version = 215 ; - indicatorOfParameter = 81 ; - } -#Dry deposition of sulphate aerosol -'aerddpsu' = { - table2Version = 215 ; - indicatorOfParameter = 82 ; - } -#Sedimentation of sulphate aerosol -'aersdmsu' = { - table2Version = 215 ; - indicatorOfParameter = 83 ; - } -#Wet deposition of sulphate aerosol by large-scale precipitation -'aerwdlssu' = { - table2Version = 215 ; - indicatorOfParameter = 84 ; - } -#Wet deposition of sulphate aerosol by convective precipitation -'aerwdccsu' = { - table2Version = 215 ; - indicatorOfParameter = 85 ; - } -#Negative fixer of sulphate aerosol -'aerngtsu' = { - table2Version = 215 ; - indicatorOfParameter = 86 ; - } -#Vertically integrated mass of sulphate aerosol -'aermsssu' = { - table2Version = 215 ; - indicatorOfParameter = 87 ; - } -#Sulphate aerosol optical depth -'aerodsu' = { - table2Version = 215 ; - indicatorOfParameter = 88 ; - } -#Accumulated total aerosol optical depth at 550 nm -'accaod550' = { - table2Version = 215 ; - indicatorOfParameter = 89 ; - } -#Effective (snow effect included) UV visible albedo for direct radiation -'aluvpsn' = { - table2Version = 215 ; - indicatorOfParameter = 90 ; - } -#10 metre wind speed dust emission potential -'aerdep10si' = { - table2Version = 215 ; - indicatorOfParameter = 91 ; - } -#10 metre wind gustiness dust emission potential -'aerdep10fg' = { - table2Version = 215 ; - indicatorOfParameter = 92 ; - } -#Total aerosol optical thickness at 532 nm -'aot532' = { - table2Version = 215 ; - indicatorOfParameter = 93 ; - } -#Natural (sea-salt and dust) aerosol optical thickness at 532 nm -'naot532' = { - table2Version = 215 ; - indicatorOfParameter = 94 ; - } -#Anthropogenic (black carbon, organic matter, sulphate) aerosol optical thickness at 532 nm -'aaot532' = { - table2Version = 215 ; - indicatorOfParameter = 95 ; - } -#Total absorption aerosol optical depth at 340 nm -'aodabs340' = { - table2Version = 215 ; - indicatorOfParameter = 96 ; - } -#Total absorption aerosol optical depth at 355 nm -'aodabs355' = { - table2Version = 215 ; - indicatorOfParameter = 97 ; - } -#Total absorption aerosol optical depth at 380 nm -'aodabs380' = { - table2Version = 215 ; - indicatorOfParameter = 98 ; - } -#Total absorption aerosol optical depth at 400 nm -'aodabs400' = { - table2Version = 215 ; - indicatorOfParameter = 99 ; - } -#Total absorption aerosol optical depth at 440 nm -'aodabs440' = { - table2Version = 215 ; - indicatorOfParameter = 100 ; - } -#Total absorption aerosol optical depth at 469 nm -'aodabs469' = { - table2Version = 215 ; - indicatorOfParameter = 101 ; - } -#Total absorption aerosol optical depth at 500 nm -'aodabs500' = { - table2Version = 215 ; - indicatorOfParameter = 102 ; - } -#Total absorption aerosol optical depth at 532 nm -'aodabs532' = { - table2Version = 215 ; - indicatorOfParameter = 103 ; - } -#Total absorption aerosol optical depth at 550 nm -'aodabs550' = { - table2Version = 215 ; - indicatorOfParameter = 104 ; - } -#Total absorption aerosol optical depth at 645 nm -'aodabs645' = { - table2Version = 215 ; - indicatorOfParameter = 105 ; - } -#Total absorption aerosol optical depth at 670 nm -'aodabs670' = { - table2Version = 215 ; - indicatorOfParameter = 106 ; - } -#Total absorption aerosol optical depth at 800 nm -'aodabs800' = { - table2Version = 215 ; - indicatorOfParameter = 107 ; - } -#Total absorption aerosol optical depth at 858 nm -'aodabs858' = { - table2Version = 215 ; - indicatorOfParameter = 108 ; - } -#Total absorption aerosol optical depth at 865 nm -'aodabs865' = { - table2Version = 215 ; - indicatorOfParameter = 109 ; - } -#Total absorption aerosol optical depth at 1020 nm -'aodabs1020' = { - table2Version = 215 ; - indicatorOfParameter = 110 ; - } -#Total absorption aerosol optical depth at 1064 nm -'aodabs1064' = { - table2Version = 215 ; - indicatorOfParameter = 111 ; - } -#Total absorption aerosol optical depth at 1240 nm -'aodabs1240' = { - table2Version = 215 ; - indicatorOfParameter = 112 ; - } -#Total absorption aerosol optical depth at 1640 nm -'aodabs1640' = { - table2Version = 215 ; - indicatorOfParameter = 113 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 340 nm -'aodfm340' = { - table2Version = 215 ; - indicatorOfParameter = 114 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 355 nm -'aodfm355' = { - table2Version = 215 ; - indicatorOfParameter = 115 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 380 nm -'aodfm380' = { - table2Version = 215 ; - indicatorOfParameter = 116 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 400 nm -'aodfm400' = { - table2Version = 215 ; - indicatorOfParameter = 117 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 440 nm -'aodfm440' = { - table2Version = 215 ; - indicatorOfParameter = 118 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 469 nm -'aodfm469' = { - table2Version = 215 ; - indicatorOfParameter = 119 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 500 nm -'aodfm500' = { - table2Version = 215 ; - indicatorOfParameter = 120 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 532 nm -'aodfm532' = { - table2Version = 215 ; - indicatorOfParameter = 121 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 550 nm -'aodfm550' = { - table2Version = 215 ; - indicatorOfParameter = 122 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 645 nm -'aodfm645' = { - table2Version = 215 ; - indicatorOfParameter = 123 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 670 nm -'aodfm670' = { - table2Version = 215 ; - indicatorOfParameter = 124 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 800 nm -'aodfm800' = { - table2Version = 215 ; - indicatorOfParameter = 125 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 858 nm -'aodfm858' = { - table2Version = 215 ; - indicatorOfParameter = 126 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 865 nm -'aodfm865' = { - table2Version = 215 ; - indicatorOfParameter = 127 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 1020 nm -'aodfm1020' = { - table2Version = 215 ; - indicatorOfParameter = 128 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 1064 nm -'aodfm1064' = { - table2Version = 215 ; - indicatorOfParameter = 129 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 1240 nm -'aodfm1240' = { - table2Version = 215 ; - indicatorOfParameter = 130 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 1640 nm -'aodfm1640' = { - table2Version = 215 ; - indicatorOfParameter = 131 ; - } -#Single scattering albedo at 340 nm -'ssa340' = { - table2Version = 215 ; - indicatorOfParameter = 132 ; - } -#Single scattering albedo at 355 nm -'ssa355' = { - table2Version = 215 ; - indicatorOfParameter = 133 ; - } -#Single scattering albedo at 380 nm -'ssa380' = { - table2Version = 215 ; - indicatorOfParameter = 134 ; - } -#Single scattering albedo at 400 nm -'ssa400' = { - table2Version = 215 ; - indicatorOfParameter = 135 ; - } -#Single scattering albedo at 440 nm -'ssa440' = { - table2Version = 215 ; - indicatorOfParameter = 136 ; - } -#Single scattering albedo at 469 nm -'ssa469' = { - table2Version = 215 ; - indicatorOfParameter = 137 ; - } -#Single scattering albedo at 500 nm -'ssa500' = { - table2Version = 215 ; - indicatorOfParameter = 138 ; - } -#Single scattering albedo at 532 nm -'ssa532' = { - table2Version = 215 ; - indicatorOfParameter = 139 ; - } -#Single scattering albedo at 550 nm -'ssa550' = { - table2Version = 215 ; - indicatorOfParameter = 140 ; - } -#Single scattering albedo at 645 nm -'ssa645' = { - table2Version = 215 ; - indicatorOfParameter = 141 ; - } -#Single scattering albedo at 670 nm -'ssa670' = { - table2Version = 215 ; - indicatorOfParameter = 142 ; - } -#Single scattering albedo at 800 nm -'ssa800' = { - table2Version = 215 ; - indicatorOfParameter = 143 ; - } -#Single scattering albedo at 858 nm -'ssa858' = { - table2Version = 215 ; - indicatorOfParameter = 144 ; - } -#Single scattering albedo at 865 nm -'ssa865' = { - table2Version = 215 ; - indicatorOfParameter = 145 ; - } -#Single scattering albedo at 1020 nm -'ssa1020' = { - table2Version = 215 ; - indicatorOfParameter = 146 ; - } -#Single scattering albedo at 1064 nm -'ssa1064' = { - table2Version = 215 ; - indicatorOfParameter = 147 ; - } -#Single scattering albedo at 1240 nm -'ssa1240' = { - table2Version = 215 ; - indicatorOfParameter = 148 ; - } -#Single scattering albedo at 1640 nm -'ssa1640' = { - table2Version = 215 ; - indicatorOfParameter = 149 ; - } -#Asymmetry factor at 340 nm -'asymmetry340' = { - table2Version = 215 ; - indicatorOfParameter = 150 ; - } -#Asymmetry factor at 355 nm -'asymmetry355' = { - table2Version = 215 ; - indicatorOfParameter = 151 ; - } -#Asymmetry factor at 380 nm -'asymmetry380' = { - table2Version = 215 ; - indicatorOfParameter = 152 ; - } -#Asymmetry factor at 400 nm -'asymmetry400' = { - table2Version = 215 ; - indicatorOfParameter = 153 ; - } -#Asymmetry factor at 440 nm -'asymmetry440' = { - table2Version = 215 ; - indicatorOfParameter = 154 ; - } -#Asymmetry factor at 469 nm -'asymmetry469' = { - table2Version = 215 ; - indicatorOfParameter = 155 ; - } -#Asymmetry factor at 500 nm -'asymmetry500' = { - table2Version = 215 ; - indicatorOfParameter = 156 ; - } -#Asymmetry factor at 532 nm -'asymmetry532' = { - table2Version = 215 ; - indicatorOfParameter = 157 ; - } -#Asymmetry factor at 550 nm -'asymmetry550' = { - table2Version = 215 ; - indicatorOfParameter = 158 ; - } -#Asymmetry factor at 645 nm -'asymmetry645' = { - table2Version = 215 ; - indicatorOfParameter = 159 ; - } -#Asymmetry factor at 670 nm -'asymmetry670' = { - table2Version = 215 ; - indicatorOfParameter = 160 ; - } -#Asymmetry factor at 800 nm -'asymmetry800' = { - table2Version = 215 ; - indicatorOfParameter = 161 ; - } -#Asymmetry factor at 858 nm -'asymmetry858' = { - table2Version = 215 ; - indicatorOfParameter = 162 ; - } -#Asymmetry factor at 865 nm -'asymmetry865' = { - table2Version = 215 ; - indicatorOfParameter = 163 ; - } -#Asymmetry factor at 1020 nm -'asymmetry1020' = { - table2Version = 215 ; - indicatorOfParameter = 164 ; - } -#Asymmetry factor at 1064 nm -'asymmetry1064' = { - table2Version = 215 ; - indicatorOfParameter = 165 ; - } -#Asymmetry factor at 1240 nm -'asymmetry1240' = { - table2Version = 215 ; - indicatorOfParameter = 166 ; - } -#Asymmetry factor at 1640 nm -'asymmetry1640' = { - table2Version = 215 ; - indicatorOfParameter = 167 ; - } -#Source/gain of sulphur dioxide -'aersrcso2' = { - table2Version = 215 ; - indicatorOfParameter = 168 ; - } -#Dry deposition of sulphur dioxide -'aerddpso2' = { - table2Version = 215 ; - indicatorOfParameter = 169 ; - } -#Sedimentation of sulphur dioxide -'aersdmso2' = { - table2Version = 215 ; - indicatorOfParameter = 170 ; - } -#Wet deposition of sulphur dioxide by large-scale precipitation -'aerwdlsso2' = { - table2Version = 215 ; - indicatorOfParameter = 171 ; - } -#Wet deposition of sulphur dioxide by convective precipitation -'aerwdccso2' = { - table2Version = 215 ; - indicatorOfParameter = 172 ; - } -#Negative fixer of sulphur dioxide -'aerngtso2' = { - table2Version = 215 ; - indicatorOfParameter = 173 ; - } -#Vertically integrated mass of sulphur dioxide -'aermssso2' = { - table2Version = 215 ; - indicatorOfParameter = 174 ; - } -#Sulphur dioxide optical depth -'aerodso2' = { - table2Version = 215 ; - indicatorOfParameter = 175 ; - } -#Total absorption aerosol optical depth at 2130 nm -'aodabs2130' = { - table2Version = 215 ; - indicatorOfParameter = 176 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 2130 nm -'aodfm2130' = { - table2Version = 215 ; - indicatorOfParameter = 177 ; - } -#Single scattering albedo at 2130 nm -'ssa2130' = { - table2Version = 215 ; - indicatorOfParameter = 178 ; - } -#Asymmetry factor at 2130 nm -'asymmetry2130' = { - table2Version = 215 ; - indicatorOfParameter = 179 ; - } -#Aerosol extinction coefficient at 355 nm -'aerext355' = { - table2Version = 215 ; - indicatorOfParameter = 180 ; - } -#Aerosol extinction coefficient at 532 nm -'aerext532' = { - table2Version = 215 ; - indicatorOfParameter = 181 ; - } -#Aerosol extinction coefficient at 1064 nm -'aerext1064' = { - table2Version = 215 ; - indicatorOfParameter = 182 ; - } -#Aerosol backscatter coefficient at 355 nm (from top of atmosphere) -'aerbackscattoa355' = { - table2Version = 215 ; - indicatorOfParameter = 183 ; - } -#Aerosol backscatter coefficient at 532 nm (from top of atmosphere) -'aerbackscattoa532' = { - table2Version = 215 ; - indicatorOfParameter = 184 ; - } -#Aerosol backscatter coefficient at 1064 nm (from top of atmosphere) -'aerbackscattoa1064' = { - table2Version = 215 ; - indicatorOfParameter = 185 ; - } -#Aerosol backscatter coefficient at 355 nm (from ground) -'aerbackscatgnd355' = { - table2Version = 215 ; - indicatorOfParameter = 186 ; - } -#Aerosol backscatter coefficient at 532 nm (from ground) -'aerbackscatgnd532' = { - table2Version = 215 ; - indicatorOfParameter = 187 ; - } -#Aerosol backscatter coefficient at 1064 nm (from ground) -'aerbackscatgnd1064' = { - table2Version = 215 ; - indicatorOfParameter = 188 ; - } -#Source/gain of fine-mode nitrate aerosol -'aersrcnif' = { - table2Version = 215 ; - indicatorOfParameter = 189 ; - } -#Source/gain of coarse-mode nitrate aerosol -'aersrcnic' = { - table2Version = 215 ; - indicatorOfParameter = 190 ; - } -#Dry deposition of fine-mode nitrate aerosol -'aerddpnif' = { - table2Version = 215 ; - indicatorOfParameter = 191 ; - } -#Dry deposition of coarse-mode nitrate aerosol -'aerddpnic' = { - table2Version = 215 ; - indicatorOfParameter = 192 ; - } -#Sedimentation of fine-mode nitrate aerosol -'aersdmnif' = { - table2Version = 215 ; - indicatorOfParameter = 193 ; - } -#Sedimentation of coarse-mode nitrate aerosol -'aersdmnic' = { - table2Version = 215 ; - indicatorOfParameter = 194 ; - } -#Wet deposition of fine-mode nitrate aerosol by large-scale precipitation -'aerwdlnif' = { - table2Version = 215 ; - indicatorOfParameter = 195 ; - } -#Wet deposition of coarse-mode nitrate aerosol by large-scale precipitation -'aerwdlnic' = { - table2Version = 215 ; - indicatorOfParameter = 196 ; - } -#Wet deposition of fine-mode nitrate aerosol by convective precipitation -'aerwdcnif' = { - table2Version = 215 ; - indicatorOfParameter = 197 ; - } -#Wet deposition of coarse-mode nitrate aerosol by convective precipitation -'aerwdcnic' = { - table2Version = 215 ; - indicatorOfParameter = 198 ; - } -#Negative fixer of fine-mode nitrate aerosol -'aerngtnif' = { - table2Version = 215 ; - indicatorOfParameter = 199 ; - } -#Negative fixer of coarse-mode nitrate aerosol -'aerngtnic' = { - table2Version = 215 ; - indicatorOfParameter = 200 ; - } -#Vertically integrated mass of fine-mode nitrate aerosol -'aermssnif' = { - table2Version = 215 ; - indicatorOfParameter = 201 ; - } -#Vertically integrated mass of coarse-mode nitrate aerosol -'aermssnic' = { - table2Version = 215 ; - indicatorOfParameter = 202 ; - } -#Fine-mode nitrate aerosol optical depth at 550 nm -'aerodnif' = { - table2Version = 215 ; - indicatorOfParameter = 203 ; - } -#Coarse-mode nitrate aerosol optical depth at 550 nm -'aerodnic' = { - table2Version = 215 ; - indicatorOfParameter = 204 ; - } -#Source/gain of ammonium aerosol -'aersrcam' = { - table2Version = 215 ; - indicatorOfParameter = 205 ; - } -#Dry deposition of ammonium aerosol -'aerddpam' = { - table2Version = 215 ; - indicatorOfParameter = 206 ; - } -#Sedimentation of ammonium aerosol -'aersdmam' = { - table2Version = 215 ; - indicatorOfParameter = 207 ; - } -#Wet deposition of ammonium aerosol by large-scale precipitation -'aerwdlam' = { - table2Version = 215 ; - indicatorOfParameter = 208 ; - } -#Wet deposition of ammonium aerosol by convective precipitation -'aerwdcam' = { - table2Version = 215 ; - indicatorOfParameter = 209 ; - } -#Negative fixer of ammonium aerosol -'aerngtam' = { - table2Version = 215 ; - indicatorOfParameter = 210 ; - } -#Vertically integrated mass of ammonium aerosol -'aermssam' = { - table2Version = 215 ; - indicatorOfParameter = 211 ; - } -#Experimental product -'p1.216' = { - table2Version = 216 ; - indicatorOfParameter = 1 ; - } -#Experimental product -'p2.216' = { - table2Version = 216 ; - indicatorOfParameter = 2 ; - } -#Experimental product -'p3.216' = { - table2Version = 216 ; - indicatorOfParameter = 3 ; - } -#Experimental product -'p4.216' = { - table2Version = 216 ; - indicatorOfParameter = 4 ; - } -#Experimental product -'p5.216' = { - table2Version = 216 ; - indicatorOfParameter = 5 ; - } -#Experimental product -'p6.216' = { - table2Version = 216 ; - indicatorOfParameter = 6 ; - } -#Experimental product -'p7.216' = { - table2Version = 216 ; - indicatorOfParameter = 7 ; - } -#Experimental product -'p8.216' = { - table2Version = 216 ; - indicatorOfParameter = 8 ; - } -#Experimental product -'p9.216' = { - table2Version = 216 ; - indicatorOfParameter = 9 ; - } -#Experimental product -'p10.216' = { - table2Version = 216 ; - indicatorOfParameter = 10 ; - } -#Experimental product -'p11.216' = { - table2Version = 216 ; - indicatorOfParameter = 11 ; - } -#Experimental product -'p12.216' = { - table2Version = 216 ; - indicatorOfParameter = 12 ; - } -#Experimental product -'p13.216' = { - table2Version = 216 ; - indicatorOfParameter = 13 ; - } -#Experimental product -'p14.216' = { - table2Version = 216 ; - indicatorOfParameter = 14 ; - } -#Experimental product -'p15.216' = { - table2Version = 216 ; - indicatorOfParameter = 15 ; - } -#Experimental product -'p16.216' = { - table2Version = 216 ; - indicatorOfParameter = 16 ; - } -#Experimental product -'p17.216' = { - table2Version = 216 ; - indicatorOfParameter = 17 ; - } -#Experimental product -'p18.216' = { - table2Version = 216 ; - indicatorOfParameter = 18 ; - } -#Experimental product -'p19.216' = { - table2Version = 216 ; - indicatorOfParameter = 19 ; - } -#Experimental product -'p20.216' = { - table2Version = 216 ; - indicatorOfParameter = 20 ; - } -#Experimental product -'p21.216' = { - table2Version = 216 ; - indicatorOfParameter = 21 ; - } -#Experimental product -'p22.216' = { - table2Version = 216 ; - indicatorOfParameter = 22 ; - } -#Experimental product -'p23.216' = { - table2Version = 216 ; - indicatorOfParameter = 23 ; - } -#Experimental product -'p24.216' = { - table2Version = 216 ; - indicatorOfParameter = 24 ; - } -#Experimental product -'p25.216' = { - table2Version = 216 ; - indicatorOfParameter = 25 ; - } -#Experimental product -'p26.216' = { - table2Version = 216 ; - indicatorOfParameter = 26 ; - } -#Experimental product -'p27.216' = { - table2Version = 216 ; - indicatorOfParameter = 27 ; - } -#Experimental product -'p28.216' = { - table2Version = 216 ; - indicatorOfParameter = 28 ; - } -#Experimental product -'p29.216' = { - table2Version = 216 ; - indicatorOfParameter = 29 ; - } -#Experimental product -'p30.216' = { - table2Version = 216 ; - indicatorOfParameter = 30 ; - } -#Experimental product -'p31.216' = { - table2Version = 216 ; - indicatorOfParameter = 31 ; - } -#Experimental product -'p32.216' = { - table2Version = 216 ; - indicatorOfParameter = 32 ; - } -#Experimental product -'p33.216' = { - table2Version = 216 ; - indicatorOfParameter = 33 ; - } -#Experimental product -'p34.216' = { - table2Version = 216 ; - indicatorOfParameter = 34 ; - } -#Experimental product -'p35.216' = { - table2Version = 216 ; - indicatorOfParameter = 35 ; - } -#Experimental product -'p36.216' = { - table2Version = 216 ; - indicatorOfParameter = 36 ; - } -#Experimental product -'p37.216' = { - table2Version = 216 ; - indicatorOfParameter = 37 ; - } -#Experimental product -'p38.216' = { - table2Version = 216 ; - indicatorOfParameter = 38 ; - } -#Experimental product -'p39.216' = { - table2Version = 216 ; - indicatorOfParameter = 39 ; - } -#Experimental product -'p40.216' = { - table2Version = 216 ; - indicatorOfParameter = 40 ; - } -#Experimental product -'p41.216' = { - table2Version = 216 ; - indicatorOfParameter = 41 ; - } -#Experimental product -'p42.216' = { - table2Version = 216 ; - indicatorOfParameter = 42 ; - } -#Experimental product -'p43.216' = { - table2Version = 216 ; - indicatorOfParameter = 43 ; - } -#Experimental product -'p44.216' = { - table2Version = 216 ; - indicatorOfParameter = 44 ; - } -#Experimental product -'p45.216' = { - table2Version = 216 ; - indicatorOfParameter = 45 ; - } -#Experimental product -'p46.216' = { - table2Version = 216 ; - indicatorOfParameter = 46 ; - } -#Experimental product -'p47.216' = { - table2Version = 216 ; - indicatorOfParameter = 47 ; - } -#Experimental product -'p48.216' = { - table2Version = 216 ; - indicatorOfParameter = 48 ; - } -#Experimental product -'p49.216' = { - table2Version = 216 ; - indicatorOfParameter = 49 ; - } -#Experimental product -'p50.216' = { - table2Version = 216 ; - indicatorOfParameter = 50 ; - } -#Experimental product -'p51.216' = { - table2Version = 216 ; - indicatorOfParameter = 51 ; - } -#Experimental product -'p52.216' = { - table2Version = 216 ; - indicatorOfParameter = 52 ; - } -#Experimental product -'p53.216' = { - table2Version = 216 ; - indicatorOfParameter = 53 ; - } -#Experimental product -'p54.216' = { - table2Version = 216 ; - indicatorOfParameter = 54 ; - } -#Experimental product -'p55.216' = { - table2Version = 216 ; - indicatorOfParameter = 55 ; - } -#Experimental product -'p56.216' = { - table2Version = 216 ; - indicatorOfParameter = 56 ; - } -#Experimental product -'p57.216' = { - table2Version = 216 ; - indicatorOfParameter = 57 ; - } -#Experimental product -'p58.216' = { - table2Version = 216 ; - indicatorOfParameter = 58 ; - } -#Experimental product -'p59.216' = { - table2Version = 216 ; - indicatorOfParameter = 59 ; - } -#Experimental product -'p60.216' = { - table2Version = 216 ; - indicatorOfParameter = 60 ; - } -#Experimental product -'p61.216' = { - table2Version = 216 ; - indicatorOfParameter = 61 ; - } -#Experimental product -'p62.216' = { - table2Version = 216 ; - indicatorOfParameter = 62 ; - } -#Experimental product -'p63.216' = { - table2Version = 216 ; - indicatorOfParameter = 63 ; - } -#Experimental product -'p64.216' = { - table2Version = 216 ; - indicatorOfParameter = 64 ; - } -#Experimental product -'p65.216' = { - table2Version = 216 ; - indicatorOfParameter = 65 ; - } -#Experimental product -'p66.216' = { - table2Version = 216 ; - indicatorOfParameter = 66 ; - } -#Experimental product -'p67.216' = { - table2Version = 216 ; - indicatorOfParameter = 67 ; - } -#Experimental product -'p68.216' = { - table2Version = 216 ; - indicatorOfParameter = 68 ; - } -#Experimental product -'p69.216' = { - table2Version = 216 ; - indicatorOfParameter = 69 ; - } -#Experimental product -'p70.216' = { - table2Version = 216 ; - indicatorOfParameter = 70 ; - } -#Experimental product -'p71.216' = { - table2Version = 216 ; - indicatorOfParameter = 71 ; - } -#Experimental product -'p72.216' = { - table2Version = 216 ; - indicatorOfParameter = 72 ; - } -#Experimental product -'p73.216' = { - table2Version = 216 ; - indicatorOfParameter = 73 ; - } -#Experimental product -'p74.216' = { - table2Version = 216 ; - indicatorOfParameter = 74 ; - } -#Experimental product -'p75.216' = { - table2Version = 216 ; - indicatorOfParameter = 75 ; - } -#Experimental product -'p76.216' = { - table2Version = 216 ; - indicatorOfParameter = 76 ; - } -#Experimental product -'p77.216' = { - table2Version = 216 ; - indicatorOfParameter = 77 ; - } -#Experimental product -'p78.216' = { - table2Version = 216 ; - indicatorOfParameter = 78 ; - } -#Experimental product -'p79.216' = { - table2Version = 216 ; - indicatorOfParameter = 79 ; - } -#Experimental product -'p80.216' = { - table2Version = 216 ; - indicatorOfParameter = 80 ; - } -#Experimental product -'p81.216' = { - table2Version = 216 ; - indicatorOfParameter = 81 ; - } -#Experimental product -'p82.216' = { - table2Version = 216 ; - indicatorOfParameter = 82 ; - } -#Experimental product -'p83.216' = { - table2Version = 216 ; - indicatorOfParameter = 83 ; - } -#Experimental product -'p84.216' = { - table2Version = 216 ; - indicatorOfParameter = 84 ; - } -#Experimental product -'p85.216' = { - table2Version = 216 ; - indicatorOfParameter = 85 ; - } -#Experimental product -'p86.216' = { - table2Version = 216 ; - indicatorOfParameter = 86 ; - } -#Experimental product -'p87.216' = { - table2Version = 216 ; - indicatorOfParameter = 87 ; - } -#Experimental product -'p88.216' = { - table2Version = 216 ; - indicatorOfParameter = 88 ; - } -#Experimental product -'p89.216' = { - table2Version = 216 ; - indicatorOfParameter = 89 ; - } -#Experimental product -'p90.216' = { - table2Version = 216 ; - indicatorOfParameter = 90 ; - } -#Experimental product -'p91.216' = { - table2Version = 216 ; - indicatorOfParameter = 91 ; - } -#Experimental product -'p92.216' = { - table2Version = 216 ; - indicatorOfParameter = 92 ; - } -#Experimental product -'p93.216' = { - table2Version = 216 ; - indicatorOfParameter = 93 ; - } -#Experimental product -'p94.216' = { - table2Version = 216 ; - indicatorOfParameter = 94 ; - } -#Experimental product -'p95.216' = { - table2Version = 216 ; - indicatorOfParameter = 95 ; - } -#Experimental product -'p96.216' = { - table2Version = 216 ; - indicatorOfParameter = 96 ; - } -#Experimental product -'p97.216' = { - table2Version = 216 ; - indicatorOfParameter = 97 ; - } -#Experimental product -'p98.216' = { - table2Version = 216 ; - indicatorOfParameter = 98 ; - } -#Experimental product -'p99.216' = { - table2Version = 216 ; - indicatorOfParameter = 99 ; - } -#Experimental product -'p100.216' = { - table2Version = 216 ; - indicatorOfParameter = 100 ; - } -#Experimental product -'p101.216' = { - table2Version = 216 ; - indicatorOfParameter = 101 ; - } -#Experimental product -'p102.216' = { - table2Version = 216 ; - indicatorOfParameter = 102 ; - } -#Experimental product -'p103.216' = { - table2Version = 216 ; - indicatorOfParameter = 103 ; - } -#Experimental product -'p104.216' = { - table2Version = 216 ; - indicatorOfParameter = 104 ; - } -#Experimental product -'p105.216' = { - table2Version = 216 ; - indicatorOfParameter = 105 ; - } -#Experimental product -'p106.216' = { - table2Version = 216 ; - indicatorOfParameter = 106 ; - } -#Experimental product -'p107.216' = { - table2Version = 216 ; - indicatorOfParameter = 107 ; - } -#Experimental product -'p108.216' = { - table2Version = 216 ; - indicatorOfParameter = 108 ; - } -#Experimental product -'p109.216' = { - table2Version = 216 ; - indicatorOfParameter = 109 ; - } -#Experimental product -'p110.216' = { - table2Version = 216 ; - indicatorOfParameter = 110 ; - } -#Experimental product -'p111.216' = { - table2Version = 216 ; - indicatorOfParameter = 111 ; - } -#Experimental product -'p112.216' = { - table2Version = 216 ; - indicatorOfParameter = 112 ; - } -#Experimental product -'p113.216' = { - table2Version = 216 ; - indicatorOfParameter = 113 ; - } -#Experimental product -'p114.216' = { - table2Version = 216 ; - indicatorOfParameter = 114 ; - } -#Experimental product -'p115.216' = { - table2Version = 216 ; - indicatorOfParameter = 115 ; - } -#Experimental product -'p116.216' = { - table2Version = 216 ; - indicatorOfParameter = 116 ; - } -#Experimental product -'p117.216' = { - table2Version = 216 ; - indicatorOfParameter = 117 ; - } -#Experimental product -'p118.216' = { - table2Version = 216 ; - indicatorOfParameter = 118 ; - } -#Experimental product -'p119.216' = { - table2Version = 216 ; - indicatorOfParameter = 119 ; - } -#Experimental product -'p120.216' = { - table2Version = 216 ; - indicatorOfParameter = 120 ; - } -#Experimental product -'p121.216' = { - table2Version = 216 ; - indicatorOfParameter = 121 ; - } -#Experimental product -'p122.216' = { - table2Version = 216 ; - indicatorOfParameter = 122 ; - } -#Experimental product -'p123.216' = { - table2Version = 216 ; - indicatorOfParameter = 123 ; - } -#Experimental product -'p124.216' = { - table2Version = 216 ; - indicatorOfParameter = 124 ; - } -#Experimental product -'p125.216' = { - table2Version = 216 ; - indicatorOfParameter = 125 ; - } -#Experimental product -'p126.216' = { - table2Version = 216 ; - indicatorOfParameter = 126 ; - } -#Experimental product -'p127.216' = { - table2Version = 216 ; - indicatorOfParameter = 127 ; - } -#Experimental product -'p128.216' = { - table2Version = 216 ; - indicatorOfParameter = 128 ; - } -#Experimental product -'p129.216' = { - table2Version = 216 ; - indicatorOfParameter = 129 ; - } -#Experimental product -'p130.216' = { - table2Version = 216 ; - indicatorOfParameter = 130 ; - } -#Experimental product -'p131.216' = { - table2Version = 216 ; - indicatorOfParameter = 131 ; - } -#Experimental product -'p132.216' = { - table2Version = 216 ; - indicatorOfParameter = 132 ; - } -#Experimental product -'p133.216' = { - table2Version = 216 ; - indicatorOfParameter = 133 ; - } -#Experimental product -'p134.216' = { - table2Version = 216 ; - indicatorOfParameter = 134 ; - } -#Experimental product -'p135.216' = { - table2Version = 216 ; - indicatorOfParameter = 135 ; - } -#Experimental product -'p136.216' = { - table2Version = 216 ; - indicatorOfParameter = 136 ; - } -#Experimental product -'p137.216' = { - table2Version = 216 ; - indicatorOfParameter = 137 ; - } -#Experimental product -'p138.216' = { - table2Version = 216 ; - indicatorOfParameter = 138 ; - } -#Experimental product -'p139.216' = { - table2Version = 216 ; - indicatorOfParameter = 139 ; - } -#Experimental product -'p140.216' = { - table2Version = 216 ; - indicatorOfParameter = 140 ; - } -#Experimental product -'p141.216' = { - table2Version = 216 ; - indicatorOfParameter = 141 ; - } -#Experimental product -'p142.216' = { - table2Version = 216 ; - indicatorOfParameter = 142 ; - } -#Experimental product -'p143.216' = { - table2Version = 216 ; - indicatorOfParameter = 143 ; - } -#Experimental product -'p144.216' = { - table2Version = 216 ; - indicatorOfParameter = 144 ; - } -#Experimental product -'p145.216' = { - table2Version = 216 ; - indicatorOfParameter = 145 ; - } -#Experimental product -'p146.216' = { - table2Version = 216 ; - indicatorOfParameter = 146 ; - } -#Experimental product -'p147.216' = { - table2Version = 216 ; - indicatorOfParameter = 147 ; - } -#Experimental product -'p148.216' = { - table2Version = 216 ; - indicatorOfParameter = 148 ; - } -#Experimental product -'p149.216' = { - table2Version = 216 ; - indicatorOfParameter = 149 ; - } -#Experimental product -'p150.216' = { - table2Version = 216 ; - indicatorOfParameter = 150 ; - } -#Experimental product -'p151.216' = { - table2Version = 216 ; - indicatorOfParameter = 151 ; - } -#Experimental product -'p152.216' = { - table2Version = 216 ; - indicatorOfParameter = 152 ; - } -#Experimental product -'p153.216' = { - table2Version = 216 ; - indicatorOfParameter = 153 ; - } -#Experimental product -'p154.216' = { - table2Version = 216 ; - indicatorOfParameter = 154 ; - } -#Experimental product -'p155.216' = { - table2Version = 216 ; - indicatorOfParameter = 155 ; - } -#Experimental product -'p156.216' = { - table2Version = 216 ; - indicatorOfParameter = 156 ; - } -#Experimental product -'p157.216' = { - table2Version = 216 ; - indicatorOfParameter = 157 ; - } -#Experimental product -'p158.216' = { - table2Version = 216 ; - indicatorOfParameter = 158 ; - } -#Experimental product -'p159.216' = { - table2Version = 216 ; - indicatorOfParameter = 159 ; - } -#Experimental product -'p160.216' = { - table2Version = 216 ; - indicatorOfParameter = 160 ; - } -#Experimental product -'p161.216' = { - table2Version = 216 ; - indicatorOfParameter = 161 ; - } -#Experimental product -'p162.216' = { - table2Version = 216 ; - indicatorOfParameter = 162 ; - } -#Experimental product -'p163.216' = { - table2Version = 216 ; - indicatorOfParameter = 163 ; - } -#Experimental product -'p164.216' = { - table2Version = 216 ; - indicatorOfParameter = 164 ; - } -#Experimental product -'p165.216' = { - table2Version = 216 ; - indicatorOfParameter = 165 ; - } -#Experimental product -'p166.216' = { - table2Version = 216 ; - indicatorOfParameter = 166 ; - } -#Experimental product -'p167.216' = { - table2Version = 216 ; - indicatorOfParameter = 167 ; - } -#Experimental product -'p168.216' = { - table2Version = 216 ; - indicatorOfParameter = 168 ; - } -#Experimental product -'p169.216' = { - table2Version = 216 ; - indicatorOfParameter = 169 ; - } -#Experimental product -'p170.216' = { - table2Version = 216 ; - indicatorOfParameter = 170 ; - } -#Experimental product -'p171.216' = { - table2Version = 216 ; - indicatorOfParameter = 171 ; - } -#Experimental product -'p172.216' = { - table2Version = 216 ; - indicatorOfParameter = 172 ; - } -#Experimental product -'p173.216' = { - table2Version = 216 ; - indicatorOfParameter = 173 ; - } -#Experimental product -'p174.216' = { - table2Version = 216 ; - indicatorOfParameter = 174 ; - } -#Experimental product -'p175.216' = { - table2Version = 216 ; - indicatorOfParameter = 175 ; - } -#Experimental product -'p176.216' = { - table2Version = 216 ; - indicatorOfParameter = 176 ; - } -#Experimental product -'p177.216' = { - table2Version = 216 ; - indicatorOfParameter = 177 ; - } -#Experimental product -'p178.216' = { - table2Version = 216 ; - indicatorOfParameter = 178 ; - } -#Experimental product -'p179.216' = { - table2Version = 216 ; - indicatorOfParameter = 179 ; - } -#Experimental product -'p180.216' = { - table2Version = 216 ; - indicatorOfParameter = 180 ; - } -#Experimental product -'p181.216' = { - table2Version = 216 ; - indicatorOfParameter = 181 ; - } -#Experimental product -'p182.216' = { - table2Version = 216 ; - indicatorOfParameter = 182 ; - } -#Experimental product -'p183.216' = { - table2Version = 216 ; - indicatorOfParameter = 183 ; - } -#Experimental product -'p184.216' = { - table2Version = 216 ; - indicatorOfParameter = 184 ; - } -#Experimental product -'p185.216' = { - table2Version = 216 ; - indicatorOfParameter = 185 ; - } -#Experimental product -'p186.216' = { - table2Version = 216 ; - indicatorOfParameter = 186 ; - } -#Experimental product -'p187.216' = { - table2Version = 216 ; - indicatorOfParameter = 187 ; - } -#Experimental product -'p188.216' = { - table2Version = 216 ; - indicatorOfParameter = 188 ; - } -#Experimental product -'p189.216' = { - table2Version = 216 ; - indicatorOfParameter = 189 ; - } -#Experimental product -'p190.216' = { - table2Version = 216 ; - indicatorOfParameter = 190 ; - } -#Experimental product -'p191.216' = { - table2Version = 216 ; - indicatorOfParameter = 191 ; - } -#Experimental product -'p192.216' = { - table2Version = 216 ; - indicatorOfParameter = 192 ; - } -#Experimental product -'p193.216' = { - table2Version = 216 ; - indicatorOfParameter = 193 ; - } -#Experimental product -'p194.216' = { - table2Version = 216 ; - indicatorOfParameter = 194 ; - } -#Experimental product -'p195.216' = { - table2Version = 216 ; - indicatorOfParameter = 195 ; - } -#Experimental product -'p196.216' = { - table2Version = 216 ; - indicatorOfParameter = 196 ; - } -#Experimental product -'p197.216' = { - table2Version = 216 ; - indicatorOfParameter = 197 ; - } -#Experimental product -'p198.216' = { - table2Version = 216 ; - indicatorOfParameter = 198 ; - } -#Experimental product -'p199.216' = { - table2Version = 216 ; - indicatorOfParameter = 199 ; - } -#Experimental product -'p200.216' = { - table2Version = 216 ; - indicatorOfParameter = 200 ; - } -#Experimental product -'p201.216' = { - table2Version = 216 ; - indicatorOfParameter = 201 ; - } -#Experimental product -'p202.216' = { - table2Version = 216 ; - indicatorOfParameter = 202 ; - } -#Experimental product -'p203.216' = { - table2Version = 216 ; - indicatorOfParameter = 203 ; - } -#Experimental product -'p204.216' = { - table2Version = 216 ; - indicatorOfParameter = 204 ; - } -#Experimental product -'p205.216' = { - table2Version = 216 ; - indicatorOfParameter = 205 ; - } -#Experimental product -'p206.216' = { - table2Version = 216 ; - indicatorOfParameter = 206 ; - } -#Experimental product -'p207.216' = { - table2Version = 216 ; - indicatorOfParameter = 207 ; - } -#Experimental product -'p208.216' = { - table2Version = 216 ; - indicatorOfParameter = 208 ; - } -#Experimental product -'p209.216' = { - table2Version = 216 ; - indicatorOfParameter = 209 ; - } -#Experimental product -'p210.216' = { - table2Version = 216 ; - indicatorOfParameter = 210 ; - } -#Experimental product -'p211.216' = { - table2Version = 216 ; - indicatorOfParameter = 211 ; - } -#Experimental product -'p212.216' = { - table2Version = 216 ; - indicatorOfParameter = 212 ; - } -#Experimental product -'p213.216' = { - table2Version = 216 ; - indicatorOfParameter = 213 ; - } -#Experimental product -'p214.216' = { - table2Version = 216 ; - indicatorOfParameter = 214 ; - } -#Experimental product -'p215.216' = { - table2Version = 216 ; - indicatorOfParameter = 215 ; - } -#Experimental product -'p216.216' = { - table2Version = 216 ; - indicatorOfParameter = 216 ; - } -#Experimental product -'p217.216' = { - table2Version = 216 ; - indicatorOfParameter = 217 ; - } -#Experimental product -'p218.216' = { - table2Version = 216 ; - indicatorOfParameter = 218 ; - } -#Experimental product -'p219.216' = { - table2Version = 216 ; - indicatorOfParameter = 219 ; - } -#Experimental product -'p220.216' = { - table2Version = 216 ; - indicatorOfParameter = 220 ; - } -#Experimental product -'p221.216' = { - table2Version = 216 ; - indicatorOfParameter = 221 ; - } -#Experimental product -'p222.216' = { - table2Version = 216 ; - indicatorOfParameter = 222 ; - } -#Experimental product -'p223.216' = { - table2Version = 216 ; - indicatorOfParameter = 223 ; - } -#Experimental product -'p224.216' = { - table2Version = 216 ; - indicatorOfParameter = 224 ; - } -#Experimental product -'p225.216' = { - table2Version = 216 ; - indicatorOfParameter = 225 ; - } -#Experimental product -'p226.216' = { - table2Version = 216 ; - indicatorOfParameter = 226 ; - } -#Experimental product -'p227.216' = { - table2Version = 216 ; - indicatorOfParameter = 227 ; - } -#Experimental product -'p228.216' = { - table2Version = 216 ; - indicatorOfParameter = 228 ; - } -#Experimental product -'p229.216' = { - table2Version = 216 ; - indicatorOfParameter = 229 ; - } -#Experimental product -'p230.216' = { - table2Version = 216 ; - indicatorOfParameter = 230 ; - } -#Experimental product -'p231.216' = { - table2Version = 216 ; - indicatorOfParameter = 231 ; - } -#Experimental product -'p232.216' = { - table2Version = 216 ; - indicatorOfParameter = 232 ; - } -#Experimental product -'p233.216' = { - table2Version = 216 ; - indicatorOfParameter = 233 ; - } -#Experimental product -'p234.216' = { - table2Version = 216 ; - indicatorOfParameter = 234 ; - } -#Experimental product -'p235.216' = { - table2Version = 216 ; - indicatorOfParameter = 235 ; - } -#Experimental product -'p236.216' = { - table2Version = 216 ; - indicatorOfParameter = 236 ; - } -#Experimental product -'p237.216' = { - table2Version = 216 ; - indicatorOfParameter = 237 ; - } -#Experimental product -'p238.216' = { - table2Version = 216 ; - indicatorOfParameter = 238 ; - } -#Experimental product -'p239.216' = { - table2Version = 216 ; - indicatorOfParameter = 239 ; - } -#Experimental product -'p240.216' = { - table2Version = 216 ; - indicatorOfParameter = 240 ; - } -#Experimental product -'p241.216' = { - table2Version = 216 ; - indicatorOfParameter = 241 ; - } -#Experimental product -'p242.216' = { - table2Version = 216 ; - indicatorOfParameter = 242 ; - } -#Experimental product -'p243.216' = { - table2Version = 216 ; - indicatorOfParameter = 243 ; - } -#Experimental product -'p244.216' = { - table2Version = 216 ; - indicatorOfParameter = 244 ; - } -#Experimental product -'p245.216' = { - table2Version = 216 ; - indicatorOfParameter = 245 ; - } -#Experimental product -'p246.216' = { - table2Version = 216 ; - indicatorOfParameter = 246 ; - } -#Experimental product -'p247.216' = { - table2Version = 216 ; - indicatorOfParameter = 247 ; - } -#Experimental product -'p248.216' = { - table2Version = 216 ; - indicatorOfParameter = 248 ; - } -#Experimental product -'p249.216' = { - table2Version = 216 ; - indicatorOfParameter = 249 ; - } -#Experimental product -'p250.216' = { - table2Version = 216 ; - indicatorOfParameter = 250 ; - } -#Experimental product -'p251.216' = { - table2Version = 216 ; - indicatorOfParameter = 251 ; - } -#Experimental product -'p252.216' = { - table2Version = 216 ; - indicatorOfParameter = 252 ; - } -#Experimental product -'p253.216' = { - table2Version = 216 ; - indicatorOfParameter = 253 ; - } -#Experimental product -'p254.216' = { - table2Version = 216 ; - indicatorOfParameter = 254 ; - } -#Experimental product -'p255.216' = { - table2Version = 216 ; - indicatorOfParameter = 255 ; - } -#Hydrogen peroxide -'h2o2' = { - table2Version = 217 ; - indicatorOfParameter = 3 ; - } -#Methane (chemistry) -'ch4_c' = { - table2Version = 217 ; - indicatorOfParameter = 4 ; - } -#Nitric acid -'hno3' = { - table2Version = 217 ; - indicatorOfParameter = 6 ; - } -#Methyl peroxide -'ch3ooh' = { - table2Version = 217 ; - indicatorOfParameter = 7 ; - } -#Paraffins -'par' = { - table2Version = 217 ; - indicatorOfParameter = 9 ; - } -#Ethene -'c2h4' = { - table2Version = 217 ; - indicatorOfParameter = 10 ; - } -#Olefins -'ole' = { - table2Version = 217 ; - indicatorOfParameter = 11 ; - } -#Aldehydes -'ald2' = { - table2Version = 217 ; - indicatorOfParameter = 12 ; - } -#Peroxyacetyl nitrate -'pan' = { - table2Version = 217 ; - indicatorOfParameter = 13 ; - } -#Peroxides -'rooh' = { - table2Version = 217 ; - indicatorOfParameter = 14 ; - } -#Organic nitrates -'onit' = { - table2Version = 217 ; - indicatorOfParameter = 15 ; - } -#Isoprene -'c5h8' = { - table2Version = 217 ; - indicatorOfParameter = 16 ; - } -#Dimethyl sulfide -'dms' = { - table2Version = 217 ; - indicatorOfParameter = 18 ; - } -#Ammonia mass mixing ratio -'nh3' = { - table2Version = 217 ; - indicatorOfParameter = 19 ; - } -#Sulfate -'so4' = { - table2Version = 217 ; - indicatorOfParameter = 20 ; - } -#Ammonium -'nh4' = { - table2Version = 217 ; - indicatorOfParameter = 21 ; - } -#Methane sulfonic acid -'msa' = { - table2Version = 217 ; - indicatorOfParameter = 22 ; - } -#Methyl glyoxal -'ch3cocho' = { - table2Version = 217 ; - indicatorOfParameter = 23 ; - } -#Stratospheric ozone -'o3s' = { - table2Version = 217 ; - indicatorOfParameter = 24 ; - } -#Lead -'pb' = { - table2Version = 217 ; - indicatorOfParameter = 26 ; - } -#Nitrogen monoxide mass mixing ratio -'no' = { - table2Version = 217 ; - indicatorOfParameter = 27 ; - } -#Hydroperoxy radical -'ho2' = { - table2Version = 217 ; - indicatorOfParameter = 28 ; - } -#Methylperoxy radical -'ch3o2' = { - table2Version = 217 ; - indicatorOfParameter = 29 ; - } -#Hydroxyl radical -'oh' = { - table2Version = 217 ; - indicatorOfParameter = 30 ; - } -#Nitrate radical -'no3' = { - table2Version = 217 ; - indicatorOfParameter = 32 ; - } -#Dinitrogen pentoxide -'n2o5' = { - table2Version = 217 ; - indicatorOfParameter = 33 ; - } -#Pernitric acid -'ho2no2' = { - table2Version = 217 ; - indicatorOfParameter = 34 ; - } -#Peroxy acetyl radical -'c2o3' = { - table2Version = 217 ; - indicatorOfParameter = 35 ; - } -#Organic ethers -'ror' = { - table2Version = 217 ; - indicatorOfParameter = 36 ; - } -#PAR budget corrector -'rxpar' = { - table2Version = 217 ; - indicatorOfParameter = 37 ; - } -#NO to NO2 operator -'xo2' = { - table2Version = 217 ; - indicatorOfParameter = 38 ; - } -#NO to alkyl nitrate operator -'xo2n' = { - table2Version = 217 ; - indicatorOfParameter = 39 ; - } -#Amine -'nh2' = { - table2Version = 217 ; - indicatorOfParameter = 40 ; - } -#Polar stratospheric cloud -'psc' = { - table2Version = 217 ; - indicatorOfParameter = 41 ; - } -#Methanol -'ch3oh' = { - table2Version = 217 ; - indicatorOfParameter = 42 ; - } -#Formic acid -'hcooh' = { - table2Version = 217 ; - indicatorOfParameter = 43 ; - } -#Methacrylic acid -'mcooh' = { - table2Version = 217 ; - indicatorOfParameter = 44 ; - } -#Ethane -'c2h6' = { - table2Version = 217 ; - indicatorOfParameter = 45 ; - } -#Ethanol -'c2h5oh' = { - table2Version = 217 ; - indicatorOfParameter = 46 ; - } -#Propane -'c3h8' = { - table2Version = 217 ; - indicatorOfParameter = 47 ; - } -#Propene -'c3h6' = { - table2Version = 217 ; - indicatorOfParameter = 48 ; - } -#Terpenes -'c10h16' = { - table2Version = 217 ; - indicatorOfParameter = 49 ; - } -#Methacrolein MVK -'ispd' = { - table2Version = 217 ; - indicatorOfParameter = 50 ; - } -#Nitrate -'no3_a' = { - table2Version = 217 ; - indicatorOfParameter = 51 ; - } -#Acetone -'ch3coch3' = { - table2Version = 217 ; - indicatorOfParameter = 52 ; - } -#Acetone product -'aco2' = { - table2Version = 217 ; - indicatorOfParameter = 53 ; - } -#IC3H7O2 -'ic3h7o2' = { - table2Version = 217 ; - indicatorOfParameter = 54 ; - } -#HYPROPO2 -'hypropo2' = { - table2Version = 217 ; - indicatorOfParameter = 55 ; - } -#Nitrogen oxides Transp -'noxa' = { - table2Version = 217 ; - indicatorOfParameter = 56 ; - } -#Total column hydrogen peroxide -'tc_h2o2' = { - table2Version = 218 ; - indicatorOfParameter = 3 ; - } -#Total column methane -'tc_ch4' = { - table2Version = 218 ; - indicatorOfParameter = 4 ; - } -#Total column nitric acid -'tc_hno3' = { - table2Version = 218 ; - indicatorOfParameter = 6 ; - } -#Total column methyl peroxide -'tc_ch3ooh' = { - table2Version = 218 ; - indicatorOfParameter = 7 ; - } -#Total column paraffins -'tc_par' = { - table2Version = 218 ; - indicatorOfParameter = 9 ; - } -#Total column ethene -'tc_c2h4' = { - table2Version = 218 ; - indicatorOfParameter = 10 ; - } -#Total column olefins -'tc_ole' = { - table2Version = 218 ; - indicatorOfParameter = 11 ; - } -#Total column aldehydes -'tc_ald2' = { - table2Version = 218 ; - indicatorOfParameter = 12 ; - } -#Total column peroxyacetyl nitrate -'tc_pan' = { - table2Version = 218 ; - indicatorOfParameter = 13 ; - } -#Total column peroxides -'tc_rooh' = { - table2Version = 218 ; - indicatorOfParameter = 14 ; - } -#Total column organic nitrates -'tc_onit' = { - table2Version = 218 ; - indicatorOfParameter = 15 ; - } -#Total column isoprene -'tc_c5h8' = { - table2Version = 218 ; - indicatorOfParameter = 16 ; - } -#Total column dimethyl sulfide -'tc_dms' = { - table2Version = 218 ; - indicatorOfParameter = 18 ; - } -#Total column ammonia -'tc_nh3' = { - table2Version = 218 ; - indicatorOfParameter = 19 ; - } -#Total column sulfate -'tc_so4' = { - table2Version = 218 ; - indicatorOfParameter = 20 ; - } -#Total column ammonium -'tc_nh4' = { - table2Version = 218 ; - indicatorOfParameter = 21 ; - } -#Total column methane sulfonic acid -'tc_msa' = { - table2Version = 218 ; - indicatorOfParameter = 22 ; - } -#Total column methyl glyoxal -'tc_ch3cocho' = { - table2Version = 218 ; - indicatorOfParameter = 23 ; - } -#Total column stratospheric ozone -'tc_o3s' = { - table2Version = 218 ; - indicatorOfParameter = 24 ; - } -#Total column lead -'tc_pb' = { - table2Version = 218 ; - indicatorOfParameter = 26 ; - } -#Total column nitrogen monoxide -'tc_no' = { - table2Version = 218 ; - indicatorOfParameter = 27 ; - } -#Total column hydroperoxy radical -'tc_ho2' = { - table2Version = 218 ; - indicatorOfParameter = 28 ; - } -#Total column methylperoxy radical -'tc_ch3o2' = { - table2Version = 218 ; - indicatorOfParameter = 29 ; - } -#Total column hydroxyl radical -'tc_oh' = { - table2Version = 218 ; - indicatorOfParameter = 30 ; - } -#Total column nitrate radical -'tc_no3' = { - table2Version = 218 ; - indicatorOfParameter = 32 ; - } -#Total column dinitrogen pentoxide -'tc_n2o5' = { - table2Version = 218 ; - indicatorOfParameter = 33 ; - } -#Total column pernitric acid -'tc_ho2no2' = { - table2Version = 218 ; - indicatorOfParameter = 34 ; - } -#Total column peroxy acetyl radical -'tc_c2o3' = { - table2Version = 218 ; - indicatorOfParameter = 35 ; - } -#Total column organic ethers -'tc_ror' = { - table2Version = 218 ; - indicatorOfParameter = 36 ; - } -#Total column PAR budget corrector -'tc_rxpar' = { - table2Version = 218 ; - indicatorOfParameter = 37 ; - } -#Total column NO to NO2 operator -'tc_xo2' = { - table2Version = 218 ; - indicatorOfParameter = 38 ; - } -#Total column NO to alkyl nitrate operator -'tc_xo2n' = { - table2Version = 218 ; - indicatorOfParameter = 39 ; - } -#Total column amine -'tc_nh2' = { - table2Version = 218 ; - indicatorOfParameter = 40 ; - } -#Total column polar stratospheric cloud -'tc_psc' = { - table2Version = 218 ; - indicatorOfParameter = 41 ; - } -#Total column methanol -'tc_ch3oh' = { - table2Version = 218 ; - indicatorOfParameter = 42 ; - } -#Total column formic acid -'tc_hcooh' = { - table2Version = 218 ; - indicatorOfParameter = 43 ; - } -#Total column methacrylic acid -'tc_mcooh' = { - table2Version = 218 ; - indicatorOfParameter = 44 ; - } -#Total column ethane -'tc_c2h6' = { - table2Version = 218 ; - indicatorOfParameter = 45 ; - } -#Total column ethanol -'tc_c2h5oh' = { - table2Version = 218 ; - indicatorOfParameter = 46 ; - } -#Total column propane -'tc_c3h8' = { - table2Version = 218 ; - indicatorOfParameter = 47 ; - } -#Total column propene -'tc_c3h6' = { - table2Version = 218 ; - indicatorOfParameter = 48 ; - } -#Total column terpenes -'tc_c10h16' = { - table2Version = 218 ; - indicatorOfParameter = 49 ; - } -#Total column methacrolein MVK -'tc_ispd' = { - table2Version = 218 ; - indicatorOfParameter = 50 ; - } -#Total column nitrate -'tc_no3_a' = { - table2Version = 218 ; - indicatorOfParameter = 51 ; - } -#Total column acetone -'tc_ch3coch3' = { - table2Version = 218 ; - indicatorOfParameter = 52 ; - } -#Total column acetone product -'tc_aco2' = { - table2Version = 218 ; - indicatorOfParameter = 53 ; - } -#Total column IC3H7O2 -'tc_ic3h7o2' = { - table2Version = 218 ; - indicatorOfParameter = 54 ; - } -#Total column HYPROPO2 -'tc_hypropo2' = { - table2Version = 218 ; - indicatorOfParameter = 55 ; - } -#Total column nitrogen oxides Transp -'tc_noxa' = { - table2Version = 218 ; - indicatorOfParameter = 56 ; - } -#Ozone emissions -'e_go3' = { - table2Version = 219 ; - indicatorOfParameter = 1 ; - } -#Nitrogen oxides emissions -'e_nox' = { - table2Version = 219 ; - indicatorOfParameter = 2 ; - } -#Hydrogen peroxide emissions -'e_h2o2' = { - table2Version = 219 ; - indicatorOfParameter = 3 ; - } -#Methane emissions -'e_ch4' = { - table2Version = 219 ; - indicatorOfParameter = 4 ; - } -#Carbon monoxide emissions -'e_co' = { - table2Version = 219 ; - indicatorOfParameter = 5 ; - } -#Nitric acid emissions -'e_hno3' = { - table2Version = 219 ; - indicatorOfParameter = 6 ; - } -#Methyl peroxide emissions -'e_ch3ooh' = { - table2Version = 219 ; - indicatorOfParameter = 7 ; - } -#Formaldehyde emissions -'e_hcho' = { - table2Version = 219 ; - indicatorOfParameter = 8 ; - } -#Paraffins emissions -'e_par' = { - table2Version = 219 ; - indicatorOfParameter = 9 ; - } -#Ethene emissions -'e_c2h4' = { - table2Version = 219 ; - indicatorOfParameter = 10 ; - } -#Olefins emissions -'e_ole' = { - table2Version = 219 ; - indicatorOfParameter = 11 ; - } -#Aldehydes emissions -'e_ald2' = { - table2Version = 219 ; - indicatorOfParameter = 12 ; - } -#Peroxyacetyl nitrate emissions -'e_pan' = { - table2Version = 219 ; - indicatorOfParameter = 13 ; - } -#Peroxides emissions -'e_rooh' = { - table2Version = 219 ; - indicatorOfParameter = 14 ; - } -#Organic nitrates emissions -'e_onit' = { - table2Version = 219 ; - indicatorOfParameter = 15 ; - } -#Isoprene emissions -'e_c5h8' = { - table2Version = 219 ; - indicatorOfParameter = 16 ; - } -#Sulfur dioxide emissions -'e_so2' = { - table2Version = 219 ; - indicatorOfParameter = 17 ; - } -#Dimethyl sulfide emissions -'e_dms' = { - table2Version = 219 ; - indicatorOfParameter = 18 ; - } -#Ammonia emissions -'e_nh3' = { - table2Version = 219 ; - indicatorOfParameter = 19 ; - } -#Sulfate emissions -'e_so4' = { - table2Version = 219 ; - indicatorOfParameter = 20 ; - } -#Ammonium emissions -'e_nh4' = { - table2Version = 219 ; - indicatorOfParameter = 21 ; - } -#Methane sulfonic acid emissions -'e_msa' = { - table2Version = 219 ; - indicatorOfParameter = 22 ; - } -#Methyl glyoxal emissions -'e_ch3cocho' = { - table2Version = 219 ; - indicatorOfParameter = 23 ; - } -#Stratospheric ozone emissions -'e_o3s' = { - table2Version = 219 ; - indicatorOfParameter = 24 ; - } -#Radon emissions -'e_ra' = { - table2Version = 219 ; - indicatorOfParameter = 25 ; - } -#Lead emissions -'e_pb' = { - table2Version = 219 ; - indicatorOfParameter = 26 ; - } -#Nitrogen monoxide emissions -'e_no' = { - table2Version = 219 ; - indicatorOfParameter = 27 ; - } -#Hydroperoxy radical emissions -'e_ho2' = { - table2Version = 219 ; - indicatorOfParameter = 28 ; - } -#Methylperoxy radical emissions -'e_ch3o2' = { - table2Version = 219 ; - indicatorOfParameter = 29 ; - } -#Hydroxyl radical emissions -'e_oh' = { - table2Version = 219 ; - indicatorOfParameter = 30 ; - } -#Nitrogen dioxide emissions -'e_no2' = { - table2Version = 219 ; - indicatorOfParameter = 31 ; - } -#Nitrate radical emissions -'e_no3' = { - table2Version = 219 ; - indicatorOfParameter = 32 ; - } -#Dinitrogen pentoxide emissions -'e_n2o5' = { - table2Version = 219 ; - indicatorOfParameter = 33 ; - } -#Pernitric acid emissions -'e_ho2no2' = { - table2Version = 219 ; - indicatorOfParameter = 34 ; - } -#Peroxy acetyl radical emissions -'e_c2o3' = { - table2Version = 219 ; - indicatorOfParameter = 35 ; - } -#Organic ethers emissions -'e_ror' = { - table2Version = 219 ; - indicatorOfParameter = 36 ; - } -#PAR budget corrector emissions -'e_rxpar' = { - table2Version = 219 ; - indicatorOfParameter = 37 ; - } -#NO to NO2 operator emissions -'e_xo2' = { - table2Version = 219 ; - indicatorOfParameter = 38 ; - } -#NO to alkyl nitrate operator emissions -'e_xo2n' = { - table2Version = 219 ; - indicatorOfParameter = 39 ; - } -#Amine emissions -'e_nh2' = { - table2Version = 219 ; - indicatorOfParameter = 40 ; - } -#Polar stratospheric cloud emissions -'e_psc' = { - table2Version = 219 ; - indicatorOfParameter = 41 ; - } -#Methanol emissions -'e_ch3oh' = { - table2Version = 219 ; - indicatorOfParameter = 42 ; - } -#Formic acid emissions -'e_hcooh' = { - table2Version = 219 ; - indicatorOfParameter = 43 ; - } -#Methacrylic acid emissions -'e_mcooh' = { - table2Version = 219 ; - indicatorOfParameter = 44 ; - } -#Ethane emissions -'e_c2h6' = { - table2Version = 219 ; - indicatorOfParameter = 45 ; - } -#Ethanol emissions -'e_c2h5oh' = { - table2Version = 219 ; - indicatorOfParameter = 46 ; - } -#Propane emissions -'e_c3h8' = { - table2Version = 219 ; - indicatorOfParameter = 47 ; - } -#Propene emissions -'e_c3h6' = { - table2Version = 219 ; - indicatorOfParameter = 48 ; - } -#Terpenes emissions -'e_c10h16' = { - table2Version = 219 ; - indicatorOfParameter = 49 ; - } -#Methacrolein MVK emissions -'e_ispd' = { - table2Version = 219 ; - indicatorOfParameter = 50 ; - } -#Nitrate emissions -'e_no3_a' = { - table2Version = 219 ; - indicatorOfParameter = 51 ; - } -#Acetone emissions -'e_ch3coch3' = { - table2Version = 219 ; - indicatorOfParameter = 52 ; - } -#Acetone product emissions -'e_aco2' = { - table2Version = 219 ; - indicatorOfParameter = 53 ; - } -#IC3H7O2 emissions -'e_ic3h7o2' = { - table2Version = 219 ; - indicatorOfParameter = 54 ; - } -#HYPROPO2 emissions -'e_hypropo2' = { - table2Version = 219 ; - indicatorOfParameter = 55 ; - } -#Nitrogen oxides Transp emissions -'e_noxa' = { - table2Version = 219 ; - indicatorOfParameter = 56 ; - } -#Ozone deposition velocity -'dv_go3' = { - table2Version = 221 ; - indicatorOfParameter = 1 ; - } -#Nitrogen oxides deposition velocity -'dv_nox' = { - table2Version = 221 ; - indicatorOfParameter = 2 ; - } -#Hydrogen peroxide deposition velocity -'dv_h2o2' = { - table2Version = 221 ; - indicatorOfParameter = 3 ; - } -#Methane deposition velocity -'dv_ch4' = { - table2Version = 221 ; - indicatorOfParameter = 4 ; - } -#Carbon monoxide deposition velocity -'dv_co' = { - table2Version = 221 ; - indicatorOfParameter = 5 ; - } -#Nitric acid deposition velocity -'dv_hno3' = { - table2Version = 221 ; - indicatorOfParameter = 6 ; - } -#Methyl peroxide deposition velocity -'dv_ch3ooh' = { - table2Version = 221 ; - indicatorOfParameter = 7 ; - } -#Formaldehyde deposition velocity -'dv_hcho' = { - table2Version = 221 ; - indicatorOfParameter = 8 ; - } -#Paraffins deposition velocity -'dv_par' = { - table2Version = 221 ; - indicatorOfParameter = 9 ; - } -#Ethene deposition velocity -'dv_c2h4' = { - table2Version = 221 ; - indicatorOfParameter = 10 ; - } -#Olefins deposition velocity -'dv_ole' = { - table2Version = 221 ; - indicatorOfParameter = 11 ; - } -#Aldehydes deposition velocity -'dv_ald2' = { - table2Version = 221 ; - indicatorOfParameter = 12 ; - } -#Peroxyacetyl nitrate deposition velocity -'dv_pan' = { - table2Version = 221 ; - indicatorOfParameter = 13 ; - } -#Peroxides deposition velocity -'dv_rooh' = { - table2Version = 221 ; - indicatorOfParameter = 14 ; - } -#Organic nitrates deposition velocity -'dv_onit' = { - table2Version = 221 ; - indicatorOfParameter = 15 ; - } -#Isoprene deposition velocity -'dv_c5h8' = { - table2Version = 221 ; - indicatorOfParameter = 16 ; - } -#Sulfur dioxide deposition velocity -'dv_so2' = { - table2Version = 221 ; - indicatorOfParameter = 17 ; - } -#Dimethyl sulfide deposition velocity -'dv_dms' = { - table2Version = 221 ; - indicatorOfParameter = 18 ; - } -#Ammonia deposition velocity -'dv_nh3' = { - table2Version = 221 ; - indicatorOfParameter = 19 ; - } -#Sulfate deposition velocity -'dv_so4' = { - table2Version = 221 ; - indicatorOfParameter = 20 ; - } -#Ammonium deposition velocity -'dv_nh4' = { - table2Version = 221 ; - indicatorOfParameter = 21 ; - } -#Methane sulfonic acid deposition velocity -'dv_msa' = { - table2Version = 221 ; - indicatorOfParameter = 22 ; - } -#Methyl glyoxal deposition velocity -'dv_ch3cocho' = { - table2Version = 221 ; - indicatorOfParameter = 23 ; - } -#Stratospheric ozone deposition velocity -'dv_o3s' = { - table2Version = 221 ; - indicatorOfParameter = 24 ; - } -#Radon deposition velocity -'dv_ra' = { - table2Version = 221 ; - indicatorOfParameter = 25 ; - } -#Lead deposition velocity -'dv_pb' = { - table2Version = 221 ; - indicatorOfParameter = 26 ; - } -#Nitrogen monoxide deposition velocity -'dv_no' = { - table2Version = 221 ; - indicatorOfParameter = 27 ; - } -#Hydroperoxy radical deposition velocity -'dv_ho2' = { - table2Version = 221 ; - indicatorOfParameter = 28 ; - } -#Methylperoxy radical deposition velocity -'dv_ch3o2' = { - table2Version = 221 ; - indicatorOfParameter = 29 ; - } -#Hydroxyl radical deposition velocity -'dv_oh' = { - table2Version = 221 ; - indicatorOfParameter = 30 ; - } -#Nitrogen dioxide deposition velocity -'dv_no2' = { - table2Version = 221 ; - indicatorOfParameter = 31 ; - } -#Nitrate radical deposition velocity -'dv_no3' = { - table2Version = 221 ; - indicatorOfParameter = 32 ; - } -#Dinitrogen pentoxide deposition velocity -'dv_n2o5' = { - table2Version = 221 ; - indicatorOfParameter = 33 ; - } -#Pernitric acid deposition velocity -'dv_ho2no2' = { - table2Version = 221 ; - indicatorOfParameter = 34 ; - } -#Peroxy acetyl radical deposition velocity -'dv_c2o3' = { - table2Version = 221 ; - indicatorOfParameter = 35 ; - } -#Organic ethers deposition velocity -'dv_ror' = { - table2Version = 221 ; - indicatorOfParameter = 36 ; - } -#PAR budget corrector deposition velocity -'dv_rxpar' = { - table2Version = 221 ; - indicatorOfParameter = 37 ; - } -#NO to NO2 operator deposition velocity -'dv_xo2' = { - table2Version = 221 ; - indicatorOfParameter = 38 ; - } -#NO to alkyl nitrate operator deposition velocity -'dv_xo2n' = { - table2Version = 221 ; - indicatorOfParameter = 39 ; - } -#Amine deposition velocity -'dv_nh2' = { - table2Version = 221 ; - indicatorOfParameter = 40 ; - } -#Polar stratospheric cloud deposition velocity -'dv_psc' = { - table2Version = 221 ; - indicatorOfParameter = 41 ; - } -#Methanol deposition velocity -'dv_ch3oh' = { - table2Version = 221 ; - indicatorOfParameter = 42 ; - } -#Formic acid deposition velocity -'dv_hcooh' = { - table2Version = 221 ; - indicatorOfParameter = 43 ; - } -#Methacrylic acid deposition velocity -'dv_mcooh' = { - table2Version = 221 ; - indicatorOfParameter = 44 ; - } -#Ethane deposition velocity -'dv_c2h6' = { - table2Version = 221 ; - indicatorOfParameter = 45 ; - } -#Ethanol deposition velocity -'dv_c2h5oh' = { - table2Version = 221 ; - indicatorOfParameter = 46 ; - } -#Propane deposition velocity -'dv_c3h8' = { - table2Version = 221 ; - indicatorOfParameter = 47 ; - } -#Propene deposition velocity -'dv_c3h6' = { - table2Version = 221 ; - indicatorOfParameter = 48 ; - } -#Terpenes deposition velocity -'dv_c10h16' = { - table2Version = 221 ; - indicatorOfParameter = 49 ; - } -#Methacrolein MVK deposition velocity -'dv_ispd' = { - table2Version = 221 ; - indicatorOfParameter = 50 ; - } -#Nitrate deposition velocity -'dv_no3_a' = { - table2Version = 221 ; - indicatorOfParameter = 51 ; - } -#Acetone deposition velocity -'dv_ch3coch3' = { - table2Version = 221 ; - indicatorOfParameter = 52 ; - } -#Acetone product deposition velocity -'dv_aco2' = { - table2Version = 221 ; - indicatorOfParameter = 53 ; - } -#IC3H7O2 deposition velocity -'dv_ic3h7o2' = { - table2Version = 221 ; - indicatorOfParameter = 54 ; - } -#HYPROPO2 deposition velocity -'dv_hypropo2' = { - table2Version = 221 ; - indicatorOfParameter = 55 ; - } -#Nitrogen oxides Transp deposition velocity -'dv_noxa' = { - table2Version = 221 ; - indicatorOfParameter = 56 ; - } -#-10 degrees C isothermal level (atm) -'degm10l' = { - table2Version = 228 ; - indicatorOfParameter = 20 ; - } -#Total sky direct short-wave (solar) radiation at surface -'fdir' = { - table2Version = 228 ; - indicatorOfParameter = 21 ; - } -#Surface direct short-wave radiation, clear sky -'cdir' = { - table2Version = 228 ; - indicatorOfParameter = 22 ; - } -#Cloud base height -'cbh' = { - table2Version = 228 ; - indicatorOfParameter = 23 ; - } -#0 degrees C isothermal level (atm) -'deg0l' = { - table2Version = 228 ; - indicatorOfParameter = 24 ; - } -#Horizontal visibility -'hvis' = { - table2Version = 228 ; - indicatorOfParameter = 25 ; - } -#Maximum temperature at 2 metres in the last 3 hours -'mx2t3' = { - table2Version = 228 ; - indicatorOfParameter = 26 ; - } -#Minimum temperature at 2 metres in the last 3 hours -'mn2t3' = { - table2Version = 228 ; - indicatorOfParameter = 27 ; - } #Maximum 10 metre wind gust in the last 3 hours 'fg310' = { table2Version = 228 ; indicatorOfParameter = 28 ; } -#Instantaneous 10 metre wind gust -'i10fg' = { - table2Version = 228 ; - indicatorOfParameter = 29 ; - } #2 metre relative humidity with respect to water 'rhw2' = { table2Version = 228 ; indicatorOfParameter = 37 ; } -#Soil wetness index in layer 1 -'swi1' = { - table2Version = 228 ; - indicatorOfParameter = 40 ; - } -#Soil wetness index in layer 2 -'swi2' = { - table2Version = 228 ; - indicatorOfParameter = 41 ; - } -#Soil wetness index in layer 3 -'swi3' = { - table2Version = 228 ; - indicatorOfParameter = 42 ; - } -#Soil wetness index in layer 4 -'swi4' = { - table2Version = 228 ; - indicatorOfParameter = 43 ; - } -#Convective available potential energy shear -'capes' = { - table2Version = 228 ; - indicatorOfParameter = 44 ; - } -#Height of convective cloud top -'hcct' = { - table2Version = 228 ; - indicatorOfParameter = 46 ; - } -#Height of zero-degree wet-bulb temperature -'hwbt0' = { - table2Version = 228 ; - indicatorOfParameter = 47 ; - } -#Height of one-degree wet-bulb temperature -'hwbt1' = { - table2Version = 228 ; - indicatorOfParameter = 48 ; - } -#Instantaneous total lightning flash density -'litoti' = { - table2Version = 228 ; - indicatorOfParameter = 50 ; - } -#Averaged total lightning flash density in the last hour -'litota1' = { - table2Version = 228 ; - indicatorOfParameter = 51 ; - } -#Instantaneous cloud-to-ground lightning flash density -'licgi' = { - table2Version = 228 ; - indicatorOfParameter = 52 ; - } -#Averaged cloud-to-ground lightning flash density in the last hour -'licga1' = { - table2Version = 228 ; - indicatorOfParameter = 53 ; - } -#SMOS observed soil moisture retrieved using neural network -'smnnob' = { - table2Version = 228 ; - indicatorOfParameter = 70 ; - } -#SMOS observed soil moisture uncertainty retrieved using neural network -'smnner' = { - table2Version = 228 ; - indicatorOfParameter = 71 ; - } -#SMOS radio frequency interference probability -'smnnrfi' = { - table2Version = 228 ; - indicatorOfParameter = 72 ; - } -#SMOS number of observations per grid point -'smnnnb' = { - table2Version = 228 ; - indicatorOfParameter = 73 ; - } -#SMOS observation time for the satellite soil moisture data -'smnntim' = { - table2Version = 228 ; - indicatorOfParameter = 74 ; - } -#GPP coefficient from Biogenic Flux Adjustment System -'gppbfas' = { - table2Version = 228 ; - indicatorOfParameter = 78 ; - } -#Rec coefficient from Biogenic Flux Adjustment System -'recbfas' = { - table2Version = 228 ; - indicatorOfParameter = 79 ; - } -#Accumulated Carbon Dioxide Net Ecosystem Exchange -'aco2nee' = { - table2Version = 228 ; - indicatorOfParameter = 80 ; - } -#Accumulated Carbon Dioxide Gross Primary Production -'aco2gpp' = { - table2Version = 228 ; - indicatorOfParameter = 81 ; - } -#Accumulated Carbon Dioxide Ecosystem Respiration -'aco2rec' = { - table2Version = 228 ; - indicatorOfParameter = 82 ; - } -#Flux of Carbon Dioxide Net Ecosystem Exchange -'fco2nee' = { - table2Version = 228 ; - indicatorOfParameter = 83 ; - } -#Flux of Carbon Dioxide Gross Primary Production -'fco2gpp' = { - table2Version = 228 ; - indicatorOfParameter = 84 ; - } -#Flux of Carbon Dioxide Ecosystem Respiration -'fco2rec' = { - table2Version = 228 ; - indicatorOfParameter = 85 ; - } -#Total column supercooled liquid water -'tcslw' = { - table2Version = 228 ; - indicatorOfParameter = 88 ; - } -#Total column rain water -'tcrw' = { - table2Version = 228 ; - indicatorOfParameter = 89 ; - } -#Total column snow water -'tcsw' = { - table2Version = 228 ; - indicatorOfParameter = 90 ; - } -#Canopy cover fraction -'ccf' = { - table2Version = 228 ; - indicatorOfParameter = 91 ; - } -#Soil texture fraction -'stf' = { - table2Version = 228 ; - indicatorOfParameter = 92 ; - } -#Volumetric soil moisture -'swv' = { - table2Version = 228 ; - indicatorOfParameter = 93 ; - } -#Ice temperature -'ist' = { - table2Version = 228 ; - indicatorOfParameter = 94 ; - } -#Surface short-wave (solar) radiation downward clear-sky -'ssrdc' = { - table2Version = 228 ; - indicatorOfParameter = 129 ; - } -#Surface long-wave (thermal) radiation downward clear-sky -'strdc' = { - table2Version = 228 ; - indicatorOfParameter = 130 ; - } -#Accumulated freezing rain -'fzra' = { - table2Version = 228 ; - indicatorOfParameter = 216 ; - } -#Instantaneous large-scale surface precipitation fraction -'ilspf' = { - table2Version = 228 ; - indicatorOfParameter = 217 ; - } -#Convective rain rate -'crr' = { - table2Version = 228 ; - indicatorOfParameter = 218 ; - } -#Large scale rain rate -'lsrr' = { - table2Version = 228 ; - indicatorOfParameter = 219 ; - } -#Convective snowfall rate water equivalent -'csfr' = { - table2Version = 228 ; - indicatorOfParameter = 220 ; - } -#Large scale snowfall rate water equivalent -'lssfr' = { - table2Version = 228 ; - indicatorOfParameter = 221 ; - } -#Maximum total precipitation rate in the last 3 hours -'mxtpr3' = { - table2Version = 228 ; - indicatorOfParameter = 222 ; - } -#Minimum total precipitation rate in the last 3 hours -'mntpr3' = { - table2Version = 228 ; - indicatorOfParameter = 223 ; - } -#Maximum total precipitation rate in the last 6 hours -'mxtpr6' = { - table2Version = 228 ; - indicatorOfParameter = 224 ; - } -#Minimum total precipitation rate in the last 6 hours -'mntpr6' = { - table2Version = 228 ; - indicatorOfParameter = 225 ; - } -#Maximum total precipitation rate since previous post-processing -'mxtpr' = { - table2Version = 228 ; - indicatorOfParameter = 226 ; - } -#Minimum total precipitation rate since previous post-processing -'mntpr' = { - table2Version = 228 ; - indicatorOfParameter = 227 ; - } -#SMOS first Brightness Temperature Bias Correction parameter -'smos_tb_cdfa' = { - table2Version = 228 ; - indicatorOfParameter = 229 ; - } -#SMOS second Brightness Temperature Bias Correction parameter -'smos_tb_cdfb' = { - table2Version = 228 ; - indicatorOfParameter = 230 ; - } #200 metre U wind component 'u200' = { table2Version = 228 ; @@ -10184,1146 +209,21 @@ table2Version = 228 ; indicatorOfParameter = 241 ; } -#Surface solar radiation diffuse total sky -'fdif' = { - table2Version = 228 ; - indicatorOfParameter = 242 ; - } -#Surface solar radiation diffuse clear-sky -'cdif' = { - table2Version = 228 ; - indicatorOfParameter = 243 ; - } -#Surface albedo of direct radiation -'aldr' = { - table2Version = 228 ; - indicatorOfParameter = 244 ; - } -#Surface albedo of diffuse radiation -'aldf' = { - table2Version = 228 ; - indicatorOfParameter = 245 ; - } #100 metre wind speed 'si100' = { table2Version = 228 ; indicatorOfParameter = 249 ; } -#Irrigation fraction -'irrfr' = { - table2Version = 228 ; - indicatorOfParameter = 250 ; - } -#Potential evaporation -'pev' = { - table2Version = 228 ; - indicatorOfParameter = 251 ; - } -#Irrigation -'irr' = { - table2Version = 228 ; - indicatorOfParameter = 252 ; - } -#Surface runoff (variable resolution) -'srovar' = { - table2Version = 230 ; - indicatorOfParameter = 8 ; - } -#Sub-surface runoff (variable resolution) -'ssrovar' = { - table2Version = 230 ; - indicatorOfParameter = 9 ; - } -#Clear sky surface photosynthetically active radiation (variable resolution) -'parcsvar' = { - table2Version = 230 ; - indicatorOfParameter = 20 ; - } -#Total sky direct solar radiation at surface (variable resolution) -'fdirvar' = { - table2Version = 230 ; - indicatorOfParameter = 21 ; - } -#Clear-sky direct solar radiation at surface (variable resolution) -'cdirvar' = { - table2Version = 230 ; - indicatorOfParameter = 22 ; - } -#Direct solar radiation (variable resolution) -'dsrpvar' = { - table2Version = 230 ; - indicatorOfParameter = 47 ; - } -#Large-scale precipitation fraction (variable resolution) -'lspfvar' = { - table2Version = 230 ; - indicatorOfParameter = 50 ; - } -#Accumulated Carbon Dioxide Net Ecosystem Exchange (variable resolution) -'aco2neevar' = { - table2Version = 230 ; - indicatorOfParameter = 80 ; - } -#Accumulated Carbon Dioxide Gross Primary Production (variable resolution) -'aco2gppvar' = { - table2Version = 230 ; - indicatorOfParameter = 81 ; - } -#Accumulated Carbon Dioxide Ecosystem Respiration (variable resolution) -'aco2recvar' = { - table2Version = 230 ; - indicatorOfParameter = 82 ; - } -#Surface solar radiation downward clear-sky (variable resolution) -'ssrdcvar' = { - table2Version = 230 ; - indicatorOfParameter = 129 ; - } -#Surface thermal radiation downward clear-sky (variable resolution) -'strdcvar' = { - table2Version = 230 ; - indicatorOfParameter = 130 ; - } -#Albedo (variable resolution) -'alvar' = { - table2Version = 230 ; - indicatorOfParameter = 174 ; - } -#Vertically integrated moisture divergence (variable resolution) -'vimdvar' = { - table2Version = 230 ; - indicatorOfParameter = 213 ; - } -#Accumulated freezing rain (variable resolution) -'fzravar' = { - table2Version = 230 ; - indicatorOfParameter = 216 ; - } -#Total precipitation (variable resolution) -'tpvar' = { - table2Version = 230 ; - indicatorOfParameter = 228 ; - } -#Convective snowfall (variable resolution) -'csfvar' = { - table2Version = 230 ; - indicatorOfParameter = 239 ; - } -#Large-scale snowfall (variable resolution) -'lsfvar' = { - table2Version = 230 ; - indicatorOfParameter = 240 ; - } -#Potential evaporation (variable resolution) -'pevvar' = { - table2Version = 230 ; - indicatorOfParameter = 251 ; - } -#Mean surface runoff rate -'msror' = { - table2Version = 235 ; - indicatorOfParameter = 20 ; - } -#Mean sub-surface runoff rate -'mssror' = { - table2Version = 235 ; - indicatorOfParameter = 21 ; - } -#Mean surface photosynthetically active radiation flux, clear sky -'msparfcs' = { - table2Version = 235 ; - indicatorOfParameter = 22 ; - } -#Mean snow evaporation rate -'mser' = { - table2Version = 235 ; - indicatorOfParameter = 23 ; - } -#Mean snowmelt rate -'msmr' = { - table2Version = 235 ; - indicatorOfParameter = 24 ; - } -#Mean magnitude of turbulent surface stress -'mmtss' = { - table2Version = 235 ; - indicatorOfParameter = 25 ; - } -#Mean large-scale precipitation fraction -'mlspf' = { - table2Version = 235 ; - indicatorOfParameter = 26 ; - } -#Mean surface downward UV radiation flux -'msdwuvrf' = { - table2Version = 235 ; - indicatorOfParameter = 27 ; - } -#Mean surface photosynthetically active radiation flux -'msparf' = { - table2Version = 235 ; - indicatorOfParameter = 28 ; - } -#Mean large-scale precipitation rate -'mlspr' = { - table2Version = 235 ; - indicatorOfParameter = 29 ; - } -#Mean convective precipitation rate -'mcpr' = { - table2Version = 235 ; - indicatorOfParameter = 30 ; - } -#Mean snowfall rate -'msr' = { - table2Version = 235 ; - indicatorOfParameter = 31 ; - } -#Mean boundary layer dissipation -'mbld' = { - table2Version = 235 ; - indicatorOfParameter = 32 ; - } -#Mean surface sensible heat flux -'msshf' = { - table2Version = 235 ; - indicatorOfParameter = 33 ; - } -#Mean surface latent heat flux -'mslhf' = { - table2Version = 235 ; - indicatorOfParameter = 34 ; - } -#Mean surface downward short-wave radiation flux -'msdwswrf' = { - table2Version = 235 ; - indicatorOfParameter = 35 ; - } -#Mean surface downward long-wave radiation flux -'msdwlwrf' = { - table2Version = 235 ; - indicatorOfParameter = 36 ; - } -#Mean surface net short-wave radiation flux -'msnswrf' = { - table2Version = 235 ; - indicatorOfParameter = 37 ; - } -#Mean surface net long-wave radiation flux -'msnlwrf' = { - table2Version = 235 ; - indicatorOfParameter = 38 ; - } -#Mean top net short-wave radiation flux -'mtnswrf' = { - table2Version = 235 ; - indicatorOfParameter = 39 ; - } -#Mean top net long-wave radiation flux -'mtnlwrf' = { - table2Version = 235 ; - indicatorOfParameter = 40 ; - } -#Mean eastward turbulent surface stress -'metss' = { - table2Version = 235 ; - indicatorOfParameter = 41 ; - } -#Mean northward turbulent surface stress -'mntss' = { - table2Version = 235 ; - indicatorOfParameter = 42 ; - } -#Mean evaporation rate -'mer' = { - table2Version = 235 ; - indicatorOfParameter = 43 ; - } -#Sunshine duration fraction -'sdf' = { - table2Version = 235 ; - indicatorOfParameter = 44 ; - } -#Mean eastward gravity wave surface stress -'megwss' = { - table2Version = 235 ; - indicatorOfParameter = 45 ; - } -#Mean northward gravity wave surface stress -'mngwss' = { - table2Version = 235 ; - indicatorOfParameter = 46 ; - } -#Mean gravity wave dissipation -'mgwd' = { - table2Version = 235 ; - indicatorOfParameter = 47 ; - } -#Mean runoff rate -'mror' = { - table2Version = 235 ; - indicatorOfParameter = 48 ; - } -#Mean top net short-wave radiation flux, clear sky -'mtnswrfcs' = { - table2Version = 235 ; - indicatorOfParameter = 49 ; - } -#Mean top net long-wave radiation flux, clear sky -'mtnlwrfcs' = { - table2Version = 235 ; - indicatorOfParameter = 50 ; - } -#Mean surface net short-wave radiation flux, clear sky -'msnswrfcs' = { - table2Version = 235 ; - indicatorOfParameter = 51 ; - } -#Mean surface net long-wave radiation flux, clear sky -'msnlwrfcs' = { - table2Version = 235 ; - indicatorOfParameter = 52 ; - } -#Mean top downward short-wave radiation flux -'mtdwswrf' = { - table2Version = 235 ; - indicatorOfParameter = 53 ; - } -#Mean vertically integrated moisture divergence -'mvimd' = { - table2Version = 235 ; - indicatorOfParameter = 54 ; - } -#Mean total precipitation rate -'mtpr' = { - table2Version = 235 ; - indicatorOfParameter = 55 ; - } -#Mean convective snowfall rate -'mcsr' = { - table2Version = 235 ; - indicatorOfParameter = 56 ; - } -#Mean large-scale snowfall rate -'mlssr' = { - table2Version = 235 ; - indicatorOfParameter = 57 ; - } -#Mean surface direct short-wave radiation flux -'msdrswrf' = { - table2Version = 235 ; - indicatorOfParameter = 58 ; - } -#Mean surface direct short-wave radiation flux, clear sky -'msdrswrfcs' = { - table2Version = 235 ; - indicatorOfParameter = 59 ; - } -#Mean surface diffuse short-wave radiation flux -'msdfswrf' = { - table2Version = 235 ; - indicatorOfParameter = 60 ; - } -#Mean surface diffuse short-wave radiation flux, clear sky -'msdfswrfcs' = { - table2Version = 235 ; - indicatorOfParameter = 61 ; - } -#Mean carbon dioxide net ecosystem exchange flux -'mcdneef' = { - table2Version = 235 ; - indicatorOfParameter = 62 ; - } -#Mean carbon dioxide gross primary production flux -'mcdgppf' = { - table2Version = 235 ; - indicatorOfParameter = 63 ; - } -#Mean carbon dioxide ecosystem respiration flux -'mcderf' = { - table2Version = 235 ; - indicatorOfParameter = 64 ; - } -#Mean rain rate -'mrr' = { - table2Version = 235 ; - indicatorOfParameter = 65 ; - } -#Mean convective rain rate -'mcrr' = { - table2Version = 235 ; - indicatorOfParameter = 66 ; - } -#Mean large-scale rain rate -'mlsrr' = { - table2Version = 235 ; - indicatorOfParameter = 67 ; - } -#Mean surface downward short-wave radiation flux, clear sky -'msdwswrfcs' = { - table2Version = 235 ; - indicatorOfParameter = 68 ; - } -#Mean surface downward long-wave radiation flux, clear sky -'msdwlwrfcs' = { - table2Version = 235 ; - indicatorOfParameter = 69 ; - } -#Mean potential evaporation rate -'mper' = { - table2Version = 235 ; - indicatorOfParameter = 70 ; - } -#Total precipitation rate -'tprate' = { - table2Version = 254 ; - indicatorOfParameter = 48 ; - } -#Ceiling -'ceil' = { - table2Version = 228 ; - indicatorOfParameter = 109 ; - } -#K index -'kx' = { - table2Version = 228 ; - indicatorOfParameter = 121 ; - } -#Total totals index -'totalx' = { - table2Version = 228 ; - indicatorOfParameter = 123 ; - } -#Stream function gradient -'strfgrd' = { - table2Version = 129 ; - indicatorOfParameter = 1 ; - } -#Velocity potential gradient -'vpotgrd' = { - table2Version = 129 ; - indicatorOfParameter = 2 ; - } -#Potential temperature gradient -'ptgrd' = { - table2Version = 129 ; - indicatorOfParameter = 3 ; - } -#Equivalent potential temperature gradient -'eqptgrd' = { - table2Version = 129 ; - indicatorOfParameter = 4 ; - } -#Saturated equivalent potential temperature gradient -'septgrd' = { - table2Version = 129 ; - indicatorOfParameter = 5 ; - } -#U component of divergent wind gradient -'udvwgrd' = { - table2Version = 129 ; - indicatorOfParameter = 11 ; - } -#V component of divergent wind gradient -'vdvwgrd' = { - table2Version = 129 ; - indicatorOfParameter = 12 ; - } -#U component of rotational wind gradient -'urtwgrd' = { - table2Version = 129 ; - indicatorOfParameter = 13 ; - } -#V component of rotational wind gradient -'vrtwgrd' = { - table2Version = 129 ; - indicatorOfParameter = 14 ; - } -#Unbalanced component of temperature gradient -'uctpgrd' = { - table2Version = 129 ; - indicatorOfParameter = 21 ; - } -#Unbalanced component of logarithm of surface pressure gradient -'uclngrd' = { - table2Version = 129 ; - indicatorOfParameter = 22 ; - } -#Unbalanced component of divergence gradient -'ucdvgrd' = { - table2Version = 129 ; - indicatorOfParameter = 23 ; - } -#Reserved for future unbalanced components -'p24.129' = { - table2Version = 129 ; - indicatorOfParameter = 24 ; - } -#Reserved for future unbalanced components -'p25.129' = { - table2Version = 129 ; - indicatorOfParameter = 25 ; - } -#Lake cover gradient -'clgrd' = { - table2Version = 129 ; - indicatorOfParameter = 26 ; - } -#Low vegetation cover gradient -'cvlgrd' = { - table2Version = 129 ; - indicatorOfParameter = 27 ; - } -#High vegetation cover gradient -'cvhgrd' = { - table2Version = 129 ; - indicatorOfParameter = 28 ; - } -#Type of low vegetation gradient -'tvlgrd' = { - table2Version = 129 ; - indicatorOfParameter = 29 ; - } -#Type of high vegetation gradient -'tvhgrd' = { - table2Version = 129 ; - indicatorOfParameter = 30 ; - } -#Sea-ice cover gradient -'sicgrd' = { - table2Version = 129 ; - indicatorOfParameter = 31 ; - } -#Snow albedo gradient -'asngrd' = { - table2Version = 129 ; - indicatorOfParameter = 32 ; - } -#Snow density gradient -'rsngrd' = { - table2Version = 129 ; - indicatorOfParameter = 33 ; - } -#Sea surface temperature gradient -'sstkgrd' = { - table2Version = 129 ; - indicatorOfParameter = 34 ; - } -#Ice surface temperature layer 1 gradient -'istl1grd' = { - table2Version = 129 ; - indicatorOfParameter = 35 ; - } -#Ice surface temperature layer 2 gradient -'istl2grd' = { - table2Version = 129 ; - indicatorOfParameter = 36 ; - } -#Ice surface temperature layer 3 gradient -'istl3grd' = { - table2Version = 129 ; - indicatorOfParameter = 37 ; - } -#Ice surface temperature layer 4 gradient -'istl4grd' = { - table2Version = 129 ; - indicatorOfParameter = 38 ; - } -#Volumetric soil water layer 1 gradient -'swvl1grd' = { - table2Version = 129 ; - indicatorOfParameter = 39 ; - } -#Volumetric soil water layer 2 gradient -'swvl2grd' = { - table2Version = 129 ; - indicatorOfParameter = 40 ; - } -#Volumetric soil water layer 3 gradient -'swvl3grd' = { - table2Version = 129 ; - indicatorOfParameter = 41 ; - } -#Volumetric soil water layer 4 gradient -'swvl4grd' = { - table2Version = 129 ; - indicatorOfParameter = 42 ; - } -#Soil type gradient -'sltgrd' = { - table2Version = 129 ; - indicatorOfParameter = 43 ; - } -#Snow evaporation gradient -'esgrd' = { - table2Version = 129 ; - indicatorOfParameter = 44 ; - } -#Snowmelt gradient -'smltgrd' = { - table2Version = 129 ; - indicatorOfParameter = 45 ; - } -#Solar duration gradient -'sdurgrd' = { - table2Version = 129 ; - indicatorOfParameter = 46 ; - } -#Direct solar radiation gradient -'dsrpgrd' = { - table2Version = 129 ; - indicatorOfParameter = 47 ; - } -#Magnitude of turbulent surface stress gradient -'magssgrd' = { - table2Version = 129 ; - indicatorOfParameter = 48 ; - } #10 metre wind gust gradient 'fggrd10' = { table2Version = 129 ; indicatorOfParameter = 49 ; } -#Large-scale precipitation fraction gradient -'lspfgrd' = { - table2Version = 129 ; - indicatorOfParameter = 50 ; - } -#Maximum 2 metre temperature gradient -'mx2t24grd' = { - table2Version = 129 ; - indicatorOfParameter = 51 ; - } -#Minimum 2 metre temperature gradient -'mn2t24grd' = { - table2Version = 129 ; - indicatorOfParameter = 52 ; - } -#Montgomery potential gradient -'montgrd' = { - table2Version = 129 ; - indicatorOfParameter = 53 ; - } -#Pressure gradient -'presgrd' = { - table2Version = 129 ; - indicatorOfParameter = 54 ; - } -#Mean 2 metre temperature in the last 24 hours gradient -'mean2t24grd' = { - table2Version = 129 ; - indicatorOfParameter = 55 ; - } -#Mean 2 metre dewpoint temperature in the last 24 hours gradient -'mn2d24grd' = { - table2Version = 129 ; - indicatorOfParameter = 56 ; - } -#Downward UV radiation at the surface gradient -'uvbgrd' = { - table2Version = 129 ; - indicatorOfParameter = 57 ; - } -#Photosynthetically active radiation at the surface gradient -'pargrd' = { - table2Version = 129 ; - indicatorOfParameter = 58 ; - } -#Convective available potential energy gradient -'capegrd' = { - table2Version = 129 ; - indicatorOfParameter = 59 ; - } -#Potential vorticity gradient -'pvgrd' = { - table2Version = 129 ; - indicatorOfParameter = 60 ; - } -#Total precipitation from observations gradient -'tpogrd' = { - table2Version = 129 ; - indicatorOfParameter = 61 ; - } -#Observation count gradient -'obctgrd' = { - table2Version = 129 ; - indicatorOfParameter = 62 ; - } -#Start time for skin temperature difference -'p63.129' = { - table2Version = 129 ; - indicatorOfParameter = 63 ; - } -#Finish time for skin temperature difference -'p64.129' = { - table2Version = 129 ; - indicatorOfParameter = 64 ; - } -#Skin temperature difference -'p65.129' = { - table2Version = 129 ; - indicatorOfParameter = 65 ; - } -#Leaf area index, low vegetation -'p66.129' = { - table2Version = 129 ; - indicatorOfParameter = 66 ; - } -#Leaf area index, high vegetation -'p67.129' = { - table2Version = 129 ; - indicatorOfParameter = 67 ; - } -#Minimum stomatal resistance, low vegetation -'p68.129' = { - table2Version = 129 ; - indicatorOfParameter = 68 ; - } -#Minimum stomatal resistance, high vegetation -'p69.129' = { - table2Version = 129 ; - indicatorOfParameter = 69 ; - } -#Biome cover, low vegetation -'p70.129' = { - table2Version = 129 ; - indicatorOfParameter = 70 ; - } -#Biome cover, high vegetation -'p71.129' = { - table2Version = 129 ; - indicatorOfParameter = 71 ; - } -#Total column liquid water -'p78.129' = { - table2Version = 129 ; - indicatorOfParameter = 78 ; - } -#Total column ice water -'p79.129' = { - table2Version = 129 ; - indicatorOfParameter = 79 ; - } -#Experimental product -'p80.129' = { - table2Version = 129 ; - indicatorOfParameter = 80 ; - } -#Experimental product -'p81.129' = { - table2Version = 129 ; - indicatorOfParameter = 81 ; - } -#Experimental product -'p82.129' = { - table2Version = 129 ; - indicatorOfParameter = 82 ; - } -#Experimental product -'p83.129' = { - table2Version = 129 ; - indicatorOfParameter = 83 ; - } -#Experimental product -'p84.129' = { - table2Version = 129 ; - indicatorOfParameter = 84 ; - } -#Experimental product -'p85.129' = { - table2Version = 129 ; - indicatorOfParameter = 85 ; - } -#Experimental product -'p86.129' = { - table2Version = 129 ; - indicatorOfParameter = 86 ; - } -#Experimental product -'p87.129' = { - table2Version = 129 ; - indicatorOfParameter = 87 ; - } -#Experimental product -'p88.129' = { - table2Version = 129 ; - indicatorOfParameter = 88 ; - } -#Experimental product -'p89.129' = { - table2Version = 129 ; - indicatorOfParameter = 89 ; - } -#Experimental product -'p90.129' = { - table2Version = 129 ; - indicatorOfParameter = 90 ; - } -#Experimental product -'p91.129' = { - table2Version = 129 ; - indicatorOfParameter = 91 ; - } -#Experimental product -'p92.129' = { - table2Version = 129 ; - indicatorOfParameter = 92 ; - } -#Experimental product -'p93.129' = { - table2Version = 129 ; - indicatorOfParameter = 93 ; - } -#Experimental product -'p94.129' = { - table2Version = 129 ; - indicatorOfParameter = 94 ; - } -#Experimental product -'p95.129' = { - table2Version = 129 ; - indicatorOfParameter = 95 ; - } -#Experimental product -'p96.129' = { - table2Version = 129 ; - indicatorOfParameter = 96 ; - } -#Experimental product -'p97.129' = { - table2Version = 129 ; - indicatorOfParameter = 97 ; - } -#Experimental product -'p98.129' = { - table2Version = 129 ; - indicatorOfParameter = 98 ; - } -#Experimental product -'p99.129' = { - table2Version = 129 ; - indicatorOfParameter = 99 ; - } -#Experimental product -'p100.129' = { - table2Version = 129 ; - indicatorOfParameter = 100 ; - } -#Experimental product -'p101.129' = { - table2Version = 129 ; - indicatorOfParameter = 101 ; - } -#Experimental product -'p102.129' = { - table2Version = 129 ; - indicatorOfParameter = 102 ; - } -#Experimental product -'p103.129' = { - table2Version = 129 ; - indicatorOfParameter = 103 ; - } -#Experimental product -'p104.129' = { - table2Version = 129 ; - indicatorOfParameter = 104 ; - } -#Experimental product -'p105.129' = { - table2Version = 129 ; - indicatorOfParameter = 105 ; - } -#Experimental product -'p106.129' = { - table2Version = 129 ; - indicatorOfParameter = 106 ; - } -#Experimental product -'p107.129' = { - table2Version = 129 ; - indicatorOfParameter = 107 ; - } -#Experimental product -'p108.129' = { - table2Version = 129 ; - indicatorOfParameter = 108 ; - } -#Experimental product -'p109.129' = { - table2Version = 129 ; - indicatorOfParameter = 109 ; - } -#Experimental product -'p110.129' = { - table2Version = 129 ; - indicatorOfParameter = 110 ; - } -#Experimental product -'p111.129' = { - table2Version = 129 ; - indicatorOfParameter = 111 ; - } -#Experimental product -'p112.129' = { - table2Version = 129 ; - indicatorOfParameter = 112 ; - } -#Experimental product -'p113.129' = { - table2Version = 129 ; - indicatorOfParameter = 113 ; - } -#Experimental product -'p114.129' = { - table2Version = 129 ; - indicatorOfParameter = 114 ; - } -#Experimental product -'p115.129' = { - table2Version = 129 ; - indicatorOfParameter = 115 ; - } -#Experimental product -'p116.129' = { - table2Version = 129 ; - indicatorOfParameter = 116 ; - } -#Experimental product -'p117.129' = { - table2Version = 129 ; - indicatorOfParameter = 117 ; - } -#Experimental product -'p118.129' = { - table2Version = 129 ; - indicatorOfParameter = 118 ; - } -#Experimental product -'p119.129' = { - table2Version = 129 ; - indicatorOfParameter = 119 ; - } -#Experimental product -'p120.129' = { - table2Version = 129 ; - indicatorOfParameter = 120 ; - } -#Maximum temperature at 2 metres gradient -'mx2t6grd' = { - table2Version = 129 ; - indicatorOfParameter = 121 ; - } -#Minimum temperature at 2 metres gradient -'mn2t6grd' = { - table2Version = 129 ; - indicatorOfParameter = 122 ; - } #10 metre wind gust in the last 6 hours gradient 'fg6grd10' = { table2Version = 129 ; indicatorOfParameter = 123 ; } -#Vertically integrated total energy -'p125.129' = { - table2Version = 129 ; - indicatorOfParameter = 125 ; - } -#Generic parameter for sensitive area prediction -'p126.129' = { - table2Version = 129 ; - indicatorOfParameter = 126 ; - } -#Atmospheric tide gradient -'atgrd' = { - table2Version = 129 ; - indicatorOfParameter = 127 ; - } -#Budget values gradient -'bvgrd' = { - table2Version = 129 ; - indicatorOfParameter = 128 ; - } -#Geopotential gradient -'zgrd' = { - table2Version = 129 ; - indicatorOfParameter = 129 ; - } -#Temperature gradient -'tgrd' = { - table2Version = 129 ; - indicatorOfParameter = 130 ; - } -#U component of wind gradient -'ugrd' = { - table2Version = 129 ; - indicatorOfParameter = 131 ; - } -#V component of wind gradient -'vgrd' = { - table2Version = 129 ; - indicatorOfParameter = 132 ; - } -#Specific humidity gradient -'qgrd' = { - table2Version = 129 ; - indicatorOfParameter = 133 ; - } -#Surface pressure gradient -'spgrd' = { - table2Version = 129 ; - indicatorOfParameter = 134 ; - } -#vertical velocity (pressure) gradient -'wgrd' = { - table2Version = 129 ; - indicatorOfParameter = 135 ; - } -#Total column water gradient -'tcwgrd' = { - table2Version = 129 ; - indicatorOfParameter = 136 ; - } -#Total column water vapour gradient -'tcwvgrd' = { - table2Version = 129 ; - indicatorOfParameter = 137 ; - } -#Vorticity (relative) gradient -'vogrd' = { - table2Version = 129 ; - indicatorOfParameter = 138 ; - } -#Soil temperature level 1 gradient -'stl1grd' = { - table2Version = 129 ; - indicatorOfParameter = 139 ; - } -#Soil wetness level 1 gradient -'swl1grd' = { - table2Version = 129 ; - indicatorOfParameter = 140 ; - } -#Snow depth gradient -'sdgrd' = { - table2Version = 129 ; - indicatorOfParameter = 141 ; - } -#Stratiform precipitation (Large-scale precipitation) gradient -'lspgrd' = { - table2Version = 129 ; - indicatorOfParameter = 142 ; - } -#Convective precipitation gradient -'cpgrd' = { - table2Version = 129 ; - indicatorOfParameter = 143 ; - } -#Snowfall (convective + stratiform) gradient -'sfgrd' = { - table2Version = 129 ; - indicatorOfParameter = 144 ; - } -#Boundary layer dissipation gradient -'bldgrd' = { - table2Version = 129 ; - indicatorOfParameter = 145 ; - } -#Surface sensible heat flux gradient -'sshfgrd' = { - table2Version = 129 ; - indicatorOfParameter = 146 ; - } -#Surface latent heat flux gradient -'slhfgrd' = { - table2Version = 129 ; - indicatorOfParameter = 147 ; - } -#Charnock gradient -'chnkgrd' = { - table2Version = 129 ; - indicatorOfParameter = 148 ; - } -#Surface net radiation gradient -'snrgrd' = { - table2Version = 129 ; - indicatorOfParameter = 149 ; - } -#Top net radiation gradient -'tnrgrd' = { - table2Version = 129 ; - indicatorOfParameter = 150 ; - } -#Mean sea level pressure gradient -'mslgrd' = { - table2Version = 129 ; - indicatorOfParameter = 151 ; - } -#Logarithm of surface pressure gradient -'lnspgrd' = { - table2Version = 129 ; - indicatorOfParameter = 152 ; - } -#Short-wave heating rate gradient -'swhrgrd' = { - table2Version = 129 ; - indicatorOfParameter = 153 ; - } -#Long-wave heating rate gradient -'lwhrgrd' = { - table2Version = 129 ; - indicatorOfParameter = 154 ; - } -#Divergence gradient -'dgrd' = { - table2Version = 129 ; - indicatorOfParameter = 155 ; - } -#Height gradient -'ghgrd' = { - table2Version = 129 ; - indicatorOfParameter = 156 ; - } -#Relative humidity gradient -'rgrd' = { - table2Version = 129 ; - indicatorOfParameter = 157 ; - } -#Tendency of surface pressure gradient -'tspgrd' = { - table2Version = 129 ; - indicatorOfParameter = 158 ; - } -#Boundary layer height gradient -'blhgrd' = { - table2Version = 129 ; - indicatorOfParameter = 159 ; - } -#Standard deviation of orography gradient -'sdorgrd' = { - table2Version = 129 ; - indicatorOfParameter = 160 ; - } -#Anisotropy of sub-gridscale orography gradient -'isorgrd' = { - table2Version = 129 ; - indicatorOfParameter = 161 ; - } -#Angle of sub-gridscale orography gradient -'anorgrd' = { - table2Version = 129 ; - indicatorOfParameter = 162 ; - } -#Slope of sub-gridscale orography gradient -'slorgrd' = { - table2Version = 129 ; - indicatorOfParameter = 163 ; - } -#Total cloud cover gradient -'tccgrd' = { - table2Version = 129 ; - indicatorOfParameter = 164 ; - } #10 metre U wind component gradient 'ugrd10' = { table2Version = 129 ; @@ -11344,546 +244,11 @@ table2Version = 129 ; indicatorOfParameter = 168 ; } -#Surface solar radiation downwards gradient -'ssrdgrd' = { - table2Version = 129 ; - indicatorOfParameter = 169 ; - } -#Soil temperature level 2 gradient -'stl2grd' = { - table2Version = 129 ; - indicatorOfParameter = 170 ; - } -#Soil wetness level 2 gradient -'swl2grd' = { - table2Version = 129 ; - indicatorOfParameter = 171 ; - } -#Land-sea mask gradient -'lsmgrd' = { - table2Version = 129 ; - indicatorOfParameter = 172 ; - } -#Surface roughness gradient -'srgrd' = { - table2Version = 129 ; - indicatorOfParameter = 173 ; - } -#Albedo gradient -'algrd' = { - table2Version = 129 ; - indicatorOfParameter = 174 ; - } -#Surface thermal radiation downwards gradient -'strdgrd' = { - table2Version = 129 ; - indicatorOfParameter = 175 ; - } -#Surface net solar radiation gradient -'ssrgrd' = { - table2Version = 129 ; - indicatorOfParameter = 176 ; - } -#Surface net thermal radiation gradient -'strgrd' = { - table2Version = 129 ; - indicatorOfParameter = 177 ; - } -#Top net solar radiation gradient -'tsrgrd' = { - table2Version = 129 ; - indicatorOfParameter = 178 ; - } -#Top net thermal radiation gradient -'ttrgrd' = { - table2Version = 129 ; - indicatorOfParameter = 179 ; - } -#East-West surface stress gradient -'ewssgrd' = { - table2Version = 129 ; - indicatorOfParameter = 180 ; - } -#North-South surface stress gradient -'nsssgrd' = { - table2Version = 129 ; - indicatorOfParameter = 181 ; - } -#Evaporation gradient -'egrd' = { - table2Version = 129 ; - indicatorOfParameter = 182 ; - } -#Soil temperature level 3 gradient -'stl3grd' = { - table2Version = 129 ; - indicatorOfParameter = 183 ; - } -#Soil wetness level 3 gradient -'swl3grd' = { - table2Version = 129 ; - indicatorOfParameter = 184 ; - } -#Convective cloud cover gradient -'cccgrd' = { - table2Version = 129 ; - indicatorOfParameter = 185 ; - } -#Low cloud cover gradient -'lccgrd' = { - table2Version = 129 ; - indicatorOfParameter = 186 ; - } -#Medium cloud cover gradient -'mccgrd' = { - table2Version = 129 ; - indicatorOfParameter = 187 ; - } -#High cloud cover gradient -'hccgrd' = { - table2Version = 129 ; - indicatorOfParameter = 188 ; - } -#Sunshine duration gradient -'sundgrd' = { - table2Version = 129 ; - indicatorOfParameter = 189 ; - } -#East-West component of sub-gridscale orographic variance gradient -'ewovgrd' = { - table2Version = 129 ; - indicatorOfParameter = 190 ; - } -#North-South component of sub-gridscale orographic variance gradient -'nsovgrd' = { - table2Version = 129 ; - indicatorOfParameter = 191 ; - } -#North-West/South-East component of sub-gridscale orographic variance gradient -'nwovgrd' = { - table2Version = 129 ; - indicatorOfParameter = 192 ; - } -#North-East/South-West component of sub-gridscale orographic variance gradient -'neovgrd' = { - table2Version = 129 ; - indicatorOfParameter = 193 ; - } -#Brightness temperature gradient -'btmpgrd' = { - table2Version = 129 ; - indicatorOfParameter = 194 ; - } -#Longitudinal component of gravity wave stress gradient -'lgwsgrd' = { - table2Version = 129 ; - indicatorOfParameter = 195 ; - } -#Meridional component of gravity wave stress gradient -'mgwsgrd' = { - table2Version = 129 ; - indicatorOfParameter = 196 ; - } -#Gravity wave dissipation gradient -'gwdgrd' = { - table2Version = 129 ; - indicatorOfParameter = 197 ; - } -#Skin reservoir content gradient -'srcgrd' = { - table2Version = 129 ; - indicatorOfParameter = 198 ; - } -#Vegetation fraction gradient -'veggrd' = { - table2Version = 129 ; - indicatorOfParameter = 199 ; - } -#Variance of sub-gridscale orography gradient -'vsogrd' = { - table2Version = 129 ; - indicatorOfParameter = 200 ; - } -#Maximum temperature at 2 metres since previous post-processing gradient -'mx2tgrd' = { - table2Version = 129 ; - indicatorOfParameter = 201 ; - } -#Minimum temperature at 2 metres since previous post-processing gradient -'mn2tgrd' = { - table2Version = 129 ; - indicatorOfParameter = 202 ; - } -#Ozone mass mixing ratio gradient -'o3grd' = { - table2Version = 129 ; - indicatorOfParameter = 203 ; - } -#Precipitation analysis weights gradient -'pawgrd' = { - table2Version = 129 ; - indicatorOfParameter = 204 ; - } -#Runoff gradient -'rogrd' = { - table2Version = 129 ; - indicatorOfParameter = 205 ; - } -#Total column ozone gradient -'tco3grd' = { - table2Version = 129 ; - indicatorOfParameter = 206 ; - } #10 metre wind speed gradient 'sigrd10' = { table2Version = 129 ; indicatorOfParameter = 207 ; } -#Top net solar radiation, clear sky gradient -'tsrcgrd' = { - table2Version = 129 ; - indicatorOfParameter = 208 ; - } -#Top net thermal radiation, clear sky gradient -'ttrcgrd' = { - table2Version = 129 ; - indicatorOfParameter = 209 ; - } -#Surface net solar radiation, clear sky gradient -'ssrcgrd' = { - table2Version = 129 ; - indicatorOfParameter = 210 ; - } -#Surface net thermal radiation, clear sky gradient -'strcgrd' = { - table2Version = 129 ; - indicatorOfParameter = 211 ; - } -#TOA incident solar radiation gradient -'tisrgrd' = { - table2Version = 129 ; - indicatorOfParameter = 212 ; - } -#Diabatic heating by radiation gradient -'dhrgrd' = { - table2Version = 129 ; - indicatorOfParameter = 214 ; - } -#Diabatic heating by vertical diffusion gradient -'dhvdgrd' = { - table2Version = 129 ; - indicatorOfParameter = 215 ; - } -#Diabatic heating by cumulus convection gradient -'dhccgrd' = { - table2Version = 129 ; - indicatorOfParameter = 216 ; - } -#Diabatic heating large-scale condensation gradient -'dhlcgrd' = { - table2Version = 129 ; - indicatorOfParameter = 217 ; - } -#Vertical diffusion of zonal wind gradient -'vdzwgrd' = { - table2Version = 129 ; - indicatorOfParameter = 218 ; - } -#Vertical diffusion of meridional wind gradient -'vdmwgrd' = { - table2Version = 129 ; - indicatorOfParameter = 219 ; - } -#East-West gravity wave drag tendency gradient -'ewgdgrd' = { - table2Version = 129 ; - indicatorOfParameter = 220 ; - } -#North-South gravity wave drag tendency gradient -'nsgdgrd' = { - table2Version = 129 ; - indicatorOfParameter = 221 ; - } -#Convective tendency of zonal wind gradient -'ctzwgrd' = { - table2Version = 129 ; - indicatorOfParameter = 222 ; - } -#Convective tendency of meridional wind gradient -'ctmwgrd' = { - table2Version = 129 ; - indicatorOfParameter = 223 ; - } -#Vertical diffusion of humidity gradient -'vdhgrd' = { - table2Version = 129 ; - indicatorOfParameter = 224 ; - } -#Humidity tendency by cumulus convection gradient -'htccgrd' = { - table2Version = 129 ; - indicatorOfParameter = 225 ; - } -#Humidity tendency by large-scale condensation gradient -'htlcgrd' = { - table2Version = 129 ; - indicatorOfParameter = 226 ; - } -#Change from removal of negative humidity gradient -'crnhgrd' = { - table2Version = 129 ; - indicatorOfParameter = 227 ; - } -#Total precipitation gradient -'tpgrd' = { - table2Version = 129 ; - indicatorOfParameter = 228 ; - } -#Instantaneous X surface stress gradient -'iewsgrd' = { - table2Version = 129 ; - indicatorOfParameter = 229 ; - } -#Instantaneous Y surface stress gradient -'inssgrd' = { - table2Version = 129 ; - indicatorOfParameter = 230 ; - } -#Instantaneous surface heat flux gradient -'ishfgrd' = { - table2Version = 129 ; - indicatorOfParameter = 231 ; - } -#Instantaneous moisture flux gradient -'iegrd' = { - table2Version = 129 ; - indicatorOfParameter = 232 ; - } -#Apparent surface humidity gradient -'asqgrd' = { - table2Version = 129 ; - indicatorOfParameter = 233 ; - } -#Logarithm of surface roughness length for heat gradient -'lsrhgrd' = { - table2Version = 129 ; - indicatorOfParameter = 234 ; - } -#Skin temperature gradient -'sktgrd' = { - table2Version = 129 ; - indicatorOfParameter = 235 ; - } -#Soil temperature level 4 gradient -'stl4grd' = { - table2Version = 129 ; - indicatorOfParameter = 236 ; - } -#Soil wetness level 4 gradient -'swl4grd' = { - table2Version = 129 ; - indicatorOfParameter = 237 ; - } -#Temperature of snow layer gradient -'tsngrd' = { - table2Version = 129 ; - indicatorOfParameter = 238 ; - } -#Convective snowfall gradient -'csfgrd' = { - table2Version = 129 ; - indicatorOfParameter = 239 ; - } -#Large scale snowfall gradient -'lsfgrd' = { - table2Version = 129 ; - indicatorOfParameter = 240 ; - } -#Accumulated cloud fraction tendency gradient -'acfgrd' = { - table2Version = 129 ; - indicatorOfParameter = 241 ; - } -#Accumulated liquid water tendency gradient -'alwgrd' = { - table2Version = 129 ; - indicatorOfParameter = 242 ; - } -#Forecast albedo gradient -'falgrd' = { - table2Version = 129 ; - indicatorOfParameter = 243 ; - } -#Forecast surface roughness gradient -'fsrgrd' = { - table2Version = 129 ; - indicatorOfParameter = 244 ; - } -#Forecast logarithm of surface roughness for heat gradient -'flsrgrd' = { - table2Version = 129 ; - indicatorOfParameter = 245 ; - } -#Specific cloud liquid water content gradient -'clwcgrd' = { - table2Version = 129 ; - indicatorOfParameter = 246 ; - } -#Specific cloud ice water content gradient -'ciwcgrd' = { - table2Version = 129 ; - indicatorOfParameter = 247 ; - } -#Cloud cover gradient -'ccgrd' = { - table2Version = 129 ; - indicatorOfParameter = 248 ; - } -#Accumulated ice water tendency gradient -'aiwgrd' = { - table2Version = 129 ; - indicatorOfParameter = 249 ; - } -#Ice age gradient -'icegrd' = { - table2Version = 129 ; - indicatorOfParameter = 250 ; - } -#Adiabatic tendency of temperature gradient -'attegrd' = { - table2Version = 129 ; - indicatorOfParameter = 251 ; - } -#Adiabatic tendency of humidity gradient -'athegrd' = { - table2Version = 129 ; - indicatorOfParameter = 252 ; - } -#Adiabatic tendency of zonal wind gradient -'atzegrd' = { - table2Version = 129 ; - indicatorOfParameter = 253 ; - } -#Adiabatic tendency of meridional wind gradient -'atmwgrd' = { - table2Version = 129 ; - indicatorOfParameter = 254 ; - } -#Indicates a missing value -'p255.129' = { - table2Version = 129 ; - indicatorOfParameter = 255 ; - } -#Top solar radiation upward -'tsru' = { - table2Version = 130 ; - indicatorOfParameter = 208 ; - } -#Top thermal radiation upward -'ttru' = { - table2Version = 130 ; - indicatorOfParameter = 209 ; - } -#Top solar radiation upward, clear sky -'tsuc' = { - table2Version = 130 ; - indicatorOfParameter = 210 ; - } -#Top thermal radiation upward, clear sky -'ttuc' = { - table2Version = 130 ; - indicatorOfParameter = 211 ; - } -#Cloud liquid water -'clw' = { - table2Version = 130 ; - indicatorOfParameter = 212 ; - } -#Cloud fraction -'cf' = { - table2Version = 130 ; - indicatorOfParameter = 213 ; - } -#Diabatic heating by radiation -'dhr' = { - table2Version = 130 ; - indicatorOfParameter = 214 ; - } -#Diabatic heating by vertical diffusion -'dhvd' = { - table2Version = 130 ; - indicatorOfParameter = 215 ; - } -#Diabatic heating by cumulus convection -'dhcc' = { - table2Version = 130 ; - indicatorOfParameter = 216 ; - } -#Diabatic heating by large-scale condensation -'dhlc' = { - table2Version = 130 ; - indicatorOfParameter = 217 ; - } -#Vertical diffusion of zonal wind -'vdzw' = { - table2Version = 130 ; - indicatorOfParameter = 218 ; - } -#Vertical diffusion of meridional wind -'vdmw' = { - table2Version = 130 ; - indicatorOfParameter = 219 ; - } -#East-West gravity wave drag -'ewgd' = { - table2Version = 130 ; - indicatorOfParameter = 220 ; - } -#North-South gravity wave drag -'nsgd' = { - table2Version = 130 ; - indicatorOfParameter = 221 ; - } -#Vertical diffusion of humidity -'vdh' = { - table2Version = 130 ; - indicatorOfParameter = 224 ; - } -#Humidity tendency by cumulus convection -'htcc' = { - table2Version = 130 ; - indicatorOfParameter = 225 ; - } -#Humidity tendency by large-scale condensation -'htlc' = { - table2Version = 130 ; - indicatorOfParameter = 226 ; - } -#Adiabatic tendency of temperature -'att' = { - table2Version = 130 ; - indicatorOfParameter = 228 ; - } -#Adiabatic tendency of humidity -'ath' = { - table2Version = 130 ; - indicatorOfParameter = 229 ; - } -#Adiabatic tendency of zonal wind -'atzw' = { - table2Version = 130 ; - indicatorOfParameter = 230 ; - } -#Adiabatic tendency of meridional wind -'atmwax' = { - table2Version = 130 ; - indicatorOfParameter = 231 ; - } -#Mean vertical velocity -'mvv' = { - table2Version = 130 ; - indicatorOfParameter = 232 ; - } #2m temperature anomaly of at least +2K 't2ag2' = { table2Version = 131 ; @@ -11909,111 +274,11 @@ table2Version = 131 ; indicatorOfParameter = 5 ; } -#Total precipitation anomaly of at least 20 mm -'tpag20' = { - table2Version = 131 ; - indicatorOfParameter = 6 ; - } -#Total precipitation anomaly of at least 10 mm -'tpag10' = { - table2Version = 131 ; - indicatorOfParameter = 7 ; - } -#Total precipitation anomaly of at least 0 mm -'tpag0' = { - table2Version = 131 ; - indicatorOfParameter = 8 ; - } -#Surface temperature anomaly of at least 0K -'stag0' = { - table2Version = 131 ; - indicatorOfParameter = 9 ; - } -#Mean sea level pressure anomaly of at least 0 Pa -'mslag0' = { - table2Version = 131 ; - indicatorOfParameter = 10 ; - } -#Height of 0 degree isotherm probability -'h0dip' = { - table2Version = 131 ; - indicatorOfParameter = 15 ; - } -#Height of snowfall limit probability -'hslp' = { - table2Version = 131 ; - indicatorOfParameter = 16 ; - } -#Showalter index probability -'saip' = { - table2Version = 131 ; - indicatorOfParameter = 17 ; - } -#Whiting index probability -'whip' = { - table2Version = 131 ; - indicatorOfParameter = 18 ; - } -#Temperature anomaly less than -2 K -'talm2' = { - table2Version = 131 ; - indicatorOfParameter = 20 ; - } -#Temperature anomaly of at least +2 K -'tag2' = { - table2Version = 131 ; - indicatorOfParameter = 21 ; - } -#Temperature anomaly less than -8 K -'talm8' = { - table2Version = 131 ; - indicatorOfParameter = 22 ; - } -#Temperature anomaly less than -4 K -'talm4' = { - table2Version = 131 ; - indicatorOfParameter = 23 ; - } -#Temperature anomaly greater than +4 K -'tag4' = { - table2Version = 131 ; - indicatorOfParameter = 24 ; - } -#Temperature anomaly greater than +8 K -'tag8' = { - table2Version = 131 ; - indicatorOfParameter = 25 ; - } #10 metre wind gust probability 'g10p' = { table2Version = 131 ; indicatorOfParameter = 49 ; } -#Convective available potential energy probability -'capep' = { - table2Version = 131 ; - indicatorOfParameter = 59 ; - } -#Total precipitation less than 0.1 mm -'tpl01' = { - table2Version = 131 ; - indicatorOfParameter = 64 ; - } -#Total precipitation rate less than 1 mm/day -'tprl1' = { - table2Version = 131 ; - indicatorOfParameter = 65 ; - } -#Total precipitation rate of at least 3 mm/day -'tprg3' = { - table2Version = 131 ; - indicatorOfParameter = 66 ; - } -#Total precipitation rate of at least 5 mm/day -'tprg5' = { - table2Version = 131 ; - indicatorOfParameter = 67 ; - } #10 metre Wind speed of at least 10 m/s 'sp10g10' = { table2Version = 131 ; @@ -12044,76 +309,6 @@ table2Version = 131 ; indicatorOfParameter = 73 ; } -#Significant wave height of at least 2 m -'swhg2' = { - table2Version = 131 ; - indicatorOfParameter = 74 ; - } -#Significant wave height of at least 4 m -'swhg4' = { - table2Version = 131 ; - indicatorOfParameter = 75 ; - } -#Significant wave height of at least 6 m -'swhg6' = { - table2Version = 131 ; - indicatorOfParameter = 76 ; - } -#Significant wave height of at least 8 m -'swhg8' = { - table2Version = 131 ; - indicatorOfParameter = 77 ; - } -#Mean wave period of at least 8 s -'mwpg8' = { - table2Version = 131 ; - indicatorOfParameter = 78 ; - } -#Mean wave period of at least 10 s -'mwpg10' = { - table2Version = 131 ; - indicatorOfParameter = 79 ; - } -#Mean wave period of at least 12 s -'mwpg12' = { - table2Version = 131 ; - indicatorOfParameter = 80 ; - } -#Mean wave period of at least 15 s -'mwpg15' = { - table2Version = 131 ; - indicatorOfParameter = 81 ; - } -#Geopotential probability -'zp' = { - table2Version = 131 ; - indicatorOfParameter = 129 ; - } -#Temperature anomaly probability -'tap' = { - table2Version = 131 ; - indicatorOfParameter = 130 ; - } -#Soil temperature level 1 probability -'stl1p' = { - table2Version = 131 ; - indicatorOfParameter = 139 ; - } -#Snowfall (convective + stratiform) probability -'sfp' = { - table2Version = 131 ; - indicatorOfParameter = 144 ; - } -#Mean sea level pressure probability -'mslpp' = { - table2Version = 131 ; - indicatorOfParameter = 151 ; - } -#Total cloud cover probability -'tccp' = { - table2Version = 131 ; - indicatorOfParameter = 164 ; - } #10 metre speed probability 'sp10' = { table2Version = 131 ; @@ -12124,71 +319,6 @@ table2Version = 131 ; indicatorOfParameter = 167 ; } -#Maximum 2 metre temperature probability -'mx2tp' = { - table2Version = 131 ; - indicatorOfParameter = 201 ; - } -#Minimum 2 metre temperature probability -'mn2tp' = { - table2Version = 131 ; - indicatorOfParameter = 202 ; - } -#Total precipitation probability -'tpp' = { - table2Version = 131 ; - indicatorOfParameter = 228 ; - } -#Significant wave height probability -'swhp' = { - table2Version = 131 ; - indicatorOfParameter = 229 ; - } -#Mean wave period probability -'mwpp' = { - table2Version = 131 ; - indicatorOfParameter = 232 ; - } -#Indicates a missing value -'p255.131' = { - table2Version = 131 ; - indicatorOfParameter = 255 ; - } -#10 metre wind gust index -'fg10i' = { - table2Version = 132 ; - indicatorOfParameter = 49 ; - } -#Snowfall index -'sfi' = { - table2Version = 132 ; - indicatorOfParameter = 144 ; - } -#10 metre speed index -'ws10i' = { - table2Version = 132 ; - indicatorOfParameter = 165 ; - } -#2 metre temperature index -'t2i' = { - table2Version = 132 ; - indicatorOfParameter = 167 ; - } -#Maximum temperature at 2 metres index -'mx2ti' = { - table2Version = 132 ; - indicatorOfParameter = 201 ; - } -#Minimum temperature at 2 metres index -'mn2ti' = { - table2Version = 132 ; - indicatorOfParameter = 202 ; - } -#Total precipitation index -'tpi' = { - table2Version = 132 ; - indicatorOfParameter = 228 ; - } #2m temperature probability less than -10 C 't2plm10' = { table2Version = 133 ; @@ -12239,56 +369,6 @@ table2Version = 133 ; indicatorOfParameter = 10 ; } -#Minimum 2 metre temperature probability less than -10 C -'mn2tplm10' = { - table2Version = 133 ; - indicatorOfParameter = 11 ; - } -#Minimum 2 metre temperature probability less than -5 C -'mn2tplm5' = { - table2Version = 133 ; - indicatorOfParameter = 12 ; - } -#Minimum 2 metre temperature probability less than 0 C -'mn2tpl0' = { - table2Version = 133 ; - indicatorOfParameter = 13 ; - } -#Minimum 2 metre temperature probability less than 5 C -'mn2tpl5' = { - table2Version = 133 ; - indicatorOfParameter = 14 ; - } -#Minimum 2 metre temperature probability less than 10 C -'mn2tpl10' = { - table2Version = 133 ; - indicatorOfParameter = 15 ; - } -#Maximum 2 metre temperature probability greater than 25 C -'mx2tpg25' = { - table2Version = 133 ; - indicatorOfParameter = 16 ; - } -#Maximum 2 metre temperature probability greater than 30 C -'mx2tpg30' = { - table2Version = 133 ; - indicatorOfParameter = 17 ; - } -#Maximum 2 metre temperature probability greater than 35 C -'mx2tpg35' = { - table2Version = 133 ; - indicatorOfParameter = 18 ; - } -#Maximum 2 metre temperature probability greater than 40 C -'mx2tpg40' = { - table2Version = 133 ; - indicatorOfParameter = 19 ; - } -#Maximum 2 metre temperature probability greater than 45 C -'mx2tpg45' = { - table2Version = 133 ; - indicatorOfParameter = 20 ; - } #10 metre wind speed probability of at least 10 m/s 'sp10g10' = { table2Version = 133 ; @@ -12339,486 +419,6 @@ table2Version = 133 ; indicatorOfParameter = 30 ; } -#Total precipitation probability of at least 1 mm -'tppg1' = { - table2Version = 133 ; - indicatorOfParameter = 31 ; - } -#Total precipitation probability of at least 5 mm -'tppg5' = { - table2Version = 133 ; - indicatorOfParameter = 32 ; - } -#Total precipitation probability of at least 10 mm -'tppg10' = { - table2Version = 133 ; - indicatorOfParameter = 33 ; - } -#Total precipitation probability of at least 20 mm -'tppg20' = { - table2Version = 133 ; - indicatorOfParameter = 34 ; - } -#Total precipitation probability of at least 40 mm -'tppg40' = { - table2Version = 133 ; - indicatorOfParameter = 35 ; - } -#Total precipitation probability of at least 60 mm -'tppg60' = { - table2Version = 133 ; - indicatorOfParameter = 36 ; - } -#Total precipitation probability of at least 80 mm -'tppg80' = { - table2Version = 133 ; - indicatorOfParameter = 37 ; - } -#Total precipitation probability of at least 100 mm -'tppg100' = { - table2Version = 133 ; - indicatorOfParameter = 38 ; - } -#Total precipitation probability of at least 150 mm -'tppg150' = { - table2Version = 133 ; - indicatorOfParameter = 39 ; - } -#Total precipitation probability of at least 200 mm -'tppg200' = { - table2Version = 133 ; - indicatorOfParameter = 40 ; - } -#Total precipitation probability of at least 300 mm -'tppg300' = { - table2Version = 133 ; - indicatorOfParameter = 41 ; - } -#Snowfall probability of at least 1 mm -'sfpg1' = { - table2Version = 133 ; - indicatorOfParameter = 42 ; - } -#Snowfall probability of at least 5 mm -'sfpg5' = { - table2Version = 133 ; - indicatorOfParameter = 43 ; - } -#Snowfall probability of at least 10 mm -'sfpg10' = { - table2Version = 133 ; - indicatorOfParameter = 44 ; - } -#Snowfall probability of at least 20 mm -'sfpg20' = { - table2Version = 133 ; - indicatorOfParameter = 45 ; - } -#Snowfall probability of at least 40 mm -'sfpg40' = { - table2Version = 133 ; - indicatorOfParameter = 46 ; - } -#Snowfall probability of at least 60 mm -'sfpg60' = { - table2Version = 133 ; - indicatorOfParameter = 47 ; - } -#Snowfall probability of at least 80 mm -'sfpg80' = { - table2Version = 133 ; - indicatorOfParameter = 48 ; - } -#Snowfall probability of at least 100 mm -'sfpg100' = { - table2Version = 133 ; - indicatorOfParameter = 49 ; - } -#Snowfall probability of at least 150 mm -'sfpg150' = { - table2Version = 133 ; - indicatorOfParameter = 50 ; - } -#Snowfall probability of at least 200 mm -'sfpg200' = { - table2Version = 133 ; - indicatorOfParameter = 51 ; - } -#Snowfall probability of at least 300 mm -'sfpg300' = { - table2Version = 133 ; - indicatorOfParameter = 52 ; - } -#Total Cloud Cover probability greater than 10% -'tccpg10' = { - table2Version = 133 ; - indicatorOfParameter = 53 ; - } -#Total Cloud Cover probability greater than 20% -'tccpg20' = { - table2Version = 133 ; - indicatorOfParameter = 54 ; - } -#Total Cloud Cover probability greater than 30% -'tccpg30' = { - table2Version = 133 ; - indicatorOfParameter = 55 ; - } -#Total Cloud Cover probability greater than 40% -'tccpg40' = { - table2Version = 133 ; - indicatorOfParameter = 56 ; - } -#Total Cloud Cover probability greater than 50% -'tccpg50' = { - table2Version = 133 ; - indicatorOfParameter = 57 ; - } -#Total Cloud Cover probability greater than 60% -'tccpg60' = { - table2Version = 133 ; - indicatorOfParameter = 58 ; - } -#Total Cloud Cover probability greater than 70% -'tccpg70' = { - table2Version = 133 ; - indicatorOfParameter = 59 ; - } -#Total Cloud Cover probability greater than 80% -'tccpg80' = { - table2Version = 133 ; - indicatorOfParameter = 60 ; - } -#Total Cloud Cover probability greater than 90% -'tccpg90' = { - table2Version = 133 ; - indicatorOfParameter = 61 ; - } -#Total Cloud Cover probability greater than 99% -'tccpg99' = { - table2Version = 133 ; - indicatorOfParameter = 62 ; - } -#High Cloud Cover probability greater than 10% -'hccpg10' = { - table2Version = 133 ; - indicatorOfParameter = 63 ; - } -#High Cloud Cover probability greater than 20% -'hccpg20' = { - table2Version = 133 ; - indicatorOfParameter = 64 ; - } -#High Cloud Cover probability greater than 30% -'hccpg30' = { - table2Version = 133 ; - indicatorOfParameter = 65 ; - } -#High Cloud Cover probability greater than 40% -'hccpg40' = { - table2Version = 133 ; - indicatorOfParameter = 66 ; - } -#High Cloud Cover probability greater than 50% -'hccpg50' = { - table2Version = 133 ; - indicatorOfParameter = 67 ; - } -#High Cloud Cover probability greater than 60% -'hccpg60' = { - table2Version = 133 ; - indicatorOfParameter = 68 ; - } -#High Cloud Cover probability greater than 70% -'hccpg70' = { - table2Version = 133 ; - indicatorOfParameter = 69 ; - } -#High Cloud Cover probability greater than 80% -'hccpg80' = { - table2Version = 133 ; - indicatorOfParameter = 70 ; - } -#High Cloud Cover probability greater than 90% -'hccpg90' = { - table2Version = 133 ; - indicatorOfParameter = 71 ; - } -#High Cloud Cover probability greater than 99% -'hccpg99' = { - table2Version = 133 ; - indicatorOfParameter = 72 ; - } -#Medium Cloud Cover probability greater than 10% -'mccpg10' = { - table2Version = 133 ; - indicatorOfParameter = 73 ; - } -#Medium Cloud Cover probability greater than 20% -'mccpg20' = { - table2Version = 133 ; - indicatorOfParameter = 74 ; - } -#Medium Cloud Cover probability greater than 30% -'mccpg30' = { - table2Version = 133 ; - indicatorOfParameter = 75 ; - } -#Medium Cloud Cover probability greater than 40% -'mccpg40' = { - table2Version = 133 ; - indicatorOfParameter = 76 ; - } -#Medium Cloud Cover probability greater than 50% -'mccpg50' = { - table2Version = 133 ; - indicatorOfParameter = 77 ; - } -#Medium Cloud Cover probability greater than 60% -'mccpg60' = { - table2Version = 133 ; - indicatorOfParameter = 78 ; - } -#Medium Cloud Cover probability greater than 70% -'mccpg70' = { - table2Version = 133 ; - indicatorOfParameter = 79 ; - } -#Medium Cloud Cover probability greater than 80% -'mccpg80' = { - table2Version = 133 ; - indicatorOfParameter = 80 ; - } -#Medium Cloud Cover probability greater than 90% -'mccpg90' = { - table2Version = 133 ; - indicatorOfParameter = 81 ; - } -#Medium Cloud Cover probability greater than 99% -'mccpg99' = { - table2Version = 133 ; - indicatorOfParameter = 82 ; - } -#Low Cloud Cover probability greater than 10% -'lccpg10' = { - table2Version = 133 ; - indicatorOfParameter = 83 ; - } -#Low Cloud Cover probability greater than 20% -'lccpg20' = { - table2Version = 133 ; - indicatorOfParameter = 84 ; - } -#Low Cloud Cover probability greater than 30% -'lccpg30' = { - table2Version = 133 ; - indicatorOfParameter = 85 ; - } -#Low Cloud Cover probability greater than 40% -'lccpg40' = { - table2Version = 133 ; - indicatorOfParameter = 86 ; - } -#Low Cloud Cover probability greater than 50% -'lccpg50' = { - table2Version = 133 ; - indicatorOfParameter = 87 ; - } -#Low Cloud Cover probability greater than 60% -'lccpg60' = { - table2Version = 133 ; - indicatorOfParameter = 88 ; - } -#Low Cloud Cover probability greater than 70% -'lccpg70' = { - table2Version = 133 ; - indicatorOfParameter = 89 ; - } -#Low Cloud Cover probability greater than 80% -'lccpg80' = { - table2Version = 133 ; - indicatorOfParameter = 90 ; - } -#Low Cloud Cover probability greater than 90% -'lccpg90' = { - table2Version = 133 ; - indicatorOfParameter = 91 ; - } -#Low Cloud Cover probability greater than 99% -'lccpg99' = { - table2Version = 133 ; - indicatorOfParameter = 92 ; - } -#Maximum of significant wave height -'maxswh' = { - table2Version = 140 ; - indicatorOfParameter = 200 ; - } -#Period corresponding to maximum individual wave height -'tmax' = { - table2Version = 140 ; - indicatorOfParameter = 217 ; - } -#Envelop-maximum individual wave height -'hmax' = { - table2Version = 140 ; - indicatorOfParameter = 218 ; - } -#Model bathymetry -'wmb' = { - table2Version = 140 ; - indicatorOfParameter = 219 ; - } -#Mean wave period based on first moment -'mp1' = { - table2Version = 140 ; - indicatorOfParameter = 220 ; - } -#Mean zero-crossing wave period -'mp2' = { - table2Version = 140 ; - indicatorOfParameter = 221 ; - } -#Wave spectral directional width -'wdw' = { - table2Version = 140 ; - indicatorOfParameter = 222 ; - } -#Mean wave period based on first moment for wind waves -'p1ww' = { - table2Version = 140 ; - indicatorOfParameter = 223 ; - } -#Mean wave period based on second moment for wind waves -'p2ww' = { - table2Version = 140 ; - indicatorOfParameter = 224 ; - } -#Wave spectral directional width for wind waves -'dwww' = { - table2Version = 140 ; - indicatorOfParameter = 225 ; - } -#Mean wave period based on first moment for swell -'p1ps' = { - table2Version = 140 ; - indicatorOfParameter = 226 ; - } -#Mean wave period based on second moment for swell -'p2ps' = { - table2Version = 140 ; - indicatorOfParameter = 227 ; - } -#Wave spectral directional width for swell -'dwps' = { - table2Version = 140 ; - indicatorOfParameter = 228 ; - } -#Significant height of combined wind waves and swell -'swh' = { - table2Version = 140 ; - indicatorOfParameter = 229 ; - } -#Mean wave direction -'mwd' = { - table2Version = 140 ; - indicatorOfParameter = 230 ; - } -#Peak wave period -'pp1d' = { - table2Version = 140 ; - indicatorOfParameter = 231 ; - } -#Mean wave period -'mwp' = { - table2Version = 140 ; - indicatorOfParameter = 232 ; - } -#Coefficient of drag with waves -'cdww' = { - table2Version = 140 ; - indicatorOfParameter = 233 ; - } -#Significant height of wind waves -'shww' = { - table2Version = 140 ; - indicatorOfParameter = 234 ; - } -#Mean direction of wind waves -'mdww' = { - table2Version = 140 ; - indicatorOfParameter = 235 ; - } -#Mean period of wind waves -'mpww' = { - table2Version = 140 ; - indicatorOfParameter = 236 ; - } -#Significant height of total swell -'shts' = { - table2Version = 140 ; - indicatorOfParameter = 237 ; - } -#Mean direction of total swell -'mdts' = { - table2Version = 140 ; - indicatorOfParameter = 238 ; - } -#Mean period of total swell -'mpts' = { - table2Version = 140 ; - indicatorOfParameter = 239 ; - } -#Standard deviation wave height -'sdhs' = { - table2Version = 140 ; - indicatorOfParameter = 240 ; - } -#Mean of 10 metre wind speed -'mu10' = { - table2Version = 140 ; - indicatorOfParameter = 241 ; - } -#Mean wind direction -'mdwi' = { - table2Version = 140 ; - indicatorOfParameter = 242 ; - } -#Standard deviation of 10 metre wind speed -'sdu' = { - table2Version = 140 ; - indicatorOfParameter = 243 ; - } -#Mean square slope of waves -'msqs' = { - table2Version = 140 ; - indicatorOfParameter = 244 ; - } -#10 metre wind speed -'wind' = { - table2Version = 140 ; - indicatorOfParameter = 245 ; - } -#Altimeter wave height -'awh' = { - table2Version = 140 ; - indicatorOfParameter = 246 ; - } -#Altimeter corrected wave height -'acwh' = { - table2Version = 140 ; - indicatorOfParameter = 247 ; - } -#Altimeter range relative correction -'arrc' = { - table2Version = 140 ; - indicatorOfParameter = 248 ; - } -#10 metre wind direction -'dwi' = { - table2Version = 140 ; - indicatorOfParameter = 249 ; - } #2D wave spectra (multiple) 'd2sp' = { table2Version = 140 ; @@ -12829,201 +429,6 @@ table2Version = 140 ; indicatorOfParameter = 251 ; } -#Wave spectral kurtosis -'wsk' = { - table2Version = 140 ; - indicatorOfParameter = 252 ; - } -#Benjamin-Feir index -'bfi' = { - table2Version = 140 ; - indicatorOfParameter = 253 ; - } -#Wave spectral peakedness -'wsp' = { - table2Version = 140 ; - indicatorOfParameter = 254 ; - } -#Indicates a missing value -'p255.140' = { - table2Version = 140 ; - indicatorOfParameter = 255 ; - } -#Ocean potential temperature -'ocpt' = { - table2Version = 150 ; - indicatorOfParameter = 129 ; - } -#Ocean salinity -'ocs' = { - table2Version = 150 ; - indicatorOfParameter = 130 ; - } -#Ocean potential density -'ocpd' = { - table2Version = 150 ; - indicatorOfParameter = 131 ; - } -#Ocean U wind component -'p133.150' = { - table2Version = 150 ; - indicatorOfParameter = 133 ; - } -#Ocean V wind component -'p134.150' = { - table2Version = 150 ; - indicatorOfParameter = 134 ; - } -#Ocean W wind component -'ocw' = { - table2Version = 150 ; - indicatorOfParameter = 135 ; - } -#Richardson number -'rn' = { - table2Version = 150 ; - indicatorOfParameter = 137 ; - } -#U*V product -'uv' = { - table2Version = 150 ; - indicatorOfParameter = 139 ; - } -#U*T product -'ut' = { - table2Version = 150 ; - indicatorOfParameter = 140 ; - } -#V*T product -'vt' = { - table2Version = 150 ; - indicatorOfParameter = 141 ; - } -#U*U product -'uu' = { - table2Version = 150 ; - indicatorOfParameter = 142 ; - } -#V*V product -'vv' = { - table2Version = 150 ; - indicatorOfParameter = 143 ; - } -#UV - U~V~ -'p144.150' = { - table2Version = 150 ; - indicatorOfParameter = 144 ; - } -#UT - U~T~ -'p145.150' = { - table2Version = 150 ; - indicatorOfParameter = 145 ; - } -#VT - V~T~ -'p146.150' = { - table2Version = 150 ; - indicatorOfParameter = 146 ; - } -#UU - U~U~ -'p147.150' = { - table2Version = 150 ; - indicatorOfParameter = 147 ; - } -#VV - V~V~ -'p148.150' = { - table2Version = 150 ; - indicatorOfParameter = 148 ; - } -#Sea level -'sl' = { - table2Version = 150 ; - indicatorOfParameter = 152 ; - } -#Barotropic stream function -'p153.150' = { - table2Version = 150 ; - indicatorOfParameter = 153 ; - } -#Mixed layer depth -'mld' = { - table2Version = 150 ; - indicatorOfParameter = 154 ; - } -#Depth -'p155.150' = { - table2Version = 150 ; - indicatorOfParameter = 155 ; - } -#U stress -'p168.150' = { - table2Version = 150 ; - indicatorOfParameter = 168 ; - } -#V stress -'p169.150' = { - table2Version = 150 ; - indicatorOfParameter = 169 ; - } -#Turbulent kinetic energy input -'p170.150' = { - table2Version = 150 ; - indicatorOfParameter = 170 ; - } -#Net surface heat flux -'nsf' = { - table2Version = 150 ; - indicatorOfParameter = 171 ; - } -#Surface solar radiation -'p172.150' = { - table2Version = 150 ; - indicatorOfParameter = 172 ; - } -#P-E -'p173.150' = { - table2Version = 150 ; - indicatorOfParameter = 173 ; - } -#Diagnosed sea surface temperature error -'p180.150' = { - table2Version = 150 ; - indicatorOfParameter = 180 ; - } -#Heat flux correction -'p181.150' = { - table2Version = 150 ; - indicatorOfParameter = 181 ; - } -#Observed sea surface temperature -'p182.150' = { - table2Version = 150 ; - indicatorOfParameter = 182 ; - } -#Observed heat flux -'p183.150' = { - table2Version = 150 ; - indicatorOfParameter = 183 ; - } -#Indicates a missing value -'p255.150' = { - table2Version = 150 ; - indicatorOfParameter = 255 ; - } -#In situ Temperature -'p128.151' = { - table2Version = 151 ; - indicatorOfParameter = 128 ; - } -#Sea water potential temperature -'thetao' = { - table2Version = 151 ; - indicatorOfParameter = 129 ; - } -#Sea water practical salinity -'so' = { - table2Version = 151 ; - indicatorOfParameter = 130 ; - } #Eastward surface sea water velocity 'uoe' = { table2Version = 151 ; @@ -13034,1501 +439,21 @@ table2Version = 151 ; indicatorOfParameter = 132 ; } -#Upward sea water velocity -'wo' = { - table2Version = 151 ; - indicatorOfParameter = 133 ; - } -#Modulus of strain rate tensor -'mst' = { - table2Version = 151 ; - indicatorOfParameter = 134 ; - } -#Vertical viscosity -'vvs' = { - table2Version = 151 ; - indicatorOfParameter = 135 ; - } -#Vertical diffusivity -'vdf' = { - table2Version = 151 ; - indicatorOfParameter = 136 ; - } -#Bottom level Depth -'dep' = { - table2Version = 151 ; - indicatorOfParameter = 137 ; - } -#Sea water sigma theta -'sigmat' = { - table2Version = 151 ; - indicatorOfParameter = 138 ; - } -#Richardson number -'rn' = { - table2Version = 151 ; - indicatorOfParameter = 139 ; - } -#UV product -'uv' = { - table2Version = 151 ; - indicatorOfParameter = 140 ; - } -#UT product -'ut' = { - table2Version = 151 ; - indicatorOfParameter = 141 ; - } -#VT product -'vt' = { - table2Version = 151 ; - indicatorOfParameter = 142 ; - } -#UU product -'uu' = { - table2Version = 151 ; - indicatorOfParameter = 143 ; - } -#VV product -'vv' = { - table2Version = 151 ; - indicatorOfParameter = 144 ; - } -#Sea surface height -'zos' = { - table2Version = 151 ; - indicatorOfParameter = 145 ; - } -#Sea level previous timestep -'sl_1' = { - table2Version = 151 ; - indicatorOfParameter = 146 ; - } -#Ocean barotropic stream function -'stfbarot' = { - table2Version = 151 ; - indicatorOfParameter = 147 ; - } -#Mixed layer depth -'mld' = { - table2Version = 151 ; - indicatorOfParameter = 148 ; - } -#Bottom Pressure (equivalent height) -'btp' = { - table2Version = 151 ; - indicatorOfParameter = 149 ; - } -#Steric height -'sh' = { - table2Version = 151 ; - indicatorOfParameter = 150 ; - } -#Curl of Wind Stress -'crl' = { - table2Version = 151 ; - indicatorOfParameter = 151 ; - } -#Divergence of wind stress -'p152.151' = { - table2Version = 151 ; - indicatorOfParameter = 152 ; - } -#Surface downward eastward stress -'taueo' = { - table2Version = 151 ; - indicatorOfParameter = 153 ; - } -#Surface downward northward stress -'tauno' = { - table2Version = 151 ; - indicatorOfParameter = 154 ; - } -#Turbulent kinetic energy input -'tki' = { - table2Version = 151 ; - indicatorOfParameter = 155 ; - } -#Net surface heat flux -'nsf' = { - table2Version = 151 ; - indicatorOfParameter = 156 ; - } -#Absorbed solar radiation -'asr' = { - table2Version = 151 ; - indicatorOfParameter = 157 ; - } -#Precipitation - evaporation -'pme' = { - table2Version = 151 ; - indicatorOfParameter = 158 ; - } -#Specified sea surface temperature -'sst' = { - table2Version = 151 ; - indicatorOfParameter = 159 ; - } -#Specified surface heat flux -'shf' = { - table2Version = 151 ; - indicatorOfParameter = 160 ; - } -#Diagnosed sea surface temperature error -'dte' = { - table2Version = 151 ; - indicatorOfParameter = 161 ; - } -#Heat flux correction -'hfc' = { - table2Version = 151 ; - indicatorOfParameter = 162 ; - } -#Depth of 20C isotherm -'t20d' = { - table2Version = 151 ; - indicatorOfParameter = 163 ; - } -#Average potential temperature in the upper 300m -'tav300' = { - table2Version = 151 ; - indicatorOfParameter = 164 ; - } -#Vertically integrated zonal velocity (previous time step) -'uba1' = { - table2Version = 151 ; - indicatorOfParameter = 165 ; - } -#Vertically Integrated meridional velocity (previous time step) -'vba1' = { - table2Version = 151 ; - indicatorOfParameter = 166 ; - } -#Vertically integrated zonal volume transport -'ztr' = { - table2Version = 151 ; - indicatorOfParameter = 167 ; - } -#Vertically integrated meridional volume transport -'mtr' = { - table2Version = 151 ; - indicatorOfParameter = 168 ; - } -#Vertically integrated zonal heat transport -'zht' = { - table2Version = 151 ; - indicatorOfParameter = 169 ; - } -#Vertically integrated meridional heat transport -'mht' = { - table2Version = 151 ; - indicatorOfParameter = 170 ; - } -#U velocity maximum -'umax' = { - table2Version = 151 ; - indicatorOfParameter = 171 ; - } -#Depth of the velocity maximum -'dumax' = { - table2Version = 151 ; - indicatorOfParameter = 172 ; - } -#Salinity maximum -'smax' = { - table2Version = 151 ; - indicatorOfParameter = 173 ; - } -#Depth of salinity maximum -'dsmax' = { - table2Version = 151 ; - indicatorOfParameter = 174 ; - } -#Average sea water practical salinity in the upper 300m -'sav300' = { - table2Version = 151 ; - indicatorOfParameter = 175 ; - } -#Layer Thickness at scalar points -'ldp' = { - table2Version = 151 ; - indicatorOfParameter = 176 ; - } -#Layer Thickness at vector points -'ldu' = { - table2Version = 151 ; - indicatorOfParameter = 177 ; - } -#Potential temperature increment -'pti' = { - table2Version = 151 ; - indicatorOfParameter = 178 ; - } -#Potential temperature analysis error -'ptae' = { - table2Version = 151 ; - indicatorOfParameter = 179 ; - } -#Background potential temperature -'bpt' = { - table2Version = 151 ; - indicatorOfParameter = 180 ; - } -#Analysed potential temperature -'apt' = { - table2Version = 151 ; - indicatorOfParameter = 181 ; - } -#Potential temperature background error -'ptbe' = { - table2Version = 151 ; - indicatorOfParameter = 182 ; - } -#Analysed salinity -'as' = { - table2Version = 151 ; - indicatorOfParameter = 183 ; - } -#Salinity increment -'sali' = { - table2Version = 151 ; - indicatorOfParameter = 184 ; - } -#Estimated Bias in Temperature -'ebt' = { - table2Version = 151 ; - indicatorOfParameter = 185 ; - } -#Estimated Bias in Salinity -'ebs' = { - table2Version = 151 ; - indicatorOfParameter = 186 ; - } -#Zonal Velocity increment (from balance operator) -'uvi' = { - table2Version = 151 ; - indicatorOfParameter = 187 ; - } -#Meridional Velocity increment (from balance operator) -'vvi' = { - table2Version = 151 ; - indicatorOfParameter = 188 ; - } -#Salinity increment (from salinity data) -'subi' = { - table2Version = 151 ; - indicatorOfParameter = 190 ; - } -#Salinity analysis error -'sale' = { - table2Version = 151 ; - indicatorOfParameter = 191 ; - } -#Background Salinity -'bsal' = { - table2Version = 151 ; - indicatorOfParameter = 192 ; - } -#Salinity background error -'salbe' = { - table2Version = 151 ; - indicatorOfParameter = 194 ; - } -#Estimated temperature bias from assimilation -'ebta' = { - table2Version = 151 ; - indicatorOfParameter = 199 ; - } -#Estimated salinity bias from assimilation -'ebsa' = { - table2Version = 151 ; - indicatorOfParameter = 200 ; - } -#Temperature increment from relaxation term -'lti' = { - table2Version = 151 ; - indicatorOfParameter = 201 ; - } -#Salinity increment from relaxation term -'lsi' = { - table2Version = 151 ; - indicatorOfParameter = 202 ; - } -#Bias in the zonal pressure gradient (applied) -'bzpga' = { - table2Version = 151 ; - indicatorOfParameter = 203 ; - } -#Bias in the meridional pressure gradient (applied) -'bmpga' = { - table2Version = 151 ; - indicatorOfParameter = 204 ; - } -#Estimated temperature bias from relaxation -'ebtl' = { - table2Version = 151 ; - indicatorOfParameter = 205 ; - } -#Estimated salinity bias from relaxation -'ebsl' = { - table2Version = 151 ; - indicatorOfParameter = 206 ; - } -#First guess bias in temperature -'fgbt' = { - table2Version = 151 ; - indicatorOfParameter = 207 ; - } -#First guess bias in salinity -'fgbs' = { - table2Version = 151 ; - indicatorOfParameter = 208 ; - } -#Applied bias in pressure -'bpa' = { - table2Version = 151 ; - indicatorOfParameter = 209 ; - } -#FG bias in pressure -'fgbp' = { - table2Version = 151 ; - indicatorOfParameter = 210 ; - } -#Bias in temperature(applied) -'pta' = { - table2Version = 151 ; - indicatorOfParameter = 211 ; - } -#Bias in salinity (applied) -'psa' = { - table2Version = 151 ; - indicatorOfParameter = 212 ; - } -#Indicates a missing value -'p255.151' = { - table2Version = 151 ; - indicatorOfParameter = 255 ; - } #10 metre wind gust during averaging time 'fgrea10' = { table2Version = 160 ; indicatorOfParameter = 49 ; } -#vertical velocity (pressure) -'wrea' = { - table2Version = 160 ; - indicatorOfParameter = 135 ; - } -#Precipitable water content -'pwcrea' = { - table2Version = 160 ; - indicatorOfParameter = 137 ; - } -#Soil wetness level 1 -'swl1rea' = { - table2Version = 160 ; - indicatorOfParameter = 140 ; - } -#Snow depth -'sdrea' = { - table2Version = 160 ; - indicatorOfParameter = 141 ; - } -#Large-scale precipitation -'lsprea' = { - table2Version = 160 ; - indicatorOfParameter = 142 ; - } -#Convective precipitation -'cprea' = { - table2Version = 160 ; - indicatorOfParameter = 143 ; - } -#Snowfall -'sfrea' = { - table2Version = 160 ; - indicatorOfParameter = 144 ; - } -#Height -'ghrea' = { - table2Version = 160 ; - indicatorOfParameter = 156 ; - } -#Relative humidity -'rrea' = { - table2Version = 160 ; - indicatorOfParameter = 157 ; - } -#Soil wetness level 2 -'swl2rea' = { - table2Version = 160 ; - indicatorOfParameter = 171 ; - } -#East-West surface stress -'ewssrea' = { - table2Version = 160 ; - indicatorOfParameter = 180 ; - } -#North-South surface stress -'nsssrea' = { - table2Version = 160 ; - indicatorOfParameter = 181 ; - } -#Evaporation -'erea' = { - table2Version = 160 ; - indicatorOfParameter = 182 ; - } -#Soil wetness level 3 -'swl3rea' = { - table2Version = 160 ; - indicatorOfParameter = 184 ; - } -#Skin reservoir content -'srcrea' = { - table2Version = 160 ; - indicatorOfParameter = 198 ; - } -#Percentage of vegetation -'vegrea' = { - table2Version = 160 ; - indicatorOfParameter = 199 ; - } -#Maximum temperature at 2 metres during averaging time -'mx2trea' = { - table2Version = 160 ; - indicatorOfParameter = 201 ; - } -#Minimum temperature at 2 metres during averaging time -'mn2trea' = { - table2Version = 160 ; - indicatorOfParameter = 202 ; - } -#Runoff -'rorea' = { - table2Version = 160 ; - indicatorOfParameter = 205 ; - } -#Standard deviation of geopotential -'zzrea' = { - table2Version = 160 ; - indicatorOfParameter = 206 ; - } -#Covariance of temperature and geopotential -'tzrea' = { - table2Version = 160 ; - indicatorOfParameter = 207 ; - } -#Standard deviation of temperature -'ttrea' = { - table2Version = 160 ; - indicatorOfParameter = 208 ; - } -#Covariance of specific humidity and geopotential -'qzrea' = { - table2Version = 160 ; - indicatorOfParameter = 209 ; - } -#Covariance of specific humidity and temperature -'qtrea' = { - table2Version = 160 ; - indicatorOfParameter = 210 ; - } -#Standard deviation of specific humidity -'qqrea' = { - table2Version = 160 ; - indicatorOfParameter = 211 ; - } -#Covariance of U component and geopotential -'uzrea' = { - table2Version = 160 ; - indicatorOfParameter = 212 ; - } -#Covariance of U component and temperature -'utrea' = { - table2Version = 160 ; - indicatorOfParameter = 213 ; - } -#Covariance of U component and specific humidity -'uqrea' = { - table2Version = 160 ; - indicatorOfParameter = 214 ; - } -#Standard deviation of U velocity -'uurea' = { - table2Version = 160 ; - indicatorOfParameter = 215 ; - } -#Covariance of V component and geopotential -'vzrea' = { - table2Version = 160 ; - indicatorOfParameter = 216 ; - } -#Covariance of V component and temperature -'vtrea' = { - table2Version = 160 ; - indicatorOfParameter = 217 ; - } -#Covariance of V component and specific humidity -'vqrea' = { - table2Version = 160 ; - indicatorOfParameter = 218 ; - } -#Covariance of V component and U component -'vurea' = { - table2Version = 160 ; - indicatorOfParameter = 219 ; - } -#Standard deviation of V component -'vvrea' = { - table2Version = 160 ; - indicatorOfParameter = 220 ; - } -#Covariance of W component and geopotential -'wzrea' = { - table2Version = 160 ; - indicatorOfParameter = 221 ; - } -#Covariance of W component and temperature -'wtrea' = { - table2Version = 160 ; - indicatorOfParameter = 222 ; - } -#Covariance of W component and specific humidity -'wqrea' = { - table2Version = 160 ; - indicatorOfParameter = 223 ; - } -#Covariance of W component and U component -'wurea' = { - table2Version = 160 ; - indicatorOfParameter = 224 ; - } -#Covariance of W component and V component -'wvrea' = { - table2Version = 160 ; - indicatorOfParameter = 225 ; - } -#Standard deviation of vertical velocity -'wwrea' = { - table2Version = 160 ; - indicatorOfParameter = 226 ; - } -#Instantaneous surface heat flux -'ishfrea' = { - table2Version = 160 ; - indicatorOfParameter = 231 ; - } -#Convective snowfall -'csfrea' = { - table2Version = 160 ; - indicatorOfParameter = 239 ; - } -#Large scale snowfall -'lsfrea' = { - table2Version = 160 ; - indicatorOfParameter = 240 ; - } -#Cloud liquid water content -'clwcerrea' = { - table2Version = 160 ; - indicatorOfParameter = 241 ; - } -#Cloud cover -'ccrea' = { - table2Version = 160 ; - indicatorOfParameter = 242 ; - } -#Forecast albedo -'falrea' = { - table2Version = 160 ; - indicatorOfParameter = 243 ; - } #10 metre wind speed 'wsrea10' = { table2Version = 160 ; indicatorOfParameter = 246 ; } -#Momentum flux -'moflrea' = { - table2Version = 160 ; - indicatorOfParameter = 247 ; - } -#Gravity wave dissipation flux -'p249.160' = { - table2Version = 160 ; - indicatorOfParameter = 249 ; - } -#Heaviside beta function -'hsdrea' = { - table2Version = 160 ; - indicatorOfParameter = 254 ; - } -#Surface geopotential -'p51.162' = { - table2Version = 162 ; - indicatorOfParameter = 51 ; - } -#Vertical integral of mass of atmosphere -'p53.162' = { - table2Version = 162 ; - indicatorOfParameter = 53 ; - } -#Vertical integral of temperature -'p54.162' = { - table2Version = 162 ; - indicatorOfParameter = 54 ; - } -#Vertical integral of water vapour -'p55.162' = { - table2Version = 162 ; - indicatorOfParameter = 55 ; - } -#Vertical integral of cloud liquid water -'p56.162' = { - table2Version = 162 ; - indicatorOfParameter = 56 ; - } -#Vertical integral of cloud frozen water -'p57.162' = { - table2Version = 162 ; - indicatorOfParameter = 57 ; - } -#Vertical integral of ozone -'p58.162' = { - table2Version = 162 ; - indicatorOfParameter = 58 ; - } -#Total column vertically-integrated kinetic energy -'vike' = { - table2Version = 162 ; - indicatorOfParameter = 59 ; - } -#Total column vertically-integrated enthalpy -'vithe' = { - table2Version = 162 ; - indicatorOfParameter = 60 ; - } -#Total column vertically-integrated potential + internal energy -'vipie' = { - table2Version = 162 ; - indicatorOfParameter = 61 ; - } -#Vertical integral of potential+internal+latent energy -'vipile' = { - table2Version = 162 ; - indicatorOfParameter = 62 ; - } -#Total column vertically-integrated total energy -'vitoe' = { - table2Version = 162 ; - indicatorOfParameter = 63 ; - } -#Vertical integral of energy conversion -'viec' = { - table2Version = 162 ; - indicatorOfParameter = 64 ; - } -#Vertical integral of eastward mass flux -'vimae' = { - table2Version = 162 ; - indicatorOfParameter = 65 ; - } -#Vertical integral of northward mass flux -'viman' = { - table2Version = 162 ; - indicatorOfParameter = 66 ; - } -#Vertical integral of eastward kinetic energy flux -'vikee' = { - table2Version = 162 ; - indicatorOfParameter = 67 ; - } -#Vertical integral of northward kinetic energy flux -'viken' = { - table2Version = 162 ; - indicatorOfParameter = 68 ; - } -#Vertical integral of eastward heat flux -'vithee' = { - table2Version = 162 ; - indicatorOfParameter = 69 ; - } -#Vertical integral of northward heat flux -'vithen' = { - table2Version = 162 ; - indicatorOfParameter = 70 ; - } -#Vertical integral of eastward water vapour flux -'viwve' = { - table2Version = 162 ; - indicatorOfParameter = 71 ; - } -#Vertical integral of northward water vapour flux -'viwvn' = { - table2Version = 162 ; - indicatorOfParameter = 72 ; - } -#Vertical integral of eastward geopotential flux -'vige' = { - table2Version = 162 ; - indicatorOfParameter = 73 ; - } -#Vertical integral of northward geopotential flux -'vign' = { - table2Version = 162 ; - indicatorOfParameter = 74 ; - } -#Vertical integral of eastward total energy flux -'vitoee' = { - table2Version = 162 ; - indicatorOfParameter = 75 ; - } -#Vertical integral of northward total energy flux -'vitoen' = { - table2Version = 162 ; - indicatorOfParameter = 76 ; - } -#Vertical integral of eastward ozone flux -'vioze' = { - table2Version = 162 ; - indicatorOfParameter = 77 ; - } -#Vertical integral of northward ozone flux -'viozn' = { - table2Version = 162 ; - indicatorOfParameter = 78 ; - } -#Vertical integral of divergence of mass flux -'vimad' = { - table2Version = 162 ; - indicatorOfParameter = 81 ; - } -#Vertical integral of divergence of kinetic energy flux -'viked' = { - table2Version = 162 ; - indicatorOfParameter = 82 ; - } -#Vertical integral of divergence of thermal energy flux -'vithed' = { - table2Version = 162 ; - indicatorOfParameter = 83 ; - } -#Vertically integrated moisture divergence flux -'viwvd' = { - table2Version = 162 ; - indicatorOfParameter = 84 ; - } -#Vertical integral of divergence of geopotential flux -'vigd' = { - table2Version = 162 ; - indicatorOfParameter = 85 ; - } -#Vertical integral of divergence of total energy flux -'vitoed' = { - table2Version = 162 ; - indicatorOfParameter = 86 ; - } -#Vertical integral of divergence of ozone flux -'p87.162' = { - table2Version = 162 ; - indicatorOfParameter = 87 ; - } -#Time-integrated temperature tendency due to short-wave radiation -'srta' = { - table2Version = 162 ; - indicatorOfParameter = 100 ; - } -#Time-integrated temperature tendency due to long-wave radiation -'trta' = { - table2Version = 162 ; - indicatorOfParameter = 101 ; - } -#Time-integrated temperature tendency due to short wave radiation, clear sky -'srtca' = { - table2Version = 162 ; - indicatorOfParameter = 102 ; - } -#Time-integrated temperature tendency due to long-wave radiation, clear sky -'trtca' = { - table2Version = 162 ; - indicatorOfParameter = 103 ; - } -#Time-integrated updraught mass flux -'umfa' = { - table2Version = 162 ; - indicatorOfParameter = 104 ; - } -#Time-integrated downdraught mass flux -'dmfa' = { - table2Version = 162 ; - indicatorOfParameter = 105 ; - } -#Time-integrated updraught detrainment rate -'udra' = { - table2Version = 162 ; - indicatorOfParameter = 106 ; - } -#Time-integrated downdraught detrainment rate -'ddra' = { - table2Version = 162 ; - indicatorOfParameter = 107 ; - } -#Time-integrated total precipitation flux -'tpfa' = { - table2Version = 162 ; - indicatorOfParameter = 108 ; - } -#Time-integrated turbulent diffusion coefficient for heat -'tdcha' = { - table2Version = 162 ; - indicatorOfParameter = 109 ; - } -#Time-integrated temperature tendency due to parametrisations -'ttpha' = { - table2Version = 162 ; - indicatorOfParameter = 110 ; - } -#Time-integrated specific humidity tendency due to parametrisations -'qtpha' = { - table2Version = 162 ; - indicatorOfParameter = 111 ; - } -#Time-integrated eastward wind tendency due to parametrisations -'utpha' = { - table2Version = 162 ; - indicatorOfParameter = 112 ; - } -#Time-integrated northward wind tendency due to parametrisations -'vtpha' = { - table2Version = 162 ; - indicatorOfParameter = 113 ; - } -#Variance of geopotential -'p206.162' = { - table2Version = 162 ; - indicatorOfParameter = 206 ; - } -#Covariance of geopotential/temperature -'p207.162' = { - table2Version = 162 ; - indicatorOfParameter = 207 ; - } -#Variance of temperature -'p208.162' = { - table2Version = 162 ; - indicatorOfParameter = 208 ; - } -#Covariance of geopotential/specific humidity -'p209.162' = { - table2Version = 162 ; - indicatorOfParameter = 209 ; - } -#Covariance of temperature/specific humidity -'p210.162' = { - table2Version = 162 ; - indicatorOfParameter = 210 ; - } -#Variance of specific humidity -'p211.162' = { - table2Version = 162 ; - indicatorOfParameter = 211 ; - } -#Covariance of u component/geopotential -'p212.162' = { - table2Version = 162 ; - indicatorOfParameter = 212 ; - } -#Covariance of u component/temperature -'p213.162' = { - table2Version = 162 ; - indicatorOfParameter = 213 ; - } -#Covariance of u component/specific humidity -'p214.162' = { - table2Version = 162 ; - indicatorOfParameter = 214 ; - } -#Variance of u component -'p215.162' = { - table2Version = 162 ; - indicatorOfParameter = 215 ; - } -#Covariance of v component/geopotential -'p216.162' = { - table2Version = 162 ; - indicatorOfParameter = 216 ; - } -#Covariance of v component/temperature -'p217.162' = { - table2Version = 162 ; - indicatorOfParameter = 217 ; - } -#Covariance of v component/specific humidity -'p218.162' = { - table2Version = 162 ; - indicatorOfParameter = 218 ; - } -#Covariance of v component/u component -'p219.162' = { - table2Version = 162 ; - indicatorOfParameter = 219 ; - } -#Variance of v component -'p220.162' = { - table2Version = 162 ; - indicatorOfParameter = 220 ; - } -#Covariance of omega/geopotential -'p221.162' = { - table2Version = 162 ; - indicatorOfParameter = 221 ; - } -#Covariance of omega/temperature -'p222.162' = { - table2Version = 162 ; - indicatorOfParameter = 222 ; - } -#Covariance of omega/specific humidity -'p223.162' = { - table2Version = 162 ; - indicatorOfParameter = 223 ; - } -#Covariance of omega/u component -'p224.162' = { - table2Version = 162 ; - indicatorOfParameter = 224 ; - } -#Covariance of omega/v component -'p225.162' = { - table2Version = 162 ; - indicatorOfParameter = 225 ; - } -#Variance of omega -'p226.162' = { - table2Version = 162 ; - indicatorOfParameter = 226 ; - } -#Variance of surface pressure -'p227.162' = { - table2Version = 162 ; - indicatorOfParameter = 227 ; - } -#Variance of relative humidity -'p229.162' = { - table2Version = 162 ; - indicatorOfParameter = 229 ; - } -#Covariance of u component/ozone -'p230.162' = { - table2Version = 162 ; - indicatorOfParameter = 230 ; - } -#Covariance of v component/ozone -'p231.162' = { - table2Version = 162 ; - indicatorOfParameter = 231 ; - } -#Covariance of omega/ozone -'p232.162' = { - table2Version = 162 ; - indicatorOfParameter = 232 ; - } -#Variance of ozone -'p233.162' = { - table2Version = 162 ; - indicatorOfParameter = 233 ; - } -#Indicates a missing value -'p255.162' = { - table2Version = 162 ; - indicatorOfParameter = 255 ; - } -#Total soil moisture -'tsw' = { - table2Version = 170 ; - indicatorOfParameter = 149 ; - } -#Soil wetness level 2 -'swl2' = { - table2Version = 170 ; - indicatorOfParameter = 171 ; - } -#Top net thermal radiation -'ttr' = { - table2Version = 170 ; - indicatorOfParameter = 179 ; - } -#Stream function anomaly -'strfa' = { - table2Version = 171 ; - indicatorOfParameter = 1 ; - } -#Velocity potential anomaly -'vpota' = { - table2Version = 171 ; - indicatorOfParameter = 2 ; - } -#Potential temperature anomaly -'pta' = { - table2Version = 171 ; - indicatorOfParameter = 3 ; - } -#Equivalent potential temperature anomaly -'epta' = { - table2Version = 171 ; - indicatorOfParameter = 4 ; - } -#Saturated equivalent potential temperature anomaly -'septa' = { - table2Version = 171 ; - indicatorOfParameter = 5 ; - } -#U component of divergent wind anomaly -'udwa' = { - table2Version = 171 ; - indicatorOfParameter = 11 ; - } -#V component of divergent wind anomaly -'vdwa' = { - table2Version = 171 ; - indicatorOfParameter = 12 ; - } -#U component of rotational wind anomaly -'urwa' = { - table2Version = 171 ; - indicatorOfParameter = 13 ; - } -#V component of rotational wind anomaly -'vrwa' = { - table2Version = 171 ; - indicatorOfParameter = 14 ; - } -#Unbalanced component of temperature anomaly -'uctpa' = { - table2Version = 171 ; - indicatorOfParameter = 21 ; - } -#Unbalanced component of logarithm of surface pressure anomaly -'uclna' = { - table2Version = 171 ; - indicatorOfParameter = 22 ; - } -#Unbalanced component of divergence anomaly -'ucdva' = { - table2Version = 171 ; - indicatorOfParameter = 23 ; - } -#Lake cover anomaly -'cla' = { - table2Version = 171 ; - indicatorOfParameter = 26 ; - } -#Low vegetation cover anomaly -'cvla' = { - table2Version = 171 ; - indicatorOfParameter = 27 ; - } -#High vegetation cover anomaly -'cvha' = { - table2Version = 171 ; - indicatorOfParameter = 28 ; - } -#Type of low vegetation anomaly -'tvla' = { - table2Version = 171 ; - indicatorOfParameter = 29 ; - } -#Type of high vegetation anomaly -'tvha' = { - table2Version = 171 ; - indicatorOfParameter = 30 ; - } -#Sea-ice cover anomaly -'sica' = { - table2Version = 171 ; - indicatorOfParameter = 31 ; - } -#Snow albedo anomaly -'asna' = { - table2Version = 171 ; - indicatorOfParameter = 32 ; - } -#Snow density anomaly -'rsna' = { - table2Version = 171 ; - indicatorOfParameter = 33 ; - } -#Sea surface temperature anomaly -'ssta' = { - table2Version = 171 ; - indicatorOfParameter = 34 ; - } -#Ice surface temperature anomaly layer 1 -'istal1' = { - table2Version = 171 ; - indicatorOfParameter = 35 ; - } -#Ice surface temperature anomaly layer 2 -'istal2' = { - table2Version = 171 ; - indicatorOfParameter = 36 ; - } -#Ice surface temperature anomaly layer 3 -'istal3' = { - table2Version = 171 ; - indicatorOfParameter = 37 ; - } -#Ice surface temperature anomaly layer 4 -'istal4' = { - table2Version = 171 ; - indicatorOfParameter = 38 ; - } -#Volumetric soil water anomaly layer 1 -'swval1' = { - table2Version = 171 ; - indicatorOfParameter = 39 ; - } -#Volumetric soil water anomaly layer 2 -'swval2' = { - table2Version = 171 ; - indicatorOfParameter = 40 ; - } -#Volumetric soil water anomaly layer 3 -'swval3' = { - table2Version = 171 ; - indicatorOfParameter = 41 ; - } -#Volumetric soil water anomaly layer 4 -'swval4' = { - table2Version = 171 ; - indicatorOfParameter = 42 ; - } -#Soil type anomaly -'slta' = { - table2Version = 171 ; - indicatorOfParameter = 43 ; - } -#Snow evaporation anomaly -'esa' = { - table2Version = 171 ; - indicatorOfParameter = 44 ; - } -#Snowmelt anomaly -'smlta' = { - table2Version = 171 ; - indicatorOfParameter = 45 ; - } -#Solar duration anomaly -'sdura' = { - table2Version = 171 ; - indicatorOfParameter = 46 ; - } -#Direct solar radiation anomaly -'dsrpa' = { - table2Version = 171 ; - indicatorOfParameter = 47 ; - } -#Magnitude of turbulent surface stress anomaly -'magssa' = { - table2Version = 171 ; - indicatorOfParameter = 48 ; - } #10 metre wind gust anomaly 'fga10' = { table2Version = 171 ; indicatorOfParameter = 49 ; } -#Large-scale precipitation fraction anomaly -'lspfa' = { - table2Version = 171 ; - indicatorOfParameter = 50 ; - } -#Maximum 2 metre temperature in the last 24 hours anomaly -'mx2t24a' = { - table2Version = 171 ; - indicatorOfParameter = 51 ; - } -#Minimum 2 metre temperature in the last 24 hours anomaly -'mn2t24a' = { - table2Version = 171 ; - indicatorOfParameter = 52 ; - } -#Montgomery potential anomaly -'monta' = { - table2Version = 171 ; - indicatorOfParameter = 53 ; - } -#Pressure anomaly -'pa' = { - table2Version = 171 ; - indicatorOfParameter = 54 ; - } -#Mean 2 metre temperature in the last 24 hours anomaly -'mean2t24a' = { - table2Version = 171 ; - indicatorOfParameter = 55 ; - } -#Mean 2 metre dewpoint temperature in the last 24 hours anomaly -'mn2d24a' = { - table2Version = 171 ; - indicatorOfParameter = 56 ; - } -#Downward UV radiation at the surface anomaly -'uvba' = { - table2Version = 171 ; - indicatorOfParameter = 57 ; - } -#Photosynthetically active radiation at the surface anomaly -'para' = { - table2Version = 171 ; - indicatorOfParameter = 58 ; - } -#Convective available potential energy anomaly -'capea' = { - table2Version = 171 ; - indicatorOfParameter = 59 ; - } -#Potential vorticity anomaly -'pva' = { - table2Version = 171 ; - indicatorOfParameter = 60 ; - } -#Total precipitation from observations anomaly -'tpoa' = { - table2Version = 171 ; - indicatorOfParameter = 61 ; - } -#Observation count anomaly -'obcta' = { - table2Version = 171 ; - indicatorOfParameter = 62 ; - } -#Start time for skin temperature difference anomaly -'stsktda' = { - table2Version = 171 ; - indicatorOfParameter = 63 ; - } -#Finish time for skin temperature difference anomaly -'ftsktda' = { - table2Version = 171 ; - indicatorOfParameter = 64 ; - } -#Skin temperature difference anomaly -'sktda' = { - table2Version = 171 ; - indicatorOfParameter = 65 ; - } -#Total column liquid water anomaly -'tclwa' = { - table2Version = 171 ; - indicatorOfParameter = 78 ; - } -#Total column ice water anomaly -'tciwa' = { - table2Version = 171 ; - indicatorOfParameter = 79 ; - } -#Vertically integrated total energy anomaly -'vitea' = { - table2Version = 171 ; - indicatorOfParameter = 125 ; - } -#Generic parameter for sensitive area prediction -'p126.171' = { - table2Version = 171 ; - indicatorOfParameter = 126 ; - } -#Atmospheric tide anomaly -'ata' = { - table2Version = 171 ; - indicatorOfParameter = 127 ; - } -#Budget values anomaly -'bva' = { - table2Version = 171 ; - indicatorOfParameter = 128 ; - } -#Geopotential anomaly -'za' = { - table2Version = 171 ; - indicatorOfParameter = 129 ; - } -#Temperature anomaly -'ta' = { - table2Version = 171 ; - indicatorOfParameter = 130 ; - } -#U component of wind anomaly -'ua' = { - table2Version = 171 ; - indicatorOfParameter = 131 ; - } -#V component of wind anomaly -'va' = { - table2Version = 171 ; - indicatorOfParameter = 132 ; - } -#Specific humidity anomaly -'qa' = { - table2Version = 171 ; - indicatorOfParameter = 133 ; - } -#Surface pressure anomaly -'spa' = { - table2Version = 171 ; - indicatorOfParameter = 134 ; - } -#Vertical velocity (pressure) anomaly -'wa' = { - table2Version = 171 ; - indicatorOfParameter = 135 ; - } -#Total column water anomaly -'tcwa' = { - table2Version = 171 ; - indicatorOfParameter = 136 ; - } -#Total column water vapour anomaly -'tcwva' = { - table2Version = 171 ; - indicatorOfParameter = 137 ; - } -#Relative vorticity anomaly -'voa' = { - table2Version = 171 ; - indicatorOfParameter = 138 ; - } -#Soil temperature anomaly level 1 -'stal1' = { - table2Version = 171 ; - indicatorOfParameter = 139 ; - } -#Soil wetness anomaly level 1 -'swal1' = { - table2Version = 171 ; - indicatorOfParameter = 140 ; - } -#Snow depth anomaly -'sda' = { - table2Version = 171 ; - indicatorOfParameter = 141 ; - } -#Stratiform precipitation (Large-scale precipitation) anomaly -'lspa' = { - table2Version = 171 ; - indicatorOfParameter = 142 ; - } -#Convective precipitation anomaly -'cpa' = { - table2Version = 171 ; - indicatorOfParameter = 143 ; - } -#Snowfall (convective + stratiform) anomaly -'sfa' = { - table2Version = 171 ; - indicatorOfParameter = 144 ; - } -#Boundary layer dissipation anomaly -'blda' = { - table2Version = 171 ; - indicatorOfParameter = 145 ; - } -#Surface sensible heat flux anomaly -'sshfa' = { - table2Version = 171 ; - indicatorOfParameter = 146 ; - } -#Surface latent heat flux anomaly -'slhfa' = { - table2Version = 171 ; - indicatorOfParameter = 147 ; - } -#Charnock anomaly -'chnka' = { - table2Version = 171 ; - indicatorOfParameter = 148 ; - } -#Surface net radiation anomaly -'snra' = { - table2Version = 171 ; - indicatorOfParameter = 149 ; - } -#Top net radiation anomaly -'tnra' = { - table2Version = 171 ; - indicatorOfParameter = 150 ; - } -#Mean sea level pressure anomaly -'msla' = { - table2Version = 171 ; - indicatorOfParameter = 151 ; - } -#Logarithm of surface pressure anomaly -'lspa' = { - table2Version = 171 ; - indicatorOfParameter = 152 ; - } -#Short-wave heating rate anomaly -'swhra' = { - table2Version = 171 ; - indicatorOfParameter = 153 ; - } -#Long-wave heating rate anomaly -'lwhra' = { - table2Version = 171 ; - indicatorOfParameter = 154 ; - } -#Relative divergence anomaly -'da' = { - table2Version = 171 ; - indicatorOfParameter = 155 ; - } -#Height anomaly -'gha' = { - table2Version = 171 ; - indicatorOfParameter = 156 ; - } -#Relative humidity anomaly -'ra' = { - table2Version = 171 ; - indicatorOfParameter = 157 ; - } -#Tendency of surface pressure anomaly -'tspa' = { - table2Version = 171 ; - indicatorOfParameter = 158 ; - } -#Boundary layer height anomaly -'blha' = { - table2Version = 171 ; - indicatorOfParameter = 159 ; - } -#Standard deviation of orography anomaly -'sdora' = { - table2Version = 171 ; - indicatorOfParameter = 160 ; - } -#Anisotropy of sub-gridscale orography anomaly -'isora' = { - table2Version = 171 ; - indicatorOfParameter = 161 ; - } -#Angle of sub-gridscale orography anomaly -'anora' = { - table2Version = 171 ; - indicatorOfParameter = 162 ; - } -#Slope of sub-gridscale orography anomaly -'slora' = { - table2Version = 171 ; - indicatorOfParameter = 163 ; - } -#Total cloud cover anomaly -'tcca' = { - table2Version = 171 ; - indicatorOfParameter = 164 ; - } #10 metre U wind component anomaly 'ua10' = { table2Version = 171 ; @@ -14549,2966 +474,16 @@ table2Version = 171 ; indicatorOfParameter = 168 ; } -#Surface solar radiation downwards anomaly -'ssrda' = { - table2Version = 171 ; - indicatorOfParameter = 169 ; - } -#Soil temperature anomaly level 2 -'stal2' = { - table2Version = 171 ; - indicatorOfParameter = 170 ; - } -#Soil wetness anomaly level 2 -'swal2' = { - table2Version = 171 ; - indicatorOfParameter = 171 ; - } -#Surface roughness anomaly -'sra' = { - table2Version = 171 ; - indicatorOfParameter = 173 ; - } -#Albedo anomaly -'ala' = { - table2Version = 171 ; - indicatorOfParameter = 174 ; - } -#Surface thermal radiation downwards anomaly -'strda' = { - table2Version = 171 ; - indicatorOfParameter = 175 ; - } -#Surface net solar radiation anomaly -'ssra' = { - table2Version = 171 ; - indicatorOfParameter = 176 ; - } -#Surface net thermal radiation anomaly -'stra' = { - table2Version = 171 ; - indicatorOfParameter = 177 ; - } -#Top net solar radiation anomaly -'tsra' = { - table2Version = 171 ; - indicatorOfParameter = 178 ; - } -#Top net thermal radiation anomaly -'ttra' = { - table2Version = 171 ; - indicatorOfParameter = 179 ; - } -#East-West surface stress anomaly -'eqssa' = { - table2Version = 171 ; - indicatorOfParameter = 180 ; - } -#North-South surface stress anomaly -'nsssa' = { - table2Version = 171 ; - indicatorOfParameter = 181 ; - } -#Evaporation anomaly -'ea' = { - table2Version = 171 ; - indicatorOfParameter = 182 ; - } -#Soil temperature anomaly level 3 -'stal3' = { - table2Version = 171 ; - indicatorOfParameter = 183 ; - } -#Soil wetness anomaly level 3 -'swal3' = { - table2Version = 171 ; - indicatorOfParameter = 184 ; - } -#Convective cloud cover anomaly -'ccca' = { - table2Version = 171 ; - indicatorOfParameter = 185 ; - } -#Low cloud cover anomaly -'lcca' = { - table2Version = 171 ; - indicatorOfParameter = 186 ; - } -#Medium cloud cover anomaly -'mcca' = { - table2Version = 171 ; - indicatorOfParameter = 187 ; - } -#High cloud cover anomaly -'hcca' = { - table2Version = 171 ; - indicatorOfParameter = 188 ; - } -#Sunshine duration anomaly -'sunda' = { - table2Version = 171 ; - indicatorOfParameter = 189 ; - } -#East-West component of sub-gridscale orographic variance anomaly -'ewova' = { - table2Version = 171 ; - indicatorOfParameter = 190 ; - } -#North-South component of sub-gridscale orographic variance anomaly -'nsova' = { - table2Version = 171 ; - indicatorOfParameter = 191 ; - } -#North-West/South-East component of sub-gridscale orographic variance anomaly -'nwova' = { - table2Version = 171 ; - indicatorOfParameter = 192 ; - } -#North-East/South-West component of sub-gridscale orographic variance anomaly -'neova' = { - table2Version = 171 ; - indicatorOfParameter = 193 ; - } -#Brightness temperature anomaly -'btmpa' = { - table2Version = 171 ; - indicatorOfParameter = 194 ; - } -#Longitudinal component of gravity wave stress anomaly -'lgwsa' = { - table2Version = 171 ; - indicatorOfParameter = 195 ; - } -#Meridional component of gravity wave stress anomaly -'mgwsa' = { - table2Version = 171 ; - indicatorOfParameter = 196 ; - } -#Gravity wave dissipation anomaly -'gwda' = { - table2Version = 171 ; - indicatorOfParameter = 197 ; - } -#Skin reservoir content anomaly -'srca' = { - table2Version = 171 ; - indicatorOfParameter = 198 ; - } -#Vegetation fraction anomaly -'vfa' = { - table2Version = 171 ; - indicatorOfParameter = 199 ; - } -#Variance of sub-gridscale orography anomaly -'vsoa' = { - table2Version = 171 ; - indicatorOfParameter = 200 ; - } -#Maximum temperature at 2 metres anomaly -'mx2ta' = { - table2Version = 171 ; - indicatorOfParameter = 201 ; - } -#Minimum temperature at 2 metres anomaly -'mn2ta' = { - table2Version = 171 ; - indicatorOfParameter = 202 ; - } -#Ozone mass mixing ratio anomaly -'o3a' = { - table2Version = 171 ; - indicatorOfParameter = 203 ; - } -#Precipitation analysis weights anomaly -'pawa' = { - table2Version = 171 ; - indicatorOfParameter = 204 ; - } -#Runoff anomaly -'roa' = { - table2Version = 171 ; - indicatorOfParameter = 205 ; - } -#Total column ozone anomaly -'tco3a' = { - table2Version = 171 ; - indicatorOfParameter = 206 ; - } #10 metre wind speed anomaly -'ua10' = { +'sia10' = { table2Version = 171 ; indicatorOfParameter = 207 ; } -#Top net solar radiation clear sky anomaly -'tsrca' = { - table2Version = 171 ; - indicatorOfParameter = 208 ; - } -#Top net thermal radiation clear sky anomaly -'ttrca' = { - table2Version = 171 ; - indicatorOfParameter = 209 ; - } -#Surface net solar radiation clear sky anomaly -'ssrca' = { - table2Version = 171 ; - indicatorOfParameter = 210 ; - } -#Surface net thermal radiation, clear sky anomaly -'strca' = { - table2Version = 171 ; - indicatorOfParameter = 211 ; - } -#Solar insolation anomaly -'sia' = { - table2Version = 171 ; - indicatorOfParameter = 212 ; - } -#Diabatic heating by radiation anomaly -'dhra' = { - table2Version = 171 ; - indicatorOfParameter = 214 ; - } -#Diabatic heating by vertical diffusion anomaly -'dhvda' = { - table2Version = 171 ; - indicatorOfParameter = 215 ; - } -#Diabatic heating by cumulus convection anomaly -'dhcca' = { - table2Version = 171 ; - indicatorOfParameter = 216 ; - } -#Diabatic heating by large-scale condensation anomaly -'dhlca' = { - table2Version = 171 ; - indicatorOfParameter = 217 ; - } -#Vertical diffusion of zonal wind anomaly -'vdzwa' = { - table2Version = 171 ; - indicatorOfParameter = 218 ; - } -#Vertical diffusion of meridional wind anomaly -'vdmwa' = { - table2Version = 171 ; - indicatorOfParameter = 219 ; - } -#East-West gravity wave drag tendency anomaly -'ewgda' = { - table2Version = 171 ; - indicatorOfParameter = 220 ; - } -#North-South gravity wave drag tendency anomaly -'nsgda' = { - table2Version = 171 ; - indicatorOfParameter = 221 ; - } -#Convective tendency of zonal wind anomaly -'ctzwa' = { - table2Version = 171 ; - indicatorOfParameter = 222 ; - } -#Convective tendency of meridional wind anomaly -'ctmwa' = { - table2Version = 171 ; - indicatorOfParameter = 223 ; - } -#Vertical diffusion of humidity anomaly -'vdha' = { - table2Version = 171 ; - indicatorOfParameter = 224 ; - } -#Humidity tendency by cumulus convection anomaly -'htcca' = { - table2Version = 171 ; - indicatorOfParameter = 225 ; - } -#Humidity tendency by large-scale condensation anomaly -'htlca' = { - table2Version = 171 ; - indicatorOfParameter = 226 ; - } -#Change from removal of negative humidity anomaly -'crnha' = { - table2Version = 171 ; - indicatorOfParameter = 227 ; - } -#Total precipitation anomaly -'tpa' = { - table2Version = 171 ; - indicatorOfParameter = 228 ; - } -#Instantaneous X surface stress anomaly -'iewsa' = { - table2Version = 171 ; - indicatorOfParameter = 229 ; - } -#Instantaneous Y surface stress anomaly -'inssa' = { - table2Version = 171 ; - indicatorOfParameter = 230 ; - } -#Instantaneous surface heat flux anomaly -'ishfa' = { - table2Version = 171 ; - indicatorOfParameter = 231 ; - } -#Instantaneous moisture flux anomaly -'iea' = { - table2Version = 171 ; - indicatorOfParameter = 232 ; - } -#Apparent surface humidity anomaly -'asqa' = { - table2Version = 171 ; - indicatorOfParameter = 233 ; - } -#Logarithm of surface roughness length for heat anomaly -'lsrha' = { - table2Version = 171 ; - indicatorOfParameter = 234 ; - } -#Skin temperature anomaly -'skta' = { - table2Version = 171 ; - indicatorOfParameter = 235 ; - } -#Soil temperature level 4 anomaly -'stal4' = { - table2Version = 171 ; - indicatorOfParameter = 236 ; - } -#Soil wetness level 4 anomaly -'swal4' = { - table2Version = 171 ; - indicatorOfParameter = 237 ; - } -#Temperature of snow layer anomaly -'tsna' = { - table2Version = 171 ; - indicatorOfParameter = 238 ; - } -#Convective snowfall anomaly -'csfa' = { - table2Version = 171 ; - indicatorOfParameter = 239 ; - } -#Large scale snowfall anomaly -'lsfa' = { - table2Version = 171 ; - indicatorOfParameter = 240 ; - } -#Accumulated cloud fraction tendency anomaly -'acfa' = { - table2Version = 171 ; - indicatorOfParameter = 241 ; - } -#Accumulated liquid water tendency anomaly -'alwa' = { - table2Version = 171 ; - indicatorOfParameter = 242 ; - } -#Forecast albedo anomaly -'fala' = { - table2Version = 171 ; - indicatorOfParameter = 243 ; - } -#Forecast surface roughness anomaly -'fsra' = { - table2Version = 171 ; - indicatorOfParameter = 244 ; - } -#Forecast logarithm of surface roughness for heat anomaly -'flsra' = { - table2Version = 171 ; - indicatorOfParameter = 245 ; - } -#Cloud liquid water content anomaly -'clwca' = { - table2Version = 171 ; - indicatorOfParameter = 246 ; - } -#Cloud ice water content anomaly -'ciwca' = { - table2Version = 171 ; - indicatorOfParameter = 247 ; - } -#Cloud cover anomaly -'cca' = { - table2Version = 171 ; - indicatorOfParameter = 248 ; - } -#Accumulated ice water tendency anomaly -'aiwa' = { - table2Version = 171 ; - indicatorOfParameter = 249 ; - } -#Ice age anomaly -'iaa' = { - table2Version = 171 ; - indicatorOfParameter = 250 ; - } -#Adiabatic tendency of temperature anomaly -'attea' = { - table2Version = 171 ; - indicatorOfParameter = 251 ; - } -#Adiabatic tendency of humidity anomaly -'athea' = { - table2Version = 171 ; - indicatorOfParameter = 252 ; - } -#Adiabatic tendency of zonal wind anomaly -'atzea' = { - table2Version = 171 ; - indicatorOfParameter = 253 ; - } -#Adiabatic tendency of meridional wind anomaly -'atmwa' = { - table2Version = 171 ; - indicatorOfParameter = 254 ; - } -#Indicates a missing value -'p255.171' = { - table2Version = 171 ; - indicatorOfParameter = 255 ; - } -#Snow evaporation -'esrate' = { - table2Version = 172 ; - indicatorOfParameter = 44 ; - } -#Snowmelt -'p45.172' = { - table2Version = 172 ; - indicatorOfParameter = 45 ; - } -#Magnitude of turbulent surface stress -'p48.172' = { - table2Version = 172 ; - indicatorOfParameter = 48 ; - } -#Mean large-scale precipitation fraction -'mlspfr' = { - table2Version = 172 ; - indicatorOfParameter = 50 ; - } -#Mean large-scale precipitation rate -'mlsprt' = { - table2Version = 172 ; - indicatorOfParameter = 142 ; - } -#Mean convective precipitation rate -'cprate' = { - table2Version = 172 ; - indicatorOfParameter = 143 ; - } -#Mean total snowfall rate -'mtsfr' = { - table2Version = 172 ; - indicatorOfParameter = 144 ; - } -#Boundary layer dissipation -'bldrate' = { - table2Version = 172 ; - indicatorOfParameter = 145 ; - } -#Mean surface sensible heat flux -'msshfl' = { - table2Version = 172 ; - indicatorOfParameter = 146 ; - } -#Mean surface latent heat flux -'mslhfl' = { - table2Version = 172 ; - indicatorOfParameter = 147 ; - } -#Time-mean surface net radiation flux (SW and LW) -'msnrf' = { - table2Version = 172 ; - indicatorOfParameter = 149 ; - } -#Mean short-wave heating rate -'mswhr' = { - table2Version = 172 ; - indicatorOfParameter = 153 ; - } -#Mean long-wave heating rate -'mlwhr' = { - table2Version = 172 ; - indicatorOfParameter = 154 ; - } -#Mean surface downward solar radiation flux -'msdsrf' = { - table2Version = 172 ; - indicatorOfParameter = 169 ; - } -#Mean surface downward thermal radiation flux -'msdtrf' = { - table2Version = 172 ; - indicatorOfParameter = 175 ; - } -#Mean surface net solar radiation flux -'msnsrf' = { - table2Version = 172 ; - indicatorOfParameter = 176 ; - } -#Mean surface net thermal radiation flux -'msntrf' = { - table2Version = 172 ; - indicatorOfParameter = 177 ; - } -#Mean top net solar radiation flux -'mtnsrf' = { - table2Version = 172 ; - indicatorOfParameter = 178 ; - } -#Mean top net thermal radiation flux -'mtntrf' = { - table2Version = 172 ; - indicatorOfParameter = 179 ; - } -#East-West surface stress rate of accumulation -'ewssra' = { - table2Version = 172 ; - indicatorOfParameter = 180 ; - } -#North-South surface stress rate of accumulation -'nsssra' = { - table2Version = 172 ; - indicatorOfParameter = 181 ; - } -#Evaporation -'erate' = { - table2Version = 172 ; - indicatorOfParameter = 182 ; - } -#Mean sunshine duration rate -'msdr' = { - table2Version = 172 ; - indicatorOfParameter = 189 ; - } -#Longitudinal component of gravity wave stress -'p195.172' = { - table2Version = 172 ; - indicatorOfParameter = 195 ; - } -#Meridional component of gravity wave stress -'p196.172' = { - table2Version = 172 ; - indicatorOfParameter = 196 ; - } -#Gravity wave dissipation -'gwdrate' = { - table2Version = 172 ; - indicatorOfParameter = 197 ; - } -#Mean runoff rate -'mrort' = { - table2Version = 172 ; - indicatorOfParameter = 205 ; - } -#Top net solar radiation, clear sky -'p208.172' = { - table2Version = 172 ; - indicatorOfParameter = 208 ; - } -#Top net thermal radiation, clear sky -'p209.172' = { - table2Version = 172 ; - indicatorOfParameter = 209 ; - } -#Surface net solar radiation, clear sky -'p210.172' = { - table2Version = 172 ; - indicatorOfParameter = 210 ; - } -#Surface net thermal radiation, clear sky -'p211.172' = { - table2Version = 172 ; - indicatorOfParameter = 211 ; - } -#Solar insolation rate of accumulation -'soira' = { - table2Version = 172 ; - indicatorOfParameter = 212 ; - } -#Mean total precipitation rate -'tprate' = { - table2Version = 172 ; - indicatorOfParameter = 228 ; - } -#Convective snowfall -'p239.172' = { - table2Version = 172 ; - indicatorOfParameter = 239 ; - } -#Large scale snowfall -'p240.172' = { - table2Version = 172 ; - indicatorOfParameter = 240 ; - } -#Indicates a missing value -'p255.172' = { - table2Version = 172 ; - indicatorOfParameter = 255 ; - } -#Snow evaporation anomaly -'p44.173' = { - table2Version = 173 ; - indicatorOfParameter = 44 ; - } -#Snowmelt anomaly -'p45.173' = { - table2Version = 173 ; - indicatorOfParameter = 45 ; - } -#Magnitude of turbulent surface stress anomaly -'p48.173' = { - table2Version = 173 ; - indicatorOfParameter = 48 ; - } -#Large-scale precipitation fraction anomaly -'p50.173' = { - table2Version = 173 ; - indicatorOfParameter = 50 ; - } -#Stratiform precipitation (Large-scale precipitation) anomalous rate of accumulation -'lspara' = { - table2Version = 173 ; - indicatorOfParameter = 142 ; - } -#Mean convective precipitation rate anomaly -'mcpra' = { - table2Version = 173 ; - indicatorOfParameter = 143 ; - } -#Snowfall (convective + stratiform) anomalous rate of accumulation -'sfara' = { - table2Version = 173 ; - indicatorOfParameter = 144 ; - } -#Boundary layer dissipation anomaly -'p145.173' = { - table2Version = 173 ; - indicatorOfParameter = 145 ; - } -#Surface sensible heat flux anomalous rate of accumulation -'sshfara' = { - table2Version = 173 ; - indicatorOfParameter = 146 ; - } -#Surface latent heat flux anomalous rate of accumulation -'slhfara' = { - table2Version = 173 ; - indicatorOfParameter = 147 ; - } -#Surface net radiation anomaly -'p149.173' = { - table2Version = 173 ; - indicatorOfParameter = 149 ; - } -#Short-wave heating rate anomaly -'p153.173' = { - table2Version = 173 ; - indicatorOfParameter = 153 ; - } -#Long-wave heating rate anomaly -'p154.173' = { - table2Version = 173 ; - indicatorOfParameter = 154 ; - } -#Surface solar radiation downwards anomalous rate of accumulation -'ssrdara' = { - table2Version = 173 ; - indicatorOfParameter = 169 ; - } -#Surface thermal radiation downwards anomalous rate of accumulation -'strdara' = { - table2Version = 173 ; - indicatorOfParameter = 175 ; - } -#Surface solar radiation anomalous rate of accumulation -'ssrara' = { - table2Version = 173 ; - indicatorOfParameter = 176 ; - } -#Surface thermal radiation anomalous rate of accumulation -'strara' = { - table2Version = 173 ; - indicatorOfParameter = 177 ; - } -#Top solar radiation anomalous rate of accumulation -'tsrara' = { - table2Version = 173 ; - indicatorOfParameter = 178 ; - } -#Top thermal radiation anomalous rate of accumulation -'ttrara' = { - table2Version = 173 ; - indicatorOfParameter = 179 ; - } -#East-West surface stress anomalous rate of accumulation -'ewssara' = { - table2Version = 173 ; - indicatorOfParameter = 180 ; - } -#North-South surface stress anomalous rate of accumulation -'nsssara' = { - table2Version = 173 ; - indicatorOfParameter = 181 ; - } -#Evaporation anomalous rate of accumulation -'evara' = { - table2Version = 173 ; - indicatorOfParameter = 182 ; - } -#Sunshine duration anomalous rate of accumulation -'sundara' = { - table2Version = 173 ; - indicatorOfParameter = 189 ; - } -#Longitudinal component of gravity wave stress anomaly -'p195.173' = { - table2Version = 173 ; - indicatorOfParameter = 195 ; - } -#Meridional component of gravity wave stress anomaly -'p196.173' = { - table2Version = 173 ; - indicatorOfParameter = 196 ; - } -#Gravity wave dissipation anomaly -'p197.173' = { - table2Version = 173 ; - indicatorOfParameter = 197 ; - } -#Runoff anomalous rate of accumulation -'roara' = { - table2Version = 173 ; - indicatorOfParameter = 205 ; - } -#Top net solar radiation, clear sky anomaly -'p208.173' = { - table2Version = 173 ; - indicatorOfParameter = 208 ; - } -#Top net thermal radiation, clear sky anomaly -'p209.173' = { - table2Version = 173 ; - indicatorOfParameter = 209 ; - } -#Surface net solar radiation, clear sky anomaly -'p210.173' = { - table2Version = 173 ; - indicatorOfParameter = 210 ; - } -#Surface net thermal radiation, clear sky anomaly -'p211.173' = { - table2Version = 173 ; - indicatorOfParameter = 211 ; - } -#Solar insolation anomalous rate of accumulation -'soiara' = { - table2Version = 173 ; - indicatorOfParameter = 212 ; - } -#Total precipitation anomalous rate of accumulation -'tpara' = { - table2Version = 173 ; - indicatorOfParameter = 228 ; - } -#Convective snowfall anomaly -'p239.173' = { - table2Version = 173 ; - indicatorOfParameter = 239 ; - } -#Large scale snowfall anomaly -'p240.173' = { - table2Version = 173 ; - indicatorOfParameter = 240 ; - } -#Indicates a missing value -'p255.173' = { - table2Version = 173 ; - indicatorOfParameter = 255 ; - } -#Total soil moisture -'p6.174' = { - table2Version = 174 ; - indicatorOfParameter = 6 ; - } -#Surface runoff -'sro' = { - table2Version = 174 ; - indicatorOfParameter = 8 ; - } -#Fraction of sea-ice in sea -'p31.174' = { - table2Version = 174 ; - indicatorOfParameter = 31 ; - } -#Open-sea surface temperature -'p34.174' = { - table2Version = 174 ; - indicatorOfParameter = 34 ; - } -#Volumetric soil water layer 1 -'p39.174' = { - table2Version = 174 ; - indicatorOfParameter = 39 ; - } -#Volumetric soil water layer 2 -'p40.174' = { - table2Version = 174 ; - indicatorOfParameter = 40 ; - } -#Volumetric soil water layer 3 -'p41.174' = { - table2Version = 174 ; - indicatorOfParameter = 41 ; - } -#Volumetric soil water layer 4 -'p42.174' = { - table2Version = 174 ; - indicatorOfParameter = 42 ; - } -#10 metre wind gust in the last 24 hours -'p49.174' = { - table2Version = 174 ; - indicatorOfParameter = 49 ; - } -#1.5m temperature - mean in the last 24 hours -'p55.174' = { - table2Version = 174 ; - indicatorOfParameter = 55 ; - } -#Net primary productivity -'p83.174' = { - table2Version = 174 ; - indicatorOfParameter = 83 ; - } -#10m U wind over land -'p85.174' = { - table2Version = 174 ; - indicatorOfParameter = 85 ; - } -#10m V wind over land -'p86.174' = { - table2Version = 174 ; - indicatorOfParameter = 86 ; - } -#1.5m temperature over land -'p87.174' = { - table2Version = 174 ; - indicatorOfParameter = 87 ; - } -#1.5m dewpoint temperature over land -'p88.174' = { - table2Version = 174 ; - indicatorOfParameter = 88 ; - } -#Top incoming solar radiation -'p89.174' = { - table2Version = 174 ; - indicatorOfParameter = 89 ; - } -#Top outgoing solar radiation -'p90.174' = { - table2Version = 174 ; - indicatorOfParameter = 90 ; - } -#Mean sea surface temperature -'p94.174' = { - table2Version = 174 ; - indicatorOfParameter = 94 ; - } -#1.5m specific humidity -'p95.174' = { - table2Version = 174 ; - indicatorOfParameter = 95 ; - } -#Sea-ice thickness -'sithick' = { - table2Version = 174 ; - indicatorOfParameter = 98 ; - } -#Liquid water potential temperature -'p99.174' = { - table2Version = 174 ; - indicatorOfParameter = 99 ; - } -#Ocean ice concentration -'p110.174' = { - table2Version = 174 ; - indicatorOfParameter = 110 ; - } -#Ocean mean ice depth -'p111.174' = { - table2Version = 174 ; - indicatorOfParameter = 111 ; - } -#Soil temperature layer 1 -'p139.174' = { - table2Version = 174 ; - indicatorOfParameter = 139 ; - } -#Average potential temperature in upper 293.4m -'p164.174' = { - table2Version = 174 ; - indicatorOfParameter = 164 ; - } -#1.5m temperature -'p167.174' = { - table2Version = 174 ; - indicatorOfParameter = 167 ; - } -#1.5m dewpoint temperature -'p168.174' = { - table2Version = 174 ; - indicatorOfParameter = 168 ; - } -#Soil temperature layer 2 -'p170.174' = { - table2Version = 174 ; - indicatorOfParameter = 170 ; - } -#Average salinity in upper 293.4m -'p175.174' = { - table2Version = 174 ; - indicatorOfParameter = 175 ; - } -#Soil temperature layer 3 -'p183.174' = { - table2Version = 174 ; - indicatorOfParameter = 183 ; - } -#1.5m temperature - maximum in the last 24 hours -'p201.174' = { - table2Version = 174 ; - indicatorOfParameter = 201 ; - } -#1.5m temperature - minimum in the last 24 hours -'p202.174' = { - table2Version = 174 ; - indicatorOfParameter = 202 ; - } -#Soil temperature layer 4 -'p236.174' = { - table2Version = 174 ; - indicatorOfParameter = 236 ; - } -#Indicates a missing value -'p255.174' = { - table2Version = 174 ; - indicatorOfParameter = 255 ; - } -#Total soil moisture -'p6.175' = { - table2Version = 175 ; - indicatorOfParameter = 6 ; - } -#Fraction of sea-ice in sea -'p31.175' = { - table2Version = 175 ; - indicatorOfParameter = 31 ; - } -#Open-sea surface temperature -'p34.175' = { - table2Version = 175 ; - indicatorOfParameter = 34 ; - } -#Volumetric soil water layer 1 -'p39.175' = { - table2Version = 175 ; - indicatorOfParameter = 39 ; - } -#Volumetric soil water layer 2 -'p40.175' = { - table2Version = 175 ; - indicatorOfParameter = 40 ; - } -#Volumetric soil water layer 3 -'p41.175' = { - table2Version = 175 ; - indicatorOfParameter = 41 ; - } -#Volumetric soil water layer 4 -'p42.175' = { - table2Version = 175 ; - indicatorOfParameter = 42 ; - } -#10m wind gust in the last 24 hours -'p49.175' = { - table2Version = 175 ; - indicatorOfParameter = 49 ; - } -#1.5m temperature - mean in the last 24 hours -'p55.175' = { - table2Version = 175 ; - indicatorOfParameter = 55 ; - } -#Net primary productivity -'p83.175' = { - table2Version = 175 ; - indicatorOfParameter = 83 ; - } -#10m U wind over land -'p85.175' = { - table2Version = 175 ; - indicatorOfParameter = 85 ; - } -#10m V wind over land -'p86.175' = { - table2Version = 175 ; - indicatorOfParameter = 86 ; - } -#1.5m temperature over land -'p87.175' = { - table2Version = 175 ; - indicatorOfParameter = 87 ; - } -#1.5m dewpoint temperature over land -'p88.175' = { - table2Version = 175 ; - indicatorOfParameter = 88 ; - } -#Top incoming solar radiation -'p89.175' = { - table2Version = 175 ; - indicatorOfParameter = 89 ; - } -#Top outgoing solar radiation -'p90.175' = { - table2Version = 175 ; - indicatorOfParameter = 90 ; - } -#Ocean ice concentration -'p110.175' = { - table2Version = 175 ; - indicatorOfParameter = 110 ; - } -#Ocean mean ice depth -'p111.175' = { - table2Version = 175 ; - indicatorOfParameter = 111 ; - } -#Soil temperature layer 1 -'p139.175' = { - table2Version = 175 ; - indicatorOfParameter = 139 ; - } -#Average potential temperature in upper 293.4m -'p164.175' = { - table2Version = 175 ; - indicatorOfParameter = 164 ; - } -#1.5m temperature -'p167.175' = { - table2Version = 175 ; - indicatorOfParameter = 167 ; - } -#1.5m dewpoint temperature -'p168.175' = { - table2Version = 175 ; - indicatorOfParameter = 168 ; - } -#Soil temperature layer 2 -'p170.175' = { - table2Version = 175 ; - indicatorOfParameter = 170 ; - } -#Average salinity in upper 293.4m -'p175.175' = { - table2Version = 175 ; - indicatorOfParameter = 175 ; - } -#Soil temperature layer 3 -'p183.175' = { - table2Version = 175 ; - indicatorOfParameter = 183 ; - } -#1.5m temperature - maximum in the last 24 hours -'p201.175' = { - table2Version = 175 ; - indicatorOfParameter = 201 ; - } -#1.5m temperature - minimum in the last 24 hours -'p202.175' = { - table2Version = 175 ; - indicatorOfParameter = 202 ; - } -#Soil temperature layer 4 -'p236.175' = { - table2Version = 175 ; - indicatorOfParameter = 236 ; - } -#Indicates a missing value -'p255.175' = { - table2Version = 175 ; - indicatorOfParameter = 255 ; - } -#Total soil wetness -'tsw' = { - table2Version = 180 ; - indicatorOfParameter = 149 ; - } -#Surface net solar radiation -'ssr' = { - table2Version = 180 ; - indicatorOfParameter = 176 ; - } -#Surface net thermal radiation -'str' = { - table2Version = 180 ; - indicatorOfParameter = 177 ; - } -#Top net solar radiation -'tsr' = { - table2Version = 180 ; - indicatorOfParameter = 178 ; - } -#Top net thermal radiation -'ttr' = { - table2Version = 180 ; - indicatorOfParameter = 179 ; - } -#Snow depth -'sdsien' = { - table2Version = 190 ; - indicatorOfParameter = 141 ; - } -#Field capacity -'cap' = { - table2Version = 190 ; - indicatorOfParameter = 170 ; - } -#Wilting point -'wiltsien' = { - table2Version = 190 ; - indicatorOfParameter = 171 ; - } -#Roughness length -'sr' = { - table2Version = 190 ; - indicatorOfParameter = 173 ; - } -#Total soil moisture -'tsm' = { - table2Version = 190 ; - indicatorOfParameter = 229 ; - } #2 metre dewpoint temperature difference 'ddiff2' = { table2Version = 200 ; indicatorOfParameter = 168 ; } -#downward shortwave radiant flux density -'p1.201' = { - table2Version = 201 ; - indicatorOfParameter = 1 ; - } -#upward shortwave radiant flux density -'p2.201' = { - table2Version = 201 ; - indicatorOfParameter = 2 ; - } -#downward longwave radiant flux density -'p3.201' = { - table2Version = 201 ; - indicatorOfParameter = 3 ; - } -#upward longwave radiant flux density -'p4.201' = { - table2Version = 201 ; - indicatorOfParameter = 4 ; - } -#downwd photosynthetic active radiant flux density -'apab_s' = { - table2Version = 201 ; - indicatorOfParameter = 5 ; - } -#net shortwave flux -'p6.201' = { - table2Version = 201 ; - indicatorOfParameter = 6 ; - } -#net longwave flux -'p7.201' = { - table2Version = 201 ; - indicatorOfParameter = 7 ; - } -#total net radiative flux density -'p8.201' = { - table2Version = 201 ; - indicatorOfParameter = 8 ; - } -#downw shortw radiant flux density, cloudfree part -'p9.201' = { - table2Version = 201 ; - indicatorOfParameter = 9 ; - } -#upw shortw radiant flux density, cloudy part -'p10.201' = { - table2Version = 201 ; - indicatorOfParameter = 10 ; - } -#downw longw radiant flux density, cloudfree part -'p11.201' = { - table2Version = 201 ; - indicatorOfParameter = 11 ; - } -#upw longw radiant flux density, cloudy part -'p12.201' = { - table2Version = 201 ; - indicatorOfParameter = 12 ; - } -#shortwave radiative heating rate -'sohr_rad' = { - table2Version = 201 ; - indicatorOfParameter = 13 ; - } -#longwave radiative heating rate -'thhr_rad' = { - table2Version = 201 ; - indicatorOfParameter = 14 ; - } -#total radiative heating rate -'p15.201' = { - table2Version = 201 ; - indicatorOfParameter = 15 ; - } -#soil heat flux, surface -'p16.201' = { - table2Version = 201 ; - indicatorOfParameter = 16 ; - } -#soil heat flux, bottom of layer -'p17.201' = { - table2Version = 201 ; - indicatorOfParameter = 17 ; - } -#fractional cloud cover -'clc' = { - table2Version = 201 ; - indicatorOfParameter = 29 ; - } -#cloud cover, grid scale -'p30.201' = { - table2Version = 201 ; - indicatorOfParameter = 30 ; - } -#specific cloud water content -'qc' = { - table2Version = 201 ; - indicatorOfParameter = 31 ; - } -#cloud water content, grid scale, vert integrated -'p32.201' = { - table2Version = 201 ; - indicatorOfParameter = 32 ; - } -#specific cloud ice content, grid scale -'qi' = { - table2Version = 201 ; - indicatorOfParameter = 33 ; - } -#cloud ice content, grid scale, vert integrated -'p34.201' = { - table2Version = 201 ; - indicatorOfParameter = 34 ; - } -#specific rainwater content, grid scale -'p35.201' = { - table2Version = 201 ; - indicatorOfParameter = 35 ; - } -#specific snow content, grid scale -'p36.201' = { - table2Version = 201 ; - indicatorOfParameter = 36 ; - } -#specific rainwater content, gs, vert. integrated -'p37.201' = { - table2Version = 201 ; - indicatorOfParameter = 37 ; - } -#specific snow content, gs, vert. integrated -'p38.201' = { - table2Version = 201 ; - indicatorOfParameter = 38 ; - } -#total column water -'twater' = { - table2Version = 201 ; - indicatorOfParameter = 41 ; - } -#vert. integral of divergence of tot. water content -'p42.201' = { - table2Version = 201 ; - indicatorOfParameter = 42 ; - } -#cloud covers CH_CM_CL (000...888) -'ch_cm_cl' = { - table2Version = 201 ; - indicatorOfParameter = 50 ; - } -#cloud cover CH (0..8) -'p51.201' = { - table2Version = 201 ; - indicatorOfParameter = 51 ; - } -#cloud cover CM (0..8) -'p52.201' = { - table2Version = 201 ; - indicatorOfParameter = 52 ; - } -#cloud cover CL (0..8) -'p53.201' = { - table2Version = 201 ; - indicatorOfParameter = 53 ; - } -#total cloud cover (0..8) -'p54.201' = { - table2Version = 201 ; - indicatorOfParameter = 54 ; - } -#fog (0..8) -'p55.201' = { - table2Version = 201 ; - indicatorOfParameter = 55 ; - } -#fog -'p56.201' = { - table2Version = 201 ; - indicatorOfParameter = 56 ; - } -#cloud cover, convective cirrus -'p60.201' = { - table2Version = 201 ; - indicatorOfParameter = 60 ; - } -#specific cloud water content, convective clouds -'p61.201' = { - table2Version = 201 ; - indicatorOfParameter = 61 ; - } -#cloud water content, conv clouds, vert integrated -'p62.201' = { - table2Version = 201 ; - indicatorOfParameter = 62 ; - } -#specific cloud ice content, convective clouds -'p63.201' = { - table2Version = 201 ; - indicatorOfParameter = 63 ; - } -#cloud ice content, conv clouds, vert integrated -'p64.201' = { - table2Version = 201 ; - indicatorOfParameter = 64 ; - } -#convective mass flux -'p65.201' = { - table2Version = 201 ; - indicatorOfParameter = 65 ; - } -#Updraft velocity, convection -'p66.201' = { - table2Version = 201 ; - indicatorOfParameter = 66 ; - } -#entrainment parameter, convection -'p67.201' = { - table2Version = 201 ; - indicatorOfParameter = 67 ; - } -#cloud base, convective clouds (above msl) -'hbas_con' = { - table2Version = 201 ; - indicatorOfParameter = 68 ; - } -#cloud top, convective clouds (above msl) -'htop_con' = { - table2Version = 201 ; - indicatorOfParameter = 69 ; - } -#convective layers (00...77) (BKE) -'p70.201' = { - table2Version = 201 ; - indicatorOfParameter = 70 ; - } -#KO-index -'p71.201' = { - table2Version = 201 ; - indicatorOfParameter = 71 ; - } -#convection base index -'bas_con' = { - table2Version = 201 ; - indicatorOfParameter = 72 ; - } -#convection top index -'top_con' = { - table2Version = 201 ; - indicatorOfParameter = 73 ; - } -#convective temperature tendency -'dt_con' = { - table2Version = 201 ; - indicatorOfParameter = 74 ; - } -#convective tendency of specific humidity -'dqv_con' = { - table2Version = 201 ; - indicatorOfParameter = 75 ; - } -#convective tendency of total heat -'p76.201' = { - table2Version = 201 ; - indicatorOfParameter = 76 ; - } -#convective tendency of total water -'p77.201' = { - table2Version = 201 ; - indicatorOfParameter = 77 ; - } -#convective momentum tendency (X-component) -'du_con' = { - table2Version = 201 ; - indicatorOfParameter = 78 ; - } -#convective momentum tendency (Y-component) -'dv_con' = { - table2Version = 201 ; - indicatorOfParameter = 79 ; - } -#convective vorticity tendency -'p80.201' = { - table2Version = 201 ; - indicatorOfParameter = 80 ; - } -#convective divergence tendency -'p81.201' = { - table2Version = 201 ; - indicatorOfParameter = 81 ; - } -#top of dry convection (above msl) -'htop_dc' = { - table2Version = 201 ; - indicatorOfParameter = 82 ; - } -#dry convection top index -'p83.201' = { - table2Version = 201 ; - indicatorOfParameter = 83 ; - } -#height of 0 degree Celsius isotherm above msl -'hzerocl' = { - table2Version = 201 ; - indicatorOfParameter = 84 ; - } -#height of snow-fall limit -'snowlmt' = { - table2Version = 201 ; - indicatorOfParameter = 85 ; - } -#spec. content of precip. particles -'qrs_gsp' = { - table2Version = 201 ; - indicatorOfParameter = 99 ; - } -#surface precipitation rate, rain, grid scale -'prr_gsp' = { - table2Version = 201 ; - indicatorOfParameter = 100 ; - } -#surface precipitation rate, snow, grid scale -'prs_gsp' = { - table2Version = 201 ; - indicatorOfParameter = 101 ; - } -#surface precipitation amount, rain, grid scale -'rain_gsp' = { - table2Version = 201 ; - indicatorOfParameter = 102 ; - } -#surface precipitation rate, rain, convective -'prr_con' = { - table2Version = 201 ; - indicatorOfParameter = 111 ; - } -#surface precipitation rate, snow, convective -'prs_con' = { - table2Version = 201 ; - indicatorOfParameter = 112 ; - } -#surface precipitation amount, rain, convective -'rain_con' = { - table2Version = 201 ; - indicatorOfParameter = 113 ; - } -#deviation of pressure from reference value -'pp' = { - table2Version = 201 ; - indicatorOfParameter = 139 ; - } -#coefficient of horizontal diffusion -'p150.201' = { - table2Version = 201 ; - indicatorOfParameter = 150 ; - } -#Maximum wind velocity -'vmax_10m' = { - table2Version = 201 ; - indicatorOfParameter = 187 ; - } -#water content of interception store -'w_i' = { - table2Version = 201 ; - indicatorOfParameter = 200 ; - } -#snow temperature -'t_snow' = { - table2Version = 201 ; - indicatorOfParameter = 203 ; - } -#ice surface temperature -'t_ice' = { - table2Version = 201 ; - indicatorOfParameter = 215 ; - } -#convective available potential energy -'cape_con' = { - table2Version = 201 ; - indicatorOfParameter = 241 ; - } -#Indicates a missing value -'p255.201' = { - table2Version = 201 ; - indicatorOfParameter = 255 ; - } -#Sea Salt Aerosol (0.03 - 0.5 um) Mixing Ratio -'aermr01' = { - table2Version = 210 ; - indicatorOfParameter = 1 ; - } -#Sea Salt Aerosol (0.5 - 5 um) Mixing Ratio -'aermr02' = { - table2Version = 210 ; - indicatorOfParameter = 2 ; - } -#Sea Salt Aerosol (5 - 20 um) Mixing Ratio -'aermr03' = { - table2Version = 210 ; - indicatorOfParameter = 3 ; - } -#Dust Aerosol (0.03 - 0.55 um) Mixing Ratio -'aermr04' = { - table2Version = 210 ; - indicatorOfParameter = 4 ; - } -#Dust Aerosol (0.55 - 0.9 um) Mixing Ratio -'aermr05' = { - table2Version = 210 ; - indicatorOfParameter = 5 ; - } -#Dust Aerosol (0.9 - 20 um) Mixing Ratio -'aermr06' = { - table2Version = 210 ; - indicatorOfParameter = 6 ; - } -#Hydrophilic Organic Matter Aerosol Mixing Ratio -'aermr07' = { - table2Version = 210 ; - indicatorOfParameter = 7 ; - } -#Hydrophobic Organic Matter Aerosol Mixing Ratio -'aermr08' = { - table2Version = 210 ; - indicatorOfParameter = 8 ; - } -#Hydrophilic Black Carbon Aerosol Mixing Ratio -'aermr09' = { - table2Version = 210 ; - indicatorOfParameter = 9 ; - } -#Hydrophobic Black Carbon Aerosol Mixing Ratio -'aermr10' = { - table2Version = 210 ; - indicatorOfParameter = 10 ; - } -#Sulphate Aerosol Mixing Ratio -'aermr11' = { - table2Version = 210 ; - indicatorOfParameter = 11 ; - } -#SO2 precursor mixing ratio -'aermr12' = { - table2Version = 210 ; - indicatorOfParameter = 12 ; - } -#Aerosol type 1 source/gain accumulated -'aergn01' = { - table2Version = 210 ; - indicatorOfParameter = 16 ; - } -#Aerosol type 2 source/gain accumulated -'aergn02' = { - table2Version = 210 ; - indicatorOfParameter = 17 ; - } -#Aerosol type 3 source/gain accumulated -'aergn03' = { - table2Version = 210 ; - indicatorOfParameter = 18 ; - } -#Aerosol type 4 source/gain accumulated -'aergn04' = { - table2Version = 210 ; - indicatorOfParameter = 19 ; - } -#Aerosol type 5 source/gain accumulated -'aergn05' = { - table2Version = 210 ; - indicatorOfParameter = 20 ; - } -#Aerosol type 6 source/gain accumulated -'aergn06' = { - table2Version = 210 ; - indicatorOfParameter = 21 ; - } -#Aerosol type 7 source/gain accumulated -'aergn07' = { - table2Version = 210 ; - indicatorOfParameter = 22 ; - } -#Aerosol type 8 source/gain accumulated -'aergn08' = { - table2Version = 210 ; - indicatorOfParameter = 23 ; - } -#Aerosol type 9 source/gain accumulated -'aergn09' = { - table2Version = 210 ; - indicatorOfParameter = 24 ; - } -#Aerosol type 10 source/gain accumulated -'aergn10' = { - table2Version = 210 ; - indicatorOfParameter = 25 ; - } -#Aerosol type 11 source/gain accumulated -'aergn11' = { - table2Version = 210 ; - indicatorOfParameter = 26 ; - } -#Aerosol type 12 source/gain accumulated -'aergn12' = { - table2Version = 210 ; - indicatorOfParameter = 27 ; - } -#Aerosol type 1 sink/loss accumulated -'aerls01' = { - table2Version = 210 ; - indicatorOfParameter = 31 ; - } -#Aerosol type 2 sink/loss accumulated -'aerls02' = { - table2Version = 210 ; - indicatorOfParameter = 32 ; - } -#Aerosol type 3 sink/loss accumulated -'aerls03' = { - table2Version = 210 ; - indicatorOfParameter = 33 ; - } -#Aerosol type 4 sink/loss accumulated -'aerls04' = { - table2Version = 210 ; - indicatorOfParameter = 34 ; - } -#Aerosol type 5 sink/loss accumulated -'aerls05' = { - table2Version = 210 ; - indicatorOfParameter = 35 ; - } -#Aerosol type 6 sink/loss accumulated -'aerls06' = { - table2Version = 210 ; - indicatorOfParameter = 36 ; - } -#Aerosol type 7 sink/loss accumulated -'aerls07' = { - table2Version = 210 ; - indicatorOfParameter = 37 ; - } -#Aerosol type 8 sink/loss accumulated -'aerls08' = { - table2Version = 210 ; - indicatorOfParameter = 38 ; - } -#Aerosol type 9 sink/loss accumulated -'aerls09' = { - table2Version = 210 ; - indicatorOfParameter = 39 ; - } -#Aerosol type 10 sink/loss accumulated -'aerls10' = { - table2Version = 210 ; - indicatorOfParameter = 40 ; - } -#Aerosol type 11 sink/loss accumulated -'aerls11' = { - table2Version = 210 ; - indicatorOfParameter = 41 ; - } -#Aerosol type 12 sink/loss accumulated -'aerls12' = { - table2Version = 210 ; - indicatorOfParameter = 42 ; - } -#Aerosol precursor mixing ratio -'aerpr' = { - table2Version = 210 ; - indicatorOfParameter = 46 ; - } -#Aerosol small mode mixing ratio -'aersm' = { - table2Version = 210 ; - indicatorOfParameter = 47 ; - } -#Aerosol large mode mixing ratio -'aerlg' = { - table2Version = 210 ; - indicatorOfParameter = 48 ; - } -#Aerosol precursor optical depth -'aodpr' = { - table2Version = 210 ; - indicatorOfParameter = 49 ; - } -#Aerosol small mode optical depth -'aodsm' = { - table2Version = 210 ; - indicatorOfParameter = 50 ; - } -#Aerosol large mode optical depth -'aodlg' = { - table2Version = 210 ; - indicatorOfParameter = 51 ; - } -#Dust emission potential -'aerdep' = { - table2Version = 210 ; - indicatorOfParameter = 52 ; - } -#Lifting threshold speed -'aerlts' = { - table2Version = 210 ; - indicatorOfParameter = 53 ; - } -#Soil clay content -'aerscc' = { - table2Version = 210 ; - indicatorOfParameter = 54 ; - } -#Carbon dioxide mass mixing ratio -'co2' = { - table2Version = 210 ; - indicatorOfParameter = 61 ; - } -#Methane -'ch4' = { - table2Version = 210 ; - indicatorOfParameter = 62 ; - } -#Nitrous oxide -'n2o' = { - table2Version = 210 ; - indicatorOfParameter = 63 ; - } -#CO2 column-mean molar fraction -'tcco2' = { - table2Version = 210 ; - indicatorOfParameter = 64 ; - } -#CH4 column-mean molar fraction -'tcch4' = { - table2Version = 210 ; - indicatorOfParameter = 65 ; - } -#Total column Nitrous oxide -'tcn2o' = { - table2Version = 210 ; - indicatorOfParameter = 66 ; - } -#Ocean flux of Carbon Dioxide -'co2of' = { - table2Version = 210 ; - indicatorOfParameter = 67 ; - } -#Natural biosphere flux of Carbon Dioxide -'co2nbf' = { - table2Version = 210 ; - indicatorOfParameter = 68 ; - } -#Anthropogenic emissions of Carbon Dioxide -'co2apf' = { - table2Version = 210 ; - indicatorOfParameter = 69 ; - } -#Methane Surface Fluxes -'ch4f' = { - table2Version = 210 ; - indicatorOfParameter = 70 ; - } -#Methane loss rate due to radical hydroxyl (OH) -'kch4' = { - table2Version = 210 ; - indicatorOfParameter = 71 ; - } -#Wildfire flux of Carbon Dioxide -'co2fire' = { - table2Version = 210 ; - indicatorOfParameter = 80 ; - } -#Wildfire flux of Carbon Monoxide -'cofire' = { - table2Version = 210 ; - indicatorOfParameter = 81 ; - } -#Wildfire flux of Methane -'ch4fire' = { - table2Version = 210 ; - indicatorOfParameter = 82 ; - } -#Wildfire flux of Non-Methane Hydro-Carbons -'nmhcfire' = { - table2Version = 210 ; - indicatorOfParameter = 83 ; - } -#Wildfire flux of Hydrogen -'h2fire' = { - table2Version = 210 ; - indicatorOfParameter = 84 ; - } -#Wildfire flux of Nitrogen Oxides NOx -'noxfire' = { - table2Version = 210 ; - indicatorOfParameter = 85 ; - } -#Wildfire flux of Nitrous Oxide -'n2ofire' = { - table2Version = 210 ; - indicatorOfParameter = 86 ; - } -#Wildfire flux of Particulate Matter PM2.5 -'pm2p5fire' = { - table2Version = 210 ; - indicatorOfParameter = 87 ; - } -#Wildfire flux of Total Particulate Matter -'tpmfire' = { - table2Version = 210 ; - indicatorOfParameter = 88 ; - } -#Wildfire flux of Total Carbon in Aerosols -'tcfire' = { - table2Version = 210 ; - indicatorOfParameter = 89 ; - } -#Wildfire flux of Organic Carbon -'ocfire' = { - table2Version = 210 ; - indicatorOfParameter = 90 ; - } -#Wildfire flux of Black Carbon -'bcfire' = { - table2Version = 210 ; - indicatorOfParameter = 91 ; - } -#Wildfire overall flux of burnt Carbon -'cfire' = { - table2Version = 210 ; - indicatorOfParameter = 92 ; - } -#Wildfire fraction of C4 plants -'c4ffire' = { - table2Version = 210 ; - indicatorOfParameter = 93 ; - } -#Wildfire vegetation map index -'vegfire' = { - table2Version = 210 ; - indicatorOfParameter = 94 ; - } -#Wildfire Combustion Completeness -'ccfire' = { - table2Version = 210 ; - indicatorOfParameter = 95 ; - } -#Wildfire Fuel Load: Carbon per unit area -'flfire' = { - table2Version = 210 ; - indicatorOfParameter = 96 ; - } -#Wildfire fraction of area observed -'offire' = { - table2Version = 210 ; - indicatorOfParameter = 97 ; - } -#Number of positive FRP pixels per grid cell -'nofrp' = { - table2Version = 210 ; - indicatorOfParameter = 98 ; - } -#Wildfire radiative power -'frpfire' = { - table2Version = 210 ; - indicatorOfParameter = 99 ; - } -#Wildfire combustion rate -'crfire' = { - table2Version = 210 ; - indicatorOfParameter = 100 ; - } -#Nitrogen dioxide mass mixing ratio -'no2' = { - table2Version = 210 ; - indicatorOfParameter = 121 ; - } -#Sulphur dioxide mass mixing ratio -'so2' = { - table2Version = 210 ; - indicatorOfParameter = 122 ; - } -#Carbon monoxide mass mixing ratio -'co' = { - table2Version = 210 ; - indicatorOfParameter = 123 ; - } -#Formaldehyde -'hcho' = { - table2Version = 210 ; - indicatorOfParameter = 124 ; - } -#Total column Nitrogen dioxide -'tcno2' = { - table2Version = 210 ; - indicatorOfParameter = 125 ; - } -#Total column Sulphur dioxide -'tcso2' = { - table2Version = 210 ; - indicatorOfParameter = 126 ; - } -#Total column Carbon monoxide -'tcco' = { - table2Version = 210 ; - indicatorOfParameter = 127 ; - } -#Total column Formaldehyde -'tchcho' = { - table2Version = 210 ; - indicatorOfParameter = 128 ; - } -#Nitrogen Oxides -'nox' = { - table2Version = 210 ; - indicatorOfParameter = 129 ; - } -#Total Column Nitrogen Oxides -'tcnox' = { - table2Version = 210 ; - indicatorOfParameter = 130 ; - } -#Reactive tracer 1 mass mixing ratio -'grg1' = { - table2Version = 210 ; - indicatorOfParameter = 131 ; - } -#Total column GRG tracer 1 -'tcgrg1' = { - table2Version = 210 ; - indicatorOfParameter = 132 ; - } -#Reactive tracer 2 mass mixing ratio -'grg2' = { - table2Version = 210 ; - indicatorOfParameter = 133 ; - } -#Total column GRG tracer 2 -'tcgrg2' = { - table2Version = 210 ; - indicatorOfParameter = 134 ; - } -#Reactive tracer 3 mass mixing ratio -'grg3' = { - table2Version = 210 ; - indicatorOfParameter = 135 ; - } -#Total column GRG tracer 3 -'tcgrg3' = { - table2Version = 210 ; - indicatorOfParameter = 136 ; - } -#Reactive tracer 4 mass mixing ratio -'grg4' = { - table2Version = 210 ; - indicatorOfParameter = 137 ; - } -#Total column GRG tracer 4 -'tcgrg4' = { - table2Version = 210 ; - indicatorOfParameter = 138 ; - } -#Reactive tracer 5 mass mixing ratio -'grg5' = { - table2Version = 210 ; - indicatorOfParameter = 139 ; - } -#Total column GRG tracer 5 -'tcgrg5' = { - table2Version = 210 ; - indicatorOfParameter = 140 ; - } -#Reactive tracer 6 mass mixing ratio -'grg6' = { - table2Version = 210 ; - indicatorOfParameter = 141 ; - } -#Total column GRG tracer 6 -'tcgrg6' = { - table2Version = 210 ; - indicatorOfParameter = 142 ; - } -#Reactive tracer 7 mass mixing ratio -'grg7' = { - table2Version = 210 ; - indicatorOfParameter = 143 ; - } -#Total column GRG tracer 7 -'tcgrg7' = { - table2Version = 210 ; - indicatorOfParameter = 144 ; - } -#Reactive tracer 8 mass mixing ratio -'grg8' = { - table2Version = 210 ; - indicatorOfParameter = 145 ; - } -#Total column GRG tracer 8 -'tcgrg8' = { - table2Version = 210 ; - indicatorOfParameter = 146 ; - } -#Reactive tracer 9 mass mixing ratio -'grg9' = { - table2Version = 210 ; - indicatorOfParameter = 147 ; - } -#Total column GRG tracer 9 -'tcgrg9' = { - table2Version = 210 ; - indicatorOfParameter = 148 ; - } -#Reactive tracer 10 mass mixing ratio -'grg10' = { - table2Version = 210 ; - indicatorOfParameter = 149 ; - } -#Total column GRG tracer 10 -'tcgrg10' = { - table2Version = 210 ; - indicatorOfParameter = 150 ; - } -#Surface flux Nitrogen oxides -'sfnox' = { - table2Version = 210 ; - indicatorOfParameter = 151 ; - } -#Surface flux Nitrogen dioxide -'sfno2' = { - table2Version = 210 ; - indicatorOfParameter = 152 ; - } -#Surface flux Sulphur dioxide -'sfso2' = { - table2Version = 210 ; - indicatorOfParameter = 153 ; - } -#Surface flux Carbon monoxide -'sfco2' = { - table2Version = 210 ; - indicatorOfParameter = 154 ; - } -#Surface flux Formaldehyde -'sfhcho' = { - table2Version = 210 ; - indicatorOfParameter = 155 ; - } -#Surface flux GEMS Ozone -'sfgo3' = { - table2Version = 210 ; - indicatorOfParameter = 156 ; - } -#Surface flux reactive tracer 1 -'sfgr1' = { - table2Version = 210 ; - indicatorOfParameter = 157 ; - } -#Surface flux reactive tracer 2 -'sfgr2' = { - table2Version = 210 ; - indicatorOfParameter = 158 ; - } -#Surface flux reactive tracer 3 -'sfgr3' = { - table2Version = 210 ; - indicatorOfParameter = 159 ; - } -#Surface flux reactive tracer 4 -'sfgr4' = { - table2Version = 210 ; - indicatorOfParameter = 160 ; - } -#Surface flux reactive tracer 5 -'sfgr5' = { - table2Version = 210 ; - indicatorOfParameter = 161 ; - } -#Surface flux reactive tracer 6 -'sfgr6' = { - table2Version = 210 ; - indicatorOfParameter = 162 ; - } -#Surface flux reactive tracer 7 -'sfgr7' = { - table2Version = 210 ; - indicatorOfParameter = 163 ; - } -#Surface flux reactive tracer 8 -'sfgr8' = { - table2Version = 210 ; - indicatorOfParameter = 164 ; - } -#Surface flux reactive tracer 9 -'sfgr9' = { - table2Version = 210 ; - indicatorOfParameter = 165 ; - } -#Surface flux reactive tracer 10 -'sfgr10' = { - table2Version = 210 ; - indicatorOfParameter = 166 ; - } -#Radon -'ra' = { - table2Version = 210 ; - indicatorOfParameter = 181 ; - } -#Sulphur Hexafluoride -'sf6' = { - table2Version = 210 ; - indicatorOfParameter = 182 ; - } -#Total column Radon -'tcra' = { - table2Version = 210 ; - indicatorOfParameter = 183 ; - } -#Total column Sulphur Hexafluoride -'tcsf6' = { - table2Version = 210 ; - indicatorOfParameter = 184 ; - } -#Anthropogenic Emissions of Sulphur Hexafluoride -'sf6apf' = { - table2Version = 210 ; - indicatorOfParameter = 185 ; - } -#Ozone mass mixing ratio (full chemistry scheme) -'go3' = { - table2Version = 210 ; - indicatorOfParameter = 203 ; - } -#GEMS Total column ozone -'gtco3' = { - table2Version = 210 ; - indicatorOfParameter = 206 ; - } -#Total Aerosol Optical Depth at 550nm -'aod550' = { - table2Version = 210 ; - indicatorOfParameter = 207 ; - } -#Sea Salt Aerosol Optical Depth at 550nm -'ssaod550' = { - table2Version = 210 ; - indicatorOfParameter = 208 ; - } -#Dust Aerosol Optical Depth at 550nm -'duaod550' = { - table2Version = 210 ; - indicatorOfParameter = 209 ; - } -#Organic Matter Aerosol Optical Depth at 550nm -'omaod550' = { - table2Version = 210 ; - indicatorOfParameter = 210 ; - } -#Black Carbon Aerosol Optical Depth at 550nm -'bcaod550' = { - table2Version = 210 ; - indicatorOfParameter = 211 ; - } -#Sulphate Aerosol Optical Depth at 550nm -'suaod550' = { - table2Version = 210 ; - indicatorOfParameter = 212 ; - } -#Total Aerosol Optical Depth at 469nm -'aod469' = { - table2Version = 210 ; - indicatorOfParameter = 213 ; - } -#Total Aerosol Optical Depth at 670nm -'aod670' = { - table2Version = 210 ; - indicatorOfParameter = 214 ; - } -#Total Aerosol Optical Depth at 865nm -'aod865' = { - table2Version = 210 ; - indicatorOfParameter = 215 ; - } -#Total Aerosol Optical Depth at 1240nm -'aod1240' = { - table2Version = 210 ; - indicatorOfParameter = 216 ; - } -#Sea Salt Aerosol (0.03 - 0.5 um) Mixing Ratio -'aermr01diff' = { - table2Version = 211 ; - indicatorOfParameter = 1 ; - } -#Sea Salt Aerosol (0.5 - 5 um) Mixing Ratio -'aermr02diff' = { - table2Version = 211 ; - indicatorOfParameter = 2 ; - } -#Sea Salt Aerosol (5 - 20 um) Mixing Ratio -'aermr03diff' = { - table2Version = 211 ; - indicatorOfParameter = 3 ; - } -#Dust Aerosol (0.03 - 0.55 um) Mixing Ratio -'aermr04diff' = { - table2Version = 211 ; - indicatorOfParameter = 4 ; - } -#Dust Aerosol (0.55 - 0.9 um) Mixing Ratio -'aermr05diff' = { - table2Version = 211 ; - indicatorOfParameter = 5 ; - } -#Dust Aerosol (0.9 - 20 um) Mixing Ratio -'aermr06diff' = { - table2Version = 211 ; - indicatorOfParameter = 6 ; - } -#Hydrophilic Organic Matter Aerosol Mixing Ratio -'aermr07diff' = { - table2Version = 211 ; - indicatorOfParameter = 7 ; - } -#Hydrophobic Organic Matter Aerosol Mixing Ratio -'aermr08diff' = { - table2Version = 211 ; - indicatorOfParameter = 8 ; - } -#Hydrophilic Black Carbon Aerosol Mixing Ratio -'aermr09diff' = { - table2Version = 211 ; - indicatorOfParameter = 9 ; - } -#Hydrophobic Black Carbon Aerosol Mixing Ratio -'aermr10diff' = { - table2Version = 211 ; - indicatorOfParameter = 10 ; - } -#Sulphate Aerosol Mixing Ratio -'aermr11diff' = { - table2Version = 211 ; - indicatorOfParameter = 11 ; - } -#Aerosol type 12 mixing ratio -'aermr12diff' = { - table2Version = 211 ; - indicatorOfParameter = 12 ; - } -#Aerosol type 1 source/gain accumulated -'aergn01diff' = { - table2Version = 211 ; - indicatorOfParameter = 16 ; - } -#Aerosol type 2 source/gain accumulated -'aergn02diff' = { - table2Version = 211 ; - indicatorOfParameter = 17 ; - } -#Aerosol type 3 source/gain accumulated -'aergn03diff' = { - table2Version = 211 ; - indicatorOfParameter = 18 ; - } -#Aerosol type 4 source/gain accumulated -'aergn04diff' = { - table2Version = 211 ; - indicatorOfParameter = 19 ; - } -#Aerosol type 5 source/gain accumulated -'aergn05diff' = { - table2Version = 211 ; - indicatorOfParameter = 20 ; - } -#Aerosol type 6 source/gain accumulated -'aergn06diff' = { - table2Version = 211 ; - indicatorOfParameter = 21 ; - } -#Aerosol type 7 source/gain accumulated -'aergn07diff' = { - table2Version = 211 ; - indicatorOfParameter = 22 ; - } -#Aerosol type 8 source/gain accumulated -'aergn08diff' = { - table2Version = 211 ; - indicatorOfParameter = 23 ; - } -#Aerosol type 9 source/gain accumulated -'aergn09diff' = { - table2Version = 211 ; - indicatorOfParameter = 24 ; - } -#Aerosol type 10 source/gain accumulated -'aergn10diff' = { - table2Version = 211 ; - indicatorOfParameter = 25 ; - } -#Aerosol type 11 source/gain accumulated -'aergn11diff' = { - table2Version = 211 ; - indicatorOfParameter = 26 ; - } -#Aerosol type 12 source/gain accumulated -'aergn12diff' = { - table2Version = 211 ; - indicatorOfParameter = 27 ; - } -#Aerosol type 1 sink/loss accumulated -'aerls01diff' = { - table2Version = 211 ; - indicatorOfParameter = 31 ; - } -#Aerosol type 2 sink/loss accumulated -'aerls02diff' = { - table2Version = 211 ; - indicatorOfParameter = 32 ; - } -#Aerosol type 3 sink/loss accumulated -'aerls03diff' = { - table2Version = 211 ; - indicatorOfParameter = 33 ; - } -#Aerosol type 4 sink/loss accumulated -'aerls04diff' = { - table2Version = 211 ; - indicatorOfParameter = 34 ; - } -#Aerosol type 5 sink/loss accumulated -'aerls05diff' = { - table2Version = 211 ; - indicatorOfParameter = 35 ; - } -#Aerosol type 6 sink/loss accumulated -'aerls06diff' = { - table2Version = 211 ; - indicatorOfParameter = 36 ; - } -#Aerosol type 7 sink/loss accumulated -'aerls07diff' = { - table2Version = 211 ; - indicatorOfParameter = 37 ; - } -#Aerosol type 8 sink/loss accumulated -'aerls08diff' = { - table2Version = 211 ; - indicatorOfParameter = 38 ; - } -#Aerosol type 9 sink/loss accumulated -'aerls09diff' = { - table2Version = 211 ; - indicatorOfParameter = 39 ; - } -#Aerosol type 10 sink/loss accumulated -'aerls10diff' = { - table2Version = 211 ; - indicatorOfParameter = 40 ; - } -#Aerosol type 11 sink/loss accumulated -'aerls11diff' = { - table2Version = 211 ; - indicatorOfParameter = 41 ; - } -#Aerosol type 12 sink/loss accumulated -'aerls12diff' = { - table2Version = 211 ; - indicatorOfParameter = 42 ; - } -#Aerosol precursor mixing ratio -'aerprdiff' = { - table2Version = 211 ; - indicatorOfParameter = 46 ; - } -#Aerosol small mode mixing ratio -'aersmdiff' = { - table2Version = 211 ; - indicatorOfParameter = 47 ; - } -#Aerosol large mode mixing ratio -'aerlgdiff' = { - table2Version = 211 ; - indicatorOfParameter = 48 ; - } -#Aerosol precursor optical depth -'aodprdiff' = { - table2Version = 211 ; - indicatorOfParameter = 49 ; - } -#Aerosol small mode optical depth -'aodsmdiff' = { - table2Version = 211 ; - indicatorOfParameter = 50 ; - } -#Aerosol large mode optical depth -'aodlgdiff' = { - table2Version = 211 ; - indicatorOfParameter = 51 ; - } -#Dust emission potential -'aerdepdiff' = { - table2Version = 211 ; - indicatorOfParameter = 52 ; - } -#Lifting threshold speed -'aerltsdiff' = { - table2Version = 211 ; - indicatorOfParameter = 53 ; - } -#Soil clay content -'aersccdiff' = { - table2Version = 211 ; - indicatorOfParameter = 54 ; - } -#Carbon Dioxide -'co2diff' = { - table2Version = 211 ; - indicatorOfParameter = 61 ; - } -#Methane -'ch4diff' = { - table2Version = 211 ; - indicatorOfParameter = 62 ; - } -#Nitrous oxide -'n2odiff' = { - table2Version = 211 ; - indicatorOfParameter = 63 ; - } -#Total column Carbon Dioxide -'tcco2diff' = { - table2Version = 211 ; - indicatorOfParameter = 64 ; - } -#Total column Methane -'tcch4diff' = { - table2Version = 211 ; - indicatorOfParameter = 65 ; - } -#Total column Nitrous oxide -'tcn2odiff' = { - table2Version = 211 ; - indicatorOfParameter = 66 ; - } -#Ocean flux of Carbon Dioxide -'co2ofdiff' = { - table2Version = 211 ; - indicatorOfParameter = 67 ; - } -#Natural biosphere flux of Carbon Dioxide -'co2nbfdiff' = { - table2Version = 211 ; - indicatorOfParameter = 68 ; - } -#Anthropogenic emissions of Carbon Dioxide -'co2apfdiff' = { - table2Version = 211 ; - indicatorOfParameter = 69 ; - } -#Methane Surface Fluxes -'ch4fdiff' = { - table2Version = 211 ; - indicatorOfParameter = 70 ; - } -#Methane loss rate due to radical hydroxyl (OH) -'kch4diff' = { - table2Version = 211 ; - indicatorOfParameter = 71 ; - } -#Wildfire flux of Carbon Dioxide -'co2firediff' = { - table2Version = 211 ; - indicatorOfParameter = 80 ; - } -#Wildfire flux of Carbon Monoxide -'cofirediff' = { - table2Version = 211 ; - indicatorOfParameter = 81 ; - } -#Wildfire flux of Methane -'ch4firediff' = { - table2Version = 211 ; - indicatorOfParameter = 82 ; - } -#Wildfire flux of Non-Methane Hydro-Carbons -'nmhcfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 83 ; - } -#Wildfire flux of Hydrogen -'h2firediff' = { - table2Version = 211 ; - indicatorOfParameter = 84 ; - } -#Wildfire flux of Nitrogen Oxides NOx -'noxfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 85 ; - } -#Wildfire flux of Nitrous Oxide -'n2ofirediff' = { - table2Version = 211 ; - indicatorOfParameter = 86 ; - } -#Wildfire flux of Particulate Matter PM2.5 -'pm2p5firediff' = { - table2Version = 211 ; - indicatorOfParameter = 87 ; - } -#Wildfire flux of Total Particulate Matter -'tpmfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 88 ; - } -#Wildfire flux of Total Carbon in Aerosols -'tcfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 89 ; - } -#Wildfire flux of Organic Carbon -'ocfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 90 ; - } -#Wildfire flux of Black Carbon -'bcfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 91 ; - } -#Wildfire overall flux of burnt Carbon -'cfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 92 ; - } -#Wildfire fraction of C4 plants -'c4ffirediff' = { - table2Version = 211 ; - indicatorOfParameter = 93 ; - } -#Wildfire vegetation map index -'vegfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 94 ; - } -#Wildfire Combustion Completeness -'ccfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 95 ; - } -#Wildfire Fuel Load: Carbon per unit area -'flfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 96 ; - } -#Wildfire fraction of area observed -'offirediff' = { - table2Version = 211 ; - indicatorOfParameter = 97 ; - } -#Wildfire observed area -'oafirediff' = { - table2Version = 211 ; - indicatorOfParameter = 98 ; - } -#Wildfire radiative power -'frpfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 99 ; - } -#Wildfire combustion rate -'crfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 100 ; - } -#Nitrogen dioxide mass mixing ratio difference -'no2diff' = { - table2Version = 211 ; - indicatorOfParameter = 121 ; - } -#Sulphur dioxide mass mixing ratio difference -'so2diff' = { - table2Version = 211 ; - indicatorOfParameter = 122 ; - } -#Carbon monoxide mass mixing ratio difference -'codiff' = { - table2Version = 211 ; - indicatorOfParameter = 123 ; - } -#Formaldehyde -'hchodiff' = { - table2Version = 211 ; - indicatorOfParameter = 124 ; - } -#Total column Nitrogen dioxide -'tcno2diff' = { - table2Version = 211 ; - indicatorOfParameter = 125 ; - } -#Total column Sulphur dioxide -'tcso2diff' = { - table2Version = 211 ; - indicatorOfParameter = 126 ; - } -#Total column Carbon monoxide -'tccodiff' = { - table2Version = 211 ; - indicatorOfParameter = 127 ; - } -#Total column Formaldehyde -'tchchodiff' = { - table2Version = 211 ; - indicatorOfParameter = 128 ; - } -#Nitrogen Oxides -'noxdiff' = { - table2Version = 211 ; - indicatorOfParameter = 129 ; - } -#Total Column Nitrogen Oxides -'tcnoxdiff' = { - table2Version = 211 ; - indicatorOfParameter = 130 ; - } -#Reactive tracer 1 mass mixing ratio -'grg1diff' = { - table2Version = 211 ; - indicatorOfParameter = 131 ; - } -#Total column GRG tracer 1 -'tcgrg1diff' = { - table2Version = 211 ; - indicatorOfParameter = 132 ; - } -#Reactive tracer 2 mass mixing ratio -'grg2diff' = { - table2Version = 211 ; - indicatorOfParameter = 133 ; - } -#Total column GRG tracer 2 -'tcgrg2diff' = { - table2Version = 211 ; - indicatorOfParameter = 134 ; - } -#Reactive tracer 3 mass mixing ratio -'grg3diff' = { - table2Version = 211 ; - indicatorOfParameter = 135 ; - } -#Total column GRG tracer 3 -'tcgrg3diff' = { - table2Version = 211 ; - indicatorOfParameter = 136 ; - } -#Reactive tracer 4 mass mixing ratio -'grg4diff' = { - table2Version = 211 ; - indicatorOfParameter = 137 ; - } -#Total column GRG tracer 4 -'tcgrg4diff' = { - table2Version = 211 ; - indicatorOfParameter = 138 ; - } -#Reactive tracer 5 mass mixing ratio -'grg5diff' = { - table2Version = 211 ; - indicatorOfParameter = 139 ; - } -#Total column GRG tracer 5 -'tcgrg5diff' = { - table2Version = 211 ; - indicatorOfParameter = 140 ; - } -#Reactive tracer 6 mass mixing ratio -'grg6diff' = { - table2Version = 211 ; - indicatorOfParameter = 141 ; - } -#Total column GRG tracer 6 -'tcgrg6diff' = { - table2Version = 211 ; - indicatorOfParameter = 142 ; - } -#Reactive tracer 7 mass mixing ratio -'grg7diff' = { - table2Version = 211 ; - indicatorOfParameter = 143 ; - } -#Total column GRG tracer 7 -'tcgrg7diff' = { - table2Version = 211 ; - indicatorOfParameter = 144 ; - } -#Reactive tracer 8 mass mixing ratio -'grg8diff' = { - table2Version = 211 ; - indicatorOfParameter = 145 ; - } -#Total column GRG tracer 8 -'tcgrg8diff' = { - table2Version = 211 ; - indicatorOfParameter = 146 ; - } -#Reactive tracer 9 mass mixing ratio -'grg9diff' = { - table2Version = 211 ; - indicatorOfParameter = 147 ; - } -#Total column GRG tracer 9 -'tcgrg9diff' = { - table2Version = 211 ; - indicatorOfParameter = 148 ; - } -#Reactive tracer 10 mass mixing ratio -'grg10diff' = { - table2Version = 211 ; - indicatorOfParameter = 149 ; - } -#Total column GRG tracer 10 -'tcgrg10diff' = { - table2Version = 211 ; - indicatorOfParameter = 150 ; - } -#Surface flux Nitrogen oxides -'sfnoxdiff' = { - table2Version = 211 ; - indicatorOfParameter = 151 ; - } -#Surface flux Nitrogen dioxide -'sfno2diff' = { - table2Version = 211 ; - indicatorOfParameter = 152 ; - } -#Surface flux Sulphur dioxide -'sfso2diff' = { - table2Version = 211 ; - indicatorOfParameter = 153 ; - } -#Surface flux Carbon monoxide -'sfco2diff' = { - table2Version = 211 ; - indicatorOfParameter = 154 ; - } -#Surface flux Formaldehyde -'sfhchodiff' = { - table2Version = 211 ; - indicatorOfParameter = 155 ; - } -#Surface flux GEMS Ozone -'sfgo3diff' = { - table2Version = 211 ; - indicatorOfParameter = 156 ; - } -#Surface flux reactive tracer 1 -'sfgr1diff' = { - table2Version = 211 ; - indicatorOfParameter = 157 ; - } -#Surface flux reactive tracer 2 -'sfgr2diff' = { - table2Version = 211 ; - indicatorOfParameter = 158 ; - } -#Surface flux reactive tracer 3 -'sfgr3diff' = { - table2Version = 211 ; - indicatorOfParameter = 159 ; - } -#Surface flux reactive tracer 4 -'sfgr4diff' = { - table2Version = 211 ; - indicatorOfParameter = 160 ; - } -#Surface flux reactive tracer 5 -'sfgr5diff' = { - table2Version = 211 ; - indicatorOfParameter = 161 ; - } -#Surface flux reactive tracer 6 -'sfgr6diff' = { - table2Version = 211 ; - indicatorOfParameter = 162 ; - } -#Surface flux reactive tracer 7 -'sfgr7diff' = { - table2Version = 211 ; - indicatorOfParameter = 163 ; - } -#Surface flux reactive tracer 8 -'sfgr8diff' = { - table2Version = 211 ; - indicatorOfParameter = 164 ; - } -#Surface flux reactive tracer 9 -'sfgr9diff' = { - table2Version = 211 ; - indicatorOfParameter = 165 ; - } -#Surface flux reactive tracer 10 -'sfgr10diff' = { - table2Version = 211 ; - indicatorOfParameter = 166 ; - } -#Radon -'radiff' = { - table2Version = 211 ; - indicatorOfParameter = 181 ; - } -#Sulphur Hexafluoride -'sf6diff' = { - table2Version = 211 ; - indicatorOfParameter = 182 ; - } -#Total column Radon -'tcradiff' = { - table2Version = 211 ; - indicatorOfParameter = 183 ; - } -#Total column Sulphur Hexafluoride -'tcsf6diff' = { - table2Version = 211 ; - indicatorOfParameter = 184 ; - } -#Anthropogenic Emissions of Sulphur Hexafluoride -'sf6apfdiff' = { - table2Version = 211 ; - indicatorOfParameter = 185 ; - } -#Ozone mass mixing ratio difference (full chemistry scheme) -'go3diff' = { - table2Version = 211 ; - indicatorOfParameter = 203 ; - } -#GEMS Total column ozone -'gtco3diff' = { - table2Version = 211 ; - indicatorOfParameter = 206 ; - } -#Total Aerosol Optical Depth at 550nm -'aod550diff' = { - table2Version = 211 ; - indicatorOfParameter = 207 ; - } -#Sea Salt Aerosol Optical Depth at 550nm -'ssaod550diff' = { - table2Version = 211 ; - indicatorOfParameter = 208 ; - } -#Dust Aerosol Optical Depth at 550nm -'duaod550diff' = { - table2Version = 211 ; - indicatorOfParameter = 209 ; - } -#Organic Matter Aerosol Optical Depth at 550nm -'omaod550diff' = { - table2Version = 211 ; - indicatorOfParameter = 210 ; - } -#Black Carbon Aerosol Optical Depth at 550nm -'bcaod550diff' = { - table2Version = 211 ; - indicatorOfParameter = 211 ; - } -#Sulphate Aerosol Optical Depth at 550nm -'suaod550diff' = { - table2Version = 211 ; - indicatorOfParameter = 212 ; - } -#Total Aerosol Optical Depth at 469nm -'aod469diff' = { - table2Version = 211 ; - indicatorOfParameter = 213 ; - } -#Total Aerosol Optical Depth at 670nm -'aod670diff' = { - table2Version = 211 ; - indicatorOfParameter = 214 ; - } -#Total Aerosol Optical Depth at 865nm -'aod865diff' = { - table2Version = 211 ; - indicatorOfParameter = 215 ; - } -#Total Aerosol Optical Depth at 1240nm -'aod1240diff' = { - table2Version = 211 ; - indicatorOfParameter = 216 ; - } -#Total precipitation observation count -'tpoc' = { - table2Version = 220 ; - indicatorOfParameter = 228 ; - } -#Convective inhibition -'cin' = { - table2Version = 228 ; - indicatorOfParameter = 1 ; - } -#Orography -'orog' = { - table2Version = 228 ; - indicatorOfParameter = 2 ; - } -#Friction velocity -'zust' = { - table2Version = 228 ; - indicatorOfParameter = 3 ; - } #Mean 2 metre temperature 'mean2t' = { table2Version = 228 ; @@ -17519,491 +494,11 @@ table2Version = 228 ; indicatorOfParameter = 5 ; } -#Mean total cloud cover -'meantcc' = { - table2Version = 228 ; - indicatorOfParameter = 6 ; - } -#Lake total depth -'dl' = { - table2Version = 228 ; - indicatorOfParameter = 7 ; - } -#Lake mix-layer temperature -'lmlt' = { - table2Version = 228 ; - indicatorOfParameter = 8 ; - } -#Lake mix-layer depth -'lmld' = { - table2Version = 228 ; - indicatorOfParameter = 9 ; - } -#Lake bottom temperature -'lblt' = { - table2Version = 228 ; - indicatorOfParameter = 10 ; - } -#Lake total layer temperature -'ltlt' = { - table2Version = 228 ; - indicatorOfParameter = 11 ; - } -#Lake shape factor -'lshf' = { - table2Version = 228 ; - indicatorOfParameter = 12 ; - } -#Lake ice surface temperature -'lict' = { - table2Version = 228 ; - indicatorOfParameter = 13 ; - } -#Lake ice total depth -'licd' = { - table2Version = 228 ; - indicatorOfParameter = 14 ; - } -#Minimum vertical gradient of refractivity inside trapping layer -'dndzn' = { - table2Version = 228 ; - indicatorOfParameter = 15 ; - } -#Mean vertical gradient of refractivity inside trapping layer -'dndza' = { - table2Version = 228 ; - indicatorOfParameter = 16 ; - } -#Duct base height -'dctb' = { - table2Version = 228 ; - indicatorOfParameter = 17 ; - } -#Trapping layer base height -'tplb' = { - table2Version = 228 ; - indicatorOfParameter = 18 ; - } -#Trapping layer top height -'tplt' = { - table2Version = 228 ; - indicatorOfParameter = 19 ; - } -#Soil moisture -'sm' = { - table2Version = 228 ; - indicatorOfParameter = 39 ; - } -#10 metre u-component of neutral wind -'u10n' = { - table2Version = 228 ; - indicatorOfParameter = 131 ; - } -#10 metre v-component of neutral wind -'v10n' = { - table2Version = 228 ; - indicatorOfParameter = 132 ; - } -#Soil temperature -'st' = { - table2Version = 228 ; - indicatorOfParameter = 139 ; - } -#Snow depth water equivalent -'sd' = { - table2Version = 228 ; - indicatorOfParameter = 141 ; - } -#Snowfall water equivalent -'sf' = { - table2Version = 228 ; - indicatorOfParameter = 144 ; - } -#Total Cloud Cover -'tcc' = { - table2Version = 228 ; - indicatorOfParameter = 164 ; - } -#Field capacity -'cap' = { - table2Version = 228 ; - indicatorOfParameter = 170 ; - } -#Wilting point -'wilt' = { - table2Version = 228 ; - indicatorOfParameter = 171 ; - } -#Total Precipitation -'tp' = { - table2Version = 228 ; - indicatorOfParameter = 228 ; - } -#Snow evaporation (variable resolution) -'esvar' = { - table2Version = 230 ; - indicatorOfParameter = 44 ; - } -#Snowmelt (variable resolution) -'smltvar' = { - table2Version = 230 ; - indicatorOfParameter = 45 ; - } -#Solar duration (variable resolution) -'sdurvar' = { - table2Version = 230 ; - indicatorOfParameter = 46 ; - } -#Downward UV radiation at the surface (variable resolution) -'uvbvar' = { - table2Version = 230 ; - indicatorOfParameter = 57 ; - } -#Photosynthetically active radiation at the surface (variable resolution) -'parvar' = { - table2Version = 230 ; - indicatorOfParameter = 58 ; - } -#Stratiform precipitation (Large-scale precipitation) (variable resolution) -'lspvar' = { - table2Version = 230 ; - indicatorOfParameter = 142 ; - } -#Convective precipitation (variable resolution) -'cpvar' = { - table2Version = 230 ; - indicatorOfParameter = 143 ; - } -#Snowfall (convective + stratiform) (variable resolution) -'sfvar' = { - table2Version = 230 ; - indicatorOfParameter = 144 ; - } -#Boundary layer dissipation (variable resolution) -'bldvar' = { - table2Version = 230 ; - indicatorOfParameter = 145 ; - } -#Surface sensible heat flux (variable resolution) -'sshfvar' = { - table2Version = 230 ; - indicatorOfParameter = 146 ; - } -#Surface latent heat flux (variable resolution) -'slhfvar' = { - table2Version = 230 ; - indicatorOfParameter = 147 ; - } -#Surface solar radiation downwards (variable resolution) -'ssrdvar' = { - table2Version = 230 ; - indicatorOfParameter = 169 ; - } -#Surface thermal radiation downwards (variable resolution) -'strdvar' = { - table2Version = 230 ; - indicatorOfParameter = 175 ; - } -#Surface net solar radiation (variable resolution) -'ssrvar' = { - table2Version = 230 ; - indicatorOfParameter = 176 ; - } -#Surface net thermal radiation (variable resolution) -'strvar' = { - table2Version = 230 ; - indicatorOfParameter = 177 ; - } -#Top net solar radiation (variable resolution) -'tsrvar' = { - table2Version = 230 ; - indicatorOfParameter = 178 ; - } -#Top net thermal radiation (variable resolution) -'ttrvar' = { - table2Version = 230 ; - indicatorOfParameter = 179 ; - } -#East-West surface stress (variable resolution) -'ewssvar' = { - table2Version = 230 ; - indicatorOfParameter = 180 ; - } -#North-South surface stress (variable resolution) -'nsssvar' = { - table2Version = 230 ; - indicatorOfParameter = 181 ; - } -#Evaporation (variable resolution) -'evar' = { - table2Version = 230 ; - indicatorOfParameter = 182 ; - } -#Sunshine duration (variable resolution) -'sundvar' = { - table2Version = 230 ; - indicatorOfParameter = 189 ; - } -#Longitudinal component of gravity wave stress (variable resolution) -'lgwsvar' = { - table2Version = 230 ; - indicatorOfParameter = 195 ; - } -#Meridional component of gravity wave stress (variable resolution) -'mgwsvar' = { - table2Version = 230 ; - indicatorOfParameter = 196 ; - } -#Gravity wave dissipation (variable resolution) -'gwdvar' = { - table2Version = 230 ; - indicatorOfParameter = 197 ; - } -#Skin reservoir content (variable resolution) -'srcvar' = { - table2Version = 230 ; - indicatorOfParameter = 198 ; - } -#Runoff (variable resolution) -'rovar' = { - table2Version = 230 ; - indicatorOfParameter = 205 ; - } -#Top net solar radiation, clear sky (variable resolution) -'tsrcvar' = { - table2Version = 230 ; - indicatorOfParameter = 208 ; - } -#Top net thermal radiation, clear sky (variable resolution) -'ttrcvar' = { - table2Version = 230 ; - indicatorOfParameter = 209 ; - } -#Surface net solar radiation, clear sky (variable resolution) -'ssrcvar' = { - table2Version = 230 ; - indicatorOfParameter = 210 ; - } -#Surface net thermal radiation, clear sky (variable resolution) -'strcvar' = { - table2Version = 230 ; - indicatorOfParameter = 211 ; - } -#TOA incident solar radiation (variable resolution) -'tisrvar' = { - table2Version = 230 ; - indicatorOfParameter = 212 ; - } -#Surface temperature significance -'sts' = { - table2Version = 234 ; - indicatorOfParameter = 139 ; - } -#Mean sea level pressure significance -'msls' = { - table2Version = 234 ; - indicatorOfParameter = 151 ; - } #2 metre temperature significance 't2s' = { table2Version = 234 ; indicatorOfParameter = 167 ; } -#Total precipitation significance -'tps' = { - table2Version = 234 ; - indicatorOfParameter = 228 ; - } -#U-component surface stokes drift -'ust' = { - table2Version = 140 ; - indicatorOfParameter = 215 ; - } -#V-component surface stokes drift -'vst' = { - table2Version = 140 ; - indicatorOfParameter = 216 ; - } -#Wildfire radiative power maximum -'maxfrpfire' = { - table2Version = 210 ; - indicatorOfParameter = 101 ; - } -#Wildfire flux of Sulfur Dioxide -'so2fire' = { - table2Version = 210 ; - indicatorOfParameter = 102 ; - } -#Wildfire Flux of Methanol (CH3OH) -'ch3ohfire' = { - table2Version = 210 ; - indicatorOfParameter = 103 ; - } -#Wildfire Flux of Ethanol (C2H5OH) -'c2h5ohfire' = { - table2Version = 210 ; - indicatorOfParameter = 104 ; - } -#Wildfire Flux of Propane (C3H8) -'c3h8fire' = { - table2Version = 210 ; - indicatorOfParameter = 105 ; - } -#Wildfire Flux of Ethene (C2H4) -'c2h4fire' = { - table2Version = 210 ; - indicatorOfParameter = 106 ; - } -#Wildfire Flux of Propene (C3H6) -'c3h6fire' = { - table2Version = 210 ; - indicatorOfParameter = 107 ; - } -#Wildfire Flux of Isoprene (C5H8) -'c5h8fire' = { - table2Version = 210 ; - indicatorOfParameter = 108 ; - } -#Wildfire Flux of Terpenes (C5H8)n -'terpenesfire' = { - table2Version = 210 ; - indicatorOfParameter = 109 ; - } -#Wildfire Flux of Toluene_lump (C7H8+ C6H6 + C8H10) -'toluenefire' = { - table2Version = 210 ; - indicatorOfParameter = 110 ; - } -#Wildfire Flux of Higher Alkenes (CnH2n, C>=4) -'hialkenesfire' = { - table2Version = 210 ; - indicatorOfParameter = 111 ; - } -#Wildfire Flux of Higher Alkanes (CnH2n+2, C>=4) -'hialkanesfire' = { - table2Version = 210 ; - indicatorOfParameter = 112 ; - } -#Wildfire Flux of Formaldehyde (CH2O) -'ch2ofire' = { - table2Version = 210 ; - indicatorOfParameter = 113 ; - } -#Wildfire Flux of Acetaldehyde (C2H4O) -'c2h4ofire' = { - table2Version = 210 ; - indicatorOfParameter = 114 ; - } -#Wildfire Flux of Acetone (C3H6O) -'c3h6ofire' = { - table2Version = 210 ; - indicatorOfParameter = 115 ; - } -#Wildfire Flux of Ammonia (NH3) -'nh3fire' = { - table2Version = 210 ; - indicatorOfParameter = 116 ; - } -#Wildfire Flux of Dimethyl Sulfide (DMS) (C2H6S) -'c2h6sfire' = { - table2Version = 210 ; - indicatorOfParameter = 117 ; - } -#Wildfire radiative power maximum -'maxfrpfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 101 ; - } -#Wildfire flux of Sulfur Dioxide -'so2firediff' = { - table2Version = 211 ; - indicatorOfParameter = 102 ; - } -#Wildfire Flux of Methanol (CH3OH) -'ch3ohfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 103 ; - } -#Wildfire Flux of Ethanol (C2H5OH) -'c2h5ohfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 104 ; - } -#Wildfire Flux of Propane (C3H8) -'c3h8firediff' = { - table2Version = 211 ; - indicatorOfParameter = 105 ; - } -#Wildfire Flux of Ethene (C2H4) -'c2h4firediff' = { - table2Version = 211 ; - indicatorOfParameter = 106 ; - } -#Wildfire Flux of Propene (C3H6) -'c3h6firediff' = { - table2Version = 211 ; - indicatorOfParameter = 107 ; - } -#Wildfire Flux of Isoprene (C5H8) -'c5h8firediff' = { - table2Version = 211 ; - indicatorOfParameter = 108 ; - } -#Wildfire Flux of Terpenes (C5H8)n -'terpenesfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 109 ; - } -#Wildfire Flux of Toluene_lump (C7H8+ C6H6 + C8H10) -'toluenefirediff' = { - table2Version = 211 ; - indicatorOfParameter = 110 ; - } -#Wildfire Flux of Higher Alkenes (CnH2n, C>=4) -'hialkenesfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 111 ; - } -#Wildfire Flux of Higher Alkanes (CnH2n+2, C>=4) -'hialkanesfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 112 ; - } -#Wildfire Flux of Formaldehyde (CH2O) -'ch2ofirediff' = { - table2Version = 211 ; - indicatorOfParameter = 113 ; - } -#Wildfire Flux of Acetaldehyde (C2H4O) -'c2h4ofirediff' = { - table2Version = 211 ; - indicatorOfParameter = 114 ; - } -#Wildfire Flux of Acetone (C3H6O) -'c3h6ofirediff' = { - table2Version = 211 ; - indicatorOfParameter = 115 ; - } -#Wildfire Flux of Ammonia (NH3) -'nh3firediff' = { - table2Version = 211 ; - indicatorOfParameter = 116 ; - } -#Wildfire Flux of Dimethyl Sulfide (DMS) (C2H6S) -'c2h6sfirediff' = { - table2Version = 211 ; - indicatorOfParameter = 117 ; - } -#V-tendency from non-orographic wave drag -'vtnowd' = { - table2Version = 228 ; - indicatorOfParameter = 134 ; - } -#U-tendency from non-orographic wave drag -'utnowd' = { - table2Version = 228 ; - indicatorOfParameter = 136 ; - } #100 metre U wind component 'u100' = { table2Version = 228 ; @@ -18013,14 +508,4 @@ 'v100' = { table2Version = 228 ; indicatorOfParameter = 247 ; - } -#ASCAT first soil moisture CDF matching parameter -'ascat_sm_cdfa' = { - table2Version = 228 ; - indicatorOfParameter = 253 ; - } -#ASCAT second soil moisture CDF matching parameter -'ascat_sm_cdfb' = { - table2Version = 228 ; - indicatorOfParameter = 254 ; } diff --git a/definitions/grib1/localConcepts/rjtd/cfVarName.def b/definitions/grib1/localConcepts/rjtd/cfVarName.def index a41399122..7629e7475 100644 --- a/definitions/grib1/localConcepts/rjtd/cfVarName.def +++ b/definitions/grib1/localConcepts/rjtd/cfVarName.def @@ -1,120 +1,9 @@ # Automatically generated by ./create_def.pl, do not edit -#Stream function -'strf' = { - table2Version = 200 ; - indicatorOfParameter = 35 ; - } -#Velocity potential -'vp' = { - table2Version = 200 ; - indicatorOfParameter = 36 ; - } -#Potential temperature -'pt' = { - table2Version = 200 ; - indicatorOfParameter = 13 ; - } -#Wind speed -'ws' = { - table2Version = 200 ; - indicatorOfParameter = 32 ; - } #Sea ice area fraction -'ci' = { +'siconc' = { table2Version = 200 ; indicatorOfParameter = 91 ; } -#Montgomery potential -'mont' = { - table2Version = 200 ; - indicatorOfParameter = 37 ; - } -#Pressure -'pres' = { - table2Version = 200 ; - indicatorOfParameter = 1 ; - } -#Potential vorticity -'pv' = { - table2Version = 200 ; - indicatorOfParameter = 4 ; - } -#Total column cloud liquid water -'tclw' = { - table2Version = 200 ; - indicatorOfParameter = 227 ; - } -#Total column cloud ice water -'tciw' = { - table2Version = 200 ; - indicatorOfParameter = 58 ; - } -#Geopotential -'z' = { - table2Version = 200 ; - indicatorOfParameter = 6 ; - } -#Temperature -'t' = { - table2Version = 200 ; - indicatorOfParameter = 11 ; - } -#U component of wind -'u' = { - table2Version = 200 ; - indicatorOfParameter = 33 ; - } -#V component of wind -'v' = { - table2Version = 200 ; - indicatorOfParameter = 34 ; - } -#Specific humidity -'q' = { - table2Version = 200 ; - indicatorOfParameter = 51 ; - } -#Surface pressure -'sp' = { - table2Version = 200 ; - indicatorOfParameter = 1 ; - indicatorOfTypeOfLevel = 1 ; - } -#Vertical velocity -'w' = { - table2Version = 200 ; - indicatorOfParameter = 39 ; - } -#Total column vertically-integrated water vapour -'tcwv' = { - table2Version = 200 ; - indicatorOfParameter = 54 ; - } -#Vorticity (relative) -'vo' = { - table2Version = 200 ; - indicatorOfParameter = 43 ; - } -#Mean sea level pressure -'msl' = { - table2Version = 200 ; - indicatorOfParameter = 2 ; - } -#Divergence -'d' = { - table2Version = 200 ; - indicatorOfParameter = 44 ; - } -#Geopotential height -'gh' = { - table2Version = 200 ; - indicatorOfParameter = 7 ; - } -#Relative humidity -'r' = { - table2Version = 200 ; - indicatorOfParameter = 52 ; - } #10 metre U wind component 'u10' = { table2Version = 200 ; @@ -136,71 +25,6 @@ indicatorOfTypeOfLevel = 105 ; level = 2 ; } -#Land-sea mask -'lsm' = { - table2Version = 200 ; - indicatorOfParameter = 81 ; - } -#Surface roughness (climatological) -'sr' = { - table2Version = 200 ; - indicatorOfParameter = 83 ; - } -#Brightness temperature -'btmp' = { - table2Version = 200 ; - indicatorOfParameter = 118 ; - } -#Specific cloud ice water content -'ciwc' = { - table2Version = 200 ; - indicatorOfParameter = 229 ; - } -#Snow depth -'sde' = { - table2Version = 200 ; - indicatorOfParameter = 66 ; - } -#Convective cloud cover -'ccc' = { - table2Version = 200 ; - indicatorOfParameter = 72 ; - } -#Low cloud cover -'lcc' = { - table2Version = 200 ; - indicatorOfParameter = 73 ; - } -#Medium cloud cover -'mcc' = { - table2Version = 200 ; - indicatorOfParameter = 74 ; - } -#High cloud cover -'hcc' = { - table2Version = 200 ; - indicatorOfParameter = 75 ; - } -#Large scale snow -'lssf' = { - table2Version = 200 ; - indicatorOfParameter = 79 ; - } -#Latent heat flux -'lhf' = { - table2Version = 200 ; - indicatorOfParameter = 121 ; - } -#Sensible heat flux -'shf' = { - table2Version = 200 ; - indicatorOfParameter = 122 ; - } -#Boundary layer dissipation -'bld' = { - table2Version = 200 ; - indicatorOfParameter = 123 ; - } #2 metre specific humidity 'sh2' = { table2Version = 200 ; @@ -208,745 +32,10 @@ indicatorOfTypeOfLevel = 105 ; level = 2 ; } -#Convective snow -'snoc' = { - table2Version = 200 ; - indicatorOfParameter = 78 ; - } -#Maximum wind speed -'maxgust' = { - table2Version = 200 ; - indicatorOfParameter = 219 ; - } -#Downward short-wave radiation flux -'dswrf' = { - table2Version = 200 ; - indicatorOfParameter = 204 ; - } -#Upward short-wave radiation flux -'uswrf' = { - table2Version = 200 ; - indicatorOfParameter = 211 ; - } -#Downward long-wave radiation flux -'dlwrf' = { - table2Version = 200 ; - indicatorOfParameter = 205 ; - } -#Upward long-wave radiation flux -'ulwrf' = { - table2Version = 200 ; - indicatorOfParameter = 212 ; - } -#Cloud water -'cwat' = { - table2Version = 200 ; - indicatorOfParameter = 76 ; - } -#Cloud work function -'cwork' = { - table2Version = 200 ; - indicatorOfParameter = 146 ; - } -#Total column integrated ozone -'tcioz' = { - table2Version = 200 ; - indicatorOfParameter = 10 ; - } -#Ground heat flux -'gflux' = { - table2Version = 200 ; - indicatorOfParameter = 155 ; - } #2 metre relative humidity 'r2' = { table2Version = 200 ; indicatorOfParameter = 52 ; indicatorOfTypeOfLevel = 105 ; level = 2 ; - } -#Clear Sky Downward Solar Flux -'csdsf' = { - table2Version = 200 ; - indicatorOfParameter = 161 ; - } -#Clear Sky Upward Solar Flux -'csusf' = { - table2Version = 200 ; - indicatorOfParameter = 160 ; - } -#Clear Sky Upward Long Wave Flux -'csulf' = { - table2Version = 200 ; - indicatorOfParameter = 162 ; - } -#Clear Sky Downward Long Wave Flux -'csdlf' = { - table2Version = 200 ; - indicatorOfParameter = 163 ; - } -#Forecast albedo -'al' = { - table2Version = 200 ; - indicatorOfParameter = 84 ; - } -#Mean evaporation -'evpsfc' = { - table2Version = 200 ; - indicatorOfParameter = 57 ; - } -#Mean total precipitation -'tpratsfc' = { - table2Version = 200 ; - indicatorOfParameter = 61 ; - } -#Mean large scale precipitation -'lpratsfc' = { - table2Version = 200 ; - indicatorOfParameter = 62 ; - } -#Mean convective precipitation -'cpratsfc' = { - table2Version = 200 ; - indicatorOfParameter = 63 ; - } -#Mean snowfall rate water equivalent -'srweqsfc' = { - table2Version = 200 ; - indicatorOfParameter = 64 ; - } -#Mean surface water runoff -'rofsfc' = { - table2Version = 200 ; - indicatorOfParameter = 90 ; - } -#Square of Brunt-Vaisala frequency -'bvf2tht' = { - table2Version = 200 ; - indicatorOfParameter = 132 ; - } -#Adiabatic zonal acceleration -'aduahbl' = { - table2Version = 200 ; - indicatorOfParameter = 151 ; - } -#Adiabatic meridional acceleration -'advaprs' = { - table2Version = 200 ; - indicatorOfParameter = 165 ; - } -#Mean frequency of deep convection -'frcvsfc' = { - table2Version = 200 ; - indicatorOfParameter = 170 ; - } -#Mean frequency of shallow convection -'frcvssfc' = { - table2Version = 200 ; - indicatorOfParameter = 171 ; - } -#Mean frequency of stratocumulus parameterisation -'frscsfc' = { - table2Version = 200 ; - indicatorOfParameter = 172 ; - } -#Gravity wave zonal acceleration -'gwduahbl' = { - table2Version = 200 ; - indicatorOfParameter = 173 ; - } -#Gravity wave meridional acceleration -'gwdvahbl' = { - table2Version = 200 ; - indicatorOfParameter = 174 ; - } -#Mean evapotranspiration -'ltrssfc' = { - table2Version = 200 ; - indicatorOfParameter = 202 ; - } -#Adiabatic heating rate -'adhrhbl' = { - table2Version = 200 ; - indicatorOfParameter = 222 ; - } -#Moisture storage on canopy -'mscsfc' = { - table2Version = 200 ; - indicatorOfParameter = 223 ; - } -#Moisture storage on ground or cover -'msgsfc' = { - table2Version = 200 ; - indicatorOfParameter = 224 ; - } -#Mass concentration of condensed water in soil -'smcugl' = { - table2Version = 200 ; - indicatorOfParameter = 226 ; - } -#Upward mass flux at cloud base -'mflxbhbl' = { - table2Version = 200 ; - indicatorOfParameter = 230 ; - } -#Upward mass flux -'mfluxhbl' = { - table2Version = 200 ; - indicatorOfParameter = 231 ; - } -#Adiabatic moistening rate -'admrhbl' = { - table2Version = 200 ; - indicatorOfParameter = 236 ; - } -#Ozone mixing ratio -'ozonehbl' = { - table2Version = 200 ; - indicatorOfParameter = 237 ; - } -#Convective zonal acceleration -'cnvuahbl' = { - table2Version = 200 ; - indicatorOfParameter = 239 ; - } -#Mean zonal momentum flux by long gravity wave -'fglusfc' = { - table2Version = 200 ; - indicatorOfParameter = 147 ; - } -#Mean meridional momentum flux by long gravity wave -'fglvsfc' = { - table2Version = 200 ; - indicatorOfParameter = 148 ; - } -#Mean meridional momentum flux by short gravity wave -'fgsvsfc' = { - table2Version = 200 ; - indicatorOfParameter = 154 ; - } -#Mean zonal momentum flux by short gravity wave -'fgsusfc' = { - table2Version = 200 ; - indicatorOfParameter = 159 ; - } -#Convective meridional acceleration -'cnvvahbl' = { - table2Version = 200 ; - indicatorOfParameter = 240 ; - } -#Large scale condensation heating rate -'lrghrhbl' = { - table2Version = 200 ; - indicatorOfParameter = 241 ; - } -#Convective heating rate -'cnvhrhbl' = { - table2Version = 200 ; - indicatorOfParameter = 242 ; - } -#Convective moistening rate -'cnvmrhbl' = { - table2Version = 200 ; - indicatorOfParameter = 243 ; - } -#Vertical diffusion heating rate -'vdfhrhbl' = { - table2Version = 200 ; - indicatorOfParameter = 246 ; - } -#Vertical diffusion zonal acceleration -'vdfuahbl' = { - table2Version = 200 ; - indicatorOfParameter = 247 ; - } -#Vertical diffusion meridional acceleration -'vdfvahbl' = { - table2Version = 200 ; - indicatorOfParameter = 248 ; - } -#Vertical diffusion moistening rate -'vdfmrhbl' = { - table2Version = 200 ; - indicatorOfParameter = 249 ; - } -#Solar radiative heating rate -'swhrhbl' = { - table2Version = 200 ; - indicatorOfParameter = 250 ; - } -#Long wave radiative heating rate -'lwhrhbl' = { - table2Version = 200 ; - indicatorOfParameter = 251 ; - } -#Large scale moistening rate -'lrgmrhbl' = { - table2Version = 200 ; - indicatorOfParameter = 253 ; - } -#Type of vegetation -'tovg' = { - table2Version = 200 ; - indicatorOfParameter = 252 ; - } -#Virtual temperature -'vtmp' = { - table2Version = 200 ; - indicatorOfParameter = 12 ; - } -#Vertical velocity -'omg2' = { - table2Version = 200 ; - indicatorOfParameter = 40 ; - } -#Interception loss -'pitp' = { - table2Version = 200 ; - indicatorOfParameter = 203 ; - } -#Soil wetness of surface -'ussl' = { - table2Version = 200 ; - indicatorOfParameter = 225 ; - } -#Temperature at canopy -'ctmp' = { - table2Version = 200 ; - indicatorOfParameter = 144 ; - } -#Ground/surface cover temperature -'tgsc' = { - table2Version = 200 ; - indicatorOfParameter = 145 ; - } -#Pressure tendency -'ptend' = { - table2Version = 200 ; - indicatorOfParameter = 3 ; - } -#ICAO Standard Atmosphere reference height -'icaht' = { - table2Version = 200 ; - indicatorOfParameter = 5 ; - } -#Geometrical height -'h' = { - table2Version = 200 ; - indicatorOfParameter = 8 ; - } -#Standard deviation of height -'hstdv' = { - table2Version = 200 ; - indicatorOfParameter = 9 ; - } -#Pseudo-adiabatic potential temperature -'papt' = { - table2Version = 200 ; - indicatorOfParameter = 14 ; - } -#Maximum temperature -'tmax' = { - table2Version = 200 ; - indicatorOfParameter = 15 ; - } -#Minimum temperature -'tmin' = { - table2Version = 200 ; - indicatorOfParameter = 16 ; - } -#Dew point temperature -'dpt' = { - table2Version = 200 ; - indicatorOfParameter = 17 ; - } -#Dew point depression (or deficit) -'depr' = { - table2Version = 200 ; - indicatorOfParameter = 18 ; - } -#Lapse rate -'lapr' = { - table2Version = 200 ; - indicatorOfParameter = 19 ; - } -#Visibility -'vis' = { - table2Version = 200 ; - indicatorOfParameter = 20 ; - } -#Radar spectra (1) -'rdsp1' = { - table2Version = 200 ; - indicatorOfParameter = 21 ; - } -#Radar spectra (2) -'rdsp2' = { - table2Version = 200 ; - indicatorOfParameter = 22 ; - } -#Radar spectra (3) -'rdsp3' = { - table2Version = 200 ; - indicatorOfParameter = 23 ; - } -#Parcel lifted index (to 500 hPa) -'pli' = { - table2Version = 200 ; - indicatorOfParameter = 24 ; - } -#Temperature anomaly -'ta' = { - table2Version = 200 ; - indicatorOfParameter = 25 ; - } -#Pressure anomaly -'presa' = { - table2Version = 200 ; - indicatorOfParameter = 26 ; - } -#Geopotential height anomaly -'gpa' = { - table2Version = 200 ; - indicatorOfParameter = 27 ; - } -#Wave spectra (1) -'wvsp1' = { - table2Version = 200 ; - indicatorOfParameter = 28 ; - } -#Wave spectra (2) -'wvsp2' = { - table2Version = 200 ; - indicatorOfParameter = 29 ; - } -#Wave spectra (3) -'wvsp3' = { - table2Version = 200 ; - indicatorOfParameter = 30 ; - } -#Wind direction -'wdir' = { - table2Version = 200 ; - indicatorOfParameter = 31 ; - } -#Sigma coordinate vertical velocity -'sgcvv' = { - table2Version = 200 ; - indicatorOfParameter = 38 ; - } -#Absolute vorticity -'absv' = { - table2Version = 200 ; - indicatorOfParameter = 41 ; - } -#Absolute divergence -'absd' = { - table2Version = 200 ; - indicatorOfParameter = 42 ; - } -#Vertical u-component shear -'vucsh' = { - table2Version = 200 ; - indicatorOfParameter = 45 ; - } -#Vertical v-component shear -'vvcsh' = { - table2Version = 200 ; - indicatorOfParameter = 46 ; - } -#Direction of current -'dirc' = { - table2Version = 200 ; - indicatorOfParameter = 47 ; - } -#Speed of current -'spc' = { - table2Version = 200 ; - indicatorOfParameter = 48 ; - } -#Humidity mixing ratio -'mixr' = { - table2Version = 200 ; - indicatorOfParameter = 53 ; - } -#Vapour pressure -'vp' = { - table2Version = 200 ; - indicatorOfParameter = 55 ; - } -#Saturation deficit -'satd' = { - table2Version = 200 ; - indicatorOfParameter = 56 ; - } -#Precipitation rate -'prate' = { - table2Version = 200 ; - indicatorOfParameter = 59 ; - } -#Thunderstorm probability -'tstm' = { - table2Version = 200 ; - indicatorOfParameter = 60 ; - } -#Mixed layer depth -'mld' = { - table2Version = 200 ; - indicatorOfParameter = 67 ; - } -#Transient thermocline depth -'tthdp' = { - table2Version = 200 ; - indicatorOfParameter = 68 ; - } -#Main thermocline depth -'mthd' = { - table2Version = 200 ; - indicatorOfParameter = 69 ; - } -#Main thermocline anomaly -'mtha' = { - table2Version = 200 ; - indicatorOfParameter = 70 ; - } -#Best lifted index (to 500 hPa) -'bli' = { - table2Version = 200 ; - indicatorOfParameter = 77 ; - } -#Water temperature -'wtmp' = { - table2Version = 200 ; - indicatorOfParameter = 80 ; - } -#Deviation of sea-level from mean -'dslm' = { - table2Version = 200 ; - indicatorOfParameter = 82 ; - } -#Soil moisture content -'ssw' = { - table2Version = 200 ; - indicatorOfParameter = 86 ; - } -#Salinity -'s' = { - table2Version = 200 ; - indicatorOfParameter = 88 ; - } -#Density -'den' = { - table2Version = 200 ; - indicatorOfParameter = 89 ; - } -#Ice thickness -'icetk' = { - table2Version = 200 ; - indicatorOfParameter = 92 ; - } -#Direction of ice drift -'diced' = { - table2Version = 200 ; - indicatorOfParameter = 93 ; - } -#Speed of ice drift -'siced' = { - table2Version = 200 ; - indicatorOfParameter = 94 ; - } -#U-component of ice drift -'uice' = { - table2Version = 200 ; - indicatorOfParameter = 95 ; - } -#V-component of ice drift -'vice' = { - table2Version = 200 ; - indicatorOfParameter = 96 ; - } -#Ice growth rate -'iceg' = { - table2Version = 200 ; - indicatorOfParameter = 97 ; - } -#Ice divergence -'iced' = { - table2Version = 200 ; - indicatorOfParameter = 98 ; - } -#Snowmelt -'snom' = { - table2Version = 200 ; - indicatorOfParameter = 99 ; - } -#Signific.height,combined wind waves+swell -'swh' = { - table2Version = 200 ; - indicatorOfParameter = 100 ; - } -#Mean direction of wind waves -'mdww' = { - table2Version = 200 ; - indicatorOfParameter = 101 ; - } -#Significant height of wind waves -'shww' = { - table2Version = 200 ; - indicatorOfParameter = 102 ; - } -#Mean period of wind waves -'mpww' = { - table2Version = 200 ; - indicatorOfParameter = 103 ; - } -#Direction of swell waves -'swdir' = { - table2Version = 200 ; - indicatorOfParameter = 104 ; - } -#Significant height of swell waves -'swell' = { - table2Version = 200 ; - indicatorOfParameter = 105 ; - } -#Mean period of swell waves -'swper' = { - table2Version = 200 ; - indicatorOfParameter = 106 ; - } -#Primary wave direction -'mdps' = { - table2Version = 200 ; - indicatorOfParameter = 107 ; - } -#Primary wave mean period -'mpps' = { - table2Version = 200 ; - indicatorOfParameter = 108 ; - } -#Secondary wave direction -'dirsw' = { - table2Version = 200 ; - indicatorOfParameter = 109 ; - } -#Secondary wave mean period -'swp' = { - table2Version = 200 ; - indicatorOfParameter = 110 ; - } -#Net short-wave radiation flux (surface) -'nswrs' = { - table2Version = 200 ; - indicatorOfParameter = 111 ; - } -#Net long-wave radiation flux (surface) -'nlwrs' = { - table2Version = 200 ; - indicatorOfParameter = 112 ; - } -#Net short-wave radiation flux(atmosph.top) -'nswrt' = { - table2Version = 200 ; - indicatorOfParameter = 113 ; - } -#Net long-wave radiation flux(atmosph.top) -'nlwrt' = { - table2Version = 200 ; - indicatorOfParameter = 114 ; - } -#Long wave radiation flux -'lwavr' = { - table2Version = 200 ; - indicatorOfParameter = 115 ; - } -#Short wave radiation flux -'swavr' = { - table2Version = 200 ; - indicatorOfParameter = 116 ; - } -#Global radiation flux -'grad' = { - table2Version = 200 ; - indicatorOfParameter = 117 ; - } -#Radiance (with respect to wave number) -'lwrad' = { - table2Version = 200 ; - indicatorOfParameter = 119 ; - } -#Radiance (with respect to wave length) -'swrad' = { - table2Version = 200 ; - indicatorOfParameter = 120 ; - } -#Momentum flux, u-component -'uflx' = { - table2Version = 200 ; - indicatorOfParameter = 124 ; - } -#Momentum flux, v-component -'vflx' = { - table2Version = 200 ; - indicatorOfParameter = 125 ; - } -#Wind mixing energy -'wmixe' = { - table2Version = 200 ; - indicatorOfParameter = 126 ; - } -#Image data -'imgd' = { - table2Version = 200 ; - indicatorOfParameter = 127 ; - } -#Cloud liquid water -'clw' = { - table2Version = 200 ; - indicatorOfParameter = 228 ; - } -#Percentage of vegetation -'vegrea' = { - table2Version = 200 ; - indicatorOfParameter = 87 ; - } -#Vertical integral of eastward heat flux -'vithee' = { - table2Version = 200 ; - indicatorOfParameter = 190 ; - } -#Vertical integral of northward heat flux -'vithen' = { - table2Version = 200 ; - indicatorOfParameter = 191 ; - } -#Vertical integral of eastward water vapour flux -'viwve' = { - table2Version = 200 ; - indicatorOfParameter = 157 ; - } -#Vertical integral of northward water vapour flux -'viwvn' = { - table2Version = 200 ; - indicatorOfParameter = 152 ; - } -#specific cloud water content -'qc' = { - table2Version = 200 ; - indicatorOfParameter = 221 ; - } -#Soil temperature -'st' = { - table2Version = 200 ; - indicatorOfParameter = 85 ; - } -#Snow depth water equivalent -'sd' = { - table2Version = 200 ; - indicatorOfParameter = 65 ; - } -#Total Cloud Cover -'tcc' = { - table2Version = 200 ; - indicatorOfParameter = 71 ; } diff --git a/definitions/grib1/section.1.def b/definitions/grib1/section.1.def index 1c3edb5ac..c2dd5c5e0 100644 --- a/definitions/grib1/section.1.def +++ b/definitions/grib1/section.1.def @@ -158,8 +158,11 @@ concept paramId (paramIdECMF,"paramId.def",conceptsDir2,conceptsDir1): long_type concept cfNameECMF(defaultName,"cfName.def",conceptsMasterDir,conceptsLocalDirECMF) : no_copy,read_only; concept cfName(cfNameECMF,"cfName.def",conceptsDir2,conceptsDir1) : dump,no_copy,read_only; -concept cfVarNameECMF(defaultName,"cfVarName.def",conceptsMasterDir,conceptsLocalDirECMF) : no_copy,read_only; -concept cfVarName(cfVarNameECMF,"cfVarName.def",conceptsDir2,conceptsDir1) : dump,no_copy,read_only; +#concept cfVarNameECMF(defaultName,"cfVarName.def",conceptsMasterDir,conceptsLocalDirECMF) : no_copy,read_only; +#concept cfVarName(cfVarNameECMF,"cfVarName.def",conceptsDir2,conceptsDir1) : dump,no_copy,read_only; +# See ECC-1886 +meta defaultCfVarName cf_var_name(shortName) : hidden, read_only; +concept cfVarName(defaultCfVarName,"cfVarName.def",conceptsDir2,conceptsDir1) : dump,no_copy,read_only; concept unitsECMF(defaultName,"units.def",conceptsMasterDir,conceptsLocalDirECMF) : no_copy,read_only; concept units(unitsECMF,"units.def",conceptsDir2,conceptsDir1) : dump,no_copy,read_only; diff --git a/definitions/grib2/cfVarName.def b/definitions/grib2/cfVarName.def index f2a45ec97..892a27e9b 100644 --- a/definitions/grib2/cfVarName.def +++ b/definitions/grib2/cfVarName.def @@ -1,210 +1,4 @@ # Automatically generated by ./create_def.pl, do not edit -#Total precipitation of at least 1 mm -'tpg1' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - productDefinitionTemplateNumber = 9 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - scaledValueOfLowerLimit = 1 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Total precipitation of at least 5 mm -'tpg5' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - productDefinitionTemplateNumber = 9 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - scaledValueOfLowerLimit = 5 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Total precipitation of at least 10 mm -'tpg10' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - productDefinitionTemplateNumber = 9 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - scaledValueOfLowerLimit = 10 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Total precipitation of at least 20 mm -'tpg20' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - productDefinitionTemplateNumber = 9 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - scaledValueOfLowerLimit = 20 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Total precipitation of at least 40 mm -'tpg40' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - productDefinitionTemplateNumber = 9 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - scaledValueOfLowerLimit = 40 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Total precipitation of at least 60 mm -'tpg60' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - productDefinitionTemplateNumber = 9 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - scaledValueOfLowerLimit = 60 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Total precipitation of at least 80 mm -'tpg80' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - productDefinitionTemplateNumber = 9 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - scaledValueOfLowerLimit = 80 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Total precipitation of at least 100 mm -'tpg100' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - productDefinitionTemplateNumber = 9 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - scaledValueOfLowerLimit = 100 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Total precipitation of at least 150 mm -'tpg150' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - productDefinitionTemplateNumber = 9 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - scaledValueOfLowerLimit = 150 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Total precipitation of at least 200 mm -'tpg200' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - productDefinitionTemplateNumber = 9 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - scaledValueOfLowerLimit = 200 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Total precipitation of at least 300 mm -'tpg300' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - productDefinitionTemplateNumber = 9 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - scaledValueOfLowerLimit = 3 ; - scaleFactorOfLowerLimit = -2 ; - probabilityType = 3 ; - } -#Stream function -'strf' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 4 ; - } -#Velocity potential -'vp' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 5 ; - } -#Potential temperature -'pt' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 2 ; - } -#Wind speed -'ws' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - } -#Surface photosynthetically active radiation, clear sky -'parcs' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 60 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Unbalanced component of temperature -'uctp' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 28 ; - } -#Unbalanced component of logarithm of surface pressure -'ucln' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 31 ; - } -#Unbalanced component of divergence -'ucdv' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 45 ; - } -#Low vegetation cover -'cvl' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 53 ; - } -#High vegetation cover -'cvh' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 54 ; - } -#Type of low vegetation -'tvl' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 57 ; - } -#Type of high vegetation -'tvh' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 58 ; - } #Sea ice area fraction 'siconc' = { discipline = 10 ; @@ -212,42 +6,6 @@ parameterNumber = 0 ; typeOfFirstFixedSurface = 1 ; } -#Snow density -'rsn' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 61 ; - } -#Sea surface temperature -'sst' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 1 ; - } -#Soil type -'slt' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 0 ; - } -#Direct solar radiation -'dsrp' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 54 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 255 ; - typeOfStatisticalProcessing = 1 ; - } -#Magnitude of turbulent surface stress -'magss' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 58 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } #Maximum 10 metre wind gust since previous post-processing 'fg10' = { discipline = 0 ; @@ -258,109 +16,6 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 2 ; } -#Large-scale precipitation fraction -'lspf' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 36 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Montgomery potential -'mont' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 6 ; - } -#Pressure -'pres' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 0 ; - } -#Downward UV radiation at the surface -'uvb' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 12 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Photosynthetically active radiation at the surface -'par' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 10 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Convective available potential energy -'cape' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Potential vorticity -'pv' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 14 ; - } -#Leaf area index, low vegetation -'lai_lv' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 55 ; - } -#Leaf area index, high vegetation -'lai_hv' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 56 ; - } -#Standard deviation of filtered subgrid orography (climatological) -'sdfor' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 38 ; - typeOfGeneratingProcess = 9 ; - } -#Specific rain water content -'crwc' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 85 ; - } -#Specific snow water content -'cswc' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 86 ; - } -#Eta-coordinate vertical velocity -'etadot' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 32 ; - } -#Total column cloud liquid water -'tclw' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 69 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Total column cloud ice water -'tciw' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 70 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } #Maximum temperature at 2 metres in the last 6 hours 'mx2t6' = { discipline = 0 ; @@ -385,178 +40,6 @@ typeOfStatisticalProcessing = 3 ; lengthOfTimeRange = 6 ; } -#Surface emissivity -'emis' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 62 ; - typeOfFirstFixedSurface = 1 ; - } -#Geopotential -'z' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 4 ; - } -#Temperature -'t' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - } -#U component of wind -'u' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 2 ; - } -#V component of wind -'v' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 3 ; - } -#Specific humidity -'q' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 0 ; - } -#Surface pressure -'sp' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 1 ; - } -#Vertical velocity -'w' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 8 ; - } -#Total column water -'tcw' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 51 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Total column vertically-integrated water vapour -'tcwv' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 64 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Vorticity (relative) -'vo' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 12 ; - } -#Boundary layer dissipation -'bld' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 20 ; - typeOfStatisticalProcessing = 1 ; - } -#Surface sensible heat flux -'sshf' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 11 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Surface latent heat flux -'slhf' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 10 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Charnock -'chnk' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 76 ; - } -#Surface net radiation (SW and LW) -'snr' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 46 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Top net radiation (SW and LW) -'tnr' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 46 ; - typeOfFirstFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Mean sea level pressure -'msl' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 101 ; - } -#Divergence -'d' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 13 ; - } -#Geopotential height -'gh' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 5 ; - } -#Relative humidity -'r' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 1 ; - } -#Boundary layer height -'blh' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 18 ; - } -#Standard deviation of sub-gridscale orography -'sdor' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 20 ; - } -#Anisotropy of sub-gridscale orography -'isor' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 24 ; - } -#Angle of sub-gridscale orography -'anor' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 21 ; - } -#Slope of sub-gridscale orography -'slor' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 22 ; - } #10 metre U wind component 'u10' = { discipline = 0 ; @@ -593,122 +76,6 @@ scaledValueOfFirstFixedSurface = 2 ; scaleFactorOfFirstFixedSurface = 0 ; } -#Surface short-wave (solar) radiation downwards -'ssrd' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 7 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Land-sea mask -'lsm' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 1 ; - } -#Surface roughness (climatological) -'sr' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 1 ; - typeOfGeneratingProcess = 9 ; - } -#Surface long-wave (thermal) radiation downwards -'strd' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 3 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Surface net short-wave (solar) radiation -'ssr' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 9 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Surface net long-wave (thermal) radiation -'str' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 5 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Top net short-wave (solar) radiation -'tsr' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 9 ; - typeOfFirstFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Top net long-wave (thermal) radiation -'ttr' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 5 ; - typeOfFirstFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated eastward turbulent surface stress -'ewss' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 62 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated northward turbulent surface stress -'nsss' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 63 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Sunshine duration -'sund' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 24 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Brightness temperature -'btmp' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 4 ; - } -#Eastward gravity wave surface stress -'lgws' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 16 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Northward gravity wave surface stress -'mgws' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 17 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Gravity wave dissipation -'gwd' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 23 ; - typeOfStatisticalProcessing = 1 ; - } #Maximum temperature at 2 metres since previous post-processing 'mx2t' = { discipline = 0 ; @@ -729,12 +96,6 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 3 ; } -#Ozone mass mixing ratio -'o3' = { - discipline = 0 ; - parameterCategory = 14 ; - parameterNumber = 1 ; - } #10 metre wind speed 'si10' = { discipline = 0 ; @@ -744,192 +105,6 @@ scaledValueOfFirstFixedSurface = 10 ; scaleFactorOfFirstFixedSurface = 0 ; } -#Top net short-wave (solar) radiation, clear sky -'tsrc' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 11 ; - typeOfFirstFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Top net long-wave (thermal) radiation, clear sky -'ttrc' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Surface net short-wave (solar) radiation, clear sky -'ssrc' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 11 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Surface net long-wave (thermal) radiation, clear sky -'strc' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#TOA incident short-wave (solar) radiation -'tisr' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 7 ; - typeOfFirstFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Vertically integrated moisture divergence -'vimd' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 165 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Instantaneous eastward turbulent surface stress -'iews' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 62 ; - typeOfFirstFixedSurface = 1 ; - } -#Instantaneous northward turbulent surface stress -'inss' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 63 ; - typeOfFirstFixedSurface = 1 ; - } -#Instantaneous surface sensible heat flux -'ishf' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 11 ; - typeOfFirstFixedSurface = 1 ; - } -#Instantaneous moisture flux -'ie' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 79 ; - typeOfFirstFixedSurface = 1 ; - } -#Logarithm of surface roughness length for heat (climatological) -'lsrh' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 54 ; - typeOfFirstFixedSurface = 1 ; - typeOfGeneratingProcess = 9 ; - } -#Skin temperature -'skt' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 17 ; - typeOfFirstFixedSurface = 1 ; - } -#Temperature of snow layer -'tsn' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 28 ; - } -#Forecast surface roughness -'fsr' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 1 ; - } -#Forecast logarithm of surface roughness for heat -'flsr' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 54 ; - typeOfFirstFixedSurface = 1 ; - } -#Specific cloud liquid water content -'clwc' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 83 ; - } -#Specific cloud ice water content -'ciwc' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 84 ; - } -#Fraction of cloud cover -'cc' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 32 ; - } -#Large-scale precipitation -'lsp' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 54 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Snow depth -'sde' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 11 ; - } -#Low cloud cover -'lcc' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 3 ; - } -#Medium cloud cover -'mcc' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 4 ; - } -#High cloud cover -'hcc' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 5 ; - } -#Total precipitation of at least 25 mm -'tpg25' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - productDefinitionTemplateNumber = 9 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - scaledValueOfLowerLimit = 25 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Total precipitation of at least 50 mm -'tpg50' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - productDefinitionTemplateNumber = 9 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - scaledValueOfLowerLimit = 50 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } #10 metre wind gust of at least 10 m/s 'fgg1010' = { discipline = 0 ; @@ -944,409 +119,6 @@ scaleFactorOfLowerLimit = 0 ; probabilityType = 3 ; } -#Probability of temperature standardized anomaly greater than 1 standard deviation -'ptsa_gt_1stdev' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - productDefinitionTemplateNumber = 9 ; - typeOfStatisticalProcessing = 10 ; - scaledValueOfLowerLimit = 1 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Probability of temperature standardized anomaly greater than 1.5 standard deviation -'ptsa_gt_1p5stdev' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - productDefinitionTemplateNumber = 9 ; - typeOfStatisticalProcessing = 10 ; - scaledValueOfLowerLimit = 15 ; - scaleFactorOfLowerLimit = 1 ; - probabilityType = 3 ; - } -#Probability of temperature standardized anomaly greater than 2 standard deviation -'ptsa_gt_2stdev' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - productDefinitionTemplateNumber = 9 ; - typeOfStatisticalProcessing = 10 ; - scaledValueOfLowerLimit = 2 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Probability of temperature standardized anomaly less than -1 standard deviation -'ptsa_lt_1stdev' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - productDefinitionTemplateNumber = 9 ; - typeOfStatisticalProcessing = 10 ; - scaledValueOfLowerLimit = -1 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 0 ; - } -#Probability of temperature standardized anomaly less than -1.5 standard deviation -'ptsa_lt_1p5stdev' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - productDefinitionTemplateNumber = 9 ; - typeOfStatisticalProcessing = 10 ; - scaledValueOfLowerLimit = -15 ; - scaleFactorOfLowerLimit = 1 ; - probabilityType = 0 ; - } -#Probability of temperature standardized anomaly less than -2 standard deviation -'ptsa_lt_2stdev' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - productDefinitionTemplateNumber = 9 ; - typeOfStatisticalProcessing = 10 ; - scaledValueOfLowerLimit = -2 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 0 ; - } -#Wave induced mean sea level correction -'weta' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 87 ; - } -#Ratio of wave angular and frequency width -'wraf' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 80 ; - } -#Number of events in freak waves statistics -'wnslc' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 89 ; - } -#U-component of atmospheric surface momentum flux -'utaua' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 17 ; - typeOfFirstFixedSurface = 1 ; - } -#V-component of atmospheric surface momentum flux -'vtaua' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 18 ; - typeOfFirstFixedSurface = 1 ; - } -#U-component of surface momentum flux into ocean -'utauo' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 90 ; - typeOfFirstFixedSurface = 1 ; - } -#V-component of surface momentum flux into ocean -'vtauo' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 91 ; - typeOfFirstFixedSurface = 1 ; - } -#Wave turbulent energy flux into ocean -'wphio' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 92 ; - } -#Wave directional width of first swell partition -'wdw1' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 56 ; - } -#Wave frequency width of first swell partition -'wfw1' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 59 ; - } -#Wave directional width of second swell partition -'wdw2' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 57 ; - } -#Wave frequency width of second swell partition -'wfw2' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 60 ; - } -#Wave directional width of third swell partition -'wdw3' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 58 ; - } -#Wave frequency width of third swell partition -'wfw3' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 61 ; - } -#Wave energy flux magnitude -'wefxm' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 78 ; - } -#Wave energy flux mean direction -'wefxd' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 79 ; - } -#Significant wave height of all waves with periods within the inclusive range from 10 to 12 seconds -'h1012' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - typeOfWavePeriodInterval = 7 ; - scaleFactorOfLowerWavePeriodLimit = 0 ; - scaledValueOfLowerWavePeriodLimit = 10 ; - scaleFactorOfUpperWavePeriodLimit = 0 ; - scaledValueOfUpperWavePeriodLimit = 12 ; - } -#Significant wave height of all waves with periods within the inclusive range from 12 to 14 seconds -'h1214' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - typeOfWavePeriodInterval = 7 ; - scaleFactorOfLowerWavePeriodLimit = 0 ; - scaledValueOfLowerWavePeriodLimit = 12 ; - scaleFactorOfUpperWavePeriodLimit = 0 ; - scaledValueOfUpperWavePeriodLimit = 14 ; - } -#Significant wave height of all waves with periods within the inclusive range from 14 to 17 seconds -'h1417' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - typeOfWavePeriodInterval = 7 ; - scaleFactorOfLowerWavePeriodLimit = 0 ; - scaledValueOfLowerWavePeriodLimit = 14 ; - scaleFactorOfUpperWavePeriodLimit = 0 ; - scaledValueOfUpperWavePeriodLimit = 17 ; - } -#Significant wave height of all waves with periods within the inclusive range from 17 to 21 seconds -'h1721' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - typeOfWavePeriodInterval = 7 ; - scaleFactorOfLowerWavePeriodLimit = 0 ; - scaledValueOfLowerWavePeriodLimit = 17 ; - scaleFactorOfUpperWavePeriodLimit = 0 ; - scaledValueOfUpperWavePeriodLimit = 21 ; - } -#Significant wave height of all waves with periods within the inclusive range from 21 to 25 seconds -'h2125' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - typeOfWavePeriodInterval = 7 ; - scaleFactorOfLowerWavePeriodLimit = 0 ; - scaledValueOfLowerWavePeriodLimit = 21 ; - scaleFactorOfUpperWavePeriodLimit = 0 ; - scaledValueOfUpperWavePeriodLimit = 25 ; - } -#Significant wave height of all waves with periods within the inclusive range from 25 to 30 seconds -'h2530' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - typeOfWavePeriodInterval = 7 ; - scaleFactorOfLowerWavePeriodLimit = 0 ; - scaledValueOfLowerWavePeriodLimit = 25 ; - scaleFactorOfUpperWavePeriodLimit = 0 ; - scaledValueOfUpperWavePeriodLimit = 30 ; - } -#Significant wave height of all waves with period larger than 10s -'sh10' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - typeOfWavePeriodInterval = 3 ; - scaleFactorOfLowerWavePeriodLimit = 0 ; - scaledValueOfLowerWavePeriodLimit = 10 ; - } -#Significant wave height of first swell partition -'swh1' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 47 ; - } -#Mean wave direction of first swell partition -'mwd1' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 53 ; - } -#Mean wave period of first swell partition -'mwp1' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 50 ; - } -#Significant wave height of second swell partition -'swh2' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 48 ; - } -#Mean wave direction of second swell partition -'mwd2' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 54 ; - } -#Mean wave period of second swell partition -'mwp2' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 51 ; - } -#Significant wave height of third swell partition -'swh3' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 49 ; - } -#Mean wave direction of third swell partition -'mwd3' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 55 ; - } -#Mean wave period of third swell partition -'mwp3' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 52 ; - } -#Time domain maximum individual crest height -'tdcmax' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 94 ; - } -#Time domain maximum individual wave height -'tdhmax' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 95 ; - } -#Space time maximum individual crest height -'stcmax' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 96 ; - } -#Space time maximum individual wave height -'sthmax' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 97 ; - } -#Wave Spectral Skewness -'wss' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 77 ; - } -#Free convective velocity over the oceans -'wstar' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 81 ; - } -#Air density over the oceans -'rhoao' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 82 ; - } -#Normalized energy flux into waves -'phiaw' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 83 ; - } -#Normalized energy flux into ocean -'phioc' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 85 ; - } -#Normalized stress into ocean -'tauoc' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 84 ; - } -#Time-mean mean zero-crossing wave period -'avg_mp2' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 28 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean significant height of combined wind waves and swell -'avg_swh' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean peak wave period -'avg_pp1d' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 34 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean mean wave period -'avg_mwp' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 15 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean sea water temperature in the upper 300 m -'mswt300m' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 15 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 300 ; - scaleFactorOfSecondFixedSurface = 0 ; - } -#Total column vertically-integrated water enthalpy -'viwe' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 4 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } #2 metre specific humidity 'sh2' = { discipline = 0 ; @@ -1357,1490 +129,6 @@ scaledValueOfFirstFixedSurface = 2 ; scaleFactorOfFirstFixedSurface = 0 ; } -#Particulate matter d <= 1 um -'pm1' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 0 ; - scaleFactorOfSecondSize = missing() ; - scaledValueOfFirstSize = 1 ; - scaleFactorOfFirstSize = 6 ; - typeOfSizeInterval = 5 ; - aerosolType = 62026 ; - scaledValueOfSecondSize = missing() ; - is_aerosol = 1 ; - } -#Particulate matter d <= 2.5 um -'pm2p5' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 0 ; - scaleFactorOfSecondSize = missing() ; - scaledValueOfFirstSize = 25 ; - scaleFactorOfFirstSize = 7 ; - typeOfSizeInterval = 5 ; - aerosolType = 62026 ; - scaledValueOfSecondSize = missing() ; - is_aerosol = 1 ; - } -#Particulate matter d <= 10 um -'pm10' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 0 ; - scaleFactorOfSecondSize = missing() ; - scaledValueOfFirstSize = 10 ; - scaleFactorOfFirstSize = 6 ; - typeOfSizeInterval = 5 ; - aerosolType = 62026 ; - scaledValueOfSecondSize = missing() ; - is_aerosol = 1 ; - } -#Volcanic sulfur dioxide mass mixing ratio -'VSO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 8 ; - is_chemical_srcsink = 1 ; - sourceSinkChemicalPhysicalProcess = 7 ; - } -#UV visible albedo for diffuse radiation (climatological) -'aluvd_p' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 55 ; - typeOfGeneratingProcess = 9 ; - } -#UV visible albedo for direct radiation (climatological) -'aluvp_p' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 56 ; - typeOfGeneratingProcess = 9 ; - } -#UV visible albedo for direct radiation, geometric component (climatological) -'aluvpg_p' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 57 ; - typeOfGeneratingProcess = 9 ; - } -#UV visible albedo for direct radiation, isotropic component (climatological) -'aluvpi_p' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 58 ; - typeOfGeneratingProcess = 9 ; - } -#UV visible albedo for direct radiation, volumetric component (climatological) -'aluvpv_p' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 59 ; - typeOfGeneratingProcess = 9 ; - } -#Ammonium aerosol mass mixing ratio -'aermr18' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - aerosolType = 62003 ; - is_aerosol = 1 ; - } -#Nitrate aerosol optical depth at 550 nm -'niaod550' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 102 ; - scaleFactorOfFirstWavelength = 8 ; - typeOfSizeInterval = 255 ; - aerosolType = 62004 ; - scaledValueOfFirstWavelength = 55 ; - typeOfWavelengthInterval = 11 ; - is_aerosol_optical = 1 ; - } -#Ammonium aerosol optical depth at 550 nm -'amaod550' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 102 ; - scaleFactorOfFirstWavelength = 8 ; - typeOfSizeInterval = 255 ; - aerosolType = 62003 ; - scaledValueOfFirstWavelength = 55 ; - typeOfWavelengthInterval = 11 ; - is_aerosol_optical = 1 ; - } -#Biogenic secondary organic aerosol mass mixing ratio -'aermr19' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - aerosolType = 62032 ; - is_aerosol = 1 ; - } -#Anthropogenic secondary organic aerosol mass mixing ratio -'aermr20' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - aerosolType = 62033 ; - is_aerosol = 1 ; - } -#Near IR albedo for diffuse radiation (climatological) -'alnid_p' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 9 ; - typeOfGeneratingProcess = 9 ; - } -#Near IR albedo for direct radiation (climatological) -'alnip_p' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 10 ; - typeOfGeneratingProcess = 9 ; - } -#Near IR albedo for direct radiation, geometric component (climatological) -'alnipg_p' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 11 ; - typeOfGeneratingProcess = 9 ; - } -#Near IR albedo for direct radiation, isotropic component (climatological) -'alnipi_p' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 12 ; - typeOfGeneratingProcess = 9 ; - } -#Near IR albedo for direct radiation, volumetric component (climatological) -'alnipv_p' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 13 ; - typeOfGeneratingProcess = 9 ; - } -#Volcanic sulfur dioxide mass mixing ratio increment -'VSO2diff' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 8 ; - typeOfGeneratingProcess = 20 ; - is_chemical_srcsink = 1 ; - sourceSinkChemicalPhysicalProcess = 7 ; - } -#Ammonium aerosol mass mixing ratio -'aermr18diff' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - aerosolType = 62003 ; - typeOfGeneratingProcess = 20 ; - is_aerosol = 1 ; - } -#Biogenic secondary organic aerosol mass mixing ratio increment -'aermr19diff' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - aerosolType = 62032 ; - typeOfGeneratingProcess = 20 ; - is_aerosol = 1 ; - } -#Anthropogenic secondary organic aerosol mass mixing ratio increment -'aermr20diff' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - aerosolType = 62033 ; - typeOfGeneratingProcess = 20 ; - is_aerosol = 1 ; - } -#Dry deposition of ammonium aerosol -'aerddpam' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - aerosolType = 62003 ; - is_aerosol = 1 ; - } -#Sedimentation of ammonium aerosol -'aersdmam' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 11 ; - aerosolType = 62003 ; - is_aerosol = 1 ; - } -#Wet deposition of ammonium aerosol by large-scale precipitation -'aerwdlam' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 9 ; - aerosolType = 62003 ; - is_aerosol = 1 ; - } -#Wet deposition of ammonium aerosol by convective precipitation -'aerwdcam' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 10 ; - aerosolType = 62003 ; - is_aerosol = 1 ; - } -#Vertically integrated mass of ammonium aerosol -'aermssam' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - aerosolType = 62003 ; - is_aerosol = 1 ; - } -#Dry deposition of biogenic secondary organic aerosol -'aerddpsoab' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 12 ; - aerosolType = 62032 ; - is_aerosol = 1 ; - } -#Sedimentation of biogenic secondary organic aerosol -'aersdmsoab' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 11 ; - aerosolType = 62032 ; - is_aerosol = 1 ; - } -#Wet deposition of biogenic secondary organic aerosol by large-scale precipitation -'aerwdlsoab' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 9 ; - aerosolType = 62032 ; - is_aerosol = 1 ; - } -#Wet deposition of biogenic secondary organic aerosol by convective precipitation -'aerwdcsoab' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 10 ; - aerosolType = 62032 ; - is_aerosol = 1 ; - } -#Vertically integrated mass of biogenic secondary organic aerosol -'aermsssoab' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - aerosolType = 62032 ; - is_aerosol = 1 ; - } -#Dry deposition of anthropogenic secondary organic aerosol -'aerddpsoaa' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 12 ; - aerosolType = 62033 ; - is_aerosol = 1 ; - } -#Sedimentation of anthropogenic secondary organic aerosol -'aersdmsoaa' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 11 ; - aerosolType = 62033 ; - is_aerosol = 1 ; - } -#Wet deposition of anthropogenic secondary organic aerosol by large-scale precipitation -'aerwdlsoaa' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 9 ; - aerosolType = 62033 ; - is_aerosol = 1 ; - } -#Wet deposition of anthropogenic secondary organic aerosol by convective precipitation -'aerwdcsoaa' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 10 ; - aerosolType = 62033 ; - is_aerosol = 1 ; - } -#Vertically integrated mass of anthropogenic secondary organic aerosol -'aermsssoaa' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - aerosolType = 62033 ; - is_aerosol = 1 ; - } -#Secondary organic aerosol optical depth at 550 nm -'soaod550' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 102 ; - scaleFactorOfFirstWavelength = 9 ; - aerosolType = 62012 ; - scaledValueOfFirstWavelength = 550 ; - scaledValueOfSecondWavelength = missing() ; - typeOfWavelengthInterval = 11 ; - scaleFactorOfSecondWavelength = missing() ; - is_aerosol_optical = 1 ; - } -#Ammonia mass mixing ratio -'nh3' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 9 ; - is_chemical = 1 ; - } -#Nitrogen monoxide mass mixing ratio -'no' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 11 ; - is_chemical = 1 ; - } -#Aromatic peroxy radical mass mixing ratio -'AROO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 60029 ; - is_chemical = 1 ; - } -#Ethyne mass mixing ratio -'C2H2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 10010 ; - is_chemical = 1 ; - } -#Acetonitrile mass mixing ratio -'CH3CN' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 10007 ; - is_chemical = 1 ; - } -#Methyl peroxy nitrate mass mixing ratio -'CH3O2NO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 10055 ; - is_chemical = 1 ; - } -#Hydrogen cyanide mass mixing ratio -'HCN' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 10006 ; - is_chemical = 1 ; - } -#Hydroperoxy aldehydes type 1 mass mixing ratio -'HPALD1' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 60058 ; - is_chemical = 1 ; - } -#Hydroperoxy aldehydes type 2 mass mixing ratio -'HPALD' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 60059 ; - is_chemical = 1 ; - } -#Isoprene peroxy type B mass mixing ratio -'ISOPBO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 60056 ; - is_chemical = 1 ; - } -#Isoprene peroxy type D mass mixing ratio -'ISOPDO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 60057 ; - is_chemical = 1 ; - } -#Column integrated mass density of Volcanic sulfur dioxide -'tc_VSO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - constituentType = 8 ; - is_chemical_srcsink = 1 ; - sourceSinkChemicalPhysicalProcess = 7 ; - } -#Column integrated mass density of Aromatic peroxy radical -'tc_AROO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - constituentType = 60029 ; - is_chemical = 1 ; - } -#Column integrated mass density of Ethyne -'tc_C2H2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - constituentType = 10010 ; - is_chemical = 1 ; - } -#Column integrated mass density of Acetonitrile -'tc_CH3CN' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - constituentType = 10007 ; - is_chemical = 1 ; - } -#Column integrated mass density of Methyl peroxy nitrate -'tc_CH3O2NO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - constituentType = 10055 ; - is_chemical = 1 ; - } -#Column integrated mass density of Hydrogen cyanide -'tc_HCN' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - constituentType = 10006 ; - is_chemical = 1 ; - } -#Column integrated mass density of Hydroperoxy aldehydes type 1 -'tc_HPALD1' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - constituentType = 60058 ; - is_chemical = 1 ; - } -#Column integrated mass density of Hydroperoxy aldehydes type 2 -'tc_HPALD2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - constituentType = 60059 ; - is_chemical = 1 ; - } -#Column integrated mass density of Isoprene peroxy type B -'tc_ISOPBO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - constituentType = 60056 ; - is_chemical = 1 ; - } -#Column integrated mass density of Isoprene peroxy type D -'tc_ISOPDO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - constituentType = 60057 ; - is_chemical = 1 ; - } -#Atmosphere emission mass flux of Volcanic sulfur dioxide -'e_VSO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 3 ; - constituentType = 8 ; - is_chemical_srcsink = 1 ; - sourceSinkChemicalPhysicalProcess = 7 ; - } -#Atmosphere emission mass flux of Aromatic peroxy radical -'e_AROO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 3 ; - constituentType = 60029 ; - is_chemical = 1 ; - } -#Atmosphere emission mass flux of Ethyne -'e_C2H2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 3 ; - constituentType = 10010 ; - is_chemical = 1 ; - } -#Atmosphere emission mass flux of Acetonitrile -'e_CH3CN' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 3 ; - constituentType = 10007 ; - is_chemical = 1 ; - } -#Atmosphere emission mass flux of Methyl peroxy nitrate -'e_CH3O2NO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 3 ; - constituentType = 10055 ; - is_chemical = 1 ; - } -#Atmosphere emission mass flux of Hydrogen cyanide -'e_HCN' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 3 ; - constituentType = 10006 ; - is_chemical = 1 ; - } -#Atmosphere emission mass flux of Hydroperoxy aldehydes type 1 -'e_HPALD1' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 3 ; - constituentType = 60058 ; - is_chemical = 1 ; - } -#Atmosphere emission mass flux of Hydroperoxy aldehydes type 2 -'e_HPALD2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 3 ; - constituentType = 60059 ; - is_chemical = 1 ; - } -#Atmosphere emission mass flux of Isoprene peroxy type B -'e_ISOPBO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 3 ; - constituentType = 60056 ; - is_chemical = 1 ; - } -#Atmosphere emission mass flux of Isoprene peroxy type D -'e_ISOPDO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 3 ; - constituentType = 60057 ; - is_chemical = 1 ; - } -#Dry deposition velocity of Volcanic sulfur dioxide -'dv_VSO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 15 ; - constituentType = 8 ; - is_chemical_srcsink = 1 ; - sourceSinkChemicalPhysicalProcess = 7 ; - } -#Dry deposition velocity of Aromatic peroxy radical -'dv_AROO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 15 ; - constituentType = 60029 ; - is_chemical = 1 ; - } -#Dry deposition velocity of Ethyne -'dv_C2H2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 15 ; - constituentType = 10010 ; - is_chemical = 1 ; - } -#Dry deposition velocity of Acetonitrile -'dv_CH3CN' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 15 ; - constituentType = 10007 ; - is_chemical = 1 ; - } -#Dry deposition velocity of Methyl peroxy nitrate -'dv_CH3O2NO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 15 ; - constituentType = 10055 ; - is_chemical = 1 ; - } -#Dry deposition velocity of Hydrogen cyanide -'dv_HCN' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 15 ; - constituentType = 10006 ; - is_chemical = 1 ; - } -#Dry deposition velocity of Hydroperoxy aldehydes type 1 -'dv_HPALD1' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 15 ; - constituentType = 60058 ; - is_chemical = 1 ; - } -#Dry deposition velocity of Hydroperoxy aldehydes type 2 -'dv_HPALD2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 15 ; - constituentType = 60059 ; - is_chemical = 1 ; - } -#Dry deposition velocity of Isoprene peroxy type B -'dv_ISOPBO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 15 ; - constituentType = 60056 ; - is_chemical = 1 ; - } -#Dry deposition velocity of Isoprene peroxy type D -'dv_ISOPDO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 15 ; - constituentType = 60057 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Ozone -'acc_dry_depm_O3' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 0 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Hydrogen peroxide -'acc_dry_depm_H2O2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 19 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Carbon monoxide -'acc_dry_depm_CO' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 4 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Nitric acid -'acc_dry_depm_HNO3' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 17 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Methyl peroxide -'acc_dry_depm_CH3OOH' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10002 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Formaldehyde -'acc_dry_depm_HCHO' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 7 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Aldehydes -'acc_dry_depm_ALD2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 60018 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Peroxyacetyl nitrate -'acc_dry_depm_PAN' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10013 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Peroxides -'acc_dry_depm_ROOH' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 60019 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Organic nitrates -'acc_dry_depm_ONIT' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 60020 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Isoprene -'acc_dry_depm_C5H8' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10017 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Sulphur dioxide -'acc_dry_depm_SO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 8 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Ammonia -'acc_dry_depm_NH3' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 9 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Sulfate -'acc_dry_depm_SO4' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 22 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Ammonium -'acc_dry_depm_NH4' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Methyl glyoxal -'acc_dry_depm_CH3COCHO' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10025 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Nitrogen monoxide -'acc_dry_depm_NO' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 11 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Hydroperoxy radical -'acc_dry_depm_HO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 14 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Methylperoxy radical -'acc_dry_depm_CH3O2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10001 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Nitrogen dioxide -'acc_dry_depm_NO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 5 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Nitrate radical -'acc_dry_depm_NO3' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 13 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Dinitrogen pentoxide -'acc_dry_depm_N2O5' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 15 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Pernitric acid -'acc_dry_depm_HO2NO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 18 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Methanol -'acc_dry_depm_CH3OH' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10004 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Formic acid -'acc_dry_depm_HCOOH' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10005 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Methacrylic acid -'acc_dry_depm_MCOOH' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10027 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Ethane -'acc_dry_depm_C2H6' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10008 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Ethanol -'acc_dry_depm_C2H5OH' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10011 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Methacrolein -'acc_dry_depm_ISPD' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10028 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Acetone -'acc_dry_depm_CH3COCH3' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10029 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Nitrous acid -'acc_dry_depm_HONO' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 16 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Glycolaldehyde -'acc_dry_depm_GLYALD' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10033 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Glyoxal -'acc_dry_depm_GLY' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10038 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Hydroxyacetone -'acc_dry_depm_HYAC' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10041 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of all hydroxy-peroxides products of the reaction of hydroxy-isoprene adducts with O2 -'acc_dry_depm_ISOPOOH' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 60032 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Acetonitrile -'acc_dry_depm_CH3CN' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10007 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Hydrogen cyanide -'acc_dry_depm_HCN' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 10006 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Ozone -'acc_wet_depm_O3' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 0 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Hydrogen peroxide -'acc_wet_depm_H2O2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 19 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Nitric acid -'acc_wet_depm_HNO3' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 17 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Methyl peroxide -'acc_wet_depm_CH3OOH' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10002 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Formaldehyde -'acc_wet_depm_HCHO' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 7 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Aldehydes -'acc_wet_depm_ALD2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 60018 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Peroxyacetyl nitrate -'acc_wet_depm_PAN' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10013 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Peroxides -'acc_wet_depm_ROOH' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 60019 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Organic nitrates -'acc_wet_depm_ONIT' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 60020 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Isoprene -'acc_wet_depm_C5H8' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10017 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Sulphur dioxide -'acc_wet_depm_SO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 8 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Ammonia -'acc_wet_depm_NH3' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 9 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Sulfate -'acc_wet_depm_SO4' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 22 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Ammonium -'acc_wet_depm_NH4' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Methane sulfonic acid -'acc_wet_depm_MSA' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10024 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Methyl glyoxal -'acc_wet_depm_CH3COCHO' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10025 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Carbon monoxide -'acc_wet_depm_CO' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 4 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Lead -'acc_wet_depm_Pb' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 30296 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Nitrogen monoxide -'acc_wet_depm_NO' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 11 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Hydroperoxy radical -'acc_wet_depm_HO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 14 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Methylperoxy radical -'acc_wet_depm_CH3O2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10001 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Nitrogen dioxide -'acc_wet_depm_NO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 5 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Nitrate radical -'acc_wet_depm_NO3' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 13 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Dinitrogen pentoxide -'acc_wet_depm_N2O5' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 15 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Pernitric acid -'acc_wet_depm_HO2NO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 18 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Methanol -'acc_wet_depm_CH3OH' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10004 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Formic acid -'acc_wet_depm_HCOOH' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10005 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Methacrylic acid -'acc_wet_depm_MCOOH' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10027 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Ethane -'acc_wet_depm_C2H6' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10008 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Ethanol -'acc_wet_depm_C2H5OH' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10011 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Methacrolein -'acc_wet_depm_ISPD' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10028 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Acetone -'acc_wet_depm_CH3COCH3' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10029 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Chlorine nitrate -'acc_wet_depm_CLONO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 30 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Hypochlorous acid -'acc_wet_depm_HOCL' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 29 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Hydrogen bromide -'acc_wet_depm_HBR' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 35 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Hypobromous acid -'acc_wet_depm_HOBR' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 36 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Nitrous acid -'acc_wet_depm_HONO' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 16 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Toluene and less reactive aromatics -'acc_wet_depm_TOL' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10022 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Xylene and more reactive aromatics -'acc_wet_depm_XYL' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10023 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Glycolaldehyde -'acc_wet_depm_GLYALD' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10033 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Glyoxal -'acc_wet_depm_GLY' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10038 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Hydroxyacetone -'acc_wet_depm_HYAC' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10041 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of all hydroxy-peroxides products of the reaction of hydroxy-isoprene adducts with O2 -'acc_wet_depm_ISOPOOH' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 60032 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Bromine nitrate -'acc_wet_depm_BRONO2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 37 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Hydrogen chloride -'acc_wet_depm_HCL' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 20001 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Acetonitrile -'acc_wet_depm_CH3CN' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10007 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Hydrogen cyanide -'acc_wet_depm_HCN' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10006 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Hydroperoxy aldehydes type 1 -'acc_wet_depm_HPALD1' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10058 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Hydroperoxy aldehydes type 2 -'acc_wet_depm_HPALD2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 10059 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#-10 degrees C isothermal level (atm) -'degm10l' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 20 ; - scaledValueOfFirstFixedSurface = 26315 ; - scaleFactorOfFirstFixedSurface = 2 ; - } -#Total sky direct short-wave (solar) radiation at surface -'fdir' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 13 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Surface direct short-wave radiation, clear sky -'cdir' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 61 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Cloud base height -'cbh' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 11 ; - typeOfFirstFixedSurface = 2 ; - } -#0 degrees C isothermal level (atm) -'deg0l' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 20 ; - scaledValueOfFirstFixedSurface = 27315 ; - scaleFactorOfFirstFixedSurface = 2 ; - } #Maximum 10 metre wind gust in the last 3 hours 'fg310' = { discipline = 0 ; @@ -2853,61 +141,6 @@ typeOfStatisticalProcessing = 2 ; lengthOfTimeRange = 3 ; } -#Instantaneous 10 metre wind gust -'i10fg' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 10 ; - scaleFactorOfFirstFixedSurface = 0 ; - } -#Relative humidity with respect to water -'rhw' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 93 ; - } -#Relative humidity with respect to ice -'rhi' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 94 ; - } -#Snow albedo -'asn' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 19 ; - } -#Fraction of convective precipitation cover -'fcpc' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 37 ; - } -#Maximum CAPE in the last 6 hours -'mxcape6' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 2 ; - lengthOfTimeRange = 6 ; - } -#Maximum CAPES in the last 6 hours -'mxcapes6' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 19 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 2 ; - lengthOfTimeRange = 6 ; - } #2 metre relative humidity with respect to water 'rhw2' = { discipline = 0 ; @@ -2917,387 +150,6 @@ scaledValueOfFirstFixedSurface = 2 ; scaleFactorOfFirstFixedSurface = 0 ; } -#Liquid water content in snow pack -'lwcs' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 23 ; - } -#Convective available potential energy shear -'capes' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 19 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Tropopause pressure -'trpp' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 7 ; - typeOfSecondFixedSurface = 255 ; - } -#Height of convective cloud top -'hcct' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 27 ; - } -#Height of zero-degree wet-bulb temperature -'hwbt0' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 44 ; - } -#Height of one-degree wet-bulb temperature -'hwbt1' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 45 ; - } -#Instantaneous total lightning flash density -'litoti' = { - discipline = 0 ; - parameterCategory = 17 ; - parameterNumber = 4 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Averaged total lightning flash density in the last hour -'litota1' = { - discipline = 0 ; - parameterCategory = 17 ; - parameterNumber = 4 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 0 ; - lengthOfTimeRange = 1 ; - } -#Instantaneous cloud-to-ground lightning flash density -'licgi' = { - discipline = 0 ; - parameterCategory = 17 ; - parameterNumber = 2 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Averaged cloud-to-ground lightning flash density in the last hour -'licga1' = { - discipline = 0 ; - parameterCategory = 17 ; - parameterNumber = 2 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 0 ; - lengthOfTimeRange = 1 ; - } -#Unbalanced component of specific humidity -'ucq' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 118 ; - } -#Unbalanced component of specific cloud liquid water content -'ucclwc' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 119 ; - } -#Unbalanced component of specific cloud ice water content -'ucciwc' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 120 ; - } -#Averaged total lightning flash density in the last 3 hours -'litota3' = { - discipline = 0 ; - parameterCategory = 17 ; - parameterNumber = 4 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 0 ; - lengthOfTimeRange = 3 ; - } -#Averaged total lightning flash density in the last 6 hours -'litota6' = { - discipline = 0 ; - parameterCategory = 17 ; - parameterNumber = 4 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 0 ; - lengthOfTimeRange = 6 ; - } -#Averaged cloud-to-ground lightning flash density in the last 3 hours -'licga3' = { - discipline = 0 ; - parameterCategory = 17 ; - parameterNumber = 2 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 0 ; - lengthOfTimeRange = 3 ; - } -#Averaged cloud-to-ground lightning flash density in the last 6 hours -'licga6' = { - discipline = 0 ; - parameterCategory = 17 ; - parameterNumber = 2 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 0 ; - lengthOfTimeRange = 6 ; - } -#Soil moisture top 20 cm -'sm20' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 19 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - } -#Soil moisture top 100 cm -'sm100' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 19 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 1 ; - scaleFactorOfSecondFixedSurface = 0 ; - } -#Total column supercooled liquid water -'tcslw' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 167 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Total column rain water -'tcrw' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 45 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Total column snow water -'tcsw' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 46 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Ice temperature -'ist' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 6 ; - } -#Soil temperature top 20 cm -'st20' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 18 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - } -#Soil temperature top 100 cm -'st100' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 18 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 1 ; - scaleFactorOfSecondFixedSurface = 0 ; - } -#Atmosphere emission mass flux of Methane from Wetlands -'e_WLCH4' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 3 ; - constituentType = 2 ; - is_chemical_srcsink = 1 ; - sourceSinkChemicalPhysicalProcess = 10 ; - } -#Accumulated mass emission of methane from Wetlands -'acc_e_WLCH4' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 3 ; - constituentType = 2 ; - typeOfStatisticalProcessing = 1 ; - is_chemical_srcsink = 1 ; - sourceSinkChemicalPhysicalProcess = 10 ; - } -#Surface short-wave (solar) radiation downward clear-sky -'ssrdc' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Surface long-wave (thermal) radiation downward clear-sky -'strdc' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 8 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Convective precipitation -'cp' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 37 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Water runoff and drainage -'ro' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 33 ; - } -#Instantaneous large-scale surface precipitation fraction -'ilspf' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 36 ; - typeOfFirstFixedSurface = 1 ; - } -#Convective rain rate -'crr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 76 ; - typeOfFirstFixedSurface = 1 ; - } -#Large scale rain rate -'lsrr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 77 ; - typeOfFirstFixedSurface = 1 ; - } -#Convective snowfall rate water equivalent -'csfr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 55 ; - typeOfFirstFixedSurface = 1 ; - } -#Large scale snowfall rate water equivalent -'lssfr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 56 ; - typeOfFirstFixedSurface = 1 ; - } -#Maximum total precipitation rate since previous post-processing -'mxtpr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 2 ; - } -#Minimum total precipitation rate since previous post-processing -'mntpr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 3 ; - } -#Mixed-layer CAPE in the lowest 50 hPa -'mlcape50' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 18 ; - scaledValueOfFirstFixedSurface = 5000 ; - scaleFactorOfFirstFixedSurface = 0 ; - } -#Mixed-layer CIN in the lowest 50 hPa -'mlcin50' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 7 ; - typeOfFirstFixedSurface = 18 ; - scaledValueOfFirstFixedSurface = 5000 ; - scaleFactorOfFirstFixedSurface = 0 ; - } -#Mixed-layer CAPE in the lowest 100 hPa -'mlcape100' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 18 ; - scaledValueOfFirstFixedSurface = 10000 ; - scaleFactorOfFirstFixedSurface = 0 ; - } -#Mixed-layer CIN in the lowest 100 hPa -'mlcin100' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 7 ; - typeOfFirstFixedSurface = 18 ; - scaledValueOfFirstFixedSurface = 10000 ; - scaleFactorOfFirstFixedSurface = 0 ; - } -#Most-unstable CAPE -'mucape' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 17 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - } -#Most-unstable CIN -'mucin' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 7 ; - typeOfFirstFixedSurface = 17 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - } -#Departure level of the most unstable parcel expressed as Pressure -'mudlp' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 17 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - } #200 metre U wind component 'u200' = { discipline = 0 ; @@ -3334,511 +186,6 @@ scaledValueOfFirstFixedSurface = 100 ; scaleFactorOfFirstFixedSurface = 0 ; } -#Urban cover -'cur' = { - discipline = 2 ; - parameterCategory = 6 ; - parameterNumber = 0 ; - } -#Road Cover -'cro' = { - discipline = 2 ; - parameterCategory = 6 ; - parameterNumber = 1 ; - } -#Building cover -'cbu' = { - discipline = 2 ; - parameterCategory = 6 ; - parameterNumber = 2 ; - } -#Building height -'bldh' = { - discipline = 2 ; - parameterCategory = 6 ; - parameterNumber = 3 ; - } -#Vertical-to-horizontal area ratio -'hwr' = { - discipline = 2 ; - parameterCategory = 6 ; - parameterNumber = 4 ; - } -#Standard deviation of building height -'bhstd' = { - discipline = 2 ; - parameterCategory = 6 ; - parameterNumber = 5 ; - } -#Wetland cover -'cwe' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 45 ; - } -#Wetland type -'twe' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 46 ; - } -#Irrigation cover -'cirr' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 47 ; - } -#C4 crop cover -'c4cr' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 48 ; - } -#C4 grass cover -'c4gr' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 49 ; - } -#Accumulated freezing rain water equivalent -'fzrawe' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 67 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Runoff water equivalent (surface plus subsurface) -'rowe' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 42 ; - typeOfStatisticalProcessing = 1 ; - } -#Snow evaporation water equivalent -'eswe' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 148 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Potential evaporation rate -'pevr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 143 ; - typeOfFirstFixedSurface = 1 ; - } -#Potential evaporation -'peva' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 143 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Tile fraction -'tifr' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 36 ; - } -#Tile percentage -'tipe' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 37 ; - } -#Forecast logarithm of surface roughness length for moisture -'flsrm' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 55 ; - typeOfFirstFixedSurface = 1 ; - } -#Surface runoff rate -'surfror' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 51 ; - typeOfFirstFixedSurface = 1 ; - } -#Surface runoff -'surfro' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 51 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Sub-surface runoff rate -'ssurfror' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - } -#Sub-surface runoff -'ssurfro' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Reflectance in 0.4 micron channel -'rfl04' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 30 ; - } -#Vertical divergence -'vdiv' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 59 ; - } -#Drag thermal coefficient -'dtc' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 60 ; - typeOfFirstFixedSurface = 1 ; - } -#Drag evaporation coefficient -'dec' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 61 ; - typeOfFirstFixedSurface = 1 ; - } -#Pressure departure from hydrostatic state -'pdhs' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 46 ; - } -#Surface net radiation flux (SW and LW) -'snrf' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 46 ; - typeOfFirstFixedSurface = 1 ; - } -#Top net radiation flux (SW and LW) -'tnrf' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 46 ; - typeOfFirstFixedSurface = 8 ; - } -#Time-mean top net radiation flux (SW and LW) -'mtnrf' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 46 ; - typeOfFirstFixedSurface = 8 ; - typeOfStatisticalProcessing = 0 ; - } -#Global irradiance on tilted surfaces -'gits' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 47 ; - } -#Eady growth rate -'eagr' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 22 ; - } -#Tropical cyclones track density -'tdtc' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 4 ; - } -#Canopy air temperature -'cant' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 63 ; - } -#Soil wetness index (total layer) -'swit' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 30 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 151 ; - } -#Soil wetness index (root zone) -'swir' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 30 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 167 ; - } -#Soil wetness index (layer) -'swil' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 30 ; - typeOfFirstFixedSurface = 151 ; - typeOfSecondFixedSurface = 151 ; - } -#Distance downward from roof surface -'ddrf' = { - discipline = 2 ; - parameterCategory = 6 ; - parameterNumber = 6 ; - } -#Distance inward from outer wall surface -'diws' = { - discipline = 2 ; - parameterCategory = 6 ; - parameterNumber = 7 ; - } -#Distance downward from road surface -'ddrd' = { - discipline = 2 ; - parameterCategory = 6 ; - parameterNumber = 8 ; - } -#Renewable power capacity -'rpc' = { - discipline = 20 ; - parameterCategory = 3 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Renewable power production rate -'rppr' = { - discipline = 20 ; - parameterCategory = 3 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Renewable power production -'rpp' = { - discipline = 20 ; - parameterCategory = 3 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Wind power capacity -'wpc' = { - discipline = 20 ; - parameterCategory = 3 ; - parameterNumber = 2 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Wind power production rate -'wppr' = { - discipline = 20 ; - parameterCategory = 3 ; - parameterNumber = 3 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Wind power production -'wpp' = { - discipline = 20 ; - parameterCategory = 3 ; - parameterNumber = 3 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Solar photovoltaic (PV) power capacity -'pvpc' = { - discipline = 20 ; - parameterCategory = 3 ; - parameterNumber = 4 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Solar photovoltaic (PV) power production rate -'pvppr' = { - discipline = 20 ; - parameterCategory = 3 ; - parameterNumber = 5 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Solar photovoltaic (PV) power production -'pvpp' = { - discipline = 20 ; - parameterCategory = 3 ; - parameterNumber = 5 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Graupel (snow pellets) precipitation -'tgrp' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 75 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated total lightning flash density -'litotint' = { - discipline = 0 ; - parameterCategory = 17 ; - parameterNumber = 4 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Maximum total column integrated graupel (snow pellets) -'maxtcg' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 74 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 2 ; - } -#Minimum visibility -'minvis' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 0 ; - typeOfStatisticalProcessing = 3 ; - } -#Geometric height of theta level above ground -'hthg' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 34 ; - typeOfFirstFixedSurface = 107 ; - } -#Pressure at cloud base -'pcdb' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 2 ; - } -#Geometric height of adiabatic condensation level above ground -'hacg' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 34 ; - typeOfFirstFixedSurface = 5 ; - } -#Geometric height of free convection level above ground -'hfcg' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 34 ; - typeOfFirstFixedSurface = 14 ; - } -#Geometric height of neutral buoyancy level above ground -'hnbg' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 34 ; - typeOfFirstFixedSurface = 16 ; - } -#Geometric height of atmospheric isothermal level above ground -'haig' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 34 ; - typeOfFirstFixedSurface = 20 ; - } -#Roof temperature -'rft' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 185 ; - } -#Wall temperature -'wlt' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 186 ; - } -#Road temperature -'rdt' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 187 ; - } -#Snow depth water equivalent on roof -'sdrf' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 60 ; - typeOfFirstFixedSurface = 185 ; - } -#Snow depth water equivalent on road -'sdrd' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 60 ; - typeOfFirstFixedSurface = 187 ; - } -#Urban canyon temperature -'urct' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 187 ; - typeOfSecondFixedSurface = 185 ; - } -#Urban canyon specific humidity -'urcq' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 187 ; - typeOfSecondFixedSurface = 185 ; - } -#Convective snowfall water equivalent -'csfwe' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 55 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Large-scale snowfall water equivalent -'lsfwe' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 56 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Lake surface temperature -'lslt' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 255 ; - } -#Surface bulk Richardson number -'sbrn' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 16 ; - typeOfFirstFixedSurface = 1 ; - } #Time-maximum 2 metre relative humidity 'mx2r' = { discipline = 0 ; @@ -3859,962 +206,6 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 3 ; } -#Surface roughness for heat -'srhe' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 47 ; - typeOfFirstFixedSurface = 1 ; - } -#Surface roughness for moisture -'srmo' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 48 ; - typeOfFirstFixedSurface = 1 ; - } -#Burned area -'fba' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 3 ; - } -#Burning area -'bia' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 20 ; - } -#Burnable area -'baa' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 21 ; - } -#Un-burnable area -'ubaa' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 22 ; - } -#Fuel load -'fuell' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 23 ; - } -#Combustion completeness -'combc' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 24 ; - } -#Fuel moisture content -'fuelmc' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 25 ; - } -#Live leaf fuel load -'llfl' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 27 ; - } -#Live wood fuel load -'lwfl' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 28 ; - } -#Dead leaf fuel load -'dlfl' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 29 ; - } -#Dead wood fuel load -'dwfl' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 30 ; - } -#Live fuel moisture content -'lfmc' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 31 ; - } -#Fine dead leaf moisture content -'fdlmc' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 32 ; - } -#Dense dead leaf moisture content -'ddlmc' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 33 ; - } -#Fine dead wood moisture content -'fdwmc' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 34 ; - } -#Dense dead wood moisture content -'ddwmc' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 35 ; - } -#Time-integrated total column vertically-integrated eastward geopotential flux -'tvige' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 40 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated total column vertically-integrated northward geopotential flux -'tvign' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 41 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated total column vertically-integrated divergence of water geopotential flux -'tviwgd' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 42 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated total column vertically-integrated divergence of geopotential flux -'tvigd' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 43 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated total column vertically-integrated eastward enthalpy flux -'tviee' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 5 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated total column vertically-integrated northward enthalpy flux -'tvien' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated total column vertically-integrated eastward kinetic energy flux -'tvikee' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 9 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated total column vertically-integrated northward kinetic energy flux -'tviken' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 10 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated total column vertically-integrated eastward total energy flux -'tvitee' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 11 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated total column vertically-integrated northward total energy flux -'tviten' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 12 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated total column vertically-integrated divergence of enthalpy flux -'tvied' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 13 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated total column vertically-integrated divergence of kinetic energy flux -'tviked' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 16 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated total column vertically-integrated divergence of total energy flux -'tvited' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 17 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated total column vertically-integrated divergence of water enthalpy flux -'tviwed' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 18 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated divergence of mass flux -'tvimd' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 35 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated eastward mass flux -'tvime' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 36 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated northward mass flux -'tvimn' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 37 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated divergence of water vapour flux -'tviwvd' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 160 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated divergence of cloud liquid water flux -'tviclwd' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 161 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated divergence of cloud ice water flux -'tviciwd' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 162 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated divergence of rain flux -'tvird' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 163 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated divergence of snow flux -'tvisd' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 164 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated eastward water vapour flux -'tviwve' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 150 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated northward water vapour flux -'tviwvn' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 151 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated eastward cloud liquid water flux -'tviclwe' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 152 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated northward cloud liquid water flux -'tviclwn' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 153 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated eastward cloud ice water flux -'tviciwe' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 154 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated northward cloud ice water flux -'tviciwn' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 155 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated eastward rain flux -'tvire' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 156 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated northward rain flux -'tvirn' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 157 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated eastward snow flux -'tvise' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 158 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integrated, vertically integrated northward snow flux -'tvisn' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 159 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 1 ; - } -#Mean temperature tendency due to short-wave radiation -'mttswr' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 22 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean temperature tendency due to long-wave radiation -'mttlwr' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 23 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean temperature tendency due to short-wave radiation, clear sky -'mttswrcs' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 24 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean temperature tendency due to long-wave radiation, clear sky -'mttlwrcs' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 25 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean temperature tendency due to parametrisations -'mttpm' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 26 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean specific humidity tendency due to parametrisations -'mqtpm' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 108 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean eastward wind tendency due to parametrisations -'mutpm' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 39 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean northward wind tendency due to parametrisations -'mvtpm' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 40 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean updraught mass flux -'mumf' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 27 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean downdraught mass flux -'mdmf' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 28 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean updraught detrainment rate -'mudr' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 29 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean downdraught detrainment rate -'mddr' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 30 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean total precipitation flux -'mtpf' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean turbulent diffusion coefficient for heat -'mtdch' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 20 ; - typeOfStatisticalProcessing = 0 ; - } -#Time integral of rain flux -'tirf' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 65 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 255 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integral of surface eastward momentum flux -'tisemf' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 17 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 255 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integral of surface northward momentum flux -'tisnmf' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 18 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 255 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integral of surface latent heat evaporation flux -'tislhef' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 30 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 255 ; - typeOfStatisticalProcessing = 1 ; - } -#Mean surface runoff rate -'msror' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 51 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean sub-surface runoff rate -'mssror' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean surface photosynthetically active radiation flux, clear sky -'msparfcs' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 60 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean snow evaporation rate -'mser' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 148 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean snowmelt rate -'msmr' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 41 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean magnitude of turbulent surface stress -'mmtss' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 58 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean large-scale precipitation fraction -'mlspf' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 36 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean surface downward UV radiation flux -'msdwuvrf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 12 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean surface photosynthetically active radiation flux -'msparf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 10 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean large-scale precipitation rate -'mlspr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 54 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean convective precipitation rate -'mcpr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 37 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean snowfall rate -'msr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 53 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean boundary layer dissipation -'mbld' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 20 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean surface sensible heat flux -'msshf' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 11 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean surface latent heat flux -'mslhf' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 10 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean surface downward short-wave radiation flux -'msdwswrf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 7 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean surface downward long-wave radiation flux -'msdwlwrf' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 3 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean surface net short-wave radiation flux -'msnswrf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 9 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean surface net long-wave radiation flux -'msnlwrf' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 5 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean top net short-wave radiation flux -'mtnswrf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 9 ; - typeOfFirstFixedSurface = 8 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean top net long-wave radiation flux -'mtnlwrf' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 5 ; - typeOfFirstFixedSurface = 8 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean eastward turbulent surface stress -'metss' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 62 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean northward turbulent surface stress -'mntss' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 63 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean evaporation rate -'mer' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 79 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Sunshine duration fraction -'sdf' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 51 ; - typeOfFirstFixedSurface = 1 ; - } -#Mean eastward gravity wave surface stress -'megwss' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 16 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean northward gravity wave surface stress -'mngwss' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 17 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean gravity wave dissipation -'mgwd' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 23 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean runoff rate -'mror' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 42 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean top net short-wave radiation flux, clear sky -'mtnswrfcs' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 11 ; - typeOfFirstFixedSurface = 8 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean top net long-wave radiation flux, clear sky -'mtnlwrfcs' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 8 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean surface net short-wave radiation flux, clear sky -'msnswrfcs' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 11 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean surface net long-wave radiation flux, clear sky -'msnlwrfcs' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean top downward short-wave radiation flux -'mtdwswrf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 7 ; - typeOfFirstFixedSurface = 8 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean vertically integrated moisture divergence -'mvimd' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 165 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean total precipitation rate -'mtpr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean convective snowfall rate -'mcsr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 55 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean large-scale snowfall rate -'mlssr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 56 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean surface direct short-wave radiation flux -'msdrswrf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 13 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean surface direct short-wave radiation flux, clear sky -'msdrswrfcs' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 61 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean surface downward short-wave radiation flux, clear sky -'msdwswrfcs' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean surface downward long-wave radiation flux, clear sky -'msdwlwrfcs' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 8 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean potential evaporation rate -'mper' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 143 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Time integral of surface latent heat sublimation flux -'tislhsf' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 31 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 255 ; - typeOfStatisticalProcessing = 1 ; - } -#Time integral of evapotranspiration flux -'tietrf' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 39 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 255 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-mean evapotranspiration flux -'metrf' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 39 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Time integral of potential evapotranspiration rate -'tipet' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 40 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-mean potential evapotranspiration rate -'mpet' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 40 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean volumetric soil moisture -'mvsw' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 25 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean snow depth water equivalent -'msd' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 60 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean skin temperature -'mskt' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 17 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean snow density -'avg_rsn' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 61 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean low vegetation cover -'avg_cvl' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 53 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean high vegetation cover -'avg_cvh' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 54 ; - typeOfStatisticalProcessing = 0 ; - } #Time-mean sea ice area fraction 'avg_ci' = { discipline = 10 ; @@ -4823,46 +214,6 @@ typeOfFirstFixedSurface = 1 ; typeOfStatisticalProcessing = 0 ; } -#Time-mean sea surface temperature -'avg_sst' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean leaf area index, low vegetation -'avg_lai_lv' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 55 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean leaf area index, high vegetation -'avg_lai_hv' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 56 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean total column liquid water -'avg_tclw' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 69 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean total column cloud ice water -'avg_tciw' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 70 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 0 ; - } #Time-mean 2 metre specific humidity 'avg_2sh' = { discipline = 0 ; @@ -4874,24 +225,6 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 0 ; } -#Time-mean lake mix-layer temperature -'avg_lmlt' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 166 ; - typeOfSecondFixedSurface = 255 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean lake mix-layer depth -'avg_lmld' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 166 ; - typeOfSecondFixedSurface = 255 ; - typeOfStatisticalProcessing = 0 ; - } #Time-mean 2 metre relative humidity 'avg_2r' = { discipline = 0 ; @@ -4902,254 +235,6 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 0 ; } -#Time-mean fraction of snow cover -'avg_fscov' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 121 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean soil temperature -'avg_sot' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 18 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean wind speed -'avg_ws' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean pressure -'avg_pres' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 0 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean potential vorticity -'avg_pv' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 14 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean specific rain water content -'avg_crwc' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 85 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean specific snow water content -'avg_cswc' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 86 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean eta-coordinate vertical velocity -'avg_etadot' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 32 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean soil moisture top 20 cm -'avg_sm20' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 19 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean soil moisture top 100 cm -'avg_sm100' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 19 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 1 ; - scaleFactorOfSecondFixedSurface = 0 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean soil temperature top 20 cm -'avg_st20' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 18 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean soil temperature top 100 cm -'avg_st100' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 18 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 1 ; - scaleFactorOfSecondFixedSurface = 0 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean most-unstable CAPE -'avg_mucape' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 17 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean volumetric soil moisture top 20 cm -'avg_vsw20' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 25 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean volumetric soil moisture top 100 cm -'avg_vsw100' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 25 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 1 ; - scaleFactorOfSecondFixedSurface = 0 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean geopotential -'avg_z' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 4 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean temperature -'avg_t' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean U component of wind -'avg_u' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 2 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean V component of wind -'avg_v' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 3 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean specific humidity -'avg_q' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 0 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean surface pressure -'avg_sp' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean vertical velocity -'avg_w' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 8 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean total column water -'avg_tcw' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 51 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean total column vertically-integrated water vapour -'avg_tcwv' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 64 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean vorticity (relative) -'avg_vo' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 12 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean mean sea level pressure -'avg_msl' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 101 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean divergence -'avg_d' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 13 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean relative humidity -'avg_r' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean boundary layer height -'avg_blh' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 18 ; - typeOfStatisticalProcessing = 0 ; - } #Time-mean 10 metre U wind component 'avg_10u' = { discipline = 0 ; @@ -5180,1775 +265,24 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 0 ; } -#Time-mean ozone mass mixing ratio -'avg_o3' = { - discipline = 0 ; - parameterCategory = 14 ; - parameterNumber = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean temperature of snow layer -'avg_tsn' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 28 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean forecast surface roughness -'avg_fsr' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean forecast logarithm of surface roughness for heat -'avg_flsr' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 54 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean specific cloud liquid water content -'avg_clwc' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 83 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean specific cloud ice water content -'avg_ciwc' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 84 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean fraction of cloud cover -'avg_cc' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 32 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean K index -'avg_kx' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 2 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean total totals index -'avg_totalx' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 4 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean clear air turbulence (CAT) -'avg_cat' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 29 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean discharge from rivers or streams -'avg_dis' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 7 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean soil wetness index (total layer) -'avg_swit' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 30 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 151 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean soil wetness index (root zone) -'avg_swir' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 30 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 167 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean soil wetness index(layer) -'avg_swil' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 30 ; - typeOfFirstFixedSurface = 151 ; - typeOfSecondFixedSurface = 151 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean floodplain depth -'avg_flddep' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 17 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean floodplain flooded fraction -'avg_fldffr' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 18 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean floodplain flooded area -'avg_fldfar' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 19 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean river fraction -'avg_rivfr' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 20 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean river area -'avg_rivar' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 21 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean fraction of river coverage plus river related flooding -'avg_rivcffr' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 22 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean area of river coverage plus river related flooding -'avg_rivcfar' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 23 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-maximum volumetric soil moisture -'max_vsw' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 25 ; - typeOfStatisticalProcessing = 2 ; - } -#Time-maximum most-unstable CAPE -'max_mucape' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 17 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - typeOfStatisticalProcessing = 2 ; - } -#Time-minimum volumetric soil moisture -'min_vsw' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 25 ; - typeOfStatisticalProcessing = 3 ; - } -#Time-minimum most-unstable CAPE -'min_mucape' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 17 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - typeOfStatisticalProcessing = 3 ; - } -#Time-standard-deviation volumetric soil moisture -'std_vsw' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 25 ; - typeOfStatisticalProcessing = 6 ; - } -#Time-standard-deviation most-unstable CAPE -'std_mucape' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 17 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - typeOfStatisticalProcessing = 6 ; - } -#Cross sectional area of flow in channel -'chcross' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 13 ; - } -#Side flow into river channel -'chside' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 10 ; - } -#Discharge from rivers or streams -'dis' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 7 ; - } -#River storage of water -'rivsto' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 11 ; - } -#Floodplain storage of water -'fldsto' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 12 ; - } -#Water fraction -'fldfrc' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 2 ; - } -#Days since last observation -'dslr' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 3 ; - } -#Frost index -'frost' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 24 ; - } -#Depth of water on soil surface -'woss' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 13 ; - } -#Upstream accumulated precipitation -'tpups' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 14 ; - } -#Upstream accumulated snow melt -'smups' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 15 ; - } -#Snow depth at elevation bands -'sd_elev' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 25 ; - } -#Groundwater upper storage -'gwus' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 8 ; - } -#Groundwater lower storage -'gwls' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 9 ; - } -#Lake depth -'lakdph' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 15 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 162 ; - } -#River depth -'rivdph' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 16 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 162 ; - } -#River outflow of water -'rivout' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 17 ; - } -#Floodplain outflow of water -'fldout' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 18 ; - } -#Floodpath outflow of water -'pthflw' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 19 ; - } -#Floodplain depth -'flddep' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 17 ; - } -#Floodplain flooded fraction -'fldffr' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 18 ; - } -#Floodplain flooded area -'fldfar' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 19 ; - } -#River fraction -'rivfr' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 20 ; - } -#River area -'rivar' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 21 ; - } -#Fraction of river coverage plus river related flooding -'rivcffr' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 22 ; - } -#Area of river coverage plus river related flooding -'rivcfar' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 23 ; - } -#Latitude -'lat' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 1 ; - } -#Longitude -'lon' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 2 ; - } -#Latitude on T grid -'tlat' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 1 ; - gridDefinitionTemplateNumber = 101 ; - numberOfGridInReference = 1 ; - } -#Longitude on T grid -'tlon' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 2 ; - gridDefinitionTemplateNumber = 101 ; - numberOfGridInReference = 1 ; - } -#Latitude on U grid -'ulat' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 1 ; - gridDefinitionTemplateNumber = 101 ; - numberOfGridInReference = 2 ; - } -#Longitude on U grid -'ulon' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 2 ; - gridDefinitionTemplateNumber = 101 ; - numberOfGridInReference = 2 ; - } -#Latitude on V grid -'vlat' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 1 ; - gridDefinitionTemplateNumber = 101 ; - numberOfGridInReference = 3 ; - } -#Longitude on V grid -'vlon' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 2 ; - gridDefinitionTemplateNumber = 101 ; - numberOfGridInReference = 3 ; - } -#Latitude on W grid -'wlat' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 1 ; - gridDefinitionTemplateNumber = 101 ; - numberOfGridInReference = 4 ; - } -#Longitude on W grid -'wlon' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 2 ; - gridDefinitionTemplateNumber = 101 ; - numberOfGridInReference = 4 ; - } -#Latitude on F grid -'flat' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 1 ; - gridDefinitionTemplateNumber = 101 ; - numberOfGridInReference = 5 ; - } -#Longitude on F grid -'flon' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 2 ; - gridDefinitionTemplateNumber = 101 ; - numberOfGridInReference = 5 ; - } -#Total column graupel -'tcolg' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 74 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Latent heat net flux -'lhtfl' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 10 ; - } -#Heat index -'heatx' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 12 ; - } -#Wind chill factor -'wcf' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 13 ; - } -#Minimum dew point depression -'mindpd' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 14 ; - } -#Snow phase change heat flux -'snohf' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 16 ; - } -#Vapor pressure -'vapp' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 4 ; - } -#Large scale precipitation (non-convective) -'ncpcp' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 9 ; - } -#Snowfall rate water equivalent -'srweq' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 12 ; - } -#Convective snow -'snoc' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 14 ; - } -#Large scale snow -'snol' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 15 ; - } -#Snow age -'snoag' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 17 ; - } -#Absolute humidity -'absh' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 18 ; - } -#Precipitation type -'ptype' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 19 ; - } -#Integrated liquid water -'iliqw' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 20 ; - } -#Condensate -'tcond' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 21 ; - } -#Cloud mixing ratio -'clwmr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 22 ; - } -#Ice water mixing ratio -'icmr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 23 ; - } -#Rain mixing ratio -'rwmr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 24 ; - } -#Snow mixing ratio -'snmr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 25 ; - } -#Horizontal moisture convergence -'mconv' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 26 ; - } -#Maximum relative humidity -'maxrh' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 27 ; - } -#Maximum absolute humidity -'maxah' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 28 ; - } -#Total snowfall -'asnow' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 57 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Precipitable water category -'pwcat' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 30 ; - } -#Hail -'hail' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 31 ; - } -#Graupel (snow pellets) -'grle' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 32 ; - } -#Categorical rain -'crain' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 33 ; - } -#Categorical freezing rain -'cfrzr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 34 ; - } -#Categorical ice pellets -'cicep' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 35 ; - } -#Categorical snow -'csnow' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 36 ; - } -#Convective precipitation rate -'cprat' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 37 ; - } -#Horizontal moisture divergence -'mdiv' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 38 ; - } -#Percent frozen precipitation -'cpofp' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 39 ; - } -#Potential evaporation -'pevap' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 40 ; - } -#Snow cover -'snowc' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 42 ; - } -#Rain fraction of total cloud water -'frain' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 43 ; - } -#Rime factor -'rime' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 44 ; - } -#Total column integrated rain -'tcolr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 45 ; - } -#Total column integrated snow -'tcols' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 46 ; - } -#Large scale water precipitation (non-convective) -'lswp' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 47 ; - } -#Convective water precipitation -'cwp' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 48 ; - } -#Total water precipitation -'twatp' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 49 ; - } -#Total snow precipitation -'tsnowp' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 66 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Total column water (Vertically integrated total water (vapour + cloud water/ice)) -'tcwat' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 51 ; - } -#Total precipitation rate -'tprate' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - } -#Total snowfall rate water equivalent -'tsrwe' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 53 ; - } -#Large scale precipitation rate -'lsprate' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 54 ; - } -#Total snowfall rate -'tsrate' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 57 ; - } -#Convective snowfall rate -'csrate' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 58 ; - } -#Large scale snowfall rate -'lssrate' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 59 ; - } -#Water equivalent of accumulated snow depth (deprecated) -'sdwe' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 13 ; - } -#Rain precipitation rate -'rprate' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 65 ; - } -#Snow precipitation rate -'sprate' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 66 ; - } -#Freezing rain precipitation rate -'fprate' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 67 ; - } -#Ice pellets precipitation rate -'iprate' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 68 ; - } -#Maximum wind speed -'maxgust' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 21 ; - } -#Wind speed (gust) -'gust' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 22 ; - } -#u-component of wind (gust) -'ugust' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 23 ; - } -#v-component of wind (gust) -'vgust' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 24 ; - } -#Vertical speed shear -'vwsh' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 25 ; - } -#Horizontal momentum flux -'mflx' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 26 ; - } -#U-component storm motion -'ustm' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 27 ; - } -#V-component storm motion -'vstm' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 28 ; - } -#Drag coefficient -'cd' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 29 ; - } -#Frictional velocity -'fricv' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 30 ; - } -#Pressure reduced to MSL -'prmsl' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 1 ; - } -#Altimeter setting -'alts' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 11 ; - } -#Thickness -'thick' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 12 ; - } -#Pressure altitude -'presalt' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 13 ; - } -#Density altitude -'denalt' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 14 ; - } #5-wave geopotential height 'wavh5' = { discipline = 0 ; parameterCategory = 3 ; parameterNumber = 15 ; } -#Zonal flux of gravity wave stress -'u-gwd' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 16 ; - } -#Meridional flux of gravity wave stress -'v-gwd' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 17 ; - } #5-wave geopotential height anomaly 'wava5' = { discipline = 0 ; parameterCategory = 3 ; parameterNumber = 19 ; } -#Net short-wave radiation flux (top of atmosphere) -'nswrt' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 1 ; - } -#Downward short-wave radiation flux -'dswrf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 7 ; - } -#Upward short-wave radiation flux -'uswrf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 8 ; - } -#Net short wave radiation flux -'nswrf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 9 ; - } -#Photosynthetically active radiation -'photar' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 10 ; - } -#Net short-wave radiation flux, clear sky -'nswrfcs' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 11 ; - } -#Downward UV radiation -'dwuvr' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 12 ; - } -#UV index (under clear sky) -'uviucs' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 50 ; - } -#UV index -'uvi' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 51 ; - } -#Net long wave radiation flux (surface) -'nlwrs' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 0 ; - } -#Net long wave radiation flux (top of atmosphere) -'nlwrt' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 1 ; - } -#Downward long-wave radiation flux -'dlwrf' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 3 ; - } -#Upward long-wave radiation flux -'ulwrf' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 4 ; - } -#Net long wave radiation flux -'nlwrf' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 5 ; - } -#Net long-wave radiation flux, clear sky -'nlwrcs' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 6 ; - } -#Cloud Ice -'cice' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 0 ; - } -#Cloud water -'cwat' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 6 ; - } -#Cloud amount -'cdca' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 7 ; - } -#Cloud type -'cdct' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 8 ; - } -#Thunderstorm maximum tops -'tmaxt' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 9 ; - } -#Thunderstorm coverage -'thunc' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 10 ; - } -#Cloud top -'cdct' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 12 ; - } -#Ceiling -'ceil' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 13 ; - } -#Non-convective cloud cover -'cdlyr' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 14 ; - } -#Cloud work function -'cwork' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 15 ; - } -#Convective cloud efficiency -'cuefi' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 16 ; - } -#Total condensate -'tcond' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 17 ; - } -#Total column-integrated cloud water -'tcolw' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 18 ; - } -#Total column-integrated cloud ice -'tcoli' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 19 ; - } -#Total column-integrated condensate -'tcolc' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 20 ; - } -#Ice fraction of total condensate -'fice' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 21 ; - } -#Cloud ice mixing ratio -'cdcimr' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 23 ; - } -#Sunshine -'suns' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 24 ; - } -#Horizontal extent of cumulonimbus (CB) -'p260120' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 25 ; - } -#K index -'kx' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 2 ; - } -#KO index -'kox' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 3 ; - } -#Total totals index -'totalx' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 4 ; - } -#Sweat index -'sx' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 5 ; - } -#Storm relative helicity -'hlcy' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 8 ; - } -#Energy helicity index -'ehlx' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 9 ; - } -#Surface lifted index -'lftx' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 10 ; - } #Best (4-layer) lifted index 'lftx4' = { discipline = 0 ; parameterCategory = 7 ; parameterNumber = 11 ; } -#Aerosol type -'aerot' = { - discipline = 0 ; - parameterCategory = 13 ; - parameterNumber = 0 ; - } -#Total ozone -'tozne' = { - discipline = 0 ; - parameterCategory = 14 ; - parameterNumber = 0 ; - } -#Total column integrated ozone -'tcioz' = { - discipline = 0 ; - parameterCategory = 14 ; - parameterNumber = 2 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Base spectrum width -'bswid' = { - discipline = 0 ; - parameterCategory = 15 ; - parameterNumber = 0 ; - } -#Base reflectivity -'bref' = { - discipline = 0 ; - parameterCategory = 15 ; - parameterNumber = 1 ; - } -#Base radial velocity -'brvel' = { - discipline = 0 ; - parameterCategory = 15 ; - parameterNumber = 2 ; - } -#Vertically-integrated liquid -'veril' = { - discipline = 0 ; - parameterCategory = 15 ; - parameterNumber = 3 ; - } -#Layer-maximum base reflectivity -'lmaxbr' = { - discipline = 0 ; - parameterCategory = 15 ; - parameterNumber = 4 ; - } -#Precipitation -'prec' = { - discipline = 0 ; - parameterCategory = 15 ; - parameterNumber = 5 ; - } -#Air concentration of Caesium 137 -'acces' = { - discipline = 0 ; - parameterCategory = 18 ; - parameterNumber = 0 ; - } -#Air concentration of Iodine 131 -'aciod' = { - discipline = 0 ; - parameterCategory = 18 ; - parameterNumber = 1 ; - } -#Air concentration of radioactive pollutant -'acradp' = { - discipline = 0 ; - parameterCategory = 18 ; - parameterNumber = 2 ; - } -#Ground deposition of Caesium 137 -'gdces' = { - discipline = 0 ; - parameterCategory = 18 ; - parameterNumber = 3 ; - } -#Ground deposition of Iodine 131 -'gdiod' = { - discipline = 0 ; - parameterCategory = 18 ; - parameterNumber = 4 ; - } -#Ground deposition of radioactive pollutant -'gdradp' = { - discipline = 0 ; - parameterCategory = 18 ; - parameterNumber = 5 ; - } -#Time-integrated air concentration of caesium pollutant -'tiaccp' = { - discipline = 0 ; - parameterCategory = 18 ; - parameterNumber = 6 ; - } -#Time-integrated air concentration of iodine pollutant -'tiacip' = { - discipline = 0 ; - parameterCategory = 18 ; - parameterNumber = 7 ; - } -#Time-integrated air concentration of radioactive pollutant -'tiacrp' = { - discipline = 0 ; - parameterCategory = 18 ; - parameterNumber = 8 ; - } -#Volcanic ash -'volash' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 4 ; - } -#Icing top -'icit' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 5 ; - } -#Icing base -'icib' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 6 ; - } -#Icing -'ici' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 7 ; - } -#Turbulence top -'turbt' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 8 ; - } -#Turbulence base -'turbb' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 9 ; - } -#Turbulence -'turb' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 10 ; - } -#Turbulent kinetic energy -'tke' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 11 ; - } -#Planetary boundary layer regime -'pblreg' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 12 ; - } -#Contrail intensity -'conti' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 13 ; - } -#Contrail engine type -'contet' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 14 ; - } -#Contrail top -'contt' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 15 ; - } -#Contrail base -'contb' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 16 ; - } -#Maximum snow albedo -'mxsalb' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 17 ; - } -#Snow free albedo -'snfalb' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 18 ; - } -#Icing -'p260151' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 20 ; - } -#In-cloud turbulence -'p260164' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 21 ; - } -#Relative clear air turbulence (RCAT) -'rcat' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 22 ; - } -#Supercooled large droplet probability (see Note 4) -'p260166' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 23 ; - } -#Arbitrary text string -'var190m0' = { - discipline = 0 ; - parameterCategory = 190 ; - parameterNumber = 0 ; - } -#Seconds prior to initial reference time (defined in Section 1) -'tsec' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 0 ; - } -#Flash flood guidance (Encoded as an accumulation over a floating subinterval of time between the ref -'ffldg' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - } -#Flash flood runoff (Encoded as an accumulation over a floating subinterval of time) -'ffldro' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 1 ; - } -#Remotely sensed snow cover -'rssc' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 2 ; - } -#Elevation of snow covered terrain -'esct' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - } -#Snow water equivalent percent of normal -'swepon' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 4 ; - } -#Baseflow-groundwater runoff -'bgrun' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 5 ; - } -#Storm surface runoff -'ssrun' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 6 ; - } -#Conditional percent precipitation amount fractile for an overall period (Encoded as an accumulation) -'cppop' = { - discipline = 1 ; - parameterCategory = 1 ; - parameterNumber = 0 ; - } -#Percent precipitation in a sub-period of an overall period (Encoded as per cent accumulation over th -'pposp' = { - discipline = 1 ; - parameterCategory = 1 ; - parameterNumber = 1 ; - } -#Probability of 0.01 inch of precipitation (POP) -'pop' = { - discipline = 1 ; - parameterCategory = 1 ; - parameterNumber = 2 ; - } -#Vegetation -'veg' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 4 ; - } -#Water runoff -'watr' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 5 ; - } -#Evapotranspiration -'evapt' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 6 ; - } -#Model terrain height -'mterh' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 7 ; - } -#Land use -'landu' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 8 ; - } -#Ground heat flux -'gflux' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 10 ; - } -#Moisture availability -'mstav' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 11 ; - } -#Exchange coefficient -'sfexc' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 12 ; - } -#Plant canopy surface water -'cnwat' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 13 ; - } -#Blackadar mixing length scale -'bmixl' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 14 ; - } -#Canopy conductance -'ccond' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 15 ; - } -#Minimal stomatal resistance -'rsmin' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 16 ; - } -#Solar parameter in canopy conductance -'rcs' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 18 ; - } -#Temperature parameter in canopy conductance -'rct' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 19 ; - } -#Soil moisture parameter in canopy conductance -'rcsol' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 20 ; - } -#Humidity parameter in canopy conductance -'rcq' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 21 ; - } -#Column-integrated soil water -'cisoilw' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 23 ; - } -#Heat flux -'hflux' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 24 ; - } -#Volumetric soil moisture -'vsw' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 25 ; - } -#Volumetric wilting point -'vwiltm' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 27 ; - } -#Number of soil layers in root zone -'rlyrs' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 6 ; - } -#Liquid volumetric soil moisture (non-frozen) -'liqvsm' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 10 ; - } -#Volumetric transpiration stress-onset (soil moisture) -'voltso' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 11 ; - } -#Transpiration stress-onset (soil moisture) -'transo' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 12 ; - } -#Volumetric direct evaporation cease (soil moisture) -'voldec' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 13 ; - } -#Direct evaporation cease (soil moisture) -'direc' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 14 ; - } -#Soil porosity -'soilp' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 15 ; - } -#Volumetric saturation of soil moisture -'vsosm' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 16 ; - } -#Saturation of soil moisture -'satosm' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 17 ; - } -#Estimated precipitation -'estp' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 0 ; - } -#Instantaneous rain rate -'irrate' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 1 ; - } -#Cloud top height -'ctoph' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 2 ; - } -#Cloud top height quality indicator -'ctophqi' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 3 ; - } -#Estimated u component of wind -'estu' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 4 ; - } -#Estimated v component of wind -'estv' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 5 ; - } -#Number of pixels used -'npixu' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 6 ; - } -#Solar zenith angle -'solza' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 7 ; - } -#Relative azimuth angle -'raza' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 8 ; - } -#Reflectance in 0.6 micron channel -'rfl06' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 9 ; - } -#Reflectance in 0.8 micron channel -'rfl08' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 10 ; - } -#Reflectance in 1.6 micron channel -'rfl16' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 11 ; - } -#Reflectance in 3.9 micron channel -'rfl39' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 12 ; - } -#Atmospheric divergence -'atmdiv' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 13 ; - } -#Direction of wind waves -'wvdir' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 4 ; - } -#Primary wave direction -'dirpw' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 10 ; - } -#Primary wave mean period -'perpw' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 11 ; - } -#Secondary wave mean period -'persw' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 13 ; - } -#Current direction -'dirc' = { - discipline = 10 ; - parameterCategory = 1 ; - parameterNumber = 0 ; - } -#Current speed -'spc' = { - discipline = 10 ; - parameterCategory = 1 ; - parameterNumber = 1 ; - } -#Geometric vertical velocity -'wz' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 9 ; - } -#Seconds prior to initial reference time (defined in Section 1) -'tsec' = { - discipline = 10 ; - parameterCategory = 191 ; - parameterNumber = 0 ; - } #2 metre relative humidity 'r2' = { discipline = 0 ; @@ -6958,32 +292,6 @@ scaledValueOfFirstFixedSurface = 2 ; scaleFactorOfFirstFixedSurface = 0 ; } -#Apparent temperature -'aptmp' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 21 ; - } -#Haines Index -'hindex' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 2 ; - } -#Cloud cover -'ccl' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 22 ; - } -#Evaporation -'eva' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 79 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } #10 metre wind direction 'wdir10' = { discipline = 0 ; @@ -6993,440 +301,6 @@ scaledValueOfFirstFixedSurface = 10 ; scaleFactorOfFirstFixedSurface = 0 ; } -#Direct short wave radiation flux -'dirswrf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 13 ; - } -#Diffuse short wave radiation flux -'difswrf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - } -#Fraction of snow cover -'fscov' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 121 ; - } -#Clear air turbulence (CAT) -'cat' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 29 ; - } -#Mountain wave turbulence (eddy dissipation rate) -'mwt' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 28 ; - } -#Specific rain water content (convective) -'crwc_conv' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 144 ; - } -#Specific snow water content (convective) -'cswc_conv' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 145 ; - } -#Glacier mask -'glm' = { - discipline = 2 ; - parameterCategory = 5 ; - parameterNumber = 0 ; - } -#Precipitation type (most severe) in the last 1 hour -'ptype_sev1h' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 19 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 100 ; - lengthOfTimeRange = 1 ; - } -#Precipitation type (most severe) in the last 3 hours -'ptype_sev3h' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 19 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 100 ; - lengthOfTimeRange = 3 ; - } -#Precipitation type (most frequent) in the last 1 hour -'ptype_freq1h' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 19 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 101 ; - lengthOfTimeRange = 1 ; - } -#Precipitation type (most frequent) in the last 3 hours -'ptype_freq3h' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 19 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 101 ; - lengthOfTimeRange = 3 ; - } -#Precipitation type (most severe) in the last 6 hours -'ptype_sev6h' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 19 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 100 ; - lengthOfTimeRange = 6 ; - } -#Precipitation type (most frequent) in the last 6 hours -'ptype_freq6h' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 19 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 101 ; - lengthOfTimeRange = 6 ; - } -#Soil temperature -'sot' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 18 ; - } -#Downward short-wave radiation flux, clear sky -'dswrf_cs' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 52 ; - } -#Upward short-wave radiation flux, clear sky -'uswrf_cs' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 53 ; - } -#Downward long-wave radiation flux, clear sky -'dlwrf_cs' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 8 ; - } -#Soil heat flux -'sohf' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 26 ; - } -#Percolation rate -'percr' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 16 ; - } -#Soil depth -'sod' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 27 ; - } -#Soil moisture -'som' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 19 ; - } -#Leaf Area Index -'lai' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 28 ; - typeOfFirstFixedSurface = 1 ; - } -#Accumulated surface upward short-wave radiation flux, clear sky -'auswrf_cs' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 53 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Percolation -'perc' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 16 ; - typeOfFirstFixedSurface = 177 ; - typeOfStatisticalProcessing = 1 ; - } -#Evapotranspiration rate -'et' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 39 ; - } -#Potential evapotranspiration rate -'pet' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 40 ; - } -#Water runoff and drainage rate -'rod' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 42 ; - } -#Snow melt rate -'smr' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 41 ; - } -#Forecast albedo -'al' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 1 ; - } -#Cloudy brightness temperature -'clbt' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 14 ; - } -#Clear-sky brightness temperature -'csbt' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 15 ; - } -#Cloudy reflectance -'cdrfl' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 31 ; - } -#Clear reflectance -'crrfl' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 32 ; - } -#Scaled radiance -'p260530' = { - discipline = 3 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - } -#Scaled albedo -'p260531' = { - discipline = 3 ; - parameterCategory = 0 ; - parameterNumber = 1 ; - } -#Scaled brightness temperature -'p260532' = { - discipline = 3 ; - parameterCategory = 0 ; - parameterNumber = 2 ; - } -#Scaled precipitable water -'p260533' = { - discipline = 3 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - } -#Scaled lifted index -'p260534' = { - discipline = 3 ; - parameterCategory = 0 ; - parameterNumber = 4 ; - } -#Scaled cloud top pressure -'p260535' = { - discipline = 3 ; - parameterCategory = 0 ; - parameterNumber = 5 ; - } -#Scaled skin temperature -'p260536' = { - discipline = 3 ; - parameterCategory = 0 ; - parameterNumber = 6 ; - } -#Cloud mask -'p260537' = { - discipline = 3 ; - parameterCategory = 0 ; - parameterNumber = 7 ; - } -#Pixel scene type -'p260538' = { - discipline = 3 ; - parameterCategory = 0 ; - parameterNumber = 8 ; - } -#Fire detection indicator -'p260539' = { - discipline = 3 ; - parameterCategory = 0 ; - parameterNumber = 9 ; - } -#Forest fire weather index (as defined by the Canadian Forest Service) -'fwinx' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 5 ; - } -#Fine fuel moisture code (as defined by the Canadian Forest Service) -'ffmcode' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 6 ; - } -#Duff moisture code (as defined by the Canadian Forest Service) -'dufmcode' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 7 ; - } -#Drought code (as defined by the Canadian Forest Service) -'drtcode' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 8 ; - } -#Initial fire spread index (as defined by the Canadian Forest Service) -'infsinx' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 9 ; - } -#Fire buildup index (as defined by the Canadian Forest Service) -'fbupinx' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 10 ; - } -#Fire daily severity rating (as defined by the Canadian Forest Service) -'fdsrte' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 11 ; - } -#Cloudy radiance (with respect to wave number) -'p260550' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 16 ; - } -#Clear-sky radiance (with respect to wave number) -'p260551' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 17 ; - } -#Wind speed -'p260552' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 19 ; - } -#Aerosol optical thickness at 0.635 um -'p260553' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 20 ; - } -#Aerosol optical thickness at 0.810 um -'p260554' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 21 ; - } -#Aerosol optical thickness at 1.640 um -'p260555' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 22 ; - } -#Angstrom coefficient -'p260556' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 23 ; - } -#Keetch-Byram drought index -'kbdi' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 12 ; - } -#Drought factor (as defined by the Australian forest service) -'drtmrk' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 13 ; - } -#Rate of spread (as defined by the Australian forest service) -'rosmrk' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - } -#Fire danger index (as defined by the Australian forest service) -'fdimrk' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 15 ; - } -#Spread component (as defined by the U.S Forest Service National Fire-Danger Rating System) -'scnfdr' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 16 ; - } -#Burning index (as defined by the U.S Forest Service National Fire-Danger Rating System) -'buinfdr' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 17 ; - } -#Ignition component (as defined by the U.S Forest Service National Fire-Danger Rating System) -'icnfdr' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 18 ; - } -#Energy release component (as defined by the U.S Forest Service National Fire-Danger Rating System) -'ercnfdr' = { - discipline = 2 ; - parameterCategory = 4 ; - parameterNumber = 19 ; - } -#Volumetric soil ice -'vsi' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 38 ; - } -#Time integral of total solid precipitation flux -'titspf' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 128 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 255 ; - typeOfStatisticalProcessing = 1 ; - } #10 metre eastward wind gust since previous post-processing 'efg10' = { discipline = 0 ; @@ -7449,1218 +323,6 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 2 ; } -#Fog -'fog' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 50 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 255 ; - } -#Time-integrated eastward turbulent surface stress due to orographic form drag -'etssofd' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 64 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated northward turbulent surface stress due to orographic form drag -'ntssofd' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 65 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated eastward turbulent surface stress due to surface roughness -'etsssr' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 66 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated northward turbulent surface stress due to surface roughness -'ntsssr' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 67 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Saturation specific humidity with respect to water -'sqw' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 168 ; - } -#Total column integrated saturation specific humidity with respect to water -'tcsqw' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 169 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Standardised Precipitation Index (SPI) -'spi' = { - discipline = 0 ; - parameterCategory = 22 ; - parameterNumber = 0 ; - } -#Standardised Precipitation Evapotranspiration Index (SPEI) -'spei' = { - discipline = 0 ; - parameterCategory = 22 ; - parameterNumber = 1 ; - } -#Standardised Streamflow Index (SSFI) -'ssfi' = { - discipline = 0 ; - parameterCategory = 22 ; - parameterNumber = 2 ; - } -#Standardised Reservoir Supply Index (SRSI) -'srsi' = { - discipline = 0 ; - parameterCategory = 22 ; - parameterNumber = 3 ; - } -#Standardised Water-level Index (SWI) -'swi' = { - discipline = 0 ; - parameterCategory = 22 ; - parameterNumber = 4 ; - } -#Standardised Snowmelt and Rain Index (SMRI) -'smri' = { - discipline = 0 ; - parameterCategory = 22 ; - parameterNumber = 5 ; - } -#Streamflow Drought Index (SDI) -'sdi' = { - discipline = 0 ; - parameterCategory = 22 ; - parameterNumber = 6 ; - } -#Volumetric soil moisture top 20 cm -'vsw20' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 25 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - } -#Volumetric soil moisture top 100 cm -'vsw100' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 25 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 1 ; - scaleFactorOfSecondFixedSurface = 0 ; - } -#Universal thermal climate index -'utci' = { - discipline = 20 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - } -#Mean radiant temperature -'mrt' = { - discipline = 20 ; - parameterCategory = 0 ; - parameterNumber = 1 ; - } -#Fraction of Malaria cases -'mal_cases_frac' = { - discipline = 20 ; - parameterCategory = 1 ; - parameterNumber = 0 ; - } -#Malaria circumsporozoite protein ratio -'mal_prot_ratio' = { - discipline = 20 ; - parameterCategory = 1 ; - parameterNumber = 1 ; - } -#Plasmodium falciparum entomological inoculation rate -'mal_innoc_rate' = { - discipline = 20 ; - parameterCategory = 1 ; - parameterNumber = 2 ; - } -#Human bite rate by anopheles vectors -'mal_hbite_rate' = { - discipline = 20 ; - parameterCategory = 1 ; - parameterNumber = 3 ; - } -#Malaria immunity ratio -'mal_immun_ratio' = { - discipline = 20 ; - parameterCategory = 1 ; - parameterNumber = 4 ; - } -#Falciparum parasite ratio -'mal_infect_ratio' = { - discipline = 20 ; - parameterCategory = 1 ; - parameterNumber = 5 ; - } -#Detectable falciparum parasite ratio (after day 10) -'mal_infect_d10_ratio' = { - discipline = 20 ; - parameterCategory = 1 ; - parameterNumber = 6 ; - } -#Anopheles vector to host ratio -'mal_host_ratio' = { - discipline = 20 ; - parameterCategory = 1 ; - parameterNumber = 7 ; - } -#Anopheles vector density -'mal_vect_dens' = { - discipline = 20 ; - parameterCategory = 1 ; - parameterNumber = 8 ; - } -#Fraction of malarial vector reproductive habitat -'mal_hab_frac' = { - discipline = 20 ; - parameterCategory = 1 ; - parameterNumber = 9 ; - } -#Population density -'pop_dens' = { - discipline = 20 ; - parameterCategory = 2 ; - parameterNumber = 0 ; - } -#Wet bulb globe temperature -'wbgt' = { - discipline = 20 ; - parameterCategory = 0 ; - parameterNumber = 2 ; - } -#Globe temperature -'gt' = { - discipline = 20 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - } -#Humidex -'hmdx' = { - discipline = 20 ; - parameterCategory = 0 ; - parameterNumber = 4 ; - } -#Effective temperature -'efft' = { - discipline = 20 ; - parameterCategory = 0 ; - parameterNumber = 5 ; - } -#Normal effective temperature -'nefft' = { - discipline = 20 ; - parameterCategory = 0 ; - parameterNumber = 6 ; - } -#Standard effective temperature -'sefft' = { - discipline = 20 ; - parameterCategory = 0 ; - parameterNumber = 7 ; - } -#Physiological equivalent temperature -'peqt' = { - discipline = 20 ; - parameterCategory = 0 ; - parameterNumber = 8 ; - } -#Saturation water vapour pressure -'swvp' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 32 ; - } -#Wet-bulb potential temperature -'wbpt' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 32 ; - } -#Sea ice thickness -'sithick' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - } -#Sea ice area fraction -'siconc' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Eastward sea ice velocity -'siue' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 4 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Northward sea ice velocity -'sivn' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 5 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Sea ice albedo -'sialb' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Sea ice surface temperature -'sitemptop' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 8 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Sea ice growth -'sigrowth' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Sea ice volume per unit area -'sivol' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 15 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Snow volume over sea ice per unit area -'snvol' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 16 ; - typeOfFirstFixedSurface = 173 ; - typeOfSecondFixedSurface = 175 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Vertically averaged sea ice temperature -'vasit' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 8 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Snow temperature over sea ice -'sntemp' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 13 ; - typeOfFirstFixedSurface = 173 ; - typeOfSecondFixedSurface = 175 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Sea ice temperature at the sea ice and snow interface -'sisntemp' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 8 ; - typeOfFirstFixedSurface = 175 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Underside ice temperature -'usitemp' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 8 ; - typeOfFirstFixedSurface = 176 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Sea ice heat content -'sihc' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 17 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Snow heat content over sea ice -'snhc' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 18 ; - typeOfFirstFixedSurface = 173 ; - typeOfSecondFixedSurface = 175 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Sea ice freeboard thickness -'sifbr' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 19 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = 0 ; - scaleFactorOfSecondFixedSurface = 0 ; - } -#Sea ice melt pond fraction -'sipf' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 20 ; - typeOfFirstFixedSurface = 188 ; - typeOfSecondFixedSurface = 189 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Sea ice melt pond depth -'sipd' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 21 ; - typeOfFirstFixedSurface = 188 ; - typeOfSecondFixedSurface = 189 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Sea ice melt pond volume per unit area -'sipvol' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 188 ; - typeOfSecondFixedSurface = 189 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Sea ice fraction tendency due to parameterization -'bckinsic' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 23 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#X-component of sea ice velocity -'six' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 24 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Y-component of sea ice velocity -'siy' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 25 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Sea ice temperature -'sit' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 8 ; - } -#Sea surface practical salinity -'sos' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 3 ; - } -#Sea surface temperature -'tos' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Depth of 14 C isotherm -'t14d' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 20 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 28715 ; - scaleFactorOfFirstFixedSurface = 2 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Depth of 17 C isotherm -'t17d' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 20 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 29015 ; - scaleFactorOfFirstFixedSurface = 2 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Depth of 20 C isotherm -'t20d' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 20 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 29315 ; - scaleFactorOfFirstFixedSurface = 2 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Depth of 26 C isotherm -'t26d' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 20 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 29915 ; - scaleFactorOfFirstFixedSurface = 2 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Depth of 28 C isotherm -'t28d' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 20 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 30115 ; - scaleFactorOfFirstFixedSurface = 2 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Barotropic stream function -'stfbarot' = { - discipline = 10 ; - parameterCategory = 191 ; - parameterNumber = 4 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 5 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Surface downward heat flux -'hfds' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 4 ; - } -#Northward surface stress -'tauvon' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 6 ; - } -#Eastward surface stress -'tauuoe' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 5 ; - } -#Y-component of surface stress -'tauvo' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 8 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#X-component of surface stress -'tauuo' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 7 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Ocean mixed layer depth defined by sigma theta 0.01 kg m-3 -'mlotst010' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 169 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 1 ; - scaleFactorOfFirstFixedSurface = 2 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Ocean mixed layer depth defined by sigma theta 0.03 kg m-3 -'mlotst030' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 169 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 3 ; - scaleFactorOfFirstFixedSurface = 2 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Ocean mixed layer depth defined by sigma theta 0.125 kg m-3 -'mlotst125' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 169 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 125 ; - scaleFactorOfFirstFixedSurface = 3 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Ocean mixed layer depth defined by temperature 0.2 C -'mlott02' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 170 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 1 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Ocean mixed layer depth defined by temperature 0.5 C -'mlott05' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 170 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 5 ; - scaleFactorOfFirstFixedSurface = 1 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Average sea water practical salinity in the upper 300 m -'sc300m' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 21 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 300 ; - scaleFactorOfSecondFixedSurface = 0 ; - } -#Average sea water practical salinity in the upper 700 m -'sc700m' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 21 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 700 ; - scaleFactorOfSecondFixedSurface = 0 ; - } -#Total column average sea water practical salinity -'scbtm' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 21 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 9 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Vertically-integrated heat content in the upper 300 m -'hc300m' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 300 ; - scaleFactorOfSecondFixedSurface = 0 ; - } -#Vertically-integrated heat content in the upper 700 m -'hc700m' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 700 ; - scaleFactorOfSecondFixedSurface = 0 ; - } -#Total column of heat content -'hcbtm' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 9 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Sea surface height -'zos' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 1 ; - } -#Steric change in sea surface height -'stheig' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 11 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Halosteric change in sea surface height -'hstheig' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 10 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Thermosteric change in sea surface height -'tstheig' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 9 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Thermocline depth -'thcline' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Bottom pressure equivalent height -'btp' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 29 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 9 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Net surface upward water flux -'swfup' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 13 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Fresh water flux into sea water (from rivers) -'fw2sw' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 30 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Virtual salt flux into sea water -'vsf2sw' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 32 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Heat flux correction -'hfcorr' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 18 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Fresh water flux correction -'fwcorr' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 31 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Virtual salt flux correction -'vsfcorr' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 33 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Turbocline depth (kz=5e-4) -'turbocl' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 171 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 5 ; - scaleFactorOfFirstFixedSurface = 4 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Y-component of surface sea water velocity -'svy' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 17 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#X-component of surface sea water velocity -'svx' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 16 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Northward surface sea water velocity -'svn' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 15 ; - } -#Eastward surface sea water velocity -'sve' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 14 ; - } -#Heat Content surface to 26C isotherm -'hct26' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 20 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 29915 ; - scaleFactorOfSecondFixedSurface = 2 ; - } -#Sea surface height tendency due to parameterization -'bckineta' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 19 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Sea surface height with inverse barometer correction -'zosib' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 20 ; - } -#Average sea water potential temperature in the upper 300m -'pt300m' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 18 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 300 ; - scaleFactorOfSecondFixedSurface = 0 ; - } -#Sea surface salinity -'sss' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 21 ; - } -#Vertically integrated sea water practical salinity in the upper 300 m -'sc300v' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 50 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 300 ; - scaleFactorOfSecondFixedSurface = 0 ; - } -#Vertically integrated sea water practical salinity in the upper 700 m -'sc700v' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 50 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 700 ; - scaleFactorOfSecondFixedSurface = 0 ; - } -#Total column vertically integrated sea water practical salinity -'scbtv' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 50 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 9 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Sea water practical salinity -'so' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 21 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - } -#Sea water potential temperature -'thetao' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 18 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - } -#Sea water sigma theta -'sigmat' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 20 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - } -#Y-component of sea water velocity -'voy' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 26 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - } -#X-component of sea water velocity -'uox' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 25 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - } -#Northward sea water velocity -'von' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 24 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - } -#Eastward sea water velocity -'uoe' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 23 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - } -#Upward sea water velocity -'wo' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 27 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Sea water potential temperature tendency due to newtonian relaxation -'thetaodmp' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 34 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - } -#Sea water salinity tendency due to newtonian relaxation -'sodmp' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 35 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - } -#Sea water temperature tendency due to parameterization -'bckint' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 36 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - } -#Sea water salinity tendency due to parameterization -'bckins' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 37 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - } -#Eastward sea water velocity tendency due to parameterization -'bckine' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 38 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - } -#Northward sea water velocity tendency due to parameterization -'bckinn' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 39 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - } -#Sea water temperature tendency due to direct bias correction -'tdbiascorr' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 40 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - } -#Sea water salinity tendency due to direct bias correction -'sdbiascorr' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 41 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - } -#Sea water salinity -'salo' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 3 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - } -#Net short wave radiation rate at sea surface -'ssr_sea' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 9 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Wind stress at sea surface -'wst_sea' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 49 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } #Wind speed at 10m above sea surface 'ws10_sea' = { discipline = 0 ; @@ -8685,1129 +347,6 @@ scaledValueOfSecondFixedSurface = missing() ; scaleFactorOfSecondFixedSurface = missing() ; } -#Total precipitation rate at sea surface -'tprate_sea' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Snow precipitation rate at sea surface -'snrate_sea' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 66 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Eastward of wind stress over sea ice -'ewst_sea' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 50 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Northward of wind stress over sea ice -'nwst_sea' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 51 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#U-component of wind stress over sea ice -'uwst_sea' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#V-component of wind stress over sea ice -'vwst_sea' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 53 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Time-mean sea ice thickness -'avg_sithick' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea ice area fraction -'avg_siconc' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean eastward sea ice velocity -'avg_siue' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 4 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean northward sea ice velocity -'avg_sivn' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 5 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea ice albedo -'avg_sialb' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea ice surface temperature -'avg_sitemptop' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 8 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea ice growth -'avg_sigrowth' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea ice volume per unit area -'avg_sivol' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 15 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean snow volume over sea ice per unit area -'avg_snvol' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 16 ; - typeOfFirstFixedSurface = 173 ; - typeOfSecondFixedSurface = 175 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean vertically averaged sea ice temperature -'avg_vasit' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 8 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean snow temperature over sea ice -'avg_sntemp' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 13 ; - typeOfFirstFixedSurface = 173 ; - typeOfSecondFixedSurface = 175 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea ice temperature at the sea ice and snow interface -'avg_sisntemp' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 8 ; - typeOfFirstFixedSurface = 175 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean underside ice temperature -'avg_usitemp' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 8 ; - typeOfFirstFixedSurface = 176 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea ice heat content -'avg_sihc' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 17 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean snow heat content over sea ice -'avg_snhc' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 18 ; - typeOfFirstFixedSurface = 173 ; - typeOfSecondFixedSurface = 175 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea ice freeboard thickness -'avg_sifbr' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 19 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = 0 ; - scaleFactorOfSecondFixedSurface = 0 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea ice melt pond fraction -'avg_sipf' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 20 ; - typeOfFirstFixedSurface = 188 ; - typeOfSecondFixedSurface = 189 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea ice melt pond depth -'avg_sipd' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 21 ; - typeOfFirstFixedSurface = 188 ; - typeOfSecondFixedSurface = 189 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea ice melt pond volume per unit area -'avg_sipvol' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 188 ; - typeOfSecondFixedSurface = 189 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea ice fraction tendency due to parameterization -'avg_bckinsic' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 23 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean X-component of sea ice velocity -'avg_six' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 24 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean Y-component of sea ice velocity -'avg_siy' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 25 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea ice temperature -'avg_sit' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 8 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea surface practical salinity -'avg_sos' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 3 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea surface temperature -'avg_tos' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean depth of 14 C isotherm -'avg_t14d' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 20 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 28715 ; - scaleFactorOfFirstFixedSurface = 2 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean depth of 17 C isotherm -'avg_t17d' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 20 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 29015 ; - scaleFactorOfFirstFixedSurface = 2 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean depth of 20 C isotherm -'avg_t20d' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 20 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 29315 ; - scaleFactorOfFirstFixedSurface = 2 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean depth of 26 C isotherm -'avg_t26d' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 20 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 29915 ; - scaleFactorOfFirstFixedSurface = 2 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean depth of 28 C isotherm -'avg_t28d' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 20 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 30115 ; - scaleFactorOfFirstFixedSurface = 2 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean barotropic stream function -'avg_stfbarot' = { - discipline = 10 ; - parameterCategory = 191 ; - parameterNumber = 4 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 5 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean surface downward heat flux -'avg_hfds' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 4 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean northward surface stress -'avg_tauvon' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 6 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean eastward surface stress -'avg_tauuoe' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 5 ; - typeOfStatisticalProcessing = 0 ; - } -#Time mean Y-component of surface stress -'avg_tauvo' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 8 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean X-component of surface stress -'avg_tauuo' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 7 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean ocean mixed layer depth defined by sigma theta 0.01 kg m-3 -'avg_mlotst010' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 169 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 1 ; - scaleFactorOfFirstFixedSurface = 2 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean ocean mixed layer depth defined by sigma theta 0.03 kg m-3 -'avg_mlotst030' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 169 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 3 ; - scaleFactorOfFirstFixedSurface = 2 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean ocean mixed layer depth defined by sigma theta 0.125 kg m-3 -'avg_mlotst125' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 169 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 125 ; - scaleFactorOfFirstFixedSurface = 3 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean ocean mixed layer depth defined by temperature 0.2 C -'avg_mlott02' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 170 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 1 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean ocean mixed layer depth defined by temperature 0.5 C -'avg_mlott05' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 170 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 5 ; - scaleFactorOfFirstFixedSurface = 1 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean average sea water practical salinity in the upper 300 m -'avg_sc300m' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 21 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 300 ; - scaleFactorOfSecondFixedSurface = 0 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean average sea water practical salinity in the upper 700 m -'avg_sc700m' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 21 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 700 ; - scaleFactorOfSecondFixedSurface = 0 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean total column average sea water practical salinity -'avg_scbtm' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 21 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 9 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean vertically-integrated heat content in the upper 300 m -'avg_hc300m' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 300 ; - scaleFactorOfSecondFixedSurface = 0 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean vertically-integrated heat content in the upper 700 m -'avg_hc700m' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 700 ; - scaleFactorOfSecondFixedSurface = 0 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean total column heat content -'avg_hcbtm' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 9 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea surface height -'avg_zos' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean steric change in sea surface height -'avg_stheig' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 11 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean halosteric change in sea surface height -'avg_hstheig' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 10 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean thermosteric change in sea surface height -'avg_tstheig' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 9 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean thermocline depth -'avg_thcline' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean bottom pressure equivalent height -'avg_btp' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 29 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 9 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean net surface upward water flux -'avg_swfup' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 13 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean fresh water flux into sea water (from rivers) -'avg_fw2sw' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 30 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean virtual salt flux into sea water -'avg_vsf2sw' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 32 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean heat flux correction -'avg_hfcorr' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 18 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean fresh water flux correction -'avg_fwcorr' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 31 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean virtual salt flux correction -'avg_vsfcorr' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 33 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean turbocline depth (kz=5e-4) -'avg_turbocl' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 14 ; - typeOfFirstFixedSurface = 171 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 5 ; - scaleFactorOfFirstFixedSurface = 4 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean Y-component of surface sea water velocity -'avg_svy' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 17 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean X-component of surface sea water velocity -'avg_svx' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 16 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean northward surface sea water velocity -'avg_svn' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 15 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean eastward surface sea water velocity -'avg_sve' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 14 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean heat content surface to 26C isotherm -'avg_hct26' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 22 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 20 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 29915 ; - scaleFactorOfSecondFixedSurface = 2 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea surface height tendency due to parameterization -'avg_bckineta' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 19 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea surface height with inverse barometer correction -'avg_zosib' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 20 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean average sea water potential temperature in the upper 300m -'avg_pt300m' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 18 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 300 ; - scaleFactorOfSecondFixedSurface = 0 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea surface salinity -'avg_sss' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 21 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean vertically integrated sea water practical salinity in the upper 300 m -'avg_sc300v' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 50 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 300 ; - scaleFactorOfSecondFixedSurface = 0 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean vertically integrated sea water practical salinity in the upper 700 m -'avg_sc700v' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 50 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 160 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 700 ; - scaleFactorOfSecondFixedSurface = 0 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean total column vertically integrated sea water practical salinity -'avg_scbtv' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 50 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 9 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea water practical salinity -'avg_so' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 21 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea water potential temperature -'avg_thetao' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 18 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea water sigma theta -'avg_sigmat' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 20 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean Y-component of sea water velocity -'avg_voy' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 26 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean X-component of sea water velocity -'avg_uox' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 25 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean northward sea water velocity -'avg_von' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 24 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean eastward sea water velocity -'avg_uoe' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 23 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean upward sea water velocity -'avg_wo' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 27 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea water potential temperature tendency due to newtonian relaxation -'avg_thetaodmp' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 34 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea water salinity tendency due to newtonian relaxation -'avg_sodmp' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 35 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea water temperature tendency due to parameterization -'avg_bckint' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 36 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea water salinity tendency due to parameterization -'avg_bckins' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 37 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean eastward sea water velocity tendency due to parameterization -'avg_bckine' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 38 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean northward sea water velocity tendency due to parameterization -'avg_bckinn' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 39 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea water temperature tendency due to direct bias correction -'avg_tdbiascorr' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 40 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea water salinity tendency due to direct bias correction -'avg_sdbiascorr' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 41 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean sea water salinity -'avg_salo' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 3 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean net short wave radiation rate at sea surface -'avg_ssr_sea' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 9 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean wind stress at sea surface -'avg_wst_sea' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 49 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } #Time-mean wind speed at 10m above sea surface 'avg_10ws_sea' = { discipline = 0 ; @@ -9834,809 +373,6 @@ scaleFactorOfSecondFixedSurface = missing() ; typeOfStatisticalProcessing = 0 ; } -#Time-mean total precipitation rate at sea surface -'avg_tprate_sea' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean snow precipitation rate at sea surface -'avg_snrate_sea' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 66 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean eastward of wind stress over sea ice -'avg_ewst_sea' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 50 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean northward of wind stress over sea ice -'avg_nwst_sea' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 51 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean U-component of wind stress over sea ice -'avg_uwst_sea' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean V-component of wind stress over sea ice -'avg_vwst_sea' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 53 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-accumulated net short wave radiation at sea surface -'acc_ssr_sea' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 9 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 1 ; - } -#Time-accumulated total precipitation at sea surface -'tp_sea' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 1 ; - } -#Time-accumulated snow precipitation at sea surface -'sn_sea' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 66 ; - typeOfFirstFixedSurface = 160 ; - typeOfSecondFixedSurface = 255 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 1 ; - } -#Virtual temperature -'vtmp' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 1 ; - } -#Mass density -'mdens' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 0 ; - } -#Total column vertically-integrated mass density -'tc_mdens' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Mass mixing ratio -'mass_mixrat' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - } -#Emission mass flux -'emi_mflx' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 255 ; - } -#Dry deposition velocity -'drydep_vel' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 15 ; - } -#Wet deposition mass flux -'wetdep_mflx' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - } -#Dry deposition mass flux -'drydep_mflx' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - } -#Sedimentation mass flux -'sed_mflx' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 11 ; - } -#Volume mixing ratio -'vol_mixrat' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 52 ; - } -#Wet deposition mass flux by large-scale precipitation -'wetdep_mflx_lsp' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 9 ; - } -#Wet deposition mass flux by convective precipitation -'wetdep_mflx_cp' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 10 ; - } -#Emission mass flux from natural sources -'emi_mflx_natsrc' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 6 ; - } -#Emission mass flux from anthropogenic sources -'emi_mflx_antsrc' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 4 ; - } -#Emission mass flux from elevated anthropogenic sources -'emi_mflx_elevantsrc' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 12 ; - } -#Emission mass flux from surface anthropogenic sources -'emi_mflx_sfcantsrc' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 13 ; - } -#Emission from aviation -'emi_mflx_aviation' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 1 ; - } -#Emission mass flux from agriculture livestock -'emi_mflx_agriliv' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 14 ; - } -#Emission mass flux from agriculture soils -'emi_mflx_agrisol' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 15 ; - } -#Emission mass flux from agricultural waste burning -'emi_mflx_agriwasburn' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 16 ; - } -#Emission mass flux from residential, commercial and other combustion -'emi_mflx_rescomb' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 18 ; - } -#Emission mass flux from power generation -'emi_mflx_powgen' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 19 ; - } -#Emission mass flux from fugitives -'emi_mflx_fug' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 21 ; - } -#Emission mass flux from industrial process -'emi_mflx_indproc' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 22 ; - } -#Emission mass flux from solvents -'emi_mflx_solv' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 23 ; - } -#Emission mass flux from ships -'emi_mflx_shp' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 24 ; - } -#Emission mass flux from wastes (solid and water) -'emi_mflx_wastes' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 25 ; - } -#Emission mass flux from off-road transportation -'emi_mflx_offrdtrans' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 27 ; - } -#Emission mass flux from road transportation -'emi_mflx_rdtrans' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 26 ; - } -#Emission mass flux from super power stations -'emi_mflx_suppowstn' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 20 ; - } -#Emission mass flux from volcanoes -'emi_mflx_vol' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 7 ; - } -#Emission mass flux from wetlands -'emi_mflx_wetl' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 10 ; - } -#Net ecosystem exchange flux -'neef' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 59 ; - } -#Mean net ecosystem exchange flux -'mneef' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 59 ; - typeOfStatisticalProcessing = 0 ; - } -#Accumulated net ecosystem exchange flux -'aneef' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 59 ; - typeOfStatisticalProcessing = 1 ; - } -#Gross primary production flux -'gppf' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 60 ; - } -#Mean gross primary production flux -'mgppf' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 60 ; - typeOfStatisticalProcessing = 0 ; - } -#Accumulated gross primary production flux -'agppf' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 60 ; - typeOfStatisticalProcessing = 1 ; - } -#Ecosystem respiration flux -'erf' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 61 ; - } -#Mean ecosystem respiration flux -'merf' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 61 ; - typeOfStatisticalProcessing = 0 ; - } -#Accumulated ecosystem respiration flux -'aerf' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 61 ; - typeOfStatisticalProcessing = 1 ; - } -#Emission mass flux from bio fuel -'emi_mflx_biofuel' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 8 ; - } -#Emission mass flux from fossil fuel -'emi_mflx_fossilfuel' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 9 ; - } -#Emission mass flux from other -'emi_mflx_other' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 0 ; - } -#Emission mass flux from oceans -'emi_mflx_ocean' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 11 ; - } -#Accumulated wet deposition mass flux -'acc_wetdep_mflx' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - typeOfStatisticalProcessing = 1 ; - } -#Accumulated dry deposition mass flux -'acc_drydep_mflx' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - typeOfStatisticalProcessing = 1 ; - } -#Aerosol number density -'aer_ndens' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 59 ; - } -#Mass mixing ratio from volcanoes -'mass_mixrat_vol' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - sourceSinkChemicalPhysicalProcess = 7 ; - } -#Total column vertically-integrated mass density from volcanoes -'tc_mdens_vol' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - sourceSinkChemicalPhysicalProcess = 7 ; - } -#Dry deposition velocity from volcanoes -'drydep_vel_vol' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 15 ; - sourceSinkChemicalPhysicalProcess = 7 ; - } -#Aerosol optical depth -'aod' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 102 ; - } -#Single scattering albedo -'ssa' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 103 ; - } -#Asymmetry Factor -'asymf' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 104 ; - } -#Aerosol backscatter from top of atmosphere -'aerbscattoa' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 107 ; - typeOfFirstFixedSurface = 8 ; - } -#Aerosol backscatter from ground -'aerbscatgnd' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 108 ; - typeOfFirstFixedSurface = 1 ; - } -#Aerosol extinction coefficient -'aerext' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 105 ; - } -#Pressure tendency -'ptend' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 2 ; - } -#ICAO Standard Atmosphere reference height -'icaht' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 3 ; - } -#Geometrical height -'h' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 6 ; - } -#Standard deviation of height -'hstdv' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 7 ; - } -#Virtual potential temperature -'vptmp' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 15 ; - } -#Pseudo-adiabatic potential temperature -'papt' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - } -#Maximum temperature -'tmax' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 4 ; - } -#Minimum temperature -'tmin' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 5 ; - } -#Dew point temperature -'dpt' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 6 ; - } -#Lapse rate -'lapr' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 8 ; - } -#Visibility -'vis' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 0 ; - } -#Radar spectra (1) -'rdsp1' = { - discipline = 0 ; - parameterCategory = 15 ; - parameterNumber = 6 ; - } -#Radar spectra (2) -'rdsp2' = { - discipline = 0 ; - parameterCategory = 15 ; - parameterNumber = 7 ; - } -#Radar spectra (3) -'rdsp3' = { - discipline = 0 ; - parameterCategory = 15 ; - parameterNumber = 8 ; - } -#Parcel lifted index (to 500 hPa) -'pli' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 0 ; - } -#Temperature anomaly -'ta' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 9 ; - } -#Pressure anomaly -'presa' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 8 ; - } -#Geopotential height anomaly -'gpa' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 9 ; - } -#Wave spectra (1) -'wvsp1' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - } -#Wave spectra (2) -'wvsp2' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 1 ; - } -#Wave spectra (3) -'wvsp3' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 2 ; - } -#Wind direction -'wdir' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 0 ; - } -#Sigma coordinate vertical velocity -'sgcvv' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 7 ; - } -#Absolute vorticity -'absv' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 10 ; - } -#Absolute divergence -'absd' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 11 ; - } -#Vertical u-component shear -'vucsh' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 15 ; - } -#Vertical v-component shear -'vvcsh' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 16 ; - } -#Precipitable water -'pwat' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 3 ; - } -#Saturation deficit -'satd' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 5 ; - } -#Precipitation rate -'prate' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 7 ; - } -#Thunderstorm probability -'tstm' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 2 ; - } -#Convective precipitation (water) -'acpcp' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 10 ; - } -#Mixed layer depth -'mld' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 3 ; - } -#Transient thermocline depth -'tthdp' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 2 ; - } -#Main thermocline anomaly -'mtha' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 1 ; - } -#Best lifted index (to 500 hPa) -'bli' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 1 ; - } -#Soil moisture content -'ssw' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - } -#Salinity -'s' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 3 ; - } -#Density -'den' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 10 ; - } -#Direction of ice drift -'diced' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 2 ; - } -#Speed of ice drift -'siced' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 3 ; - } -#Ice divergence -'iced' = { - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 7 ; - } -#Snowmelt -'snom' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 41 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Direction of swell waves -'swdir' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 7 ; - } -#Secondary wave direction -'dirsw' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 12 ; - } -#Net short-wave radiation flux (surface) -'nswrs' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 0 ; - } -#Global radiation flux -'grad' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 3 ; - } -#Radiance (with respect to wave number) -'lwrad' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 5 ; - } -#Radiance (with respect to wave length) -'swrad' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 6 ; - } -#Wind mixing energy -'wmixe' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 19 ; - } #10 metre wind gust of at least 15 m/s 'fg10g15' = { discipline = 0 ; @@ -10665,505 +401,12 @@ scaleFactorOfLowerLimit = 0 ; probabilityType = 3 ; } -#Period corresponding to maximum individual wave height -'tmax' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 23 ; - } -#Envelop-maximum individual wave height -'hmax' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 93 ; - } -#Model bathymetry -'wmb' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 7 ; - } -#Mean wave period based on first moment -'mp1' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 25 ; - } -#Mean zero-crossing wave period -'mp2' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 28 ; - } -#Wave spectral directional width -'wdw' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 31 ; - } -#Mean wave period based on first moment for wind waves -'p1ww' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 26 ; - } -#Mean wave period based on second moment for wind waves -'p2ww' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 29 ; - } -#Wave spectral directional width for wind waves -'dwww' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 32 ; - } -#Mean wave period based on first moment for swell -'p1ps' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 27 ; - } -#Mean wave period based on second moment for swell -'p2ps' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 30 ; - } -#Wave spectral directional width for swell -'dwps' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 33 ; - } -#Significant height of combined wind waves and swell -'swh' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - } -#Mean wave direction -'mwd' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 14 ; - } -#Peak wave period -'pp1d' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 34 ; - } -#Mean wave period -'mwp' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 15 ; - } -#Coefficient of drag with waves -'cdww' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 16 ; - } -#Significant height of wind waves -'shww' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 5 ; - } -#Mean direction of wind waves -'mdww' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 75 ; - } -#Mean period of wind waves -'mpww' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 6 ; - } -#Significant height of total swell -'shts' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 8 ; - } -#Mean direction of total swell -'mdts' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 74 ; - } -#Mean period of total swell -'mpts' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 9 ; - } -#Mean square slope of waves -'msqs' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 20 ; - } -#10 metre wind speed -'wind' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 40 ; - typeOfFirstFixedSurface = 102 ; - scaledValueOfFirstFixedSurface = 10 ; - scaleFactorOfFirstFixedSurface = 0 ; - } -#Altimeter wave height -'awh' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 37 ; - } -#Altimeter corrected wave height -'acwh' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 38 ; - } -#Altimeter range relative correction -'arrc' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 39 ; - } -#10 metre wind direction -'dwi' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 41 ; - typeOfFirstFixedSurface = 102 ; - scaledValueOfFirstFixedSurface = 10 ; - scaleFactorOfFirstFixedSurface = 0 ; - } #2D wave spectra (single) 'd2fd' = { discipline = 10 ; parameterCategory = 0 ; parameterNumber = 86 ; } -#Wave spectral kurtosis -'wsk' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 43 ; - } -#Benjamin-Feir index -'bfi' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 44 ; - } -#Wave spectral peakedness -'wsp' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 98 ; - } -#Skin reservoir content -'srcrea' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 50 ; - } -#Vertical integral of mass of atmosphere -'vima' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 39 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Total column vertically-integrated kinetic energy -'vike' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Total column vertically-integrated enthalpy -'vithe' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 3 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Total column vertically-integrated potential + internal energy -'vipie' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Vertical integral of potential+internal+latent energy -'vipile' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 21 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Total column vertically-integrated total energy -'vitoe' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 2 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Vertical integral of eastward heat flux -'vithee' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 19 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Vertical integral of northward heat flux -'vithen' = { - discipline = 0 ; - parameterCategory = 21 ; - parameterNumber = 20 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Vertical integral of eastward water vapour flux -'viwve' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 150 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Vertical integral of northward water vapour flux -'viwvn' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 151 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Vertically integrated moisture divergence flux -'viwvd' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 165 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Time-integrated temperature tendency due to short-wave radiation -'srta' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 22 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated temperature tendency due to long-wave radiation -'trta' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 23 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated temperature tendency due to short wave radiation, clear sky -'srtca' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 24 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated temperature tendency due to long-wave radiation, clear sky -'trtca' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 25 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated updraught mass flux -'umfa' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 27 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated downdraught mass flux -'dmfa' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 28 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated updraught detrainment rate -'udra' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 29 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated downdraught detrainment rate -'ddra' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 30 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated total precipitation flux -'tpfa' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated turbulent diffusion coefficient for heat -'tdcha' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 20 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated temperature tendency due to parametrisations -'ttpha' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 26 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated specific humidity tendency due to parametrisations -'qtpha' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 108 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated eastward wind tendency due to parametrisations -'utpha' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 39 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-integrated northward wind tendency due to parametrisations -'vtpha' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 40 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-mean surface net radiation flux (SW and LW) -'msnrf' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 46 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Surface runoff -'sro' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 34 ; - } -#Nitrogen dioxide mass mixing ratio -'no2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 5 ; - is_chemical = 1 ; - } -#Sulphur dioxide mass mixing ratio -'so2' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 8 ; - is_chemical = 1 ; - } -#Carbon monoxide mass mixing ratio -'co' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 4 ; - is_chemical = 1 ; - } -#Ozone mass mixing ratio (full chemistry scheme) -'go3' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 0 ; - is_chemical = 1 ; - } -#Nitrogen dioxide mass mixing ratio difference -'no2diff' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 5 ; - typeOfGeneratingProcess = 20 ; - is_chemical = 1 ; - } -#Sulphur dioxide mass mixing ratio difference -'so2diff' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 8 ; - typeOfGeneratingProcess = 20 ; - is_chemical = 1 ; - } -#Carbon monoxide mass mixing ratio difference -'codiff' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 4 ; - typeOfGeneratingProcess = 20 ; - is_chemical = 1 ; - } -#Ozone mass mixing ratio difference (full chemistry scheme) -'go3diff' = { - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 0 ; - typeOfGeneratingProcess = 20 ; - is_chemical = 1 ; - } -#Convective inhibition -'cin' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 7 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Orography -'orog' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 5 ; - typeOfFirstFixedSurface = 1 ; - } -#Friction velocity -'zust' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 17 ; - } #Mean 2 metre temperature 'mean2t' = { discipline = 0 ; @@ -11184,190 +427,6 @@ scaleFactorOfFirstFixedSurface = 0 ; typeOfStatisticalProcessing = 0 ; } -#Lake total depth -'dl' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 162 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Lake mix-layer temperature -'lmlt' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 166 ; - typeOfSecondFixedSurface = 255 ; - } -#Lake mix-layer depth -'lmld' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 166 ; - typeOfSecondFixedSurface = 255 ; - } -#Lake bottom temperature -'lblt' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 162 ; - typeOfSecondFixedSurface = 255 ; - } -#Lake total layer temperature -'ltlt' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 162 ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Lake shape factor -'lshf' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 10 ; - } -#Lake ice surface temperature -'lict' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 6 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 255 ; - } -#Lake ice total depth -'licd' = { - discipline = 1 ; - parameterCategory = 2 ; - parameterNumber = 5 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Minimum vertical gradient of refractivity inside trapping layer -'dndzn' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 45 ; - } -#Mean vertical gradient of refractivity inside trapping layer -'dndza' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 44 ; - } -#Duct base height -'dctb' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 41 ; - } -#Trapping layer base height -'tplb' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 42 ; - } -#Trapping layer top height -'tplt' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 43 ; - } -#10 metre u-component of neutral wind -'u10n' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 56 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 10 ; - scaleFactorOfFirstFixedSurface = 0 ; - } -#10 metre v-component of neutral wind -'v10n' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 57 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 10 ; - scaleFactorOfFirstFixedSurface = 0 ; - } -#Snow depth water equivalent -'sd' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 60 ; - } -#Snowfall water equivalent -'sf' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 53 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Total Cloud Cover -'tcc' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Field capacity -'cap' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 12 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - } -#Wilting point -'wilt' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 26 ; - typeOfFirstFixedSurface = 106 ; - typeOfSecondFixedSurface = 106 ; - scaledValueOfFirstFixedSurface = 0 ; - scaleFactorOfFirstFixedSurface = 0 ; - scaledValueOfSecondFixedSurface = 2 ; - scaleFactorOfSecondFixedSurface = 1 ; - } -#Total Precipitation -'tp' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 52 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#U-component surface stokes drift -'ust' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 21 ; - } -#V-component surface stokes drift -'vst' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 22 ; - } #100 metre U wind component 'u100' = { discipline = 0 ; diff --git a/definitions/grib2/localConcepts/ecmf/cfVarName.def b/definitions/grib2/localConcepts/ecmf/cfVarName.def index 1ddf27ad0..c878bb952 100644 --- a/definitions/grib2/localConcepts/ecmf/cfVarName.def +++ b/definitions/grib2/localConcepts/ecmf/cfVarName.def @@ -1,1840 +1,16 @@ # Automatically generated by ./create_def.pl, do not edit -#Equivalent potential temperature -'eqpt' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 4 ; - } -#Saturated equivalent potential temperature -'sept' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 5 ; - } -#Soil sand fraction -'ssfr' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 6 ; - } -#Soil clay fraction -'scfr' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 7 ; - } -#Surface runoff -'sro' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 202 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Sub-surface runoff -'ssro' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 204 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#U component of divergent wind -'udvw' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 11 ; - } -#V component of divergent wind -'vdvw' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 12 ; - } -#U component of rotational wind -'urtw' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 13 ; - } -#V component of rotational wind -'vrtw' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 14 ; - } -#UV visible albedo for direct radiation (climatological) -'aluvp' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 193 ; - typeOfGeneratingProcess = 9 ; - } -#UV visible albedo for diffuse radiation (climatological) -'aluvd' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 192 ; - typeOfGeneratingProcess = 9 ; - } -#Near IR albedo for direct radiation (climatological) -'alnip' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 193 ; - typeOfGeneratingProcess = 9 ; - } -#Near IR albedo for diffuse radiation (climatological) -'alnid' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 192 ; - typeOfGeneratingProcess = 9 ; - } -#Clear sky surface UV -'uvcs' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 19 ; - } -#Reserved for future unbalanced components -'p24.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 24 ; - } -#Reserved for future unbalanced components -'p25.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 25 ; - } -#Lake cover -'cl' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 26 ; - } -#Snow albedo -'asn' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 192 ; - } -#Ice temperature layer 1 -'istl1' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 35 ; - } -#Ice temperature layer 2 -'istl2' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 36 ; - } -#Ice temperature layer 3 -'istl3' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 37 ; - } -#Ice temperature layer 4 -'istl4' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 38 ; - } -#Volumetric soil water layer 1 -'swvl1' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 39 ; - } -#Volumetric soil water layer 2 -'swvl2' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 40 ; - } -#Volumetric soil water layer 3 -'swvl3' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 41 ; - } -#Volumetric soil water layer 4 -'swvl4' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 42 ; - } -#Snow evaporation -'es' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 197 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Snowmelt -'smlt' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 203 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Solar duration -'sdur' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 46 ; - } -#Maximum temperature at 2 metres in the last 24 hours -'mx2t24' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 2 ; - lengthOfTimeRange = 24 ; - } -#Minimum temperature at 2 metres in the last 24 hours -'mn2t24' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 3 ; - lengthOfTimeRange = 24 ; - } -#Observation count -'obct' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 62 ; - } -#Start time for skin temperature difference -'stsktd' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 63 ; - } -#Finish time for skin temperature difference -'ftsktd' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 64 ; - } -#Skin temperature difference -'sktd' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 65 ; - } -#Minimum stomatal resistance, low vegetation -'msr_lv' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 68 ; - } -#Minimum stomatal resistance, high vegetation -'msr_hv' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 69 ; - } -#Biome cover, low vegetation -'bc_lv' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 70 ; - } -#Biome cover, high vegetation -'bc_hv' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 71 ; - } -#Instantaneous surface solar radiation downwards -'issrd' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 72 ; - } -#Instantaneous surface thermal radiation downwards -'istrd' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 73 ; - } -#Experimental product -'p80.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 80 ; - } -#Experimental product -'p81.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 81 ; - } -#Experimental product -'p82.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 82 ; - } -#Experimental product -'p83.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 83 ; - } -#Experimental product -'p84.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 84 ; - } -#Experimental product -'p85.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 85 ; - } -#Experimental product -'p86.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 86 ; - } -#Experimental product -'p87.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 87 ; - } -#Experimental product -'p88.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 88 ; - } -#Experimental product -'p89.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 89 ; - } -#Experimental product -'p90.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 90 ; - } -#Experimental product -'p91.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 91 ; - } -#Experimental product -'p92.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 92 ; - } -#Experimental product -'p93.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 93 ; - } -#Experimental product -'p94.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 94 ; - } -#Experimental product -'p95.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 95 ; - } -#Experimental product -'p96.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 96 ; - } -#Experimental product -'p97.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 97 ; - } -#Experimental product -'p98.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 98 ; - } -#Experimental product -'p99.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 99 ; - } -#Experimental product -'p100.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 100 ; - } -#Experimental product -'p101.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 101 ; - } -#Experimental product -'p102.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 102 ; - } -#Experimental product -'p103.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 103 ; - } -#Experimental product -'p104.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 104 ; - } -#Experimental product -'p105.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 105 ; - } -#Experimental product -'p106.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 106 ; - } -#Experimental product -'p107.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 107 ; - } -#Experimental product -'p108.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 108 ; - } -#Experimental product -'p109.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 109 ; - } -#Experimental product -'p110.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 110 ; - } -#Experimental product -'p111.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 111 ; - } -#Experimental product -'p112.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 112 ; - } -#Experimental product -'p113.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 113 ; - } -#Experimental product -'p114.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 114 ; - } -#Experimental product -'p115.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 115 ; - } -#Experimental product -'p116.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 116 ; - } -#Experimental product -'p117.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 117 ; - } -#Experimental product -'p118.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 118 ; - } -#Experimental product -'p119.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 119 ; - } -#Experimental product -'p120.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 120 ; - } -#Maximum 10 metre wind gust in the last 6 hours -'p10fg6' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 123 ; - } -#Vertically integrated total energy -'vite' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 125 ; - } -#Generic parameter for sensitive area prediction -'p126.128' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 126 ; - } -#Atmospheric tide -'at' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 127 ; - } -#Budget values -'bv' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 128 ; - } -#Soil temperature level 1 -'stl1' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 139 ; - } -#Soil wetness level 1 -'swl1' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 140 ; - } -#Snow depth -'sd' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 254 ; - } -#Large-scale precipitation -'lsp' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 196 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Convective precipitation -'cp' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 195 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Snowfall -'sf' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 198 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Logarithm of surface pressure -'lnsp' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 25 ; - typeOfFirstFixedSurface = 105 ; - } -#Short-wave heating rate -'swhr' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 153 ; - } -#Long-wave heating rate -'lwhr' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 154 ; - } -#Tendency of surface pressure -'tsp' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 158 ; - } -#Total cloud cover -'tcc' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 192 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Soil temperature level 2 -'stl2' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 170 ; - } -#Soil wetness level 2 -'swl2' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 171 ; - } -#Albedo (climatological) -'al' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 193 ; - typeOfGeneratingProcess = 9 ; - } -#Evaporation -'e' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 199 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Soil temperature level 3 -'stl3' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 183 ; - } -#Soil wetness level 3 -'swl3' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 184 ; - } -#Convective cloud cover -'ccc' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 185 ; - } -#Low cloud cover -'lcc' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 193 ; - } -#Medium cloud cover -'mcc' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 194 ; - } -#High cloud cover -'hcc' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 195 ; - } -#East-West component of sub-gridscale orographic variance -'ewov' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 190 ; - } -#North-South component of sub-gridscale orographic variance -'nsov' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 191 ; - } -#North-West/South-East component of sub-gridscale orographic variance -'nwov' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 192 ; - } -#North-East/South-West component of sub-gridscale orographic variance -'neov' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 193 ; - } -#Skin reservoir content -'src' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 205 ; - } -#Vegetation fraction -'veg' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 199 ; - } -#Variance of sub-gridscale orography -'vso' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 200 ; - } -#Precipitation analysis weights -'paw' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 204 ; - } -#Runoff -'ro' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 201 ; - typeOfStatisticalProcessing = 1 ; - } -#Total column ozone -'tco3' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 14 ; - parameterNumber = 192 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Diabatic heating by radiation -'dhr' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 214 ; - } -#Diabatic heating by vertical diffusion -'dhvd' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 215 ; - } -#Diabatic heating by cumulus convection -'dhcc' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 216 ; - } -#Diabatic heating large-scale condensation -'dhlc' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 217 ; - } -#Vertical diffusion of zonal wind -'vdzw' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 218 ; - } -#Vertical diffusion of meridional wind -'vdmw' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 219 ; - } -#East-West gravity wave drag tendency -'ewgd' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 220 ; - } -#North-South gravity wave drag tendency -'nsgd' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 221 ; - } -#Convective tendency of zonal wind -'ctzw' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 222 ; - } -#Convective tendency of meridional wind -'ctmw' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 223 ; - } -#Vertical diffusion of humidity -'vdh' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 224 ; - } -#Humidity tendency by cumulus convection -'htcc' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 225 ; - } -#Humidity tendency by large-scale condensation -'htlc' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 226 ; - } -#Tendency due to removal of negative humidity -'crnh' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 227 ; - } -#Total precipitation -'tp' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 193 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 255 ; - typeOfStatisticalProcessing = 1 ; - } -#Apparent surface humidity -'asq' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 233 ; - } -#Soil temperature level 4 -'stl4' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 236 ; - } -#Soil wetness level 4 -'swl4' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 237 ; - } -#Convective snowfall -'csf' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 201 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Large-scale snowfall -'lsf' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 202 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Accumulated cloud fraction tendency -'acf' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 241 ; - } -#Accumulated liquid water tendency -'alw' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 242 ; - } -#Forecast albedo -'fal' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 193 ; - } -#Accumulated ice water tendency -'aiw' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 249 ; - } -#Ice age -'ice' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 250 ; - } -#Adiabatic tendency of temperature -'atte' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 251 ; - } -#Adiabatic tendency of humidity -'athe' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 252 ; - } -#Adiabatic tendency of zonal wind -'atze' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 253 ; - } -#Adiabatic tendency of meridional wind -'atmw' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 254 ; - } -#Stream function difference -'strfdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 1 ; - } -#Velocity potential difference -'vpotdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 2 ; - } -#Potential temperature difference -'ptdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 3 ; - } -#Equivalent potential temperature difference -'eqptdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 4 ; - } -#Saturated equivalent potential temperature difference -'septdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 5 ; - } -#U component of divergent wind difference -'udvwdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 11 ; - } -#V component of divergent wind difference -'vdvwdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 12 ; - } -#U component of rotational wind difference -'urtwdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 13 ; - } -#V component of rotational wind difference -'vrtwdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 14 ; - } -#Unbalanced component of temperature difference -'uctpdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 21 ; - } -#Unbalanced component of logarithm of surface pressure difference -'uclndiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 22 ; - } -#Unbalanced component of divergence difference -'ucdvdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 23 ; - } -#Reserved for future unbalanced components -'p24.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 24 ; - } -#Reserved for future unbalanced components -'p25.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 25 ; - } -#Lake cover difference -'cldiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 26 ; - } -#Low vegetation cover difference -'cvldiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 27 ; - } -#High vegetation cover difference -'cvhdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 28 ; - } -#Type of low vegetation difference -'tvldiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 29 ; - } -#Type of high vegetation difference -'tvhdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 30 ; - } -#Sea-ice cover difference -'sicdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 31 ; - } -#Snow albedo difference -'asndiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 32 ; - } -#Snow density difference -'rsndiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 33 ; - } -#Sea surface temperature difference -'sstdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 34 ; - } -#Ice surface temperature layer 1 difference -'istl1diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 35 ; - } -#Ice surface temperature layer 2 difference -'istl2diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 36 ; - } -#Ice surface temperature layer 3 difference -'istl3diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 37 ; - } -#Ice surface temperature layer 4 difference -'istl4diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 38 ; - } -#Volumetric soil water layer 1 difference -'swvl1diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 39 ; - } -#Volumetric soil water layer 2 difference -'swvl2diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 40 ; - } -#Volumetric soil water layer 3 difference -'swvl3diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 41 ; - } -#Volumetric soil water layer 4 difference -'swvl4diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 42 ; - } -#Soil type difference -'sltdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 43 ; - } -#Snow evaporation difference -'esdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 44 ; - } -#Snowmelt difference -'smltdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 45 ; - } -#Solar duration difference -'sdurdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 46 ; - } -#Direct solar radiation difference -'dsrpdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 47 ; - } -#Magnitude of turbulent surface stress difference -'magssdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 48 ; - } #10 metre wind gust difference 'fgdiff10' = { discipline = 192 ; parameterCategory = 200 ; parameterNumber = 49 ; } -#Large-scale precipitation fraction difference -'lspfdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 50 ; - } -#Maximum 2 metre temperature difference -'mx2t24diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 51 ; - } -#Minimum 2 metre temperature difference -'mn2t24diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 52 ; - } -#Montgomery potential difference -'montdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 53 ; - } -#Pressure difference -'presdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 54 ; - } -#Mean 2 metre temperature in the last 24 hours difference -'mean2t24diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 55 ; - } -#Mean 2 metre dewpoint temperature in the last 24 hours difference -'mn2d24diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 56 ; - } -#Downward UV radiation at the surface difference -'uvbdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 57 ; - } -#Photosynthetically active radiation at the surface difference -'pardiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 58 ; - } -#Convective available potential energy difference -'capediff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 59 ; - } -#Potential vorticity difference -'pvdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 60 ; - } -#Total precipitation from observations difference -'tpodiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 61 ; - } -#Observation count difference -'obctdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 62 ; - } -#Start time for skin temperature difference -'p63.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 63 ; - } -#Finish time for skin temperature difference -'p64.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 64 ; - } -#Skin temperature difference -'p65.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 65 ; - } -#Leaf area index, low vegetation -'p66.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 66 ; - } -#Leaf area index, high vegetation -'p67.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 67 ; - } -#Minimum stomatal resistance, low vegetation -'p68.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 68 ; - } -#Minimum stomatal resistance, high vegetation -'p69.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 69 ; - } -#Biome cover, low vegetation -'p70.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 70 ; - } -#Biome cover, high vegetation -'p71.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 71 ; - } -#Total column liquid water -'p78.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 78 ; - } -#Total column ice water -'p79.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 79 ; - } -#Experimental product -'p80.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 80 ; - } -#Experimental product -'p81.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 81 ; - } -#Experimental product -'p82.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 82 ; - } -#Experimental product -'p83.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 83 ; - } -#Experimental product -'p84.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 84 ; - } -#Experimental product -'p85.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 85 ; - } -#Experimental product -'p86.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 86 ; - } -#Experimental product -'p87.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 87 ; - } -#Experimental product -'p88.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 88 ; - } -#Experimental product -'p89.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 89 ; - } -#Experimental product -'p90.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 90 ; - } -#Experimental product -'p91.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 91 ; - } -#Experimental product -'p92.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 92 ; - } -#Experimental product -'p93.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 93 ; - } -#Experimental product -'p94.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 94 ; - } -#Experimental product -'p95.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 95 ; - } -#Experimental product -'p96.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 96 ; - } -#Experimental product -'p97.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 97 ; - } -#Experimental product -'p98.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 98 ; - } -#Experimental product -'p99.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 99 ; - } -#Experimental product -'p100.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 100 ; - } -#Experimental product -'p101.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 101 ; - } -#Experimental product -'p102.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 102 ; - } -#Experimental product -'p103.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 103 ; - } -#Experimental product -'p104.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 104 ; - } -#Experimental product -'p105.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 105 ; - } -#Experimental product -'p106.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 106 ; - } -#Experimental product -'p107.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 107 ; - } -#Experimental product -'p108.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 108 ; - } -#Experimental product -'p109.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 109 ; - } -#Experimental product -'p110.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 110 ; - } -#Experimental product -'p111.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 111 ; - } -#Experimental product -'p112.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 112 ; - } -#Experimental product -'p113.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 113 ; - } -#Experimental product -'p114.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 114 ; - } -#Experimental product -'p115.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 115 ; - } -#Experimental product -'p116.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 116 ; - } -#Experimental product -'p117.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 117 ; - } -#Experimental product -'p118.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 118 ; - } -#Experimental product -'p119.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 119 ; - } -#Experimental product -'p120.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 120 ; - } -#Maximum temperature at 2 metres difference -'mx2t6diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 121 ; - } -#Minimum temperature at 2 metres difference -'mn2t6diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 122 ; - } #10 metre wind gust in the last 6 hours difference 'fg6diff10' = { discipline = 192 ; parameterCategory = 200 ; parameterNumber = 123 ; } -#Vertically integrated total energy -'p125.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 125 ; - } -#Generic parameter for sensitive area prediction -'p126.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 126 ; - } -#Atmospheric tide difference -'atdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 127 ; - } -#Budget values difference -'bvdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 128 ; - } -#Geopotential difference -'zdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 129 ; - } -#Temperature difference -'tdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 130 ; - } -#U component of wind difference -'udiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 131 ; - } -#V component of wind difference -'vdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 132 ; - } -#Specific humidity difference -'qdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 133 ; - } -#Surface pressure difference -'spdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 134 ; - } -#Vertical velocity (pressure) difference -'wdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 135 ; - } -#Total column water difference -'tcwdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 136 ; - } -#Total column water vapour difference -'tcwvdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 137 ; - } -#Vorticity (relative) difference -'vodiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 138 ; - } -#Soil temperature level 1 difference -'stl1diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 139 ; - } -#Soil wetness level 1 difference -'swl1diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 140 ; - } -#Snow depth difference -'sddiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 141 ; - } -#Stratiform precipitation (Large-scale precipitation) difference -'lspdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 142 ; - } -#Convective precipitation difference -'cpdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 143 ; - } -#Snowfall (convective + stratiform) difference -'sfdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 144 ; - } -#Boundary layer dissipation difference -'blddiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 145 ; - } -#Surface sensible heat flux difference -'sshfdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 146 ; - } -#Surface latent heat flux difference -'slhfdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 147 ; - } -#Charnock difference -'chnkdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 148 ; - } -#Surface net radiation difference -'snrdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 149 ; - } -#Top net radiation difference -'tnrdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 150 ; - } -#Mean sea level pressure difference -'msldiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 151 ; - } -#Logarithm of surface pressure difference -'lnspdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 152 ; - } -#Short-wave heating rate difference -'swhrdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 153 ; - } -#Long-wave heating rate difference -'lwhrdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 154 ; - } -#Divergence difference -'ddiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 155 ; - } -#Height difference -'ghdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 156 ; - } -#Relative humidity difference -'rdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 157 ; - } -#Tendency of surface pressure difference -'tspdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 158 ; - } -#Boundary layer height difference -'blhdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 159 ; - } -#Standard deviation of orography difference -'sdordiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 160 ; - } -#Anisotropy of sub-gridscale orography difference -'isordiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 161 ; - } -#Angle of sub-gridscale orography difference -'anordiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 162 ; - } -#Slope of sub-gridscale orography difference -'slordiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 163 ; - } -#Total cloud cover difference -'tccdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 164 ; - } #10 metre U wind component difference 'udiff10' = { discipline = 192 ; @@ -1853,696 +29,12 @@ parameterCategory = 200 ; parameterNumber = 167 ; } -#Surface solar radiation downwards difference -'ssrddiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 169 ; - } -#Soil temperature level 2 difference -'stl2diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 170 ; - } -#Soil wetness level 2 difference -'swl2diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 171 ; - } -#Land-sea mask difference -'lsmdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 172 ; - } -#Surface roughness difference -'srdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 173 ; - } -#Albedo difference -'aldiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 174 ; - } -#Surface thermal radiation downwards difference -'strddiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 175 ; - } -#Surface net solar radiation difference -'ssrdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 176 ; - } -#Surface net thermal radiation difference -'strdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 177 ; - } -#Top net solar radiation difference -'tsrdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 178 ; - } -#Top net thermal radiation difference -'ttrdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 179 ; - } -#East-West surface stress difference -'ewssdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 180 ; - } -#North-South surface stress difference -'nsssdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 181 ; - } -#Evaporation difference -'ediff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 182 ; - } -#Soil temperature level 3 difference -'stl3diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 183 ; - } -#Soil wetness level 3 difference -'swl3diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 184 ; - } -#Convective cloud cover difference -'cccdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 185 ; - } -#Low cloud cover difference -'lccdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 186 ; - } -#Medium cloud cover difference -'mccdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 187 ; - } -#High cloud cover difference -'hccdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 188 ; - } -#Sunshine duration difference -'sunddiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 189 ; - } -#East-West component of sub-gridscale orographic variance difference -'ewovdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 190 ; - } -#North-South component of sub-gridscale orographic variance difference -'nsovdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 191 ; - } -#North-West/South-East component of sub-gridscale orographic variance difference -'nwovdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 192 ; - } -#North-East/South-West component of sub-gridscale orographic variance difference -'neovdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 193 ; - } -#Brightness temperature difference -'btmpdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 194 ; - } -#Longitudinal component of gravity wave stress difference -'lgwsdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 195 ; - } -#Meridional component of gravity wave stress difference -'mgwsdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 196 ; - } -#Gravity wave dissipation difference -'gwddiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 197 ; - } -#Skin reservoir content difference -'srcdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 198 ; - } -#Vegetation fraction difference -'vegdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 199 ; - } -#Variance of sub-gridscale orography difference -'vsodiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 200 ; - } -#Maximum temperature at 2 metres since previous post-processing difference -'mx2tdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 201 ; - } -#Minimum temperature at 2 metres since previous post-processing difference -'mn2tdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 202 ; - } -#Ozone mass mixing ratio difference -'o3diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 203 ; - } -#Precipitation analysis weights difference -'pawdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 204 ; - } -#Runoff difference -'rodiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 205 ; - } -#Total column ozone difference -'tco3diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 206 ; - } #10 metre wind speed difference 'sidiff10' = { discipline = 192 ; parameterCategory = 200 ; parameterNumber = 207 ; } -#Top net solar radiation, clear sky difference -'tsrcdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 208 ; - } -#Top net thermal radiation, clear sky difference -'ttrcdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 209 ; - } -#Surface net solar radiation, clear sky difference -'ssrcdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 210 ; - } -#Surface net thermal radiation, clear sky difference -'strcdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 211 ; - } -#TOA incident solar radiation difference -'tisrdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 212 ; - } -#Diabatic heating by radiation difference -'dhrdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 214 ; - } -#Diabatic heating by vertical diffusion difference -'dhvddiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 215 ; - } -#Diabatic heating by cumulus convection difference -'dhccdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 216 ; - } -#Diabatic heating large-scale condensation difference -'dhlcdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 217 ; - } -#Vertical diffusion of zonal wind difference -'vdzwdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 218 ; - } -#Vertical diffusion of meridional wind difference -'vdmwdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 219 ; - } -#East-West gravity wave drag tendency difference -'ewgddiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 220 ; - } -#North-South gravity wave drag tendency difference -'nsgddiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 221 ; - } -#Convective tendency of zonal wind difference -'ctzwdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 222 ; - } -#Convective tendency of meridional wind difference -'ctmwdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 223 ; - } -#Vertical diffusion of humidity difference -'vdhdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 224 ; - } -#Humidity tendency by cumulus convection difference -'htccdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 225 ; - } -#Humidity tendency by large-scale condensation difference -'htlcdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 226 ; - } -#Change from removal of negative humidity difference -'crnhdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 227 ; - } -#Total precipitation difference -'tpdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 228 ; - } -#Instantaneous X surface stress difference -'iewsdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 229 ; - } -#Instantaneous Y surface stress difference -'inssdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 230 ; - } -#Instantaneous surface heat flux difference -'ishfdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 231 ; - } -#Instantaneous moisture flux difference -'iediff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 232 ; - } -#Apparent surface humidity difference -'asqdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 233 ; - } -#Logarithm of surface roughness length for heat difference -'lsrhdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 234 ; - } -#Skin temperature difference -'sktdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 235 ; - } -#Soil temperature level 4 difference -'stl4diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 236 ; - } -#Soil wetness level 4 difference -'swl4diff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 237 ; - } -#Temperature of snow layer difference -'tsndiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 238 ; - } -#Convective snowfall difference -'csfdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 239 ; - } -#Large scale snowfall difference -'lsfdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 240 ; - } -#Accumulated cloud fraction tendency difference -'acfdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 241 ; - } -#Accumulated liquid water tendency difference -'alwdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 242 ; - } -#Forecast albedo difference -'faldiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 243 ; - } -#Forecast surface roughness difference -'fsrdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 244 ; - } -#Forecast logarithm of surface roughness for heat difference -'flsrdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 245 ; - } -#Specific cloud liquid water content difference -'clwcdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 246 ; - } -#Specific cloud ice water content difference -'ciwcdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 247 ; - } -#Cloud cover difference -'ccdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 248 ; - } -#Accumulated ice water tendency difference -'aiwdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 249 ; - } -#Ice age difference -'icediff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 250 ; - } -#Adiabatic tendency of temperature difference -'attediff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 251 ; - } -#Adiabatic tendency of humidity difference -'athediff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 252 ; - } -#Adiabatic tendency of zonal wind difference -'atzediff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 253 ; - } -#Adiabatic tendency of meridional wind difference -'atmwdiff' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 254 ; - } -#Indicates a missing value -'p255.200' = { - discipline = 192 ; - parameterCategory = 200 ; - parameterNumber = 255 ; - } -#Reserved -'p193.151' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 193 ; - } -#U-tendency from dynamics -'utendd' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 114 ; - } -#V-tendency from dynamics -'vtendd' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 115 ; - } -#T-tendency from dynamics -'ttendd' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 116 ; - } -#q-tendency from dynamics -'qtendd' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 117 ; - } -#T-tendency from radiation -'ttendr' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 118 ; - } -#U-tendency from turbulent diffusion + subgrid orography -'utendts' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 119 ; - } -#V-tendency from turbulent diffusion + subgrid orography -'vtendts' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 120 ; - } -#T-tendency from turbulent diffusion + subgrid orography -'ttendts' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 121 ; - } -#q-tendency from turbulent diffusion -'qtendt' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 122 ; - } -#U-tendency from subgrid orography -'utends' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 123 ; - } -#V-tendency from subgrid orography -'vtends' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 124 ; - } -#T-tendency from subgrid orography -'ttends' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 125 ; - } -#U-tendency from convection (deep+shallow) -'utendcds' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 126 ; - } -#V-tendency from convection (deep+shallow) -'vtendcds' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 127 ; - } -#T-tendency from convection (deep+shallow) -'ttendcds' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 128 ; - } -#q-tendency from convection (deep+shallow) -'qtendcds' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 129 ; - } -#Liquid Precipitation flux from convection -'lpc' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 130 ; - } -#Ice Precipitation flux from convection -'ipc' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 131 ; - } -#T-tendency from cloud scheme -'ttendcs' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 132 ; - } -#q-tendency from cloud scheme -'qtendcs' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 133 ; - } -#ql-tendency from cloud scheme -'qltendcs' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 134 ; - } -#qi-tendency from cloud scheme -'qitendcs' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 135 ; - } -#Liquid Precip flux from cloud scheme (stratiform) -'lpcs' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 136 ; - } -#Ice Precip flux from cloud scheme (stratiform) -'ipcs' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 137 ; - } -#U-tendency from shallow convection -'utendcs' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 138 ; - } -#V-tendency from shallow convection -'vtendcs' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 139 ; - } -#T-tendency from shallow convection -'ttendsc' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 140 ; - } -#q-tendency from shallow convection -'qtendsc' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 141 ; - } #100 metre U wind component anomaly 'ua100' = { discipline = 192 ; @@ -2555,12533 +47,18 @@ parameterCategory = 171 ; parameterNumber = 7 ; } -#Maximum temperature at 2 metres in the last 6 hours anomaly -'mx2t6a' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 121 ; - } -#Minimum temperature at 2 metres in the last 6 hours anomaly -'mn2t6a' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 122 ; - } -#Mean surface runoff rate -'msror' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 202 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean sub-surface runoff rate -'mssror' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 204 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Volcanic ash aerosol mixing ratio -'aermr13' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 13 ; - } -#Volcanic sulphate aerosol mixing ratio -'aermr14' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 14 ; - } -#Volcanic SO2 precursor mixing ratio -'aermr15' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 15 ; - } -#SO4 aerosol precursor mass mixing ratio -'aerpr03' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 28 ; - } -#Water vapour mixing ratio for hydrophilic aerosols in mode 1 -'aerwv01' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 29 ; - } -#Water vapour mixing ratio for hydrophilic aerosols in mode 2 -'aerwv02' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 30 ; - } -#DMS surface emission -'emdms' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 43 ; - } -#Water vapour mixing ratio for hydrophilic aerosols in mode 3 -'aerwv03' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 44 ; - } -#Water vapour mixing ratio for hydrophilic aerosols in mode 4 -'aerwv04' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 45 ; - } -#Experimental product -'p55.210' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 55 ; - } -#Experimental product -'p56.210' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 56 ; - } -#Mixing ration of organic carbon aerosol, nucleation mode -'ocnuc' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 57 ; - } -#Monoterpene precursor mixing ratio -'monot' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 58 ; - } -#Secondary organic precursor mixing ratio -'soapr' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 59 ; - } -#Injection height (from IS4FIRES) -'injh' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 60 ; - } -#Wildfire viewing angle of observation -'vafire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 79 ; - } -#Wildfire Flux of Ethane (C2H6) -'c2h6fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 118 ; - } -#Mean height of maximum injection -'mami' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 119 ; - } -#Plume top height above surface -'apt' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 120 ; - } -#Wildfire day-time radiative power -'frpdayfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 167 ; - } -#Wildfire night-time radiative power -'frpngtfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 169 ; - } -#Wildfire day-time inverse variance of radiative power -'frpdayivar' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 177 ; - } -#Wildfire night-time inverse variance of radiative power -'frpngtivar' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 179 ; - } -#UV visible albedo for direct radiation, isotropic component (climatological) -'aluvpi' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 195 ; - typeOfGeneratingProcess = 9 ; - } -#UV visible albedo for direct radiation, volumetric component (climatological) -'aluvpv' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 196 ; - typeOfGeneratingProcess = 9 ; - } -#UV visible albedo for direct radiation, geometric component (climatological) -'aluvpg' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 194 ; - typeOfGeneratingProcess = 9 ; - } -#Near IR albedo for direct radiation, isotropic component (climatological) -'alnipi' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 195 ; - typeOfGeneratingProcess = 9 ; - } -#Near IR albedo for direct radiation, volumetric component (climatological) -'alnipv' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 196 ; - typeOfGeneratingProcess = 9 ; - } -#Near IR albedo for direct radiation, geometric component (climatological) -'alnipg' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 194 ; - typeOfGeneratingProcess = 9 ; - } -#Total aerosol optical depth at 340 nm -'aod340' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 217 ; - } -#Total aerosol optical depth at 355 nm -'aod355' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 218 ; - } -#Total aerosol optical depth at 380 nm -'aod380' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 219 ; - } -#Total aerosol optical depth at 400 nm -'aod400' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 220 ; - } -#Total aerosol optical depth at 440 nm -'aod440' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 221 ; - } -#Total aerosol optical depth at 500 nm -'aod500' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 222 ; - } -#Total aerosol optical depth at 532 nm -'aod532' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 223 ; - } -#Total aerosol optical depth at 645 nm -'aod645' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 224 ; - } -#Total aerosol optical depth at 800 nm -'aod800' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 225 ; - } -#Total aerosol optical depth at 858 nm -'aod858' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 226 ; - } -#Total aerosol optical depth at 1020 nm -'aod1020' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 227 ; - } -#Total aerosol optical depth at 1064 nm -'aod1064' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 228 ; - } -#Total aerosol optical depth at 1640 nm -'aod1640' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 229 ; - } -#Total aerosol optical depth at 2130 nm -'aod2130' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 230 ; - } -#Wildfire Flux of Toluene (C7H8) -'c7h8fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 231 ; - } -#Wildfire Flux of Benzene (C6H6) -'c6h6fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 232 ; - } -#Wildfire Flux of Xylene (C8H10) -'c8h10fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 233 ; - } -#Wildfire Flux of Butenes (C4H8) -'c4h8fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 234 ; - } -#Wildfire Flux of Pentenes (C5H10) -'c5h10fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 235 ; - } -#Wildfire Flux of Hexene (C6H12) -'c6h12fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 236 ; - } -#Wildfire Flux of Octene (C8H16) -'c8h16fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 237 ; - } -#Wildfire Flux of Butanes (C4H10) -'c4h10fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 238 ; - } -#Wildfire Flux of Pentanes (C5H12) -'c5h12fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 239 ; - } -#Wildfire Flux of Hexanes (C6H14) -'c6h14fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 240 ; - } -#Wildfire Flux of Heptane (C7H16) -'c7h16fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 241 ; - } -#Plume bottom height above surface -'apb' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 242 ; - } -#Volcanic sulphate aerosol optical depth at 550 nm -'vsuaod550' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 243 ; - } -#Volcanic ash optical depth at 550 nm -'vashaod550' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 244 ; - } -#Profile of total aerosol dry extinction coefficient -'taedec550' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 245 ; - } -#Profile of total aerosol dry absorption coefficient -'taedab550' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 246 ; - } -#Nitrate fine mode aerosol mass mixing ratio -'aermr16' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - aerosolType = 65534 ; - is_aerosol = 1 ; - } -#Nitrate coarse mode aerosol mass mixing ratio -'aermr17' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - aerosolType = 65533 ; - is_aerosol = 1 ; - } -#Aerosol type 13 mass mixing ratio -'aermr13diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 13 ; - } -#Aerosol type 14 mass mixing ratio -'aermr14diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 14 ; - } -#Aerosol type 15 mass mixing ratio -'aermr15diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 15 ; - } -#SO4 aerosol precursor mass mixing ratio -'aerpr03diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 28 ; - } -#Water vapour mixing ratio for hydrophilic aerosols in mode 1 -'aerwv01diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 29 ; - } -#Water vapour mixing ratio for hydrophilic aerosols in mode 2 -'aerwv02diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 30 ; - } -#DMS surface emission -'emdmsdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 43 ; - } -#Water vapour mixing ratio for hydrophilic aerosols in mode 3 -'aerwv03diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 44 ; - } -#Water vapour mixing ratio for hydrophilic aerosols in mode 4 -'aerwv04diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 45 ; - } -#Experimental product -'p55.211' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 55 ; - } -#Experimental product -'p56.211' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 56 ; - } -#Water vapour (chemistry) difference -'h2odiff' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 1 ; - typeOfGeneratingProcess = 20 ; - is_chemical = 1 ; - } -#Altitude of emitter -'alediff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 119 ; - } -#Altitude of plume top -'aptdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 120 ; - } -#Nitrate fine mode aerosol mass mixing ratio -'aermr16diff' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - aerosolType = 65534 ; - typeOfGeneratingProcess = 20 ; - is_aerosol = 1 ; - } -#Nitrate coarse mode aerosol mass mixing ratio -'aermr17diff' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - aerosolType = 65533 ; - typeOfGeneratingProcess = 20 ; - is_aerosol = 1 ; - } -#Experimental product -'p1.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 1 ; - } -#Experimental product -'p2.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 2 ; - } -#Experimental product -'p3.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 3 ; - } -#Experimental product -'p4.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 4 ; - } -#Experimental product -'p5.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 5 ; - } -#Experimental product -'p6.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 6 ; - } -#Experimental product -'p7.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 7 ; - } -#Experimental product -'p8.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 8 ; - } -#Experimental product -'p9.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 9 ; - } -#Experimental product -'p10.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 10 ; - } -#Experimental product -'p11.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 11 ; - } -#Experimental product -'p12.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 12 ; - } -#Experimental product -'p13.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 13 ; - } -#Experimental product -'p14.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 14 ; - } -#Experimental product -'p15.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 15 ; - } -#Experimental product -'p16.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 16 ; - } -#Experimental product -'p17.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 17 ; - } -#Experimental product -'p18.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 18 ; - } -#Experimental product -'p19.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 19 ; - } -#Experimental product -'p20.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 20 ; - } -#Experimental product -'p21.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 21 ; - } -#Experimental product -'p22.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 22 ; - } -#Experimental product -'p23.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 23 ; - } -#Experimental product -'p24.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 24 ; - } -#Experimental product -'p25.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 25 ; - } -#Experimental product -'p26.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 26 ; - } -#Experimental product -'p27.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 27 ; - } -#Experimental product -'p28.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 28 ; - } -#Experimental product -'p29.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 29 ; - } -#Experimental product -'p30.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 30 ; - } -#Experimental product -'p31.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 31 ; - } -#Experimental product -'p32.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 32 ; - } -#Experimental product -'p33.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 33 ; - } -#Experimental product -'p34.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 34 ; - } -#Experimental product -'p35.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 35 ; - } -#Experimental product -'p36.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 36 ; - } -#Experimental product -'p37.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 37 ; - } -#Experimental product -'p38.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 38 ; - } -#Experimental product -'p39.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 39 ; - } -#Experimental product -'p40.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 40 ; - } -#Experimental product -'p41.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 41 ; - } -#Experimental product -'p42.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 42 ; - } -#Experimental product -'p43.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 43 ; - } -#Experimental product -'p44.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 44 ; - } -#Experimental product -'p45.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 45 ; - } -#Experimental product -'p46.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 46 ; - } -#Experimental product -'p47.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 47 ; - } -#Experimental product -'p48.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 48 ; - } -#Experimental product -'p49.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 49 ; - } -#Experimental product -'p50.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 50 ; - } -#Experimental product -'p51.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 51 ; - } -#Experimental product -'p52.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 52 ; - } -#Experimental product -'p53.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 53 ; - } -#Experimental product -'p54.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 54 ; - } -#Experimental product -'p55.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 55 ; - } -#Experimental product -'p56.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 56 ; - } -#Experimental product -'p57.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 57 ; - } -#Experimental product -'p58.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 58 ; - } -#Experimental product -'p59.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 59 ; - } -#Experimental product -'p60.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 60 ; - } -#Experimental product -'p61.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 61 ; - } -#Experimental product -'p62.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 62 ; - } -#Experimental product -'p63.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 63 ; - } -#Experimental product -'p64.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 64 ; - } -#Experimental product -'p65.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 65 ; - } -#Experimental product -'p66.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 66 ; - } -#Experimental product -'p67.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 67 ; - } -#Experimental product -'p68.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 68 ; - } -#Experimental product -'p69.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 69 ; - } -#Experimental product -'p70.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 70 ; - } -#Experimental product -'p71.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 71 ; - } -#Experimental product -'p72.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 72 ; - } -#Experimental product -'p73.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 73 ; - } -#Experimental product -'p74.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 74 ; - } -#Experimental product -'p75.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 75 ; - } -#Experimental product -'p76.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 76 ; - } -#Experimental product -'p77.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 77 ; - } -#Experimental product -'p78.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 78 ; - } -#Experimental product -'p79.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 79 ; - } -#Experimental product -'p80.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 80 ; - } -#Experimental product -'p81.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 81 ; - } -#Experimental product -'p82.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 82 ; - } -#Experimental product -'p83.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 83 ; - } -#Experimental product -'p84.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 84 ; - } -#Experimental product -'p85.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 85 ; - } -#Experimental product -'p86.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 86 ; - } -#Experimental product -'p87.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 87 ; - } -#Experimental product -'p88.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 88 ; - } -#Experimental product -'p89.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 89 ; - } -#Experimental product -'p90.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 90 ; - } -#Experimental product -'p91.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 91 ; - } -#Experimental product -'p92.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 92 ; - } -#Experimental product -'p93.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 93 ; - } -#Experimental product -'p94.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 94 ; - } -#Experimental product -'p95.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 95 ; - } -#Experimental product -'p96.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 96 ; - } -#Experimental product -'p97.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 97 ; - } -#Experimental product -'p98.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 98 ; - } -#Experimental product -'p99.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 99 ; - } -#Experimental product -'p100.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 100 ; - } -#Experimental product -'p101.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 101 ; - } -#Experimental product -'p102.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 102 ; - } -#Experimental product -'p103.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 103 ; - } -#Experimental product -'p104.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 104 ; - } -#Experimental product -'p105.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 105 ; - } -#Experimental product -'p106.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 106 ; - } -#Experimental product -'p107.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 107 ; - } -#Experimental product -'p108.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 108 ; - } -#Experimental product -'p109.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 109 ; - } -#Experimental product -'p110.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 110 ; - } -#Experimental product -'p111.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 111 ; - } -#Experimental product -'p112.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 112 ; - } -#Experimental product -'p113.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 113 ; - } -#Experimental product -'p114.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 114 ; - } -#Experimental product -'p115.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 115 ; - } -#Experimental product -'p116.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 116 ; - } -#Experimental product -'p117.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 117 ; - } -#Experimental product -'p118.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 118 ; - } -#Experimental product -'p119.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 119 ; - } -#Experimental product -'p120.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 120 ; - } -#Experimental product -'p121.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 121 ; - } -#Experimental product -'p122.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 122 ; - } -#Experimental product -'p123.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 123 ; - } -#Experimental product -'p124.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 124 ; - } -#Experimental product -'p125.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 125 ; - } -#Experimental product -'p126.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 126 ; - } -#Experimental product -'p127.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 127 ; - } -#Experimental product -'p128.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 128 ; - } -#Experimental product -'p129.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 129 ; - } -#Experimental product -'p130.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 130 ; - } -#Experimental product -'p131.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 131 ; - } -#Experimental product -'p132.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 132 ; - } -#Experimental product -'p133.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 133 ; - } -#Experimental product -'p134.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 134 ; - } -#Experimental product -'p135.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 135 ; - } -#Experimental product -'p136.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 136 ; - } -#Experimental product -'p137.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 137 ; - } -#Experimental product -'p138.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 138 ; - } -#Experimental product -'p139.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 139 ; - } -#Experimental product -'p140.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 140 ; - } -#Experimental product -'p141.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 141 ; - } -#Experimental product -'p142.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 142 ; - } -#Experimental product -'p143.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 143 ; - } -#Experimental product -'p144.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 144 ; - } -#Experimental product -'p145.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 145 ; - } -#Experimental product -'p146.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 146 ; - } -#Experimental product -'p147.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 147 ; - } -#Experimental product -'p148.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 148 ; - } -#Experimental product -'p149.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 149 ; - } -#Experimental product -'p150.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 150 ; - } -#Experimental product -'p151.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 151 ; - } -#Experimental product -'p152.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 152 ; - } -#Experimental product -'p153.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 153 ; - } -#Experimental product -'p154.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 154 ; - } -#Experimental product -'p155.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 155 ; - } -#Experimental product -'p156.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 156 ; - } -#Experimental product -'p157.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 157 ; - } -#Experimental product -'p158.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 158 ; - } -#Experimental product -'p159.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 159 ; - } -#Experimental product -'p160.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 160 ; - } -#Experimental product -'p161.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 161 ; - } -#Experimental product -'p162.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 162 ; - } -#Experimental product -'p163.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 163 ; - } -#Experimental product -'p164.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 164 ; - } -#Experimental product -'p165.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 165 ; - } -#Experimental product -'p166.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 166 ; - } -#Experimental product -'p167.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 167 ; - } -#Experimental product -'p168.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 168 ; - } -#Experimental product -'p169.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 169 ; - } -#Experimental product -'p170.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 170 ; - } -#Experimental product -'p171.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 171 ; - } -#Experimental product -'p172.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 172 ; - } -#Experimental product -'p173.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 173 ; - } -#Experimental product -'p174.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 174 ; - } -#Experimental product -'p175.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 175 ; - } -#Experimental product -'p176.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 176 ; - } -#Experimental product -'p177.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 177 ; - } -#Experimental product -'p178.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 178 ; - } -#Experimental product -'p179.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 179 ; - } -#Experimental product -'p180.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 180 ; - } -#Experimental product -'p181.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 181 ; - } -#Experimental product -'p182.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 182 ; - } -#Experimental product -'p183.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 183 ; - } -#Experimental product -'p184.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 184 ; - } -#Experimental product -'p185.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 185 ; - } -#Experimental product -'p186.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 186 ; - } -#Experimental product -'p187.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 187 ; - } -#Experimental product -'p188.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 188 ; - } -#Experimental product -'p189.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 189 ; - } -#Experimental product -'p190.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 190 ; - } -#Experimental product -'p191.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 191 ; - } -#Experimental product -'p192.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 192 ; - } -#Experimental product -'p193.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 193 ; - } -#Experimental product -'p194.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 194 ; - } -#Experimental product -'p195.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 195 ; - } -#Experimental product -'p196.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 196 ; - } -#Experimental product -'p197.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 197 ; - } -#Experimental product -'p198.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 198 ; - } -#Experimental product -'p199.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 199 ; - } -#Experimental product -'p200.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 200 ; - } -#Experimental product -'p201.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 201 ; - } -#Experimental product -'p202.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 202 ; - } -#Experimental product -'p203.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 203 ; - } -#Experimental product -'p204.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 204 ; - } -#Experimental product -'p205.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 205 ; - } -#Experimental product -'p206.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 206 ; - } -#Experimental product -'p207.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 207 ; - } -#Experimental product -'p208.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 208 ; - } -#Experimental product -'p209.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 209 ; - } -#Experimental product -'p210.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 210 ; - } -#Experimental product -'p211.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 211 ; - } -#Experimental product -'p212.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 212 ; - } -#Experimental product -'p213.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 213 ; - } -#Experimental product -'p214.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 214 ; - } -#Experimental product -'p215.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 215 ; - } -#Experimental product -'p216.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 216 ; - } -#Experimental product -'p217.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 217 ; - } -#Experimental product -'p218.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 218 ; - } -#Experimental product -'p219.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 219 ; - } -#Experimental product -'p220.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 220 ; - } -#Experimental product -'p221.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 221 ; - } -#Experimental product -'p222.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 222 ; - } -#Experimental product -'p223.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 223 ; - } -#Experimental product -'p224.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 224 ; - } -#Experimental product -'p225.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 225 ; - } -#Experimental product -'p226.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 226 ; - } -#Experimental product -'p227.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 227 ; - } -#Experimental product -'p228.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 228 ; - } -#Experimental product -'p229.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 229 ; - } -#Experimental product -'p230.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 230 ; - } -#Experimental product -'p231.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 231 ; - } -#Experimental product -'p232.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 232 ; - } -#Experimental product -'p233.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 233 ; - } -#Experimental product -'p234.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 234 ; - } -#Experimental product -'p235.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 235 ; - } -#Experimental product -'p236.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 236 ; - } -#Experimental product -'p237.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 237 ; - } -#Experimental product -'p238.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 238 ; - } -#Experimental product -'p239.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 239 ; - } -#Experimental product -'p240.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 240 ; - } -#Experimental product -'p241.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 241 ; - } -#Experimental product -'p242.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 242 ; - } -#Experimental product -'p243.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 243 ; - } -#Experimental product -'p244.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 244 ; - } -#Experimental product -'p245.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 245 ; - } -#Experimental product -'p246.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 246 ; - } -#Experimental product -'p247.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 247 ; - } -#Experimental product -'p248.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 248 ; - } -#Experimental product -'p249.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 249 ; - } -#Experimental product -'p250.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 250 ; - } -#Experimental product -'p251.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 251 ; - } -#Experimental product -'p252.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 252 ; - } -#Experimental product -'p253.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 253 ; - } -#Experimental product -'p254.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 254 ; - } -#Experimental product -'p255.212' = { - discipline = 192 ; - parameterCategory = 212 ; - parameterNumber = 255 ; - } -#Random pattern 1 for sppt -'sppt1' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 1 ; - } -#Random pattern 2 for sppt -'sppt2' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 2 ; - } -#Random pattern 3 for sppt -'sppt3' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 3 ; - } -#Random pattern 4 for sppt -'sppt4' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 4 ; - } -#Random pattern 5 for sppt -'sppt5' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 5 ; - } -#Random pattern 1 for SPP scheme -'spp1' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 101 ; - } -#Random pattern 2 for SPP scheme -'spp2' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 102 ; - } -#Random pattern 3 for SPP scheme -'spp3' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 103 ; - } -#Random pattern 4 for SPP scheme -'spp4' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 104 ; - } -#Random pattern 5 for SPP scheme -'spp5' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 105 ; - } -#Random pattern 6 for SPP scheme -'spp6' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 106 ; - } -#Random pattern 7 for SPP scheme -'spp7' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 107 ; - } -#Random pattern 8 for SPP scheme -'spp8' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 108 ; - } -#Random pattern 9 for SPP scheme -'spp9' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 109 ; - } -#Random pattern 10 for SPP scheme -'spp10' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 110 ; - } -#Random pattern 11 for SPP scheme -'spp11' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 111 ; - } -#Random pattern 12 for SPP scheme -'spp12' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 112 ; - } -#Random pattern 13 for SPP scheme -'spp13' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 113 ; - } -#Random pattern 14 for SPP scheme -'spp14' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 114 ; - } -#Random pattern 15 for SPP scheme -'spp15' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 115 ; - } -#Random pattern 16 for SPP scheme -'spp16' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 116 ; - } -#Random pattern 17 for SPP scheme -'spp17' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 117 ; - } -#Random pattern 18 for SPP scheme -'spp18' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 118 ; - } -#Random pattern 19 for SPP scheme -'spp19' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 119 ; - } -#Random pattern 20 for SPP scheme -'spp20' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 120 ; - } -#Random pattern 21 for SPP scheme -'spp21' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 121 ; - } -#Random pattern 22 for SPP scheme -'spp22' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 122 ; - } -#Random pattern 23 for SPP scheme -'spp23' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 123 ; - } -#Random pattern 24 for SPP scheme -'spp24' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 124 ; - } -#Random pattern 25 for SPP scheme -'spp25' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 125 ; - } -#Random pattern 26 for SPP scheme -'spp26' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 126 ; - } -#Random pattern 27 for SPP scheme -'spp27' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 127 ; - } -#Random pattern 28 for SPP scheme -'spp28' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 128 ; - } -#Random pattern 29 for SPP scheme -'spp29' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 129 ; - } -#Random pattern 30 for SPP scheme -'spp30' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 130 ; - } -#Random pattern 31 for SPP scheme -'spp31' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 131 ; - } -#Random pattern 32 for SPP scheme -'spp32' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 132 ; - } -#Random pattern 33 for SPP scheme -'spp33' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 133 ; - } -#Random pattern 34 for SPP scheme -'spp34' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 134 ; - } -#Random pattern 35 for SPP scheme -'spp35' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 135 ; - } -#Random pattern 36 for SPP scheme -'spp36' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 136 ; - } -#Random pattern 37 for SPP scheme -'spp37' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 137 ; - } -#Random pattern 38 for SPP scheme -'spp38' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 138 ; - } -#Random pattern 39 for SPP scheme -'spp39' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 139 ; - } -#Random pattern 40 for SPP scheme -'spp40' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 140 ; - } -#Random pattern 41 for SPP scheme -'spp41' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 141 ; - } -#Random pattern 42 for SPP scheme -'spp42' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 142 ; - } -#Random pattern 43 for SPP scheme -'spp43' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 143 ; - } -#Random pattern 44 for SPP scheme -'spp44' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 144 ; - } -#Random pattern 45 for SPP scheme -'spp45' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 145 ; - } -#Random pattern 46 for SPP scheme -'spp46' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 146 ; - } -#Random pattern 47 for SPP scheme -'spp47' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 147 ; - } -#Random pattern 48 for SPP scheme -'spp48' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 148 ; - } -#Random pattern 49 for SPP scheme -'spp49' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 149 ; - } -#Random pattern 50 for SPP scheme -'spp50' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 150 ; - } -#Random pattern 51 for SPP scheme -'spp51' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 151 ; - } -#Random pattern 52 for SPP scheme -'spp52' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 152 ; - } -#Random pattern 53 for SPP scheme -'spp53' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 153 ; - } -#Random pattern 54 for SPP scheme -'spp54' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 154 ; - } -#Random pattern 55 for SPP scheme -'spp55' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 155 ; - } -#Random pattern 56 for SPP scheme -'spp56' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 156 ; - } -#Random pattern 57 for SPP scheme -'spp57' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 157 ; - } -#Random pattern 58 for SPP scheme -'spp58' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 158 ; - } -#Random pattern 59 for SPP scheme -'spp59' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 159 ; - } -#Random pattern 60 for SPP scheme -'spp60' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 160 ; - } -#Random pattern 61 for SPP scheme -'spp61' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 161 ; - } -#Random pattern 62 for SPP scheme -'spp62' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 162 ; - } -#Random pattern 63 for SPP scheme -'spp63' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 163 ; - } -#Random pattern 64 for SPP scheme -'spp64' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 164 ; - } -#Random pattern 65 for SPP scheme -'spp65' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 165 ; - } -#Random pattern 66 for SPP scheme -'spp66' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 166 ; - } -#Random pattern 67 for SPP scheme -'spp67' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 167 ; - } -#Random pattern 68 for SPP scheme -'spp68' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 168 ; - } -#Random pattern 69 for SPP scheme -'spp69' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 169 ; - } -#Random pattern 70 for SPP scheme -'spp70' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 170 ; - } -#Random pattern 71 for SPP scheme -'spp71' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 171 ; - } -#Random pattern 72 for SPP scheme -'spp72' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 172 ; - } -#Random pattern 73 for SPP scheme -'spp73' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 173 ; - } -#Random pattern 74 for SPP scheme -'spp74' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 174 ; - } -#Random pattern 75 for SPP scheme -'spp75' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 175 ; - } -#Random pattern 76 for SPP scheme -'spp76' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 176 ; - } -#Random pattern 77 for SPP scheme -'spp77' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 177 ; - } -#Random pattern 78 for SPP scheme -'spp78' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 178 ; - } -#Random pattern 79 for SPP scheme -'spp79' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 179 ; - } -#Random pattern 80 for SPP scheme -'spp80' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 180 ; - } -#Random pattern 81 for SPP scheme -'spp81' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 181 ; - } -#Random pattern 82 for SPP scheme -'spp82' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 182 ; - } -#Random pattern 83 for SPP scheme -'spp83' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 183 ; - } -#Random pattern 84 for SPP scheme -'spp84' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 184 ; - } -#Random pattern 85 for SPP scheme -'spp85' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 185 ; - } -#Random pattern 86 for SPP scheme -'spp86' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 186 ; - } -#Random pattern 87 for SPP scheme -'spp87' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 187 ; - } -#Random pattern 88 for SPP scheme -'spp88' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 188 ; - } -#Random pattern 89 for SPP scheme -'spp89' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 189 ; - } -#Random pattern 90 for SPP scheme -'spp90' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 190 ; - } -#Random pattern 91 for SPP scheme -'spp91' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 191 ; - } -#Random pattern 92 for SPP scheme -'spp92' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 192 ; - } -#Random pattern 93 for SPP scheme -'spp93' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 193 ; - } -#Random pattern 94 for SPP scheme -'spp94' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 194 ; - } -#Random pattern 95 for SPP scheme -'spp95' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 195 ; - } -#Random pattern 96 for SPP scheme -'spp96' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 196 ; - } -#Random pattern 97 for SPP scheme -'spp97' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 197 ; - } -#Random pattern 98 for SPP scheme -'spp98' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 198 ; - } -#Random pattern 99 for SPP scheme -'spp99' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 199 ; - } -#Random pattern 100 for SPP scheme -'spp100' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 200 ; - } -#Random pattern 101 for SPP scheme -'spp101' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 201 ; - } -#Random pattern 102 for SPP scheme -'spp102' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 202 ; - } -#Random pattern 103 for SPP scheme -'spp103' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 203 ; - } -#Random pattern 104 for SPP scheme -'spp104' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 204 ; - } -#Random pattern 105 for SPP scheme -'spp105' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 205 ; - } -#Random pattern 106 for SPP scheme -'spp106' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 206 ; - } -#Random pattern 107 for SPP scheme -'spp107' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 207 ; - } -#Random pattern 108 for SPP scheme -'spp108' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 208 ; - } -#Random pattern 109 for SPP scheme -'spp109' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 209 ; - } -#Random pattern 110 for SPP scheme -'spp110' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 210 ; - } -#Random pattern 111 for SPP scheme -'spp111' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 211 ; - } -#Random pattern 112 for SPP scheme -'spp112' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 212 ; - } -#Random pattern 113 for SPP scheme -'spp113' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 213 ; - } -#Random pattern 114 for SPP scheme -'spp114' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 214 ; - } -#Random pattern 115 for SPP scheme -'spp115' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 215 ; - } -#Random pattern 116 for SPP scheme -'spp116' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 216 ; - } -#Random pattern 117 for SPP scheme -'spp117' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 217 ; - } -#Random pattern 118 for SPP scheme -'spp118' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 218 ; - } -#Random pattern 119 for SPP scheme -'spp119' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 219 ; - } -#Random pattern 120 for SPP scheme -'spp120' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 220 ; - } -#Random pattern 121 for SPP scheme -'spp121' = { - discipline = 192 ; - parameterCategory = 213 ; - parameterNumber = 221 ; - } -#Cosine of solar zenith angle -'uvcossza' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 1 ; - } -#UV biologically effective dose -'uvbed' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 2 ; - } -#UV biologically effective dose clear-sky -'uvbedcs' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 3 ; - } -#Total surface UV spectral flux (280-285 nm) -'uvsflxt280285' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 4 ; - } -#Total surface UV spectral flux (285-290 nm) -'uvsflxt285290' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 5 ; - } -#Total surface UV spectral flux (290-295 nm) -'uvsflxt290295' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 6 ; - } -#Total surface UV spectral flux (295-300 nm) -'uvsflxt295300' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 7 ; - } -#Total surface UV spectral flux (300-305 nm) -'uvsflxt300305' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 8 ; - } -#Total surface UV spectral flux (305-310 nm) -'uvsflxt305310' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 9 ; - } -#Total surface UV spectral flux (310-315 nm) -'uvsflxt310315' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 10 ; - } -#Total surface UV spectral flux (315-320 nm) -'uvsflxt315320' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 11 ; - } -#Total surface UV spectral flux (320-325 nm) -'uvsflxt320325' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 12 ; - } -#Total surface UV spectral flux (325-330 nm) -'uvsflxt325330' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 13 ; - } -#Total surface UV spectral flux (330-335 nm) -'uvsflxt330335' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 14 ; - } -#Total surface UV spectral flux (335-340 nm) -'uvsflxt335340' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 15 ; - } -#Total surface UV spectral flux (340-345 nm) -'uvsflxt340345' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 16 ; - } -#Total surface UV spectral flux (345-350 nm) -'uvsflxt345350' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 17 ; - } -#Total surface UV spectral flux (350-355 nm) -'uvsflxt350355' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 18 ; - } -#Total surface UV spectral flux (355-360 nm) -'uvsflxt355360' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 19 ; - } -#Total surface UV spectral flux (360-365 nm) -'uvsflxt360365' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 20 ; - } -#Total surface UV spectral flux (365-370 nm) -'uvsflxt365370' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 21 ; - } -#Total surface UV spectral flux (370-375 nm) -'uvsflxt370375' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 22 ; - } -#Total surface UV spectral flux (375-380 nm) -'uvsflxt375380' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 23 ; - } -#Total surface UV spectral flux (380-385 nm) -'uvsflxt380385' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 24 ; - } -#Total surface UV spectral flux (385-390 nm) -'uvsflxt385390' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 25 ; - } -#Total surface UV spectral flux (390-395 nm) -'uvsflxt390395' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 26 ; - } -#Total surface UV spectral flux (395-400 nm) -'uvsflxt395400' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 27 ; - } -#Clear-sky surface UV spectral flux (280-285 nm) -'uvsflxcs280285' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 28 ; - } -#Clear-sky surface UV spectral flux (285-290 nm) -'uvsflxcs285290' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 29 ; - } -#Clear-sky surface UV spectral flux (290-295 nm) -'uvsflxcs290295' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 30 ; - } -#Clear-sky surface UV spectral flux (295-300 nm) -'uvsflxcs295300' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 31 ; - } -#Clear-sky surface UV spectral flux (300-305 nm) -'uvsflxcs300305' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 32 ; - } -#Clear-sky surface UV spectral flux (305-310 nm) -'uvsflxcs305310' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 33 ; - } -#Clear-sky surface UV spectral flux (310-315 nm) -'uvsflxcs310315' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 34 ; - } -#Clear-sky surface UV spectral flux (315-320 nm) -'uvsflxcs315320' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 35 ; - } -#Clear-sky surface UV spectral flux (320-325 nm) -'uvsflxcs320325' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 36 ; - } -#Clear-sky surface UV spectral flux (325-330 nm) -'uvsflxcs325330' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 37 ; - } -#Clear-sky surface UV spectral flux (330-335 nm) -'uvsflxcs330335' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 38 ; - } -#Clear-sky surface UV spectral flux (335-340 nm) -'uvsflxcs335340' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 39 ; - } -#Clear-sky surface UV spectral flux (340-345 nm) -'uvsflxcs340345' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 40 ; - } -#Clear-sky surface UV spectral flux (345-350 nm) -'uvsflxcs345350' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 41 ; - } -#Clear-sky surface UV spectral flux (350-355 nm) -'uvsflxcs350355' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 42 ; - } -#Clear-sky surface UV spectral flux (355-360 nm) -'uvsflxcs355360' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 43 ; - } -#Clear-sky surface UV spectral flux (360-365 nm) -'uvsflxcs360365' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 44 ; - } -#Clear-sky surface UV spectral flux (365-370 nm) -'uvsflxcs365370' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 45 ; - } -#Clear-sky surface UV spectral flux (370-375 nm) -'uvsflxcs370375' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 46 ; - } -#Clear-sky surface UV spectral flux (375-380 nm) -'uvsflxcs375380' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 47 ; - } -#Clear-sky surface UV spectral flux (380-385 nm) -'uvsflxcs380385' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 48 ; - } -#Clear-sky surface UV spectral flux (385-390 nm) -'uvsflxcs385390' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 49 ; - } -#Clear-sky surface UV spectral flux (390-395 nm) -'uvsflxcs390395' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 50 ; - } -#Clear-sky surface UV spectral flux (395-400 nm) -'uvsflxcs395400' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 51 ; - } -#Profile of optical thickness at 340 nm -'aot340' = { - discipline = 192 ; - parameterCategory = 214 ; - parameterNumber = 52 ; - } -#Source/gain of sea salt aerosol (0.03 - 0.5 um) -'aersrcsss' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 1 ; - } -#Source/gain of sea salt aerosol (0.5 - 5 um) -'aersrcssm' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 2 ; - } -#Source/gain of sea salt aerosol (5 - 20 um) -'aersrcssl' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 3 ; - } -#Dry deposition of sea salt aerosol (0.03 - 0.5 um) -'aerddpsss' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 4 ; - } -#Dry deposition of sea salt aerosol (0.5 - 5 um) -'aerddpssm' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 5 ; - } -#Dry deposition of sea salt aerosol (5 - 20 um) -'aerddpssl' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 6 ; - } -#Sedimentation of sea salt aerosol (0.03 - 0.5 um) -'aersdmsss' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 7 ; - } -#Sedimentation of sea salt aerosol (0.5 - 5 um) -'aersdmssm' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 8 ; - } -#Sedimentation of sea salt aerosol (5 - 20 um) -'aersdmssl' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 9 ; - } -#Wet deposition of sea salt aerosol (0.03 - 0.5 um) by large-scale precipitation -'aerwdlssss' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 10 ; - } -#Wet deposition of sea salt aerosol (0.5 - 5 um) by large-scale precipitation -'aerwdlsssm' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 11 ; - } -#Wet deposition of sea salt aerosol (5 - 20 um) by large-scale precipitation -'aerwdlsssl' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 12 ; - } -#Wet deposition of sea salt aerosol (0.03 - 0.5 um) by convective precipitation -'aerwdccsss' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 13 ; - } -#Wet deposition of sea salt aerosol (0.5 - 5 um) by convective precipitation -'aerwdccssm' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 14 ; - } -#Wet deposition of sea salt aerosol (5 - 20 um) by convective precipitation -'aerwdccssl' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 15 ; - } -#Negative fixer of sea salt aerosol (0.03 - 0.5 um) -'aerngtsss' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 16 ; - } -#Negative fixer of sea salt aerosol (0.5 - 5 um) -'aerngtssm' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 17 ; - } -#Negative fixer of sea salt aerosol (5 - 20 um) -'aerngtssl' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 18 ; - } -#Vertically integrated mass of sea salt aerosol (0.03 - 0.5 um) -'aermsssss' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 19 ; - } -#Vertically integrated mass of sea salt aerosol (0.5 - 5 um) -'aermssssm' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 20 ; - } -#Vertically integrated mass of sea salt aerosol (5 - 20 um) -'aermssssl' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 21 ; - } -#Sea salt aerosol (0.03 - 0.5 um) optical depth -'aerodsss' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 22 ; - } -#Sea salt aerosol (0.5 - 5 um) optical depth -'aerodssm' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 23 ; - } -#Sea salt aerosol (5 - 20 um) optical depth -'aerodssl' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 24 ; - } -#Source/gain of dust aerosol (0.03 - 0.55 um) -'aersrcdus' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 25 ; - } -#Source/gain of dust aerosol (0.55 - 9 um) -'aersrcdum' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 26 ; - } -#Source/gain of dust aerosol (9 - 20 um) -'aersrcdul' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 27 ; - } -#Dry deposition of dust aerosol (0.03 - 0.55 um) -'aerddpdus' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 28 ; - } -#Dry deposition of dust aerosol (0.55 - 9 um) -'aerddpdum' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 29 ; - } -#Dry deposition of dust aerosol (9 - 20 um) -'aerddpdul' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 30 ; - } -#Sedimentation of dust aerosol (0.03 - 0.55 um) -'aersdmdus' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 31 ; - } -#Sedimentation of dust aerosol (0.55 - 9 um) -'aersdmdum' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 32 ; - } -#Sedimentation of dust aerosol (9 - 20 um) -'aersdmdul' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 33 ; - } -#Wet deposition of dust aerosol (0.03 - 0.55 um) by large-scale precipitation -'aerwdlsdus' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 34 ; - } -#Wet deposition of dust aerosol (0.55 - 9 um) by large-scale precipitation -'aerwdlsdum' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 35 ; - } -#Wet deposition of dust aerosol (9 - 20 um) by large-scale precipitation -'aerwdlsdul' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 36 ; - } -#Wet deposition of dust aerosol (0.03 - 0.55 um) by convective precipitation -'aerwdccdus' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 37 ; - } -#Wet deposition of dust aerosol (0.55 - 9 um) by convective precipitation -'aerwdccdum' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 38 ; - } -#Wet deposition of dust aerosol (9 - 20 um) by convective precipitation -'aerwdccdul' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 39 ; - } -#Negative fixer of dust aerosol (0.03 - 0.55 um) -'aerngtdus' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 40 ; - } -#Negative fixer of dust aerosol (0.55 - 9 um) -'aerngtdum' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 41 ; - } -#Negative fixer of dust aerosol (9 - 20 um) -'aerngtdul' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 42 ; - } -#Vertically integrated mass of dust aerosol (0.03 - 0.55 um) -'aermssdus' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 43 ; - } -#Vertically integrated mass of dust aerosol (0.55 - 9 um) -'aermssdum' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 44 ; - } -#Vertically integrated mass of dust aerosol (9 - 20 um) -'aermssdul' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 45 ; - } -#Dust aerosol (0.03 - 0.55 um) optical depth -'aeroddus' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 46 ; - } -#Dust aerosol (0.55 - 9 um) optical depth -'aeroddum' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 47 ; - } -#Dust aerosol (9 - 20 um) optical depth -'aeroddul' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 48 ; - } -#Source/gain of hydrophobic organic matter aerosol -'aersrcomhphob' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 49 ; - } -#Source/gain of hydrophilic organic matter aerosol -'aersrcomhphil' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 50 ; - } -#Dry deposition of hydrophobic organic matter aerosol -'aerddpomhphob' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 51 ; - } -#Dry deposition of hydrophilic organic matter aerosol -'aerddpomhphil' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 52 ; - } -#Sedimentation of hydrophobic organic matter aerosol -'aersdmomhphob' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 53 ; - } -#Sedimentation of hydrophilic organic matter aerosol -'aersdmomhphil' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 54 ; - } -#Wet deposition of hydrophobic organic matter aerosol by large-scale precipitation -'aerwdlsomhphob' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 55 ; - } -#Wet deposition of hydrophilic organic matter aerosol by large-scale precipitation -'aerwdlsomhphil' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 56 ; - } -#Wet deposition of hydrophobic organic matter aerosol by convective precipitation -'aerwdccomhphob' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 57 ; - } -#Wet deposition of hydrophilic organic matter aerosol by convective precipitation -'aerwdccomhphil' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 58 ; - } -#Negative fixer of hydrophobic organic matter aerosol -'aerngtomhphob' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 59 ; - } -#Negative fixer of hydrophilic organic matter aerosol -'aerngtomhphil' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 60 ; - } -#Vertically integrated mass of hydrophobic organic matter aerosol -'aermssomhphob' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 61 ; - } -#Vertically integrated mass of hydrophilic organic matter aerosol -'aermssomhphil' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 62 ; - } -#Hydrophobic organic matter aerosol optical depth -'aerodomhphob' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 63 ; - } -#Hydrophilic organic matter aerosol optical depth -'aerodomhphil' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 64 ; - } -#Source/gain of hydrophobic black carbon aerosol -'aersrcbchphob' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 65 ; - } -#Source/gain of hydrophilic black carbon aerosol -'aersrcbchphil' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 66 ; - } -#Dry deposition of hydrophobic black carbon aerosol -'aerddpbchphob' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 67 ; - } -#Dry deposition of hydrophilic black carbon aerosol -'aerddpbchphil' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 68 ; - } -#Sedimentation of hydrophobic black carbon aerosol -'aersdmbchphob' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 69 ; - } -#Sedimentation of hydrophilic black carbon aerosol -'aersdmbchphil' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 70 ; - } -#Wet deposition of hydrophobic black carbon aerosol by large-scale precipitation -'aerwdlsbchphob' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 71 ; - } -#Wet deposition of hydrophilic black carbon aerosol by large-scale precipitation -'aerwdlsbchphil' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 72 ; - } -#Wet deposition of hydrophobic black carbon aerosol by convective precipitation -'aerwdccbchphob' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 73 ; - } -#Wet deposition of hydrophilic black carbon aerosol by convective precipitation -'aerwdccbchphil' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 74 ; - } -#Negative fixer of hydrophobic black carbon aerosol -'aerngtbchphob' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 75 ; - } -#Negative fixer of hydrophilic black carbon aerosol -'aerngtbchphil' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 76 ; - } -#Vertically integrated mass of hydrophobic black carbon aerosol -'aermssbchphob' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 77 ; - } -#Vertically integrated mass of hydrophilic black carbon aerosol -'aermssbchphil' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 78 ; - } -#Hydrophobic black carbon aerosol optical depth -'aerodbchphob' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 79 ; - } -#Hydrophilic black carbon aerosol optical depth -'aerodbchphil' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 80 ; - } -#Source/gain of sulphate aerosol -'aersrcsu' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 81 ; - } -#Dry deposition of sulphate aerosol -'aerddpsu' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 82 ; - } -#Sedimentation of sulphate aerosol -'aersdmsu' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 83 ; - } -#Wet deposition of sulphate aerosol by large-scale precipitation -'aerwdlssu' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 84 ; - } -#Wet deposition of sulphate aerosol by convective precipitation -'aerwdccsu' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 85 ; - } -#Negative fixer of sulphate aerosol -'aerngtsu' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 86 ; - } -#Vertically integrated mass of sulphate aerosol -'aermsssu' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 87 ; - } -#Sulphate aerosol optical depth -'aerodsu' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 88 ; - } -#Accumulated total aerosol optical depth at 550 nm -'accaod550' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 89 ; - } -#Effective (snow effect included) UV visible albedo for direct radiation -'aluvpsn' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 90 ; - } -#10 metre wind speed dust emission potential -'aerdep10si' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 91 ; - } -#10 metre wind gustiness dust emission potential -'aerdep10fg' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 92 ; - } -#Total aerosol optical thickness at 532 nm -'aot532' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 93 ; - } -#Natural (sea-salt and dust) aerosol optical thickness at 532 nm -'naot532' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 94 ; - } -#Anthropogenic (black carbon, organic matter, sulphate) aerosol optical thickness at 532 nm -'aaot532' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 95 ; - } -#Total absorption aerosol optical depth at 340 nm -'aodabs340' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 96 ; - } -#Total absorption aerosol optical depth at 355 nm -'aodabs355' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 97 ; - } -#Total absorption aerosol optical depth at 380 nm -'aodabs380' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 98 ; - } -#Total absorption aerosol optical depth at 400 nm -'aodabs400' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 99 ; - } -#Total absorption aerosol optical depth at 440 nm -'aodabs440' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 100 ; - } -#Total absorption aerosol optical depth at 469 nm -'aodabs469' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 101 ; - } -#Total absorption aerosol optical depth at 500 nm -'aodabs500' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 102 ; - } -#Total absorption aerosol optical depth at 532 nm -'aodabs532' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 103 ; - } -#Total absorption aerosol optical depth at 550 nm -'aodabs550' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 104 ; - } -#Total absorption aerosol optical depth at 645 nm -'aodabs645' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 105 ; - } -#Total absorption aerosol optical depth at 670 nm -'aodabs670' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 106 ; - } -#Total absorption aerosol optical depth at 800 nm -'aodabs800' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 107 ; - } -#Total absorption aerosol optical depth at 858 nm -'aodabs858' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 108 ; - } -#Total absorption aerosol optical depth at 865 nm -'aodabs865' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 109 ; - } -#Total absorption aerosol optical depth at 1020 nm -'aodabs1020' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 110 ; - } -#Total absorption aerosol optical depth at 1064 nm -'aodabs1064' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 111 ; - } -#Total absorption aerosol optical depth at 1240 nm -'aodabs1240' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 112 ; - } -#Total absorption aerosol optical depth at 1640 nm -'aodabs1640' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 113 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 340 nm -'aodfm340' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 114 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 355 nm -'aodfm355' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 115 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 380 nm -'aodfm380' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 116 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 400 nm -'aodfm400' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 117 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 440 nm -'aodfm440' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 118 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 469 nm -'aodfm469' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 119 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 500 nm -'aodfm500' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 120 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 532 nm -'aodfm532' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 121 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 550 nm -'aodfm550' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 122 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 645 nm -'aodfm645' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 123 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 670 nm -'aodfm670' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 124 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 800 nm -'aodfm800' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 125 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 858 nm -'aodfm858' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 126 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 865 nm -'aodfm865' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 127 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 1020 nm -'aodfm1020' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 128 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 1064 nm -'aodfm1064' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 129 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 1240 nm -'aodfm1240' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 130 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 1640 nm -'aodfm1640' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 131 ; - } -#Single scattering albedo at 340 nm -'ssa340' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 132 ; - } -#Single scattering albedo at 355 nm -'ssa355' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 133 ; - } -#Single scattering albedo at 380 nm -'ssa380' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 134 ; - } -#Single scattering albedo at 400 nm -'ssa400' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 135 ; - } -#Single scattering albedo at 440 nm -'ssa440' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 136 ; - } -#Single scattering albedo at 469 nm -'ssa469' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 137 ; - } -#Single scattering albedo at 500 nm -'ssa500' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 138 ; - } -#Single scattering albedo at 532 nm -'ssa532' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 139 ; - } -#Single scattering albedo at 550 nm -'ssa550' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 140 ; - } -#Single scattering albedo at 645 nm -'ssa645' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 141 ; - } -#Single scattering albedo at 670 nm -'ssa670' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 142 ; - } -#Single scattering albedo at 800 nm -'ssa800' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 143 ; - } -#Single scattering albedo at 858 nm -'ssa858' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 144 ; - } -#Single scattering albedo at 865 nm -'ssa865' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 145 ; - } -#Single scattering albedo at 1020 nm -'ssa1020' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 146 ; - } -#Single scattering albedo at 1064 nm -'ssa1064' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 147 ; - } -#Single scattering albedo at 1240 nm -'ssa1240' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 148 ; - } -#Single scattering albedo at 1640 nm -'ssa1640' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 149 ; - } -#Asymmetry factor at 340 nm -'asymmetry340' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 150 ; - } -#Asymmetry factor at 355 nm -'asymmetry355' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 151 ; - } -#Asymmetry factor at 380 nm -'asymmetry380' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 152 ; - } -#Asymmetry factor at 400 nm -'asymmetry400' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 153 ; - } -#Asymmetry factor at 440 nm -'asymmetry440' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 154 ; - } -#Asymmetry factor at 469 nm -'asymmetry469' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 155 ; - } -#Asymmetry factor at 500 nm -'asymmetry500' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 156 ; - } -#Asymmetry factor at 532 nm -'asymmetry532' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 157 ; - } -#Asymmetry factor at 550 nm -'asymmetry550' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 158 ; - } -#Asymmetry factor at 645 nm -'asymmetry645' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 159 ; - } -#Asymmetry factor at 670 nm -'asymmetry670' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 160 ; - } -#Asymmetry factor at 800 nm -'asymmetry800' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 161 ; - } -#Asymmetry factor at 858 nm -'asymmetry858' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 162 ; - } -#Asymmetry factor at 865 nm -'asymmetry865' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 163 ; - } -#Asymmetry factor at 1020 nm -'asymmetry1020' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 164 ; - } -#Asymmetry factor at 1064 nm -'asymmetry1064' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 165 ; - } -#Asymmetry factor at 1240 nm -'asymmetry1240' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 166 ; - } -#Asymmetry factor at 1640 nm -'asymmetry1640' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 167 ; - } -#Source/gain of sulphur dioxide -'aersrcso2' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 168 ; - } -#Dry deposition of sulphur dioxide -'aerddpso2' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 169 ; - } -#Sedimentation of sulphur dioxide -'aersdmso2' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 170 ; - } -#Wet deposition of sulphur dioxide by large-scale precipitation -'aerwdlsso2' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 171 ; - } -#Wet deposition of sulphur dioxide by convective precipitation -'aerwdccso2' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 172 ; - } -#Negative fixer of sulphur dioxide -'aerngtso2' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 173 ; - } -#Vertically integrated mass of sulphur dioxide -'aermssso2' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 174 ; - } -#Sulphur dioxide optical depth -'aerodso2' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 175 ; - } -#Total absorption aerosol optical depth at 2130 nm -'aodabs2130' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 176 ; - } -#Total fine mode (r < 0.5 um) aerosol optical depth at 2130 nm -'aodfm2130' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 177 ; - } -#Single scattering albedo at 2130 nm -'ssa2130' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 178 ; - } -#Asymmetry factor at 2130 nm -'asymmetry2130' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 179 ; - } -#Aerosol extinction coefficient at 355 nm -'aerext355' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 180 ; - } -#Aerosol extinction coefficient at 532 nm -'aerext532' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 181 ; - } -#Aerosol extinction coefficient at 1064 nm -'aerext1064' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 182 ; - } -#Aerosol backscatter coefficient at 355 nm (from top of atmosphere) -'aerbackscattoa355' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 183 ; - } -#Aerosol backscatter coefficient at 532 nm (from top of atmosphere) -'aerbackscattoa532' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 184 ; - } -#Aerosol backscatter coefficient at 1064 nm (from top of atmosphere) -'aerbackscattoa1064' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 185 ; - } -#Aerosol backscatter coefficient at 355 nm (from ground) -'aerbackscatgnd355' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 186 ; - } -#Aerosol backscatter coefficient at 532 nm (from ground) -'aerbackscatgnd532' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 187 ; - } -#Aerosol backscatter coefficient at 1064 nm (from ground) -'aerbackscatgnd1064' = { - discipline = 192 ; - parameterCategory = 215 ; - parameterNumber = 188 ; - } -#Source/gain of fine-mode nitrate aerosol -'aersrcnif' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 192 ; - aerosolType = 65534 ; - is_aerosol = 1 ; - } -#Source/gain of coarse-mode nitrate aerosol -'aersrcnic' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 192 ; - aerosolType = 65533 ; - is_aerosol = 1 ; - } -#Dry deposition of fine-mode nitrate aerosol -'aerddpnif' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - aerosolType = 65534 ; - is_aerosol = 1 ; - } -#Dry deposition of coarse-mode nitrate aerosol -'aerddpnic' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - aerosolType = 65533 ; - is_aerosol = 1 ; - } -#Sedimentation of fine-mode nitrate aerosol -'aersdmnif' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 11 ; - aerosolType = 65534 ; - is_aerosol = 1 ; - } -#Sedimentation of coarse-mode nitrate aerosol -'aersdmnic' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 11 ; - aerosolType = 65533 ; - is_aerosol = 1 ; - } -#Wet deposition of fine-mode nitrate aerosol by large-scale precipitation -'aerwdlnif' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 9 ; - aerosolType = 65534 ; - is_aerosol = 1 ; - } -#Wet deposition of coarse-mode nitrate aerosol by large-scale precipitation -'aerwdlnic' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 9 ; - aerosolType = 65533 ; - is_aerosol = 1 ; - } -#Wet deposition of fine-mode nitrate aerosol by convective precipitation -'aerwdcnif' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 10 ; - aerosolType = 65534 ; - is_aerosol = 1 ; - } -#Wet deposition of coarse-mode nitrate aerosol by convective precipitation -'aerwdcnic' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 10 ; - aerosolType = 65533 ; - is_aerosol = 1 ; - } -#Negative fixer of fine-mode nitrate aerosol -'aerngtnif' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 193 ; - aerosolType = 65534 ; - is_aerosol = 1 ; - } -#Negative fixer of coarse-mode nitrate aerosol -'aerngtnic' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 193 ; - aerosolType = 65533 ; - is_aerosol = 1 ; - } -#Vertically integrated mass of fine-mode nitrate aerosol -'aermssnif' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - aerosolType = 65534 ; - is_aerosol = 1 ; - } -#Vertically integrated mass of coarse-mode nitrate aerosol -'aermssnic' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - aerosolType = 65533 ; - is_aerosol = 1 ; - } -#Fine-mode nitrate aerosol optical depth at 550 nm -'aerodnif' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 102 ; - scaleFactorOfFirstWavelength = 8 ; - typeOfSizeInterval = 255 ; - aerosolType = 65534 ; - scaledValueOfFirstWavelength = 55 ; - typeOfWavelengthInterval = 11 ; - is_aerosol_optical = 1 ; - } -#Coarse-mode nitrate aerosol optical depth at 550 nm -'aerodnic' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 102 ; - scaleFactorOfFirstWavelength = 8 ; - typeOfSizeInterval = 255 ; - aerosolType = 65533 ; - scaledValueOfFirstWavelength = 55 ; - typeOfWavelengthInterval = 11 ; - is_aerosol_optical = 1 ; - } -#Source/gain of ammonium aerosol -'aersrcam' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 192 ; - aerosolType = 62003 ; - is_aerosol = 1 ; - } -#Negative fixer of ammonium aerosol -'aerngtam' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 193 ; - aerosolType = 62003 ; - is_aerosol = 1 ; - } -#Source/gain of biogenic secondary organic aerosol -'aersrcsoab' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 192 ; - aerosolType = 62032 ; - is_aerosol = 1 ; - } -#Negative fixer of biogenic secondary organic aerosol -'aerngtsoab' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 193 ; - aerosolType = 62032 ; - is_aerosol = 1 ; - } -#Source/gain of anthropogenic secondary organic aerosol -'aersrcsoaa' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 192 ; - aerosolType = 62033 ; - is_aerosol = 1 ; - } -#Negative fixer of anthropogenic secondary organic aerosol -'aerngtsoaa' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 193 ; - aerosolType = 62033 ; - is_aerosol = 1 ; - } -#Experimental product -'p1.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 1 ; - } -#Experimental product -'p2.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 2 ; - } -#Experimental product -'p3.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 3 ; - } -#Experimental product -'p4.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 4 ; - } -#Experimental product -'p5.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 5 ; - } -#Experimental product -'p6.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 6 ; - } -#Experimental product -'p7.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 7 ; - } -#Experimental product -'p8.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 8 ; - } -#Experimental product -'p9.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 9 ; - } -#Experimental product -'p10.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 10 ; - } -#Experimental product -'p11.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 11 ; - } -#Experimental product -'p12.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 12 ; - } -#Experimental product -'p13.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 13 ; - } -#Experimental product -'p14.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 14 ; - } -#Experimental product -'p15.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 15 ; - } -#Experimental product -'p16.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 16 ; - } -#Experimental product -'p17.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 17 ; - } -#Experimental product -'p18.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 18 ; - } -#Experimental product -'p19.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 19 ; - } -#Experimental product -'p20.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 20 ; - } -#Experimental product -'p21.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 21 ; - } -#Experimental product -'p22.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 22 ; - } -#Experimental product -'p23.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 23 ; - } -#Experimental product -'p24.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 24 ; - } -#Experimental product -'p25.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 25 ; - } -#Experimental product -'p26.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 26 ; - } -#Experimental product -'p27.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 27 ; - } -#Experimental product -'p28.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 28 ; - } -#Experimental product -'p29.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 29 ; - } -#Experimental product -'p30.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 30 ; - } -#Experimental product -'p31.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 31 ; - } -#Experimental product -'p32.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 32 ; - } -#Experimental product -'p33.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 33 ; - } -#Experimental product -'p34.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 34 ; - } -#Experimental product -'p35.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 35 ; - } -#Experimental product -'p36.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 36 ; - } -#Experimental product -'p37.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 37 ; - } -#Experimental product -'p38.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 38 ; - } -#Experimental product -'p39.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 39 ; - } -#Experimental product -'p40.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 40 ; - } -#Experimental product -'p41.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 41 ; - } -#Experimental product -'p42.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 42 ; - } -#Experimental product -'p43.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 43 ; - } -#Experimental product -'p44.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 44 ; - } -#Experimental product -'p45.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 45 ; - } -#Experimental product -'p46.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 46 ; - } -#Experimental product -'p47.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 47 ; - } -#Experimental product -'p48.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 48 ; - } -#Experimental product -'p49.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 49 ; - } -#Experimental product -'p50.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 50 ; - } -#Experimental product -'p51.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 51 ; - } -#Experimental product -'p52.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 52 ; - } -#Experimental product -'p53.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 53 ; - } -#Experimental product -'p54.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 54 ; - } -#Experimental product -'p55.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 55 ; - } -#Experimental product -'p56.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 56 ; - } -#Experimental product -'p57.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 57 ; - } -#Experimental product -'p58.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 58 ; - } -#Experimental product -'p59.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 59 ; - } -#Experimental product -'p60.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 60 ; - } -#Experimental product -'p61.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 61 ; - } -#Experimental product -'p62.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 62 ; - } -#Experimental product -'p63.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 63 ; - } -#Experimental product -'p64.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 64 ; - } -#Experimental product -'p65.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 65 ; - } -#Experimental product -'p66.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 66 ; - } -#Experimental product -'p67.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 67 ; - } -#Experimental product -'p68.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 68 ; - } -#Experimental product -'p69.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 69 ; - } -#Experimental product -'p70.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 70 ; - } -#Experimental product -'p71.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 71 ; - } -#Experimental product -'p72.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 72 ; - } -#Experimental product -'p73.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 73 ; - } -#Experimental product -'p74.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 74 ; - } -#Experimental product -'p75.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 75 ; - } -#Experimental product -'p76.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 76 ; - } -#Experimental product -'p77.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 77 ; - } -#Experimental product -'p78.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 78 ; - } -#Experimental product -'p79.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 79 ; - } -#Experimental product -'p80.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 80 ; - } -#Experimental product -'p81.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 81 ; - } -#Experimental product -'p82.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 82 ; - } -#Experimental product -'p83.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 83 ; - } -#Experimental product -'p84.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 84 ; - } -#Experimental product -'p85.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 85 ; - } -#Experimental product -'p86.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 86 ; - } -#Experimental product -'p87.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 87 ; - } -#Experimental product -'p88.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 88 ; - } -#Experimental product -'p89.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 89 ; - } -#Experimental product -'p90.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 90 ; - } -#Experimental product -'p91.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 91 ; - } -#Experimental product -'p92.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 92 ; - } -#Experimental product -'p93.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 93 ; - } -#Experimental product -'p94.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 94 ; - } -#Experimental product -'p95.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 95 ; - } -#Experimental product -'p96.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 96 ; - } -#Experimental product -'p97.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 97 ; - } -#Experimental product -'p98.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 98 ; - } -#Experimental product -'p99.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 99 ; - } -#Experimental product -'p100.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 100 ; - } -#Experimental product -'p101.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 101 ; - } -#Experimental product -'p102.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 102 ; - } -#Experimental product -'p103.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 103 ; - } -#Experimental product -'p104.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 104 ; - } -#Experimental product -'p105.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 105 ; - } -#Experimental product -'p106.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 106 ; - } -#Experimental product -'p107.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 107 ; - } -#Experimental product -'p108.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 108 ; - } -#Experimental product -'p109.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 109 ; - } -#Experimental product -'p110.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 110 ; - } -#Experimental product -'p111.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 111 ; - } -#Experimental product -'p112.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 112 ; - } -#Experimental product -'p113.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 113 ; - } -#Experimental product -'p114.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 114 ; - } -#Experimental product -'p115.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 115 ; - } -#Experimental product -'p116.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 116 ; - } -#Experimental product -'p117.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 117 ; - } -#Experimental product -'p118.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 118 ; - } -#Experimental product -'p119.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 119 ; - } -#Experimental product -'p120.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 120 ; - } -#Experimental product -'p121.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 121 ; - } -#Experimental product -'p122.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 122 ; - } -#Experimental product -'p123.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 123 ; - } -#Experimental product -'p124.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 124 ; - } -#Experimental product -'p125.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 125 ; - } -#Experimental product -'p126.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 126 ; - } -#Experimental product -'p127.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 127 ; - } -#Experimental product -'p128.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 128 ; - } -#Experimental product -'p129.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 129 ; - } -#Experimental product -'p130.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 130 ; - } -#Experimental product -'p131.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 131 ; - } -#Experimental product -'p132.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 132 ; - } -#Experimental product -'p133.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 133 ; - } -#Experimental product -'p134.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 134 ; - } -#Experimental product -'p135.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 135 ; - } -#Experimental product -'p136.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 136 ; - } -#Experimental product -'p137.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 137 ; - } -#Experimental product -'p138.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 138 ; - } -#Experimental product -'p139.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 139 ; - } -#Experimental product -'p140.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 140 ; - } -#Experimental product -'p141.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 141 ; - } -#Experimental product -'p142.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 142 ; - } -#Experimental product -'p143.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 143 ; - } -#Experimental product -'p144.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 144 ; - } -#Experimental product -'p145.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 145 ; - } -#Experimental product -'p146.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 146 ; - } -#Experimental product -'p147.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 147 ; - } -#Experimental product -'p148.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 148 ; - } -#Experimental product -'p149.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 149 ; - } -#Experimental product -'p150.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 150 ; - } -#Experimental product -'p151.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 151 ; - } -#Experimental product -'p152.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 152 ; - } -#Experimental product -'p153.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 153 ; - } -#Experimental product -'p154.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 154 ; - } -#Experimental product -'p155.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 155 ; - } -#Experimental product -'p156.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 156 ; - } -#Experimental product -'p157.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 157 ; - } -#Experimental product -'p158.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 158 ; - } -#Experimental product -'p159.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 159 ; - } -#Experimental product -'p160.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 160 ; - } -#Experimental product -'p161.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 161 ; - } -#Experimental product -'p162.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 162 ; - } -#Experimental product -'p163.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 163 ; - } -#Experimental product -'p164.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 164 ; - } -#Experimental product -'p165.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 165 ; - } -#Experimental product -'p166.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 166 ; - } -#Experimental product -'p167.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 167 ; - } -#Experimental product -'p168.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 168 ; - } -#Experimental product -'p169.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 169 ; - } -#Experimental product -'p170.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 170 ; - } -#Experimental product -'p171.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 171 ; - } -#Experimental product -'p172.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 172 ; - } -#Experimental product -'p173.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 173 ; - } -#Experimental product -'p174.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 174 ; - } -#Experimental product -'p175.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 175 ; - } -#Experimental product -'p176.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 176 ; - } -#Experimental product -'p177.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 177 ; - } -#Experimental product -'p178.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 178 ; - } -#Experimental product -'p179.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 179 ; - } -#Experimental product -'p180.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 180 ; - } -#Experimental product -'p181.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 181 ; - } -#Experimental product -'p182.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 182 ; - } -#Experimental product -'p183.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 183 ; - } -#Experimental product -'p184.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 184 ; - } -#Experimental product -'p185.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 185 ; - } -#Experimental product -'p186.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 186 ; - } -#Experimental product -'p187.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 187 ; - } -#Experimental product -'p188.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 188 ; - } -#Experimental product -'p189.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 189 ; - } -#Experimental product -'p190.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 190 ; - } -#Experimental product -'p191.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 191 ; - } -#Experimental product -'p192.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 192 ; - } -#Experimental product -'p193.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 193 ; - } -#Experimental product -'p194.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 194 ; - } -#Experimental product -'p195.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 195 ; - } -#Experimental product -'p196.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 196 ; - } -#Experimental product -'p197.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 197 ; - } -#Experimental product -'p198.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 198 ; - } -#Experimental product -'p199.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 199 ; - } -#Experimental product -'p200.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 200 ; - } -#Experimental product -'p201.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 201 ; - } -#Experimental product -'p202.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 202 ; - } -#Experimental product -'p203.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 203 ; - } -#Experimental product -'p204.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 204 ; - } -#Experimental product -'p205.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 205 ; - } -#Experimental product -'p206.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 206 ; - } -#Experimental product -'p207.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 207 ; - } -#Experimental product -'p208.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 208 ; - } -#Experimental product -'p209.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 209 ; - } -#Experimental product -'p210.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 210 ; - } -#Experimental product -'p211.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 211 ; - } -#Experimental product -'p212.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 212 ; - } -#Experimental product -'p213.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 213 ; - } -#Experimental product -'p214.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 214 ; - } -#Experimental product -'p215.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 215 ; - } -#Experimental product -'p216.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 216 ; - } -#Experimental product -'p217.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 217 ; - } -#Experimental product -'p218.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 218 ; - } -#Experimental product -'p219.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 219 ; - } -#Experimental product -'p220.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 220 ; - } -#Experimental product -'p221.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 221 ; - } -#Experimental product -'p222.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 222 ; - } -#Experimental product -'p223.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 223 ; - } -#Experimental product -'p224.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 224 ; - } -#Experimental product -'p225.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 225 ; - } -#Experimental product -'p226.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 226 ; - } -#Experimental product -'p227.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 227 ; - } -#Experimental product -'p228.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 228 ; - } -#Experimental product -'p229.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 229 ; - } -#Experimental product -'p230.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 230 ; - } -#Experimental product -'p231.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 231 ; - } -#Experimental product -'p232.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 232 ; - } -#Experimental product -'p233.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 233 ; - } -#Experimental product -'p234.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 234 ; - } -#Experimental product -'p235.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 235 ; - } -#Experimental product -'p236.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 236 ; - } -#Experimental product -'p237.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 237 ; - } -#Experimental product -'p238.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 238 ; - } -#Experimental product -'p239.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 239 ; - } -#Experimental product -'p240.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 240 ; - } -#Experimental product -'p241.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 241 ; - } -#Experimental product -'p242.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 242 ; - } -#Experimental product -'p243.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 243 ; - } -#Experimental product -'p244.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 244 ; - } -#Experimental product -'p245.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 245 ; - } -#Experimental product -'p246.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 246 ; - } -#Experimental product -'p247.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 247 ; - } -#Experimental product -'p248.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 248 ; - } -#Experimental product -'p249.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 249 ; - } -#Experimental product -'p250.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 250 ; - } -#Experimental product -'p251.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 251 ; - } -#Experimental product -'p252.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 252 ; - } -#Experimental product -'p253.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 253 ; - } -#Experimental product -'p254.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 254 ; - } -#Experimental product -'p255.216' = { - discipline = 192 ; - parameterCategory = 216 ; - parameterNumber = 255 ; - } -#Hydrogen peroxide -'h2o2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 3 ; - } -#Methane (chemistry) -'ch4_c' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 4 ; - } -#Nitric acid -'hno3' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 6 ; - } -#Methyl peroxide -'ch3ooh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 7 ; - } -#Paraffins -'par' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 9 ; - } -#Ethene -'c2h4' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 10 ; - } -#Olefins -'ole' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 11 ; - } -#Aldehydes -'ald2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 12 ; - } -#Peroxyacetyl nitrate -'pan' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 13 ; - } -#Peroxides -'rooh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 14 ; - } -#Organic nitrates -'onit' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 15 ; - } -#Isoprene -'c5h8' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 16 ; - } -#Dimethyl sulfide -'dms' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 18 ; - } -#Sulfate -'so4' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 20 ; - } -#Ammonium -'nh4' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 21 ; - } -#Methane sulfonic acid -'msa' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 22 ; - } -#Methyl glyoxal -'ch3cocho' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 23 ; - } -#Stratospheric ozone -'o3s' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 24 ; - } -#Lead -'pb' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 26 ; - } -#Hydroperoxy radical -'ho2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 28 ; - } -#Methylperoxy radical -'ch3o2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 29 ; - } -#Hydroxyl radical -'oh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 30 ; - } -#Nitrate radical -'no3' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 32 ; - } -#Dinitrogen pentoxide -'n2o5' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 33 ; - } -#Pernitric acid -'ho2no2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 34 ; - } -#Peroxy acetyl radical -'c2o3' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 35 ; - } -#Organic ethers -'ror' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 36 ; - } -#PAR budget corrector -'rxpar' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 37 ; - } -#NO to NO2 operator -'xo2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 38 ; - } -#NO to alkyl nitrate operator -'xo2n' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 39 ; - } -#Amine -'nh2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 40 ; - } -#Polar stratospheric cloud -'psc' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 41 ; - } -#Methanol -'ch3oh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 42 ; - } -#Formic acid -'hcooh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 43 ; - } -#Methacrylic acid -'mcooh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 44 ; - } -#Ethane -'c2h6' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 45 ; - } -#Ethanol -'c2h5oh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 46 ; - } -#Propane -'c3h8' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 47 ; - } -#Propene -'c3h6' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 48 ; - } -#Terpenes -'c10h16' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 49 ; - } -#Methacrolein MVK -'ispd' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 50 ; - } -#Nitrate -'no3_a' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 51 ; - } -#Acetone -'ch3coch3' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 52 ; - } -#Acetone product -'aco2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 53 ; - } -#IC3H7O2 -'ic3h7o2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 54 ; - } -#HYPROPO2 -'hypropo2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 55 ; - } -#Nitrogen oxides Transp -'noxa' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 56 ; - } -#Carbon dioxide (chemistry) -'co2_c' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 57 ; - } -#Nitrous oxide (chemistry) -'n2o_c' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 58 ; - } -#Water vapour (chemistry) -'h2o' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 59 ; - } -#Oxygen -'o2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 60 ; - } -#Singlet oxygen -'o2_1s' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 61 ; - } -#Singlet delta oxygen -'o2_1d' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 62 ; - } -#Chlorine dioxide -'oclo' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 63 ; - } -#Chlorine nitrate -'clono2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 64 ; - } -#Hypochlorous acid -'hocl' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 65 ; - } -#Chlorine -'cl2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 66 ; - } -#Nitryl chloride -'clno2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 67 ; - } -#Hydrogen bromide -'hbr' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 68 ; - } -#Dichlorine dioxide -'cl2o2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 69 ; - } -#Hypobromous acid -'hobr' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 70 ; - } -#Trichlorofluoromethane -'cfc11' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 71 ; - } -#Dichlorodifluoromethane -'cfc12' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 72 ; - } -#Trichlorotrifluoroethane -'cfc113' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 73 ; - } -#Dichlorotetrafluoroethane -'cfc114' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 74 ; - } -#Chloropentafluoroethane -'cfc115' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 75 ; - } -#Tetrachloromethane -'ccl4' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 76 ; - } -#Methyl chloroform -'ch3ccl3' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 77 ; - } -#Methyl chloride -'ch3cl' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 78 ; - } -#Chlorodifluoromethane -'hcfc22' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 79 ; - } -#Methyl bromide -'ch3br' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 80 ; - } -#Dibromodifluoromethane -'ha1202' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 81 ; - } -#Bromochlorodifluoromethane -'ha1211' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 82 ; - } -#Trifluorobromomethane -'ha1301' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 83 ; - } -#Cbrf2cbrf2 -'ha2402' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 84 ; - } -#Sulfuric acid -'h2so4' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 85 ; - } -#Nitrous acid -'hono' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 86 ; - } -#Alkanes low oh rate -'hc3' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 87 ; - } -#Alkanes med oh rate -'hc5' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 88 ; - } -#Alkanes high oh rate -'hc8' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 89 ; - } -#Terminal alkenes -'olt' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 90 ; - } -#Internal alkenes -'oli' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 91 ; - } -#Ethylperoxy radical -'c2h5o2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 92 ; - } -#Butadiene -'dien' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 93 ; - } -#Ethyl hydroperoxide -'c2h5ooh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 94 ; - } -#A-pinene cyclic terpenes -'api' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 95 ; - } -#Acetic acid -'ch3cooh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 96 ; - } -#D-limonene cyclic diene -'lim' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 97 ; - } -#Acetaldehyde -'ch3cho' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 98 ; - } -#Toluene and less reactive aromatics -'tol' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 99 ; - } -#Xylene and more reactive aromatics -'xyl' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 100 ; - } -#Glycolaldehyde -'glyald' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 101 ; - } -#Cresol -'cresol' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 102 ; - } -#Acetaldehyde and higher -'ald' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 103 ; - } -#Peracetic acid -'ch3coooh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 104 ; - } -#Ketones -'ket' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 105 ; - } -#Hoch2ch2o2 -'eo2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 106 ; - } -#Glyoxal -'glyoxal' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 107 ; - } -#Hoch2ch2o -'eo' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 108 ; - } -#Unsaturated dicarbonyls -'dcb' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 109 ; - } -#Methacrolein -'macr' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 110 ; - } -#Unsaturated hydroxy dicarbonyl -'udd' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 111 ; - } -#Isopropyldioxidanyl -'c3h7o2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 112 ; - } -#Hydroxy ketone -'hket' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 113 ; - } -#Isopropyl hydroperoxide -'c3h7ooh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 114 ; - } -#C3h6oho2 -'po2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 115 ; - } -#C3h6ohooh -'pooh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 116 ; - } -#Higher organic peroxides -'op2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 117 ; - } -#Hydroxyacetone -'hyac' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 118 ; - } -#Peroxyacetic acid -'paa' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 119 ; - } -#Ch3coch2o2 -'ro2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 120 ; - } -#Peroxy radical from c2h6 -'ethp' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 121 ; - } -#Peroxy radical from hc3 -'hc3p' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 122 ; - } -#Peroxy radical from hc5 -'hc5p' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 123 ; - } -#Lumped alkenes -'bigene' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 124 ; - } -#Peroxy radical from hc8 -'hc8p' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 125 ; - } -#Lumped alkanes -'bigalk' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 126 ; - } -#Peroxy radical from c2h4 -'etep' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 127 ; - } -#C4h8o -'mek' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 128 ; - } -#Peroxy radical from terminal alkenes -'oltp' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 129 ; - } -#C4h9o3 -'eneo2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 130 ; - } -#Peroxy radical from internal alkenes -'olip' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 131 ; - } -#Ch3coch(oo)ch3 -'meko2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 132 ; - } -#Peroxy radical from c5h8 -'isopo2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 133 ; - } -#Ch3coch(ooh)ch3 -'mekooh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 134 ; - } -#Peroxy radical from a-pinene cyclic terpenes -'apip' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 135 ; - } -#Ch2=c(ch3)co3 -'mco3' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 136 ; - } -#Peroxy radical from d-limonene cyclic diene -'limp' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 137 ; - } -#Methylvinylketone -'mvk' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 138 ; - } -#Phenoxy radical -'pho' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 139 ; - } -#Peroxy radical from toluene and less reactive aromatics -'tolp' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 140 ; - } -#Ch3c(o)ch(oo)ch2oh -'macro2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 141 ; - } -#Peroxy radical from xylene and more reactive aromatics -'xylp' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 142 ; - } -#H3c(o)ch(ooh)ch2oh -'macrooh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 143 ; - } -#Peroxy radical from cresol -'cslp' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 144 ; - } -#Unsaturated pans -'mpan' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 145 ; - } -#Unsaturated acyl peroxy radical -'tco3_c' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 146 ; - } -#Peroxy radical from ketones -'ketp' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 147 ; - } -#C5h11o2 -'alko2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 148 ; - } -#No3-alkenes adduct reacting to form carbonitrates -'olnn' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 149 ; - } -#C5h11ooh -'alkooh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 150 ; - } -#No3-alkenes adduct reacting via decomposition -'olnd' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 151 ; - } -#Hoch2c(ch3)=chcho -'bigald' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 152 ; - } -#C5h6o2 -'hydrald' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 153 ; - } -#Trop sulfuric acid -'sulf' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 154 ; - } -#Oxides -'ox' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 155 ; - } -#Ch2chc(ch3)(oo)ch2ono2 -'isopno3' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 156 ; - } -#C3 organic nitrate -'onitr' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 157 ; - } -#Chlorine oxides -'clox' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 158 ; - } -#Bromine oxides -'brox' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 159 ; - } -#Hoch2c(ooh)(ch3)chchoh -'xooh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 160 ; - } -#Hoch2c(ooh)(ch3)ch=ch2 -'isopooh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 161 ; - } -#Lumped aromatics -'toluene' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 162 ; - } -#Dimethyl sulfoxyde -'dmso' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 163 ; - } -#C7h9o5 -'tolo2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 164 ; - } -#C7h10o5 -'tolooh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 165 ; - } -#Hydrogensulfide -'h2s' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 166 ; - } -#C7h10o6 -'xoh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 167 ; - } -#All nitrogen oxides -'noy' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 168 ; - } -#Chlorine family -'cly' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 169 ; - } -#C10h16(oh)(oo) -'terpo2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 170 ; - } -#Bromine family -'bry' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 171 ; - } -#C10h18o3 -'terpooh' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 172 ; - } -#Nitrogen atom -'n' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 173 ; - } -#Chlorine monoxide -'clo' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 174 ; - } -#Chlorine atom -'cl_c' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 175 ; - } -#Bromine monoxide -'bro' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 176 ; - } -#Hydrogen atom -'h_c' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 177 ; - } -#Methyl group -'ch3' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 178 ; - } -#Aromatic-ho from toluene and less reactive aromatics -'addt' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 179 ; - } -#Aromatic-ho from xylene and more reactive aromatics -'addx' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 180 ; - } -#Ammonium nitrate -'nh4no3' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 181 ; - } -#Aromatic-ho from csl -'addc' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 182 ; - } -#Secondary organic aerosol type 1 -'soa1' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 183 ; - } -#Secondary organic aerosol type 2a -'soa2a' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 184 ; - } -#Secondary organic aerosol type 2b -'soa2b' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 185 ; - } -#Condensable gas type 1 -'sog1' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 186 ; - } -#Condensable gas type 2a -'sog2a' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 187 ; - } -#Condensable gas type 2b -'sog2b' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 188 ; - } -#Sulfur trioxide -'so3' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 189 ; - } -#Carbonyl sulfide -'ocs_c' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 190 ; - } -#Bromine atom -'br' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 191 ; - } -#Bromine -'br2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 192 ; - } -#Bromine monochloride -'brcl' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 193 ; - } -#Bromine nitrate -'brono2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 194 ; - } -#Dibromomethane -'ch2br2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 195 ; - } -#Methoxy radical -'ch3o' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 196 ; - } -#Tribromomethane -'chbr3' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 197 ; - } -#Asymmetric chlorine dioxide radical -'cloo' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 198 ; - } -#Hydrogen -'h2' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 199 ; - } -#Hydrogen chloride -'hcl' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 200 ; - } -#Formyl radical -'hco' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 201 ; - } -#Hydrogen fluoride -'hf' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 202 ; - } -#Oxygen atom -'o' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 203 ; - } -#Excited oxygen atom -'o1d' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 204 ; - } -#Ground state oxygen atom -'o3p' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 205 ; - } -#Stratospheric aerosol -'strataer' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 206 ; - } -#Anthropogenic volatile organic compounds mass mixing ratio -'VOCA' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 65532 ; - is_chemical = 1 ; - } -#Biomass burning volatile organic compounds mass mixing ratio -'VOCBB' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 2 ; - constituentType = 65531 ; - is_chemical = 1 ; - } -#Total column hydrogen peroxide -'tc_h2o2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 3 ; - } -#Total column methane -'tc_ch4' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 4 ; - } -#Total column nitric acid -'tc_hno3' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 6 ; - } -#Total column methyl peroxide -'tc_ch3ooh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 7 ; - } -#Total column paraffins -'tc_par' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 9 ; - } -#Total column ethene -'tc_c2h4' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 10 ; - } -#Total column olefins -'tc_ole' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 11 ; - } -#Total column aldehydes -'tc_ald2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 12 ; - } -#Total column peroxyacetyl nitrate -'tc_pan' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 13 ; - } -#Total column peroxides -'tc_rooh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 14 ; - } -#Total column organic nitrates -'tc_onit' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 15 ; - } -#Total column isoprene -'tc_c5h8' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 16 ; - } -#Total column dimethyl sulfide -'tc_dms' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 18 ; - } -#Total column ammonia -'tc_nh3' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 19 ; - } -#Total column sulfate -'tc_so4' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 20 ; - } -#Total column ammonium -'tc_nh4' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 21 ; - } -#Total column methane sulfonic acid -'tc_msa' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 22 ; - } -#Total column methyl glyoxal -'tc_ch3cocho' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 23 ; - } -#Total column stratospheric ozone -'tc_o3s' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 24 ; - } -#Total column lead -'tc_pb' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 26 ; - } -#Total column nitrogen monoxide -'tc_no' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 27 ; - } -#Total column hydroperoxy radical -'tc_ho2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 28 ; - } -#Total column methylperoxy radical -'tc_ch3o2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 29 ; - } -#Total column hydroxyl radical -'tc_oh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 30 ; - } -#Total column nitrate radical -'tc_no3' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 32 ; - } -#Total column dinitrogen pentoxide -'tc_n2o5' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 33 ; - } -#Total column pernitric acid -'tc_ho2no2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 34 ; - } -#Total column peroxy acetyl radical -'tc_c2o3' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 35 ; - } -#Total column organic ethers -'tc_ror' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 36 ; - } -#Total column PAR budget corrector -'tc_rxpar' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 37 ; - } -#Total column NO to NO2 operator -'tc_xo2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 38 ; - } -#Total column NO to alkyl nitrate operator -'tc_xo2n' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 39 ; - } -#Total column amine -'tc_nh2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 40 ; - } -#Total column polar stratospheric cloud -'tc_psc' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 41 ; - } -#Total column methanol -'tc_ch3oh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 42 ; - } -#Total column formic acid -'tc_hcooh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 43 ; - } -#Total column methacrylic acid -'tc_mcooh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 44 ; - } -#Total column ethane -'tc_c2h6' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 45 ; - } -#Total column ethanol -'tc_c2h5oh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 46 ; - } -#Total column propane -'tc_c3h8' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 47 ; - } -#Total column propene -'tc_c3h6' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 48 ; - } -#Total column terpenes -'tc_c10h16' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 49 ; - } -#Total column methacrolein MVK -'tc_ispd' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 50 ; - } -#Total column nitrate -'tc_no3_a' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 51 ; - } -#Total column acetone -'tc_ch3coch3' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 52 ; - } -#Total column acetone product -'tc_aco2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 53 ; - } -#Total column IC3H7O2 -'tc_ic3h7o2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 54 ; - } -#Total column HYPROPO2 -'tc_hypropo2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 55 ; - } -#Total column nitrogen oxides Transp -'tc_noxa' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 56 ; - } -#Total column of carbon dioxide (chemistry) -'tc_co2_c' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 57 ; - } -#Total column of nitrous oxide (chemistry) -'tc_n2o_c' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 58 ; - } -#Total column of water vapour (chemistry) -'tc_h2o' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 59 ; - } -#Total column of oxygen -'tc_o2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 60 ; - } -#Total column of singlet oxygen -'tc_o2_1s' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 61 ; - } -#Total column of singlet delta oxygen -'tc_o2_1d' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 62 ; - } -#Total column of chlorine dioxide -'tc_oclo' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 63 ; - } -#Total column of chlorine nitrate -'tc_clono2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 64 ; - } -#Total column of hypochlorous acid -'tc_hocl' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 65 ; - } -#Total column of chlorine -'tc_cl2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 66 ; - } -#Total column of nitryl chloride -'tc_clno2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 67 ; - } -#Total column of hydrogen bromide -'tc_hbr' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 68 ; - } -#Total column of dichlorine dioxide -'tc_cl2o2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 69 ; - } -#Total column of hypobromous acid -'tc_hobr' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 70 ; - } -#Total column of trichlorofluoromethane -'tc_cfc11' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 71 ; - } -#Total column of dichlorodifluoromethane -'tc_cfc12' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 72 ; - } -#Total column of trichlorotrifluoroethane -'tc_cfc113' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 73 ; - } -#Total column of dichlorotetrafluoroethane -'tc_cfc114' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 74 ; - } -#Total column of chloropentafluoroethane -'tc_cfc115' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 75 ; - } -#Total column of tetrachloromethane -'tc_ccl4' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 76 ; - } -#Total column of methyl chloroform -'tc_ch3ccl3' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 77 ; - } -#Total column of methyl chloride -'tc_ch3cl' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 78 ; - } -#Total column of chlorodifluoromethane -'tc_hcfc22' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 79 ; - } -#Total column of methyl bromide -'tc_ch3br' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 80 ; - } -#Total column of dibromodifluoromethane -'tc_ha1202' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 81 ; - } -#Total column of bromochlorodifluoromethane -'tc_ha1211' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 82 ; - } -#Total column of trifluorobromomethane -'tc_ha1301' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 83 ; - } -#Total column of cbrf2cbrf2 -'tc_ha2402' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 84 ; - } -#Total column of sulfuric acid -'tc_h2so4' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 85 ; - } -#Total column of nitrous acid -'tc_hono' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 86 ; - } -#Total column of alkanes low oh rate -'tc_hc3' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 87 ; - } -#Total column of alkanes med oh rate -'tc_hc5' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 88 ; - } -#Total column of alkanes high oh rate -'tc_hc8' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 89 ; - } -#Total column of terminal alkenes -'tc_olt' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 90 ; - } -#Total column of internal alkenes -'tc_oli' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 91 ; - } -#Total column of ethylperoxy radical -'tc_c2h5o2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 92 ; - } -#Total column of butadiene -'tc_dien' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 93 ; - } -#Total column of ethyl hydroperoxide -'tc_c2h5ooh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 94 ; - } -#Total column of a-pinene cyclic terpenes -'tc_api' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 95 ; - } -#Total column of acetic acid -'tc_ch3cooh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 96 ; - } -#Total column of d-limonene cyclic diene -'tc_lim' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 97 ; - } -#Total column of acetaldehyde -'tc_ch3cho' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 98 ; - } -#Total column of toluene and less reactive aromatics -'tc_tol' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 99 ; - } -#Total column of xylene and more reactive aromatics -'tc_xyl' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 100 ; - } -#Total column of glycolaldehyde -'tc_glyald' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 101 ; - } -#Total column of cresol -'tc_cresol' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 102 ; - } -#Total column of acetaldehyde and higher -'tc_ald' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 103 ; - } -#Total column of peracetic acid -'tc_ch3coooh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 104 ; - } -#Total column of ketones -'tc_ket' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 105 ; - } -#Total column of hoch2ch2o2 -'tc_eo2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 106 ; - } -#Total column of glyoxal -'tc_glyoxal' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 107 ; - } -#Total column of hoch2ch2o -'tc_eo' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 108 ; - } -#Total column of unsaturated dicarbonyls -'tc_dcb' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 109 ; - } -#Total column of methacrolein -'tc_macr' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 110 ; - } -#Total column of unsaturated hydroxy dicarbonyl -'tc_udd' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 111 ; - } -#Total column of isopropyldioxidanyl -'tc_c3h7o2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 112 ; - } -#Total column of hydroxy ketone -'tc_hket' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 113 ; - } -#Total column of isopropyl hydroperoxide -'tc_c3h7ooh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 114 ; - } -#Total column of c3h6oho2 -'tc_po2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 115 ; - } -#Total column of c3h6ohooh -'tc_pooh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 116 ; - } -#Total column of higher organic peroxides -'tc_op2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 117 ; - } -#Total column of hydroxyacetone -'tc_hyac' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 118 ; - } -#Total column of peroxyacetic acid -'tc_paa' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 119 ; - } -#Total column of ch3coch2o2 -'tc_ro2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 120 ; - } -#Total column of peroxy radical from c2h6 -'tc_ethp' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 121 ; - } -#Total column of peroxy radical from hc3 -'tc_hc3p' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 122 ; - } -#Total column of peroxy radical from hc5 -'tc_hc5p' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 123 ; - } -#Total column of lumped alkenes -'tc_bigene' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 124 ; - } -#Total column of peroxy radical from hc8 -'tc_hc8p' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 125 ; - } -#Total column of lumped alkanes -'tc_bigalk' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 126 ; - } -#Total column of peroxy radical from c2h4 -'tc_etep' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 127 ; - } -#Total column of c4h8o -'tc_mek' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 128 ; - } -#Total column of peroxy radical from terminal alkenes -'tc_oltp' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 129 ; - } -#Total column of c4h9o3 -'tc_eneo2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 130 ; - } -#Total column of peroxy radical from internal alkenes -'tc_olip' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 131 ; - } -#Total column of ch3coch(oo)ch3 -'tc_meko2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 132 ; - } -#Total column of peroxy radical from c5h8 -'tc_isopo2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 133 ; - } -#Total column of ch3coch(ooh)ch3 -'tc_mekooh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 134 ; - } -#Total column of peroxy radical from a-pinene cyclic terpenes -'tc_apip' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 135 ; - } -#Total column of ch2=c(ch3)co3 -'tc_mco3' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 136 ; - } -#Total column of peroxy radical from d-limonene cyclic diene -'tc_limp' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 137 ; - } -#Total column of methylvinylketone -'tc_mvk' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 138 ; - } -#Total column of phenoxy radical -'tc_pho' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 139 ; - } -#Total column of peroxy radical from toluene and less reactive aromatics -'tc_tolp' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 140 ; - } -#Total column of ch3c(o)ch(oo)ch2oh -'tc_macro2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 141 ; - } -#Total column of peroxy radical from xylene and more reactive aromatics -'tc_xylp' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 142 ; - } -#Total column of h3c(o)ch(ooh)ch2oh -'tc_macrooh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 143 ; - } -#Total column of peroxy radical from cresol -'tc_cslp' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 144 ; - } -#Total column of unsaturated pans -'tc_mpan' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 145 ; - } -#Total column of unsaturated acyl peroxy radical -'tc_tco3_c' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 146 ; - } -#Total column of peroxy radical from ketones -'tc_ketp' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 147 ; - } -#Total column of c5h11o2 -'tc_alko2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 148 ; - } -#Total column of no3-alkenes adduct reacting to form carbonitrates -'tc_olnn' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 149 ; - } -#Total column of c5h11ooh -'tc_alkooh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 150 ; - } -#Total column of no3-alkenes adduct reacting via decomposition -'tc_olnd' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 151 ; - } -#Total column of hoch2c(ch3)=chcho -'tc_bigald' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 152 ; - } -#Total column of c5h6o2 -'tc_hydrald' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 153 ; - } -#Total column of trop sulfuric acid -'tc_sulf' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 154 ; - } -#Total column of oxides -'tc_ox' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 155 ; - } -#Total column of ch2chc(ch3)(oo)ch2ono2 -'tc_isopno3' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 156 ; - } -#Total column of c3 organic nitrate -'tc_onitr' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 157 ; - } -#Total column of chlorine oxides -'tc_clox' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 158 ; - } -#Total column of bromine oxides -'tc_brox' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 159 ; - } -#Total column of hoch2c(ooh)(ch3)chchoh -'tc_xooh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 160 ; - } -#Total column of hoch2c(ooh)(ch3)ch=ch2 -'tc_isopooh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 161 ; - } -#Total column of lumped aromatics -'tc_toluene' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 162 ; - } -#Total column of dimethyl sulfoxyde -'tc_dmso' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 163 ; - } -#Total column of c7h9o5 -'tc_tolo2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 164 ; - } -#Total column of c7h10o5 -'tc_tolooh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 165 ; - } -#Total column of hydrogensulfide -'tc_h2s' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 166 ; - } -#Total column of c7h10o6 -'tc_xoh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 167 ; - } -#Total column of all nitrogen oxides -'tc_noy' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 168 ; - } -#Total column of chlorine family -'tc_cly' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 169 ; - } -#Total column of c10h16(oh)(oo) -'tc_terpo2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 170 ; - } -#Total column of bromine family -'tc_bry' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 171 ; - } -#Total column of c10h18o3 -'tc_terpooh' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 172 ; - } -#Total column of nitrogen atom -'tc_n' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 173 ; - } -#Total column of chlorine monoxide -'tc_clo' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 174 ; - } -#Total column of chlorine atom -'tc_cl_c' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 175 ; - } -#Total column of bromine monoxide -'tc_bro' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 176 ; - } -#Total column of hydrogen atom -'tc_h_c' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 177 ; - } -#Total column of methyl group -'tc_ch3' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 178 ; - } -#Total column of aromatic-ho from toluene and less reactive aromatics -'tc_addt' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 179 ; - } -#Total column of aromatic-ho from xylene and more reactive aromatics -'tc_addx' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 180 ; - } -#Total column of ammonium nitrate -'tc_nh4no3' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 181 ; - } -#Total column of aromatic-ho from csl -'tc_addc' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 182 ; - } -#Total column of secondary organic aerosol type 1 -'tc_soa1' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 183 ; - } -#Total column of secondary organic aerosol type 2a -'tc_soa2a' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 184 ; - } -#Total column of secondary organic aerosol type 2b -'tc_soa2b' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 185 ; - } -#Total column of condensable gas type 1 -'tc_sog1' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 186 ; - } -#Total column of condensable gas type 2a -'tc_sog2a' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 187 ; - } -#Total column of condensable gas type 2b -'tc_sog2b' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 188 ; - } -#Total column of sulfur trioxide -'tc_so3' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 189 ; - } -#Total column of carbonyl sulfide -'tc_ocs_c' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 190 ; - } -#Total column of bromine atom -'tc_br' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 191 ; - } -#Total column of bromine -'tc_br2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 192 ; - } -#Total column of bromine monochloride -'tc_brcl' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 193 ; - } -#Total column of bromine nitrate -'tc_brono2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 194 ; - } -#Total column of dibromomethane -'tc_ch2br2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 195 ; - } -#Total column of methoxy radical -'tc_ch3o' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 196 ; - } -#Total column of tribromomethane -'tc_chbr3' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 197 ; - } -#Total column of asymmetric chlorine dioxide radical -'tc_cloo' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 198 ; - } -#Total column of hydrogen -'tc_h2' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 199 ; - } -#Total column of hydrogen chloride -'tc_hcl' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 200 ; - } -#Total column of formyl radical -'tc_hco' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 201 ; - } -#Total column of hydrogen fluoride -'tc_hf' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 202 ; - } -#Total column of oxygen atom -'tc_o' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 203 ; - } -#Total column of excited oxygen atom -'tc_o1d' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 204 ; - } -#Total column of ground state oxygen atom -'tc_o3p' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 205 ; - } -#Total column of stratospheric aerosol -'tc_strataer' = { - discipline = 192 ; - parameterCategory = 218 ; - parameterNumber = 206 ; - } -#Column integrated mass density of Anthropogenic volatile organic compounds -'tc_VOCA' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - constituentType = 65532 ; - is_chemical = 1 ; - } -#Column integrated mass density of Biomass burning volatile organic compounds -'tc_VOCBB' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 1 ; - constituentType = 65531 ; - is_chemical = 1 ; - } -#Ozone emissions -'e_go3' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 1 ; - } -#Nitrogen oxides emissions -'e_nox' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 2 ; - } -#Hydrogen peroxide emissions -'e_h2o2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 3 ; - } -#Methane emissions -'e_ch4' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 4 ; - } -#Carbon monoxide emissions -'e_co' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 5 ; - } -#Nitric acid emissions -'e_hno3' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 6 ; - } -#Methyl peroxide emissions -'e_ch3ooh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 7 ; - } -#Formaldehyde emissions -'e_hcho' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 8 ; - } -#Paraffins emissions -'e_par' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 9 ; - } -#Ethene emissions -'e_c2h4' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 10 ; - } -#Olefins emissions -'e_ole' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 11 ; - } -#Aldehydes emissions -'e_ald2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 12 ; - } -#Peroxyacetyl nitrate emissions -'e_pan' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 13 ; - } -#Peroxides emissions -'e_rooh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 14 ; - } -#Organic nitrates emissions -'e_onit' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 15 ; - } -#Isoprene emissions -'e_c5h8' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 16 ; - } -#Sulfur dioxide emissions -'e_so2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 17 ; - } -#Dimethyl sulfide emissions -'e_dms' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 18 ; - } -#Ammonia emissions -'e_nh3' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 19 ; - } -#Sulfate emissions -'e_so4' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 20 ; - } -#Ammonium emissions -'e_nh4' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 21 ; - } -#Methane sulfonic acid emissions -'e_msa' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 22 ; - } -#Methyl glyoxal emissions -'e_ch3cocho' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 23 ; - } -#Stratospheric ozone emissions -'e_o3s' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 24 ; - } -#Radon emissions -'e_ra' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 25 ; - } -#Lead emissions -'e_pb' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 26 ; - } -#Nitrogen monoxide emissions -'e_no' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 27 ; - } -#Hydroperoxy radical emissions -'e_ho2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 28 ; - } -#Methylperoxy radical emissions -'e_ch3o2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 29 ; - } -#Hydroxyl radical emissions -'e_oh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 30 ; - } -#Nitrogen dioxide emissions -'e_no2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 31 ; - } -#Nitrate radical emissions -'e_no3' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 32 ; - } -#Dinitrogen pentoxide emissions -'e_n2o5' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 33 ; - } -#Pernitric acid emissions -'e_ho2no2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 34 ; - } -#Peroxy acetyl radical emissions -'e_c2o3' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 35 ; - } -#Organic ethers emissions -'e_ror' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 36 ; - } -#PAR budget corrector emissions -'e_rxpar' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 37 ; - } -#NO to NO2 operator emissions -'e_xo2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 38 ; - } -#NO to alkyl nitrate operator emissions -'e_xo2n' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 39 ; - } -#Amine emissions -'e_nh2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 40 ; - } -#Polar stratospheric cloud emissions -'e_psc' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 41 ; - } -#Methanol emissions -'e_ch3oh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 42 ; - } -#Formic acid emissions -'e_hcooh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 43 ; - } -#Methacrylic acid emissions -'e_mcooh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 44 ; - } -#Ethane emissions -'e_c2h6' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 45 ; - } -#Ethanol emissions -'e_c2h5oh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 46 ; - } -#Propane emissions -'e_c3h8' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 47 ; - } -#Propene emissions -'e_c3h6' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 48 ; - } -#Terpenes emissions -'e_c10h16' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 49 ; - } -#Methacrolein MVK emissions -'e_ispd' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 50 ; - } -#Nitrate emissions -'e_no3_a' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 51 ; - } -#Acetone emissions -'e_ch3coch3' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 52 ; - } -#Acetone product emissions -'e_aco2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 53 ; - } -#IC3H7O2 emissions -'e_ic3h7o2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 54 ; - } -#HYPROPO2 emissions -'e_hypropo2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 55 ; - } -#Nitrogen oxides Transp emissions -'e_noxa' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 56 ; - } -#Emissions of carbon dioxide (chemistry) -'e_co2_c' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 57 ; - } -#Emissions of nitrous oxide (chemistry) -'e_n2o_c' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 58 ; - } -#Emissions of water vapour (chemistry) -'e_h2o' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 59 ; - } -#Emissions of oxygen -'e_o2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 60 ; - } -#Emissions of singlet oxygen -'e_o2_1s' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 61 ; - } -#Emissions of singlet delta oxygen -'e_o2_1d' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 62 ; - } -#Emissions of chlorine dioxide -'e_oclo' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 63 ; - } -#Emissions of chlorine nitrate -'e_clono2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 64 ; - } -#Emissions of hypochlorous acid -'e_hocl' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 65 ; - } -#Emissions of chlorine -'e_cl2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 66 ; - } -#Emissions of nitryl chloride -'e_clno2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 67 ; - } -#Emissions of hydrogen bromide -'e_hbr' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 68 ; - } -#Emissions of dichlorine dioxide -'e_cl2o2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 69 ; - } -#Emissions of hypobromous acid -'e_hobr' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 70 ; - } -#Emissions of trichlorofluoromethane -'e_cfc11' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 71 ; - } -#Emissions of dichlorodifluoromethane -'e_cfc12' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 72 ; - } -#Emissions of trichlorotrifluoroethane -'e_cfc113' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 73 ; - } -#Emissions of dichlorotetrafluoroethane -'e_cfc114' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 74 ; - } -#Emissions of chloropentafluoroethane -'e_cfc115' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 75 ; - } -#Emissions of tetrachloromethane -'e_ccl4' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 76 ; - } -#Emissions of methyl chloroform -'e_ch3ccl3' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 77 ; - } -#Emissions of methyl chloride -'e_ch3cl' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 78 ; - } -#Emissions of chlorodifluoromethane -'e_hcfc22' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 79 ; - } -#Emissions of methyl bromide -'e_ch3br' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 80 ; - } -#Emissions of dibromodifluoromethane -'e_ha1202' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 81 ; - } -#Emissions of bromochlorodifluoromethane -'e_ha1211' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 82 ; - } -#Emissions of trifluorobromomethane -'e_ha1301' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 83 ; - } -#Emissions of cbrf2cbrf2 -'e_ha2402' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 84 ; - } -#Emissions of sulfuric acid -'e_h2so4' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 85 ; - } -#Emissions of nitrous acid -'e_hono' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 86 ; - } -#Emissions of alkanes low oh rate -'e_hc3' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 87 ; - } -#Emissions of alkanes med oh rate -'e_hc5' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 88 ; - } -#Emissions of alkanes high oh rate -'e_hc8' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 89 ; - } -#Emissions of terminal alkenes -'e_olt' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 90 ; - } -#Emissions of internal alkenes -'e_oli' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 91 ; - } -#Emissions of ethylperoxy radical -'e_c2h5o2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 92 ; - } -#Emissions of butadiene -'e_dien' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 93 ; - } -#Emissions of ethyl hydroperoxide -'e_c2h5ooh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 94 ; - } -#Emissions of a-pinene cyclic terpenes -'e_api' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 95 ; - } -#Emissions of acetic acid -'e_ch3cooh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 96 ; - } -#Emissions of d-limonene cyclic diene -'e_lim' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 97 ; - } -#Emissions of acetaldehyde -'e_ch3cho' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 98 ; - } -#Emissions of toluene and less reactive aromatics -'e_tol' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 99 ; - } -#Emissions of xylene and more reactive aromatics -'e_xyl' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 100 ; - } -#Emissions of glycolaldehyde -'e_glyald' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 101 ; - } -#Emissions of cresol -'e_cresol' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 102 ; - } -#Emissions of acetaldehyde and higher -'e_ald' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 103 ; - } -#Emissions of peracetic acid -'e_ch3coooh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 104 ; - } -#Emissions of ketones -'e_ket' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 105 ; - } -#Emissions of hoch2ch2o2 -'e_eo2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 106 ; - } -#Emissions of glyoxal -'e_glyoxal' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 107 ; - } -#Emissions of hoch2ch2o -'e_eo' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 108 ; - } -#Emissions of unsaturated dicarbonyls -'e_dcb' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 109 ; - } -#Emissions of methacrolein -'e_macr' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 110 ; - } -#Emissions of unsaturated hydroxy dicarbonyl -'e_udd' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 111 ; - } -#Emissions of isopropyldioxidanyl -'e_c3h7o2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 112 ; - } -#Emissions of hydroxy ketone -'e_hket' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 113 ; - } -#Emissions of isopropyl hydroperoxide -'e_c3h7ooh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 114 ; - } -#Emissions of c3h6oho2 -'e_po2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 115 ; - } -#Emissions of c3h6ohooh -'e_pooh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 116 ; - } -#Emissions of higher organic peroxides -'e_op2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 117 ; - } -#Emissions of hydroxyacetone -'e_hyac' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 118 ; - } -#Emissions of peroxyacetic acid -'e_paa' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 119 ; - } -#Emissions of ch3coch2o2 -'e_ro2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 120 ; - } -#Emissions of peroxy radical from c2h6 -'e_ethp' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 121 ; - } -#Emissions of peroxy radical from hc3 -'e_hc3p' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 122 ; - } -#Emissions of peroxy radical from hc5 -'e_hc5p' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 123 ; - } -#Emissions of lumped alkenes -'e_bigene' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 124 ; - } -#Emissions of peroxy radical from hc8 -'e_hc8p' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 125 ; - } -#Emissions of lumped alkanes -'e_bigalk' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 126 ; - } -#Emissions of peroxy radical from c2h4 -'e_etep' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 127 ; - } -#Emissions of c4h8o -'e_mek' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 128 ; - } -#Emissions of peroxy radical from terminal alkenes -'e_oltp' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 129 ; - } -#Emissions of c4h9o3 -'e_eneo2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 130 ; - } -#Emissions of peroxy radical from internal alkenes -'e_olip' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 131 ; - } -#Emissions of ch3coch(oo)ch3 -'e_meko2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 132 ; - } -#Emissions of peroxy radical from c5h8 -'e_isopo2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 133 ; - } -#Emissions of ch3coch(ooh)ch3 -'e_mekooh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 134 ; - } -#Emissions of peroxy radical from a-pinene cyclic terpenes -'e_apip' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 135 ; - } -#Emissions of ch2=c(ch3)co3 -'e_mco3' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 136 ; - } -#Emissions of peroxy radical from d-limonene cyclic diene -'e_limp' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 137 ; - } -#Emissions of methylvinylketone -'e_mvk' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 138 ; - } -#Emissions of phenoxy radical -'e_pho' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 139 ; - } -#Emissions of peroxy radical from toluene and less reactive aromatics -'e_tolp' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 140 ; - } -#Emissions of ch3c(o)ch(oo)ch2oh -'e_macro2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 141 ; - } -#Emissions of peroxy radical from xylene and more reactive aromatics -'e_xylp' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 142 ; - } -#Emissions of h3c(o)ch(ooh)ch2oh -'e_macrooh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 143 ; - } -#Emissions of peroxy radical from cresol -'e_cslp' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 144 ; - } -#Emissions of unsaturated pans -'e_mpan' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 145 ; - } -#Emissions of unsaturated acyl peroxy radical -'e_tco3_c' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 146 ; - } -#Emissions of peroxy radical from ketones -'e_ketp' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 147 ; - } -#Emissions of c5h11o2 -'e_alko2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 148 ; - } -#Emissions of no3-alkenes adduct reacting to form carbonitrates -'e_olnn' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 149 ; - } -#Emissions of c5h11ooh -'e_alkooh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 150 ; - } -#Emissions of no3-alkenes adduct reacting via decomposition -'e_olnd' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 151 ; - } -#Emissions of hoch2c(ch3)=chcho -'e_bigald' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 152 ; - } -#Emissions of c5h6o2 -'e_hydrald' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 153 ; - } -#Emissions of trop sulfuric acid -'e_sulf' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 154 ; - } -#Emissions of oxides -'e_ox' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 155 ; - } -#Emissions of ch2chc(ch3)(oo)ch2ono2 -'e_isopno3' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 156 ; - } -#Emissions of c3 organic nitrate -'e_onitr' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 157 ; - } -#Emissions of chlorine oxides -'e_clox' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 158 ; - } -#Emissions of bromine oxides -'e_brox' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 159 ; - } -#Emissions of hoch2c(ooh)(ch3)chchoh -'e_xooh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 160 ; - } -#Emissions of hoch2c(ooh)(ch3)ch=ch2 -'e_isopooh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 161 ; - } -#Emissions of lumped aromatics -'e_toluene' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 162 ; - } -#Emissions of dimethyl sulfoxyde -'e_dmso' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 163 ; - } -#Emissions of c7h9o5 -'e_tolo2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 164 ; - } -#Emissions of c7h10o5 -'e_tolooh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 165 ; - } -#Emissions of hydrogensulfide -'e_h2s' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 166 ; - } -#Emissions of c7h10o6 -'e_xoh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 167 ; - } -#Emissions of all nitrogen oxides -'e_noy' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 168 ; - } -#Emissions of chlorine family -'e_cly' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 169 ; - } -#Emissions of c10h16(oh)(oo) -'e_terpo2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 170 ; - } -#Emissions of bromine family -'e_bry' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 171 ; - } -#Emissions of c10h18o3 -'e_terpooh' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 172 ; - } -#Emissions of nitrogen atom -'e_n' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 173 ; - } -#Emissions of chlorine monoxide -'e_clo' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 174 ; - } -#Emissions of chlorine atom -'e_cl_c' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 175 ; - } -#Emissions of bromine monoxide -'e_bro' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 176 ; - } -#Emissions of hydrogen atom -'e_h_c' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 177 ; - } -#Emissions of methyl group -'e_ch3' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 178 ; - } -#Emissions of aromatic-ho from toluene and less reactive aromatics -'e_addt' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 179 ; - } -#Emissions of aromatic-ho from xylene and more reactive aromatics -'e_addx' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 180 ; - } -#Emissions of ammonium nitrate -'e_nh4no3' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 181 ; - } -#Emissions of aromatic-ho from csl -'e_addc' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 182 ; - } -#Emissions of secondary organic aerosol type 1 -'e_soa1' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 183 ; - } -#Emissions of secondary organic aerosol type 2a -'e_soa2a' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 184 ; - } -#Emissions of secondary organic aerosol type 2b -'e_soa2b' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 185 ; - } -#Emissions of condensable gas type 1 -'e_sog1' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 186 ; - } -#Emissions of condensable gas type 2a -'e_sog2a' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 187 ; - } -#Emissions of condensable gas type 2b -'e_sog2b' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 188 ; - } -#Emissions of sulfur trioxide -'e_so3' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 189 ; - } -#Emissions of carbonyl sulfide -'e_ocs_c' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 190 ; - } -#Emissions of bromine atom -'e_br' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 191 ; - } -#Emissions of bromine -'e_br2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 192 ; - } -#Emissions of bromine monochloride -'e_brcl' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 193 ; - } -#Emissions of bromine nitrate -'e_brono2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 194 ; - } -#Emissions of dibromomethane -'e_ch2br2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 195 ; - } -#Emissions of methoxy radical -'e_ch3o' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 196 ; - } -#Emissions of tribromomethane -'e_chbr3' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 197 ; - } -#Emissions of asymmetric chlorine dioxide radical -'e_cloo' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 198 ; - } -#Emissions of hydrogen -'e_h2' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 199 ; - } -#Emissions of hydrogen chloride -'e_hcl' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 200 ; - } -#Emissions of formyl radical -'e_hco' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 201 ; - } -#Emissions of hydrogen fluoride -'e_hf' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 202 ; - } -#Emissions of oxygen atom -'e_o' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 203 ; - } -#Emissions of excited oxygen atom -'e_o1d' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 204 ; - } -#Emissions of ground state oxygen atom -'e_o3p' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 205 ; - } -#Emissions of stratospheric aerosol -'e_strataer' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 206 ; - } -#Wildfire flux of paraffins -'parfire' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 207 ; - } -#Wildfire flux of olefines -'olefire' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 208 ; - } -#Wildfire flux of aldehydes -'ald2fire' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 209 ; - } -#Wildfire flux of ketones -'ketfire' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 210 ; - } -#Wildfire flux of f a-pinene cyclic terpenes -'apifire' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 211 ; - } -#Wildfire flux of toluene less reactive aromatics -'tolfire' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 212 ; - } -#Wildfire flux of xylene more reactive aromatics -'xylfire' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 213 ; - } -#Wildfire flux of d-limonene cyclic diene -'limfire' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 214 ; - } -#Wildfire flux of terminal alkenes -'oltfire' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 215 ; - } -#Wildfire flux of alkanes low oh rate -'hc3fire' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 216 ; - } -#Wildfire flux of alkanes med oh rate -'hc5fire' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 217 ; - } -#Wildfire flux of alkanes high oh rate -'hc8fire' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 218 ; - } -#Wildfire flux of hydrogen cyanide -'hcnfire' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 219 ; - } -#Wildfire flux of acetonitrile -'ch3cnfire' = { - discipline = 192 ; - parameterCategory = 219 ; - parameterNumber = 220 ; - } -#Atmosphere emission mass flux of Anthropogenic volatile organic compounds -'e_VOCA' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 3 ; - constituentType = 65532 ; - is_chemical = 1 ; - } -#Atmosphere emission mass flux of Biomass burning volatile organic compounds -'e_VOCBB' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 3 ; - constituentType = 65531 ; - is_chemical = 1 ; - } -#Ozone deposition velocity -'dv_go3' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 1 ; - } -#Nitrogen oxides deposition velocity -'dv_nox' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 2 ; - } -#Hydrogen peroxide deposition velocity -'dv_h2o2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 3 ; - } -#Methane deposition velocity -'dv_ch4' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 4 ; - } -#Carbon monoxide deposition velocity -'dv_co' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 5 ; - } -#Nitric acid deposition velocity -'dv_hno3' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 6 ; - } -#Methyl peroxide deposition velocity -'dv_ch3ooh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 7 ; - } -#Formaldehyde deposition velocity -'dv_hcho' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 8 ; - } -#Paraffins deposition velocity -'dv_par' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 9 ; - } -#Ethene deposition velocity -'dv_c2h4' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 10 ; - } -#Olefins deposition velocity -'dv_ole' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 11 ; - } -#Aldehydes deposition velocity -'dv_ald2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 12 ; - } -#Peroxyacetyl nitrate deposition velocity -'dv_pan' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 13 ; - } -#Peroxides deposition velocity -'dv_rooh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 14 ; - } -#Organic nitrates deposition velocity -'dv_onit' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 15 ; - } -#Isoprene deposition velocity -'dv_c5h8' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 16 ; - } -#Sulfur dioxide deposition velocity -'dv_so2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 17 ; - } -#Dimethyl sulfide deposition velocity -'dv_dms' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 18 ; - } -#Ammonia deposition velocity -'dv_nh3' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 19 ; - } -#Sulfate deposition velocity -'dv_so4' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 20 ; - } -#Ammonium deposition velocity -'dv_nh4' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 21 ; - } -#Methane sulfonic acid deposition velocity -'dv_msa' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 22 ; - } -#Methyl glyoxal deposition velocity -'dv_ch3cocho' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 23 ; - } -#Stratospheric ozone deposition velocity -'dv_o3s' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 24 ; - } -#Radon deposition velocity -'dv_ra' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 25 ; - } -#Lead deposition velocity -'dv_pb' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 26 ; - } -#Nitrogen monoxide deposition velocity -'dv_no' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 27 ; - } -#Hydroperoxy radical deposition velocity -'dv_ho2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 28 ; - } -#Methylperoxy radical deposition velocity -'dv_ch3o2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 29 ; - } -#Hydroxyl radical deposition velocity -'dv_oh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 30 ; - } -#Nitrogen dioxide deposition velocity -'dv_no2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 31 ; - } -#Nitrate radical deposition velocity -'dv_no3' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 32 ; - } -#Dinitrogen pentoxide deposition velocity -'dv_n2o5' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 33 ; - } -#Pernitric acid deposition velocity -'dv_ho2no2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 34 ; - } -#Peroxy acetyl radical deposition velocity -'dv_c2o3' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 35 ; - } -#Organic ethers deposition velocity -'dv_ror' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 36 ; - } -#PAR budget corrector deposition velocity -'dv_rxpar' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 37 ; - } -#NO to NO2 operator deposition velocity -'dv_xo2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 38 ; - } -#NO to alkyl nitrate operator deposition velocity -'dv_xo2n' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 39 ; - } -#Amine deposition velocity -'dv_nh2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 40 ; - } -#Polar stratospheric cloud deposition velocity -'dv_psc' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 41 ; - } -#Methanol deposition velocity -'dv_ch3oh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 42 ; - } -#Formic acid deposition velocity -'dv_hcooh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 43 ; - } -#Methacrylic acid deposition velocity -'dv_mcooh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 44 ; - } -#Ethane deposition velocity -'dv_c2h6' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 45 ; - } -#Ethanol deposition velocity -'dv_c2h5oh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 46 ; - } -#Propane deposition velocity -'dv_c3h8' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 47 ; - } -#Propene deposition velocity -'dv_c3h6' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 48 ; - } -#Terpenes deposition velocity -'dv_c10h16' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 49 ; - } -#Methacrolein MVK deposition velocity -'dv_ispd' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 50 ; - } -#Nitrate deposition velocity -'dv_no3_a' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 51 ; - } -#Acetone deposition velocity -'dv_ch3coch3' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 52 ; - } -#Acetone product deposition velocity -'dv_aco2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 53 ; - } -#IC3H7O2 deposition velocity -'dv_ic3h7o2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 54 ; - } -#HYPROPO2 deposition velocity -'dv_hypropo2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 55 ; - } -#Nitrogen oxides Transp deposition velocity -'dv_noxa' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 56 ; - } -#Dry deposition velocity of carbon dioxide (chemistry) -'dv_co2_c' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 57 ; - } -#Dry deposition velocity of nitrous oxide (chemistry) -'dv_n2o_c' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 58 ; - } -#Dry deposition velocity of water vapour (chemistry) -'dv_h2o' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 59 ; - } -#Dry deposition velocity of oxygen -'dv_o2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 60 ; - } -#Dry deposition velocity of singlet oxygen -'dv_o2_1s' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 61 ; - } -#Dry deposition velocity of singlet delta oxygen -'dv_o2_1d' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 62 ; - } -#Dry deposition velocity of chlorine dioxide -'dv_oclo' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 63 ; - } -#Dry deposition velocity of chlorine nitrate -'dv_clono2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 64 ; - } -#Dry deposition velocity of hypochlorous acid -'dv_hocl' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 65 ; - } -#Dry deposition velocity of chlorine -'dv_cl2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 66 ; - } -#Dry deposition velocity of nitryl chloride -'dv_clno2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 67 ; - } -#Dry deposition velocity of hydrogen bromide -'dv_hbr' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 68 ; - } -#Dry deposition velocity of dichlorine dioxide -'dv_cl2o2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 69 ; - } -#Dry deposition velocity of hypobromous acid -'dv_hobr' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 70 ; - } -#Dry deposition velocity of trichlorofluoromethane -'dv_cfc11' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 71 ; - } -#Dry deposition velocity of dichlorodifluoromethane -'dv_cfc12' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 72 ; - } -#Dry deposition velocity of trichlorotrifluoroethane -'dv_cfc113' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 73 ; - } -#Dry deposition velocity of dichlorotetrafluoroethane -'dv_cfc114' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 74 ; - } -#Dry deposition velocity of chloropentafluoroethane -'dv_cfc115' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 75 ; - } -#Dry deposition velocity of tetrachloromethane -'dv_ccl4' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 76 ; - } -#Dry deposition velocity of methyl chloroform -'dv_ch3ccl3' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 77 ; - } -#Dry deposition velocity of methyl chloride -'dv_ch3cl' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 78 ; - } -#Dry deposition velocity of chlorodifluoromethane -'dv_hcfc22' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 79 ; - } -#Dry deposition velocity of methyl bromide -'dv_ch3br' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 80 ; - } -#Dry deposition velocity of dibromodifluoromethane -'dv_ha1202' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 81 ; - } -#Dry deposition velocity of bromochlorodifluoromethane -'dv_ha1211' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 82 ; - } -#Dry deposition velocity of trifluorobromomethane -'dv_ha1301' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 83 ; - } -#Dry deposition velocity of cbrf2cbrf2 -'dv_ha2402' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 84 ; - } -#Dry deposition velocity of sulfuric acid -'dv_h2so4' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 85 ; - } -#Dry deposition velocity of nitrous acid -'dv_hono' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 86 ; - } -#Dry deposition velocity of alkanes low oh rate -'dv_hc3' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 87 ; - } -#Dry deposition velocity of alkanes med oh rate -'dv_hc5' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 88 ; - } -#Dry deposition velocity of alkanes high oh rate -'dv_hc8' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 89 ; - } -#Dry deposition velocity of terminal alkenes -'dv_olt' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 90 ; - } -#Dry deposition velocity of internal alkenes -'dv_oli' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 91 ; - } -#Dry deposition velocity of ethylperoxy radical -'dv_c2h5o2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 92 ; - } -#Dry deposition velocity of butadiene -'dv_dien' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 93 ; - } -#Dry deposition velocity of ethyl hydroperoxide -'dv_c2h5ooh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 94 ; - } -#Dry deposition velocity of a-pinene cyclic terpenes -'dv_api' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 95 ; - } -#Dry deposition velocity of acetic acid -'dv_ch3cooh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 96 ; - } -#Dry deposition velocity of d-limonene cyclic diene -'dv_lim' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 97 ; - } -#Dry deposition velocity of acetaldehyde -'dv_ch3cho' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 98 ; - } -#Dry deposition velocity of toluene and less reactive aromatics -'dv_tol' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 99 ; - } -#Dry deposition velocity of xylene and more reactive aromatics -'dv_xyl' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 100 ; - } -#Dry deposition velocity of glycolaldehyde -'dv_glyald' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 101 ; - } -#Dry deposition velocity of cresol -'dv_cresol' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 102 ; - } -#Dry deposition velocity of acetaldehyde and higher -'dv_ald' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 103 ; - } -#Dry deposition velocity of peracetic acid -'dv_ch3coooh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 104 ; - } -#Dry deposition velocity of ketones -'dv_ket' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 105 ; - } -#Dry deposition velocity of hoch2ch2o2 -'dv_eo2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 106 ; - } -#Dry deposition velocity of glyoxal -'dv_glyoxal' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 107 ; - } -#Dry deposition velocity of hoch2ch2o -'dv_eo' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 108 ; - } -#Dry deposition velocity of unsaturated dicarbonyls -'dv_dcb' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 109 ; - } -#Dry deposition velocity of methacrolein -'dv_macr' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 110 ; - } -#Dry deposition velocity of unsaturated hydroxy dicarbonyl -'dv_udd' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 111 ; - } -#Dry deposition velocity of isopropyldioxidanyl -'dv_c3h7o2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 112 ; - } -#Dry deposition velocity of hydroxy ketone -'dv_hket' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 113 ; - } -#Dry deposition velocity of isopropyl hydroperoxide -'dv_c3h7ooh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 114 ; - } -#Dry deposition velocity of c3h6oho2 -'dv_po2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 115 ; - } -#Dry deposition velocity of c3h6ohooh -'dv_pooh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 116 ; - } -#Dry deposition velocity of higher organic peroxides -'dv_op2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 117 ; - } -#Dry deposition velocity of hydroxyacetone -'dv_hyac' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 118 ; - } -#Dry deposition velocity of peroxyacetic acid -'dv_paa' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 119 ; - } -#Dry deposition velocity of ch3coch2o2 -'dv_ro2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 120 ; - } -#Dry deposition velocity of peroxy radical from c2h6 -'dv_ethp' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 121 ; - } -#Dry deposition velocity of peroxy radical from hc3 -'dv_hc3p' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 122 ; - } -#Dry deposition velocity of peroxy radical from hc5 -'dv_hc5p' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 123 ; - } -#Dry deposition velocity of lumped alkenes -'dv_bigene' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 124 ; - } -#Dry deposition velocity of peroxy radical from hc8 -'dv_hc8p' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 125 ; - } -#Dry deposition velocity of lumped alkanes -'dv_bigalk' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 126 ; - } -#Dry deposition velocity of peroxy radical from c2h4 -'dv_etep' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 127 ; - } -#Dry deposition velocity of c4h8o -'dv_mek' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 128 ; - } -#Dry deposition velocity of peroxy radical from terminal alkenes -'dv_oltp' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 129 ; - } -#Dry deposition velocity of c4h9o3 -'dv_eneo2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 130 ; - } -#Dry deposition velocity of peroxy radical from internal alkenes -'dv_olip' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 131 ; - } -#Dry deposition velocity of ch3coch(oo)ch3 -'dv_meko2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 132 ; - } -#Dry deposition velocity of peroxy radical from c5h8 -'dv_isopo2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 133 ; - } -#Dry deposition velocity of ch3coch(ooh)ch3 -'dv_mekooh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 134 ; - } -#Dry deposition velocity of peroxy radical from a-pinene cyclic terpenes -'dv_apip' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 135 ; - } -#Dry deposition velocity of ch2=c(ch3)co3 -'dv_mco3' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 136 ; - } -#Dry deposition velocity of peroxy radical from d-limonene cyclic diene -'dv_limp' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 137 ; - } -#Dry deposition velocity of methylvinylketone -'dv_mvk' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 138 ; - } -#Dry deposition velocity of phenoxy radical -'dv_pho' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 139 ; - } -#Dry deposition velocity of peroxy radical from toluene and less reactive aromatics -'dv_tolp' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 140 ; - } -#Dry deposition velocity of ch3c(o)ch(oo)ch2oh -'dv_macro2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 141 ; - } -#Dry deposition velocity of peroxy radical from xylene and more reactive aromatics -'dv_xylp' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 142 ; - } -#Dry deposition velocity of h3c(o)ch(ooh)ch2oh -'dv_macrooh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 143 ; - } -#Dry deposition velocity of peroxy radical from cresol -'dv_cslp' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 144 ; - } -#Dry deposition velocity of unsaturated pans -'dv_mpan' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 145 ; - } -#Dry deposition velocity of unsaturated acyl peroxy radical -'dv_tco3_c' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 146 ; - } -#Dry deposition velocity of peroxy radical from ketones -'dv_ketp' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 147 ; - } -#Dry deposition velocity of c5h11o2 -'dv_alko2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 148 ; - } -#Dry deposition velocity of no3-alkenes adduct reacting to form carbonitrates -'dv_olnn' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 149 ; - } -#Dry deposition velocity of c5h11ooh -'dv_alkooh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 150 ; - } -#Dry deposition velocity of no3-alkenes adduct reacting via decomposition -'dv_olnd' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 151 ; - } -#Dry deposition velocity of hoch2c(ch3)=chcho -'dv_bigald' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 152 ; - } -#Dry deposition velocity of c5h6o2 -'dv_hydrald' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 153 ; - } -#Dry deposition velocity of trop sulfuric acid -'dv_sulf' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 154 ; - } -#Dry deposition velocity of oxides -'dv_ox' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 155 ; - } -#Dry deposition velocity of ch2chc(ch3)(oo)ch2ono2 -'dv_isopno3' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 156 ; - } -#Dry deposition velocity of c3 organic nitrate -'dv_onitr' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 157 ; - } -#Dry deposition velocity of chlorine oxides -'dv_clox' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 158 ; - } -#Dry deposition velocity of bromine oxides -'dv_brox' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 159 ; - } -#Dry deposition velocity of hoch2c(ooh)(ch3)chchoh -'dv_xooh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 160 ; - } -#Dry deposition velocity of hoch2c(ooh)(ch3)ch=ch2 -'dv_isopooh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 161 ; - } -#Dry deposition velocity of lumped aromatics -'dv_toluene' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 162 ; - } -#Dry deposition velocity of dimethyl sulfoxyde -'dv_dmso' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 163 ; - } -#Dry deposition velocity of c7h9o5 -'dv_tolo2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 164 ; - } -#Dry deposition velocity of c7h10o5 -'dv_tolooh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 165 ; - } -#Dry deposition velocity of hydrogensulfide -'dv_h2s' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 166 ; - } -#Dry deposition velocity of c7h10o6 -'dv_xoh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 167 ; - } -#Dry deposition velocity of all nitrogen oxides -'dv_noy' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 168 ; - } -#Dry deposition velocity of chlorine family -'dv_cly' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 169 ; - } -#Dry deposition velocity of c10h16(oh)(oo) -'dv_terpo2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 170 ; - } -#Dry deposition velocity of bromine family -'dv_bry' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 171 ; - } -#Dry deposition velocity of c10h18o3 -'dv_terpooh' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 172 ; - } -#Dry deposition velocity of nitrogen atom -'dv_n' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 173 ; - } -#Dry deposition velocity of chlorine monoxide -'dv_clo' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 174 ; - } -#Dry deposition velocity of chlorine atom -'dv_cl_c' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 175 ; - } -#Dry deposition velocity of bromine monoxide -'dv_bro' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 176 ; - } -#Dry deposition velocity of hydrogen atom -'dv_h_c' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 177 ; - } -#Dry deposition velocity of methyl group -'dv_ch3' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 178 ; - } -#Dry deposition velocity of aromatic-ho from toluene and less reactive aromatics -'dv_addt' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 179 ; - } -#Dry deposition velocity of aromatic-ho from xylene and more reactive aromatics -'dv_addx' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 180 ; - } -#Dry deposition velocity of ammonium nitrate -'dv_nh4no3' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 181 ; - } -#Dry deposition velocity of aromatic-ho from csl -'dv_addc' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 182 ; - } -#Dry deposition velocity of secondary organic aerosol type 1 -'dv_soa1' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 183 ; - } -#Dry deposition velocity of secondary organic aerosol type 2a -'dv_soa2a' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 184 ; - } -#Dry deposition velocity of secondary organic aerosol type 2b -'dv_soa2b' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 185 ; - } -#Dry deposition velocity of condensable gas type 1 -'dv_sog1' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 186 ; - } -#Dry deposition velocity of condensable gas type 2a -'dv_sog2a' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 187 ; - } -#Dry deposition velocity of condensable gas type 2b -'dv_sog2b' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 188 ; - } -#Dry deposition velocity of sulfur trioxide -'dv_so3' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 189 ; - } -#Dry deposition velocity of carbonyl sulfide -'dv_ocs_c' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 190 ; - } -#Dry deposition velocity of bromine atom -'dv_br' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 191 ; - } -#Dry deposition velocity of bromine -'dv_br2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 192 ; - } -#Dry deposition velocity of bromine monochloride -'dv_brcl' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 193 ; - } -#Dry deposition velocity of bromine nitrate -'dv_brono2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 194 ; - } -#Dry deposition velocity of dibromomethane -'dv_ch2br2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 195 ; - } -#Dry deposition velocity of methoxy radical -'dv_ch3o' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 196 ; - } -#Dry deposition velocity of tribromomethane -'dv_chbr3' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 197 ; - } -#Dry deposition velocity of asymmetric chlorine dioxide radical -'dv_cloo' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 198 ; - } -#Dry deposition velocity of hydrogen -'dv_h2' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 199 ; - } -#Dry deposition velocity of hydrogen chloride -'dv_hcl' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 200 ; - } -#Dry deposition velocity of formyl radical -'dv_hco' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 201 ; - } -#Dry deposition velocity of hydrogen fluoride -'dv_hf' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 202 ; - } -#Dry deposition velocity of oxygen atom -'dv_o' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 203 ; - } -#Dry deposition velocity of excited oxygen atom -'dv_o1d' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 204 ; - } -#Dry deposition velocity of ground state oxygen atom -'dv_o3p' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 205 ; - } -#Dry deposition velocity of stratospheric aerosol -'dv_strataer' = { - discipline = 192 ; - parameterCategory = 221 ; - parameterNumber = 206 ; - } -#Dry deposition velocity of Anthropogenic volatile organic compounds -'dv_VOCA' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 15 ; - constituentType = 65532 ; - is_chemical = 1 ; - } -#Dry deposition velocity of Biomass burning volatile organic compounds -'dv_VOCBB' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 15 ; - constituentType = 65531 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Ozone (stratospheric) -'acc_dry_depm_O3S' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 65524 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Nitrate -'acc_dry_depm_NO3_A' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 65525 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Toluene and less reactive aromatics -'acc_dry_depm_TOL' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 65529 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated dry deposition mass flux of Xylene and more reactive aromatics -'acc_dry_depm_XYL' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 6 ; - constituentType = 65530 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Nitrate -'acc_wet_depm_NO3_A' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 65525 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Condensable gas type 1 -'acc_wet_depm_SOG1' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 65526 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Condensable gas type 2a -'acc_wet_depm_SOG2A' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 65527 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Time-integrated wet deposition mass flux of Condensable gas type 2b -'acc_wet_depm_SOG2B' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 7 ; - constituentType = 65528 ; - typeOfStatisticalProcessing = 1 ; - is_chemical = 1 ; - } -#Horizontal visibility -'hvis' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 25 ; - } -#Maximum temperature at 2 metres in the last 3 hours -'mx2t3' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 2 ; - lengthOfTimeRange = 3 ; - } -#Minimum temperature at 2 metres in the last 3 hours -'mn2t3' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 0 ; - typeOfFirstFixedSurface = 103 ; - scaledValueOfFirstFixedSurface = 2 ; - scaleFactorOfFirstFixedSurface = 0 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 3 ; - lengthOfTimeRange = 3 ; - } -#Soil wetness index in layer 1 -'swi1' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 40 ; - } -#Soil wetness index in layer 2 -'swi2' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 41 ; - } -#Soil wetness index in layer 3 -'swi3' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 42 ; - } -#Soil wetness index in layer 4 -'swi4' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 43 ; - } -#GPP coefficient from Biogenic Flux Adjustment System -'gppbfas' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 198 ; - } -#Rec coefficient from Biogenic Flux Adjustment System -'recbfas' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 199 ; - } -#Canopy cover fraction -'ccf' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 91 ; - } -#Soil texture fraction -'stf' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 92 ; - } -#Volumetric soil moisture -'swv' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 93 ; - } -#Evaporation from the top of canopy -'evatc' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 100 ; - } -#Evaporation from bare soil -'evabs' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 101 ; - } -#Evaporation from open water surfaces excluding oceans -'evaow' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 102 ; - } -#Evaporation from vegetation transpiration -'evavt' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 103 ; - } -#Solar induced Chlorophyll fluorescence at 740nm -'sif740' = { - localTablesVersion = 1 ; - discipline = 4 ; - parameterCategory = 8 ; - parameterNumber = 254 ; - scaleFactorOfFirstWavelength = 9 ; - scaledValueOfFirstWavelength = 740 ; - scaledValueOfSecondWavelength = missing() ; - typeOfWavelengthInterval = 11 ; - scaleFactorOfSecondWavelength = missing() ; - is_aerosol_optical = 1 ; - } -#Solar induced Chlorophyll fluorescence at 755nm -'sif755' = { - localTablesVersion = 1 ; - discipline = 4 ; - parameterCategory = 8 ; - parameterNumber = 254 ; - scaleFactorOfFirstWavelength = 9 ; - scaledValueOfFirstWavelength = 755 ; - scaledValueOfSecondWavelength = missing() ; - typeOfWavelengthInterval = 11 ; - scaleFactorOfSecondWavelength = missing() ; - is_aerosol_optical = 1 ; - } -#Solar induced Chlorophyll fluorescence at 771nm -'sif771' = { - localTablesVersion = 1 ; - discipline = 4 ; - parameterCategory = 8 ; - parameterNumber = 254 ; - scaleFactorOfFirstWavelength = 9 ; - scaledValueOfFirstWavelength = 771 ; - scaledValueOfSecondWavelength = missing() ; - typeOfWavelengthInterval = 11 ; - scaleFactorOfSecondWavelength = missing() ; - is_aerosol_optical = 1 ; - } -#Solar induced Chlorophyll fluorescence at 757nm -'sif757' = { - localTablesVersion = 1 ; - discipline = 4 ; - parameterCategory = 8 ; - parameterNumber = 254 ; - scaleFactorOfFirstWavelength = 9 ; - scaledValueOfFirstWavelength = 757 ; - scaledValueOfSecondWavelength = missing() ; - typeOfWavelengthInterval = 11 ; - scaleFactorOfSecondWavelength = missing() ; - is_aerosol_optical = 1 ; - } -#Accumulated freezing rain -'fzra' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 194 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Surface short wave-effective total cloudiness -'tccsw' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 248 ; - } -#Irrigation fraction -'irrfr' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 250 ; - } -#Potential evaporation -'pev' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 200 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Irrigation -'irr' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 252 ; - } -#Surface long wave-effective total cloudiness -'tcclw' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 255 ; - } -#Time integral of snow evaporation flux -'tisef' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 192 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 255 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-mean snow depth -'avg_sd_m' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 254 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean logarithm of surface pressure -'avg_lnsp' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 25 ; - typeOfFirstFixedSurface = 105 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean low cloud cover -'avg_lcc_frac' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 193 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean medium cloud cover -'avg_mcc_frac' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 194 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean high cloud cover -'avg_hcc_frac' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 195 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean forecast albedo -'avg_fal_frac' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 193 ; - typeOfStatisticalProcessing = 0 ; - } -#Covariance between 2-metre temperature and volumetric soil water layer 1 -'covar_t2m_swvl1' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 192 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre relative humidity and volumetric soil water layer 1 -'covar_rh2m_swvl1' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 193 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between surface soil moisture and volumetric soil water layer 1 -'covar_ssm_swvl1' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 194 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre temperature and volumetric soil water layer 2 -'covar_t2m_swvl2' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 195 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre relative humidity and volumetric soil water layer 2 -'covar_rh2m_swvl2' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 196 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between surface soil moisture and volumetric soil water layer 2 -'covar_ssm_swvl2' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 197 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre temperature and volumetric soil water layer 3 -'covar_t2m_swvl3' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 198 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre relative humidity and volumetric soil water layer 3 -'covar_rh2m_swvl3' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 199 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between surface soil moisture and volumetric soil water layer 3 -'covar_ssm_swvl3' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 200 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre temperature and soil temperature layer 1 -'covar_t2m_stl1' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 201 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre relative humidity and soil temperature layer 1 -'covar_rh2m_stl1' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 202 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre temperature and soil temperature layer 2 -'covar_t2m_stl2' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 203 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre relative humidity and soil temperature layer 2 -'covar_rh2m_stl2' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 204 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre temperature and soil temperature layer 3 -'covar_t2m_stl3' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 205 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre relative humidity and soil temperature layer 3 -'covar_rh2m_stl3' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 206 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre temperature and temperature of snow layer 1 -'covar_t2m_tsn1' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 207 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre relative humidity and temperature of snow layer 1 -'covar_rh2m_tsn1' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 208 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre temperature and temperature of snow layer 2 -'covar_t2m_tsn2' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 209 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre relative humidity and temperature of snow layer 2 -'covar_rh2m_tsn2' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 210 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre temperature and temperature of snow layer 3 -'covar_t2m_tsn3' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 211 ; - typeOfFirstFixedSurface = 254 ; - } -#Covariance between 2-metre relative humidity and temperature of snow layer 3 -'covar_rh2m_tsn3' = { - localTablesVersion = 1 ; - discipline = 254 ; - parameterCategory = 254 ; - parameterNumber = 212 ; - typeOfFirstFixedSurface = 254 ; - } -#Surface roughness length for heat -'srlh' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 200 ; - } -#Snow thickness over sea ice -'sisnthick' = { - localTablesVersion = 1 ; - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 192 ; - typeOfFirstFixedSurface = 173 ; - typeOfSecondFixedSurface = 175 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Sea ice salinity -'icesalt' = { - localTablesVersion = 1 ; - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 193 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - } -#Time-mean snow thickness over sea ice -'avg_sisnthick' = { - localTablesVersion = 1 ; - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 192 ; - typeOfFirstFixedSurface = 173 ; - typeOfSecondFixedSurface = 175 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean Sea ice salinity -'avg_icesalt' = { - localTablesVersion = 1 ; - discipline = 10 ; - parameterCategory = 2 ; - parameterNumber = 193 ; - typeOfFirstFixedSurface = 174 ; - typeOfSecondFixedSurface = 176 ; - scaledValueOfFirstFixedSurface = missing() ; - scaleFactorOfFirstFixedSurface = missing() ; - scaledValueOfSecondFixedSurface = missing() ; - scaleFactorOfSecondFixedSurface = missing() ; - typeOfStatisticalProcessing = 0 ; - } -#Volume-mean total column mixing ratio -'vm_tc_vol_mixrat' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 195 ; - } -#Emission mass flux from vegetation -'emi_mflx_veg' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 192 ; - } -#Emission mass flux from biomass burning -'emi_mflx_biomburn' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 193 ; - } -#Emission mass flux from settlements -'emi_mflx_settl' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 194 ; - } -#Emission mass flux from soil -'emi_mflx_soil' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 195 ; - } -#Emission mass flux from wild animals -'emi_mflx_wildanim' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 196 ; - } -#Aerosol negative fixer mass flux -'aer_negfix_mflx' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 193 ; - } -#Aerosol sink/loss mass flux -'aer_sink_mflx' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 194 ; - } -#Aerosol source/gain mass flux -'aer_src_mflx' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 192 ; - } -#Emission mass flux from commercial buildings heating -'emi_mflx_cbh' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 197 ; - } -#Emission mass flux from residential heating -'emi_mflx_rh' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 198 ; - } -#Emission mass flux from oil refineries and transformation industry -'emi_mflx_oti' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 199 ; - } -#Emission mass flux from gas production -'emi_mflx_gp' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 20 ; - parameterNumber = 77 ; - sourceSinkChemicalPhysicalProcess = 200 ; - } -#Stream function gradient -'strfgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 1 ; - } -#Velocity potential gradient -'vpotgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 2 ; - } -#Potential temperature gradient -'ptgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 3 ; - } -#Equivalent potential temperature gradient -'eqptgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 4 ; - } -#Saturated equivalent potential temperature gradient -'septgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 5 ; - } -#U component of divergent wind gradient -'udvwgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 11 ; - } -#V component of divergent wind gradient -'vdvwgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 12 ; - } -#U component of rotational wind gradient -'urtwgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 13 ; - } -#V component of rotational wind gradient -'vrtwgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 14 ; - } -#Unbalanced component of temperature gradient -'uctpgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 21 ; - } -#Unbalanced component of logarithm of surface pressure gradient -'uclngrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 22 ; - } -#Unbalanced component of divergence gradient -'ucdvgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 23 ; - } -#Reserved for future unbalanced components -'p24.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 24 ; - } -#Reserved for future unbalanced components -'p25.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 25 ; - } -#Lake cover gradient -'clgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 26 ; - } -#Low vegetation cover gradient -'cvlgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 27 ; - } -#High vegetation cover gradient -'cvhgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 28 ; - } -#Type of low vegetation gradient -'tvlgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 29 ; - } -#Type of high vegetation gradient -'tvhgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 30 ; - } -#Sea-ice cover gradient -'sicgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 31 ; - } -#Snow albedo gradient -'asngrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 32 ; - } -#Snow density gradient -'rsngrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 33 ; - } -#Sea surface temperature gradient -'sstkgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 34 ; - } -#Ice surface temperature layer 1 gradient -'istl1grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 35 ; - } -#Ice surface temperature layer 2 gradient -'istl2grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 36 ; - } -#Ice surface temperature layer 3 gradient -'istl3grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 37 ; - } -#Ice surface temperature layer 4 gradient -'istl4grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 38 ; - } -#Volumetric soil water layer 1 gradient -'swvl1grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 39 ; - } -#Volumetric soil water layer 2 gradient -'swvl2grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 40 ; - } -#Volumetric soil water layer 3 gradient -'swvl3grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 41 ; - } -#Volumetric soil water layer 4 gradient -'swvl4grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 42 ; - } -#Soil type gradient -'sltgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 43 ; - } -#Snow evaporation gradient -'esgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 44 ; - } -#Snowmelt gradient -'smltgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 45 ; - } -#Solar duration gradient -'sdurgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 46 ; - } -#Direct solar radiation gradient -'dsrpgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 47 ; - } -#Magnitude of turbulent surface stress gradient -'magssgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 48 ; - } #10 metre wind gust gradient 'fggrd10' = { discipline = 192 ; parameterCategory = 129 ; parameterNumber = 49 ; } -#Large-scale precipitation fraction gradient -'lspfgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 50 ; - } -#Maximum 2 metre temperature gradient -'mx2t24grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 51 ; - } -#Minimum 2 metre temperature gradient -'mn2t24grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 52 ; - } -#Montgomery potential gradient -'montgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 53 ; - } -#Pressure gradient -'presgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 54 ; - } -#Downward UV radiation at the surface gradient -'uvbgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 57 ; - } -#Photosynthetically active radiation at the surface gradient -'pargrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 58 ; - } -#Convective available potential energy gradient -'capegrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 59 ; - } -#Potential vorticity gradient -'pvgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 60 ; - } -#Total precipitation from observations gradient -'tpogrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 61 ; - } -#Observation count gradient -'obctgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 62 ; - } -#Start time for skin temperature difference -'p63.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 63 ; - } -#Finish time for skin temperature difference -'p64.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 64 ; - } -#Skin temperature difference -'p65.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 65 ; - } -#Leaf area index, low vegetation -'p66.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 66 ; - } -#Leaf area index, high vegetation -'p67.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 67 ; - } -#Minimum stomatal resistance, low vegetation -'p68.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 68 ; - } -#Minimum stomatal resistance, high vegetation -'p69.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 69 ; - } -#Biome cover, low vegetation -'p70.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 70 ; - } -#Biome cover, high vegetation -'p71.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 71 ; - } -#Total column liquid water -'p78.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 78 ; - } -#Total column ice water -'p79.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 79 ; - } -#Experimental product -'p80.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 80 ; - } -#Experimental product -'p81.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 81 ; - } -#Experimental product -'p82.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 82 ; - } -#Experimental product -'p83.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 83 ; - } -#Experimental product -'p84.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 84 ; - } -#Experimental product -'p85.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 85 ; - } -#Experimental product -'p86.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 86 ; - } -#Experimental product -'p87.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 87 ; - } -#Experimental product -'p88.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 88 ; - } -#Experimental product -'p89.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 89 ; - } -#Experimental product -'p90.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 90 ; - } -#Experimental product -'p91.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 91 ; - } -#Experimental product -'p92.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 92 ; - } -#Experimental product -'p93.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 93 ; - } -#Experimental product -'p94.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 94 ; - } -#Experimental product -'p95.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 95 ; - } -#Experimental product -'p96.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 96 ; - } -#Experimental product -'p97.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 97 ; - } -#Experimental product -'p98.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 98 ; - } -#Experimental product -'p99.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 99 ; - } -#Experimental product -'p100.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 100 ; - } -#Experimental product -'p101.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 101 ; - } -#Experimental product -'p102.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 102 ; - } -#Experimental product -'p103.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 103 ; - } -#Experimental product -'p104.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 104 ; - } -#Experimental product -'p105.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 105 ; - } -#Experimental product -'p106.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 106 ; - } -#Experimental product -'p107.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 107 ; - } -#Experimental product -'p108.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 108 ; - } -#Experimental product -'p109.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 109 ; - } -#Experimental product -'p110.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 110 ; - } -#Experimental product -'p111.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 111 ; - } -#Experimental product -'p112.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 112 ; - } -#Experimental product -'p113.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 113 ; - } -#Experimental product -'p114.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 114 ; - } -#Experimental product -'p115.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 115 ; - } -#Experimental product -'p116.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 116 ; - } -#Experimental product -'p117.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 117 ; - } -#Experimental product -'p118.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 118 ; - } -#Experimental product -'p119.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 119 ; - } -#Experimental product -'p120.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 120 ; - } -#Maximum temperature at 2 metres gradient -'mx2t6grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 121 ; - } -#Minimum temperature at 2 metres gradient -'mn2t6grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 122 ; - } #10 metre wind gust in the last 6 hours gradient 'fg6grd10' = { discipline = 192 ; parameterCategory = 129 ; parameterNumber = 123 ; } -#Vertically integrated total energy -'p125.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 125 ; - } -#Generic parameter for sensitive area prediction -'p126.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 126 ; - } -#Atmospheric tide gradient -'atgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 127 ; - } -#Budget values gradient -'bvgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 128 ; - } -#Geopotential gradient -'zgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 129 ; - } -#Temperature gradient -'tgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 130 ; - } -#U component of wind gradient -'ugrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 131 ; - } -#V component of wind gradient -'vgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 132 ; - } -#Specific humidity gradient -'qgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 133 ; - } -#Surface pressure gradient -'spgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 134 ; - } -#vertical velocity (pressure) gradient -'wgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 135 ; - } -#Total column water gradient -'tcwgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 136 ; - } -#Total column water vapour gradient -'tcwvgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 137 ; - } -#Vorticity (relative) gradient -'vogrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 138 ; - } -#Soil temperature level 1 gradient -'stl1grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 139 ; - } -#Soil wetness level 1 gradient -'swl1grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 140 ; - } -#Snow depth gradient -'sdgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 141 ; - } -#Stratiform precipitation (Large-scale precipitation) gradient -'lspgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 142 ; - } -#Convective precipitation gradient -'cpgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 143 ; - } -#Snowfall (convective + stratiform) gradient -'sfgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 144 ; - } -#Boundary layer dissipation gradient -'bldgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 145 ; - } -#Surface sensible heat flux gradient -'sshfgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 146 ; - } -#Surface latent heat flux gradient -'slhfgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 147 ; - } -#Charnock gradient -'chnkgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 148 ; - } -#Surface net radiation gradient -'snrgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 149 ; - } -#Top net radiation gradient -'tnrgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 150 ; - } -#Mean sea level pressure gradient -'mslgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 151 ; - } -#Logarithm of surface pressure gradient -'lnspgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 152 ; - } -#Short-wave heating rate gradient -'swhrgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 153 ; - } -#Long-wave heating rate gradient -'lwhrgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 154 ; - } -#Divergence gradient -'dgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 155 ; - } -#Height gradient -'ghgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 156 ; - } -#Relative humidity gradient -'rgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 157 ; - } -#Tendency of surface pressure gradient -'tspgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 158 ; - } -#Boundary layer height gradient -'blhgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 159 ; - } -#Standard deviation of orography gradient -'sdorgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 160 ; - } -#Anisotropy of sub-gridscale orography gradient -'isorgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 161 ; - } -#Angle of sub-gridscale orography gradient -'anorgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 162 ; - } -#Slope of sub-gridscale orography gradient -'slorgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 163 ; - } -#Total cloud cover gradient -'tccgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 164 ; - } #10 metre U wind component gradient 'ugrd10' = { discipline = 192 ; @@ -15106,648 +83,12 @@ parameterCategory = 129 ; parameterNumber = 168 ; } -#Surface solar radiation downwards gradient -'ssrdgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 169 ; - } -#Soil temperature level 2 gradient -'stl2grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 170 ; - } -#Soil wetness level 2 gradient -'swl2grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 171 ; - } -#Land-sea mask gradient -'lsmgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 172 ; - } -#Surface roughness gradient -'srgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 173 ; - } -#Albedo gradient -'algrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 174 ; - } -#Surface thermal radiation downwards gradient -'strdgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 175 ; - } -#Surface net solar radiation gradient -'ssrgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 176 ; - } -#Surface net thermal radiation gradient -'strgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 177 ; - } -#Top net solar radiation gradient -'tsrgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 178 ; - } -#Top net thermal radiation gradient -'ttrgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 179 ; - } -#East-West surface stress gradient -'ewssgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 180 ; - } -#North-South surface stress gradient -'nsssgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 181 ; - } -#Evaporation gradient -'egrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 182 ; - } -#Soil temperature level 3 gradient -'stl3grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 183 ; - } -#Soil wetness level 3 gradient -'swl3grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 184 ; - } -#Convective cloud cover gradient -'cccgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 185 ; - } -#Low cloud cover gradient -'lccgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 186 ; - } -#Medium cloud cover gradient -'mccgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 187 ; - } -#High cloud cover gradient -'hccgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 188 ; - } -#Sunshine duration gradient -'sundgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 189 ; - } -#East-West component of sub-gridscale orographic variance gradient -'ewovgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 190 ; - } -#North-South component of sub-gridscale orographic variance gradient -'nsovgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 191 ; - } -#North-West/South-East component of sub-gridscale orographic variance gradient -'nwovgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 192 ; - } -#North-East/South-West component of sub-gridscale orographic variance gradient -'neovgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 193 ; - } -#Brightness temperature gradient -'btmpgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 194 ; - } -#Longitudinal component of gravity wave stress gradient -'lgwsgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 195 ; - } -#Meridional component of gravity wave stress gradient -'mgwsgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 196 ; - } -#Gravity wave dissipation gradient -'gwdgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 197 ; - } -#Skin reservoir content gradient -'srcgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 198 ; - } -#Vegetation fraction gradient -'veggrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 199 ; - } -#Variance of sub-gridscale orography gradient -'vsogrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 200 ; - } -#Maximum temperature at 2 metres since previous post-processing gradient -'mx2tgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 201 ; - } -#Minimum temperature at 2 metres since previous post-processing gradient -'mn2tgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 202 ; - } -#Ozone mass mixing ratio gradient -'o3grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 203 ; - } -#Precipitation analysis weights gradient -'pawgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 204 ; - } -#Runoff gradient -'rogrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 205 ; - } -#Total column ozone gradient -'tco3grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 206 ; - } #10 metre wind speed gradient 'sigrd10' = { discipline = 192 ; parameterCategory = 129 ; parameterNumber = 207 ; } -#Top net solar radiation, clear sky gradient -'tsrcgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 208 ; - } -#Top net thermal radiation, clear sky gradient -'ttrcgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 209 ; - } -#Surface net solar radiation, clear sky gradient -'ssrcgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 210 ; - } -#Surface net thermal radiation, clear sky gradient -'strcgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 211 ; - } -#TOA incident solar radiation gradient -'tisrgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 212 ; - } -#Diabatic heating by radiation gradient -'dhrgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 214 ; - } -#Diabatic heating by vertical diffusion gradient -'dhvdgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 215 ; - } -#Diabatic heating by cumulus convection gradient -'dhccgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 216 ; - } -#Diabatic heating large-scale condensation gradient -'dhlcgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 217 ; - } -#Vertical diffusion of zonal wind gradient -'vdzwgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 218 ; - } -#Vertical diffusion of meridional wind gradient -'vdmwgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 219 ; - } -#East-West gravity wave drag tendency gradient -'ewgdgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 220 ; - } -#North-South gravity wave drag tendency gradient -'nsgdgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 221 ; - } -#Convective tendency of zonal wind gradient -'ctzwgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 222 ; - } -#Convective tendency of meridional wind gradient -'ctmwgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 223 ; - } -#Vertical diffusion of humidity gradient -'vdhgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 224 ; - } -#Humidity tendency by cumulus convection gradient -'htccgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 225 ; - } -#Humidity tendency by large-scale condensation gradient -'htlcgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 226 ; - } -#Change from removal of negative humidity gradient -'crnhgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 227 ; - } -#Total precipitation gradient -'tpgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 228 ; - } -#Instantaneous X surface stress gradient -'iewsgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 229 ; - } -#Instantaneous Y surface stress gradient -'inssgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 230 ; - } -#Instantaneous surface heat flux gradient -'ishfgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 231 ; - } -#Instantaneous moisture flux gradient -'iegrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 232 ; - } -#Apparent surface humidity gradient -'asqgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 233 ; - } -#Logarithm of surface roughness length for heat gradient -'lsrhgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 234 ; - } -#Skin temperature gradient -'sktgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 235 ; - } -#Soil temperature level 4 gradient -'stl4grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 236 ; - } -#Soil wetness level 4 gradient -'swl4grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 237 ; - } -#Temperature of snow layer gradient -'tsngrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 238 ; - } -#Convective snowfall gradient -'csfgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 239 ; - } -#Large scale snowfall gradient -'lsfgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 240 ; - } -#Accumulated cloud fraction tendency gradient -'acfgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 241 ; - } -#Accumulated liquid water tendency gradient -'alwgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 242 ; - } -#Forecast albedo gradient -'falgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 243 ; - } -#Forecast surface roughness gradient -'fsrgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 244 ; - } -#Forecast logarithm of surface roughness for heat gradient -'flsrgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 245 ; - } -#Specific cloud liquid water content gradient -'clwcgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 246 ; - } -#Specific cloud ice water content gradient -'ciwcgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 247 ; - } -#Cloud cover gradient -'ccgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 248 ; - } -#Accumulated ice water tendency gradient -'aiwgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 249 ; - } -#Ice age gradient -'icegrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 250 ; - } -#Adiabatic tendency of temperature gradient -'attegrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 251 ; - } -#Adiabatic tendency of humidity gradient -'athegrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 252 ; - } -#Adiabatic tendency of zonal wind gradient -'atzegrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 253 ; - } -#Adiabatic tendency of meridional wind gradient -'atmwgrd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 254 ; - } -#Indicates a missing value -'p255.129' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 255 ; - } -#Top solar radiation upward -'tsru' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 208 ; - } -#Top thermal radiation upward -'ttru' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 209 ; - } -#Top solar radiation upward, clear sky -'tsuc' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 210 ; - } -#Top thermal radiation upward, clear sky -'ttuc' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 211 ; - } -#Cloud liquid water -'clw' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 212 ; - } -#Cloud fraction -'cf' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 213 ; - } -#Diabatic heating by radiation -'dhr' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 214 ; - } -#Diabatic heating by vertical diffusion -'dhvd' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 215 ; - } -#Diabatic heating by cumulus convection -'dhcc' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 216 ; - } -#Diabatic heating by large-scale condensation -'dhlc' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 217 ; - } -#Vertical diffusion of zonal wind -'vdzw' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 218 ; - } -#Vertical diffusion of meridional wind -'vdmw' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 219 ; - } -#East-West gravity wave drag -'ewgd' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 220 ; - } -#North-South gravity wave drag -'nsgd' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 221 ; - } -#Vertical diffusion of humidity -'vdh' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 224 ; - } -#Humidity tendency by cumulus convection -'htcc' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 225 ; - } -#Humidity tendency by large-scale condensation -'htlc' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 226 ; - } -#Adiabatic tendency of temperature -'att' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 228 ; - } -#Adiabatic tendency of humidity -'ath' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 229 ; - } -#Adiabatic tendency of zonal wind -'atzw' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 230 ; - } -#Adiabatic tendency of meridional wind -'atmwax' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 231 ; - } #2m temperature anomaly of at least +2K 't2ag2' = { discipline = 192 ; @@ -15778,132 +119,12 @@ parameterCategory = 131 ; parameterNumber = 5 ; } -#Total precipitation anomaly of at least 20 mm -'tpag20' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 6 ; - } -#Total precipitation anomaly of at least 10 mm -'tpag10' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 7 ; - } -#Total precipitation anomaly of at least 0 mm -'tpag0' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 8 ; - } -#Surface temperature anomaly of at least 0K -'stag0' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 9 ; - } -#Mean sea level pressure anomaly of at least 0 Pa -'mslag0' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 10 ; - } -#Height of 0 degree isotherm probability -'h0dip' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 15 ; - } -#Height of snowfall limit probability -'hslp' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 16 ; - } -#Showalter index probability -'saip' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 17 ; - } -#Whiting index probability -'whip' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 18 ; - } -#Temperature anomaly less than -2 K -'talm2' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 20 ; - } -#Temperature anomaly of at least +2 K -'tag2' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 21 ; - } -#Temperature anomaly less than -8 K -'talm8' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 22 ; - } -#Temperature anomaly less than -4 K -'talm4' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 23 ; - } -#Temperature anomaly greater than +4 K -'tag4' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 24 ; - } -#Temperature anomaly greater than +8 K -'tag8' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 25 ; - } #10 metre wind gust probability 'g10p' = { discipline = 192 ; parameterCategory = 131 ; parameterNumber = 49 ; } -#Convective available potential energy probability -'capep' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 59 ; - } -#Total precipitation less than 0.1 mm -'tpl01' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 64 ; - } -#Total precipitation rate less than 1 mm/day -'tprl1' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 65 ; - } -#Total precipitation rate of at least 3 mm/day -'tprg3' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 66 ; - } -#Total precipitation rate of at least 5 mm/day -'tprg5' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 67 ; - } #10 metre Wind speed of at least 10 m/s 'sp10g10' = { discipline = 192 ; @@ -15921,10 +142,10 @@ discipline = 0 ; parameterCategory = 2 ; parameterNumber = 22 ; + productDefinitionTemplateNumber = 9 ; typeOfFirstFixedSurface = 103 ; scaledValueOfFirstFixedSurface = 10 ; scaleFactorOfFirstFixedSurface = 0 ; - productDefinitionTemplateNumber = 9 ; typeOfStatisticalProcessing = 2 ; scaledValueOfLowerLimit = 25 ; scaleFactorOfLowerLimit = 0 ; @@ -15936,110 +157,6 @@ parameterCategory = 131 ; parameterNumber = 73 ; } -#Significant wave height of at least 2 m -'swhg2' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - typeOfFirstFixedSurface = 101 ; - productDefinitionTemplateNumber = 5 ; - scaledValueOfLowerLimit = 2 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Significant wave height of at least 4 m -'swhg4' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - typeOfFirstFixedSurface = 101 ; - productDefinitionTemplateNumber = 5 ; - scaledValueOfLowerLimit = 4 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Significant wave height of at least 6 m -'swhg6' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - productDefinitionTemplateNumber = 5 ; - typeOfFirstFixedSurface = 101 ; - scaledValueOfLowerLimit = 6 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Significant wave height of at least 8 m -'swhg8' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 3 ; - productDefinitionTemplateNumber = 5 ; - typeOfFirstFixedSurface = 101 ; - scaledValueOfLowerLimit = 8 ; - scaleFactorOfLowerLimit = 0 ; - probabilityType = 3 ; - } -#Mean wave period of at least 8 s -'mwpg8' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 78 ; - } -#Mean wave period of at least 10 s -'mwpg10' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 79 ; - } -#Mean wave period of at least 12 s -'mwpg12' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 80 ; - } -#Mean wave period of at least 15 s -'mwpg15' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 81 ; - } -#Geopotential probability -'zp' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 129 ; - } -#Temperature anomaly probability -'tap' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 130 ; - } -#Soil temperature level 1 probability -'stl1p' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 139 ; - } -#Snowfall (convective + stratiform) probability -'sfp' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 144 ; - } -#Mean sea level pressure probability -'mslpp' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 151 ; - } -#Total cloud cover probability -'tccp' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 164 ; - } #10 metre speed probability 'sp10' = { discipline = 192 ; @@ -16052,42 +169,6 @@ parameterCategory = 131 ; parameterNumber = 167 ; } -#Maximum 2 metre temperature probability -'mx2tp' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 201 ; - } -#Minimum 2 metre temperature probability -'mn2tp' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 202 ; - } -#Total precipitation probability -'tpp' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 228 ; - } -#Significant wave height probability -'swhp' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 229 ; - } -#Mean wave period probability -'mwpp' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 232 ; - } -#Indicates a missing value -'p255.131' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 255 ; - } #2m temperature probability less than -10 C 't2plm10' = { discipline = 192 ; @@ -16148,66 +229,6 @@ parameterCategory = 133 ; parameterNumber = 10 ; } -#Minimum 2 metre temperature probability less than -10 C -'mn2tplm10' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 11 ; - } -#Minimum 2 metre temperature probability less than -5 C -'mn2tplm5' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 12 ; - } -#Minimum 2 metre temperature probability less than 0 C -'mn2tpl0' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 13 ; - } -#Minimum 2 metre temperature probability less than 5 C -'mn2tpl5' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 14 ; - } -#Minimum 2 metre temperature probability less than 10 C -'mn2tpl10' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 15 ; - } -#Maximum 2 metre temperature probability greater than 25 C -'mx2tpg25' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 16 ; - } -#Maximum 2 metre temperature probability greater than 30 C -'mx2tpg30' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 17 ; - } -#Maximum 2 metre temperature probability greater than 35 C -'mx2tpg35' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 18 ; - } -#Maximum 2 metre temperature probability greater than 40 C -'mx2tpg40' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 19 ; - } -#Maximum 2 metre temperature probability greater than 45 C -'mx2tpg45' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 20 ; - } #10 metre wind speed probability of at least 10 m/s 'sp10g10' = { discipline = 192 ; @@ -16268,1980 +289,30 @@ parameterCategory = 133 ; parameterNumber = 30 ; } -#Total precipitation probability of at least 1 mm -'tppg1' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 31 ; - } -#Total precipitation probability of at least 5 mm -'tppg5' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 32 ; - } -#Total precipitation probability of at least 10 mm -'tppg10' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 33 ; - } -#Total precipitation probability of at least 20 mm -'tppg20' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 34 ; - } -#Total precipitation probability of at least 40 mm -'tppg40' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 35 ; - } -#Total precipitation probability of at least 60 mm -'tppg60' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 36 ; - } -#Total precipitation probability of at least 80 mm -'tppg80' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 37 ; - } -#Total precipitation probability of at least 100 mm -'tppg100' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 38 ; - } -#Total precipitation probability of at least 150 mm -'tppg150' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 39 ; - } -#Total precipitation probability of at least 200 mm -'tppg200' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 40 ; - } -#Total precipitation probability of at least 300 mm -'tppg300' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 41 ; - } -#Snowfall probability of at least 1 mm -'sfpg1' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 42 ; - } -#Snowfall probability of at least 5 mm -'sfpg5' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 43 ; - } -#Snowfall probability of at least 10 mm -'sfpg10' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 44 ; - } -#Snowfall probability of at least 20 mm -'sfpg20' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 45 ; - } -#Snowfall probability of at least 40 mm -'sfpg40' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 46 ; - } -#Snowfall probability of at least 60 mm -'sfpg60' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 47 ; - } -#Snowfall probability of at least 80 mm -'sfpg80' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 48 ; - } -#Snowfall probability of at least 100 mm -'sfpg100' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 49 ; - } -#Snowfall probability of at least 150 mm -'sfpg150' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 50 ; - } -#Snowfall probability of at least 200 mm -'sfpg200' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 51 ; - } -#Snowfall probability of at least 300 mm -'sfpg300' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 52 ; - } -#Total Cloud Cover probability greater than 10% -'tccpg10' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 53 ; - } -#Total Cloud Cover probability greater than 20% -'tccpg20' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 54 ; - } -#Total Cloud Cover probability greater than 30% -'tccpg30' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 55 ; - } -#Total Cloud Cover probability greater than 40% -'tccpg40' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 56 ; - } -#Total Cloud Cover probability greater than 50% -'tccpg50' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 57 ; - } -#Total Cloud Cover probability greater than 60% -'tccpg60' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 58 ; - } -#Total Cloud Cover probability greater than 70% -'tccpg70' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 59 ; - } -#Total Cloud Cover probability greater than 80% -'tccpg80' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 60 ; - } -#Total Cloud Cover probability greater than 90% -'tccpg90' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 61 ; - } -#Total Cloud Cover probability greater than 99% -'tccpg99' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 62 ; - } -#High Cloud Cover probability greater than 10% -'hccpg10' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 63 ; - } -#High Cloud Cover probability greater than 20% -'hccpg20' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 64 ; - } -#High Cloud Cover probability greater than 30% -'hccpg30' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 65 ; - } -#High Cloud Cover probability greater than 40% -'hccpg40' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 66 ; - } -#High Cloud Cover probability greater than 50% -'hccpg50' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 67 ; - } -#High Cloud Cover probability greater than 60% -'hccpg60' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 68 ; - } -#High Cloud Cover probability greater than 70% -'hccpg70' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 69 ; - } -#High Cloud Cover probability greater than 80% -'hccpg80' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 70 ; - } -#High Cloud Cover probability greater than 90% -'hccpg90' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 71 ; - } -#High Cloud Cover probability greater than 99% -'hccpg99' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 72 ; - } -#Medium Cloud Cover probability greater than 10% -'mccpg10' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 73 ; - } -#Medium Cloud Cover probability greater than 20% -'mccpg20' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 74 ; - } -#Medium Cloud Cover probability greater than 30% -'mccpg30' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 75 ; - } -#Medium Cloud Cover probability greater than 40% -'mccpg40' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 76 ; - } -#Medium Cloud Cover probability greater than 50% -'mccpg50' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 77 ; - } -#Medium Cloud Cover probability greater than 60% -'mccpg60' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 78 ; - } -#Medium Cloud Cover probability greater than 70% -'mccpg70' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 79 ; - } -#Medium Cloud Cover probability greater than 80% -'mccpg80' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 80 ; - } -#Medium Cloud Cover probability greater than 90% -'mccpg90' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 81 ; - } -#Medium Cloud Cover probability greater than 99% -'mccpg99' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 82 ; - } -#Low Cloud Cover probability greater than 10% -'lccpg10' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 83 ; - } -#Low Cloud Cover probability greater than 20% -'lccpg20' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 84 ; - } -#Low Cloud Cover probability greater than 30% -'lccpg30' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 85 ; - } -#Low Cloud Cover probability greater than 40% -'lccpg40' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 86 ; - } -#Low Cloud Cover probability greater than 50% -'lccpg50' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 87 ; - } -#Low Cloud Cover probability greater than 60% -'lccpg60' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 88 ; - } -#Low Cloud Cover probability greater than 70% -'lccpg70' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 89 ; - } -#Low Cloud Cover probability greater than 80% -'lccpg80' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 90 ; - } -#Low Cloud Cover probability greater than 90% -'lccpg90' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 91 ; - } -#Low Cloud Cover probability greater than 99% -'lccpg99' = { - discipline = 192 ; - parameterCategory = 133 ; - parameterNumber = 92 ; - } -#Maximum of significant wave height -'maxswh' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 200 ; - } #2D wave spectra (multiple) 'd2sp' = { discipline = 192 ; parameterCategory = 140 ; parameterNumber = 250 ; } -#Indicates a missing value -'p255.140' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 255 ; - } -#Ocean potential temperature -'ocpt' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 129 ; - } -#Ocean salinity -'ocs' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 130 ; - } -#Ocean potential density -'ocpd' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 131 ; - } -#Ocean U wind component -'p133.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 133 ; - } -#Ocean V wind component -'p134.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 134 ; - } -#Ocean W wind component -'ocw' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 135 ; - } -#Richardson number -'rn' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 137 ; - } -#U*V product -'uv' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 139 ; - } -#U*T product -'ut' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 140 ; - } -#V*T product -'vt' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 141 ; - } -#U*U product -'uu' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 142 ; - } -#V*V product -'vv' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 143 ; - } -#UV - U~V~ -'p144.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 144 ; - } -#UT - U~T~ -'p145.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 145 ; - } -#VT - V~T~ -'p146.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 146 ; - } -#UU - U~U~ -'p147.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 147 ; - } -#VV - V~V~ -'p148.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 148 ; - } -#Sea level -'sl' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 152 ; - } -#Barotropic stream function -'p153.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 153 ; - } -#Mixed layer depth -'mld' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 154 ; - } -#Depth -'p155.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 155 ; - } -#U stress -'p168.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 168 ; - } -#V stress -'p169.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 169 ; - } -#Turbulent kinetic energy input -'p170.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 170 ; - } -#Net surface heat flux -'nsf' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 171 ; - } -#Surface solar radiation -'p172.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 172 ; - } -#P-E -'p173.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 173 ; - } -#Diagnosed sea surface temperature error -'p180.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 180 ; - } -#Heat flux correction -'p181.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 181 ; - } -#Observed sea surface temperature -'p182.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 182 ; - } -#Observed heat flux -'p183.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 183 ; - } -#Indicates a missing value -'p255.150' = { - discipline = 192 ; - parameterCategory = 150 ; - parameterNumber = 255 ; - } -#In situ Temperature -'p128.151' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 128 ; - } -#Modulus of strain rate tensor -'mst' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 134 ; - } -#Vertical viscosity -'vvs' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 135 ; - } -#Vertical diffusivity -'vdf' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 136 ; - } -#Bottom level Depth -'dep' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 137 ; - } -#Richardson number -'rn' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 139 ; - } -#UV product -'uv' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 140 ; - } -#UT product -'ut' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 141 ; - } -#VT product -'vt' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 142 ; - } -#UU product -'uu' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 143 ; - } -#VV product -'vv' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 144 ; - } -#Sea level previous timestep -'sl_1' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 146 ; - } -#Ocean barotropic stream function -'stfbarot' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 147 ; - } -#Mixed layer depth -'mld' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 148 ; - } -#Steric height -'sh' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 150 ; - } -#Curl of Wind Stress -'crl' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 151 ; - } -#Divergence of wind stress -'p152.151' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 152 ; - } -#Turbulent kinetic energy input -'tki' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 155 ; - } -#Net surface heat flux -'nsf' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 156 ; - } -#Absorbed solar radiation -'asr' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 157 ; - } -#Precipitation - evaporation -'pme' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 158 ; - } -#Specified sea surface temperature -'sst' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 159 ; - } -#Specified surface heat flux -'shf' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 160 ; - } -#Diagnosed sea surface temperature error -'dte' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 161 ; - } -#Heat flux correction -'hfc' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 162 ; - } -#Average potential temperature in the upper 300m -'tav300' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 164 ; - } -#Vertically integrated zonal velocity (previous time step) -'uba1' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 165 ; - } -#Vertically Integrated meridional velocity (previous time step) -'vba1' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 166 ; - } -#Vertically integrated zonal volume transport -'ztr' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 167 ; - } -#Vertically integrated meridional volume transport -'mtr' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 168 ; - } -#Vertically integrated zonal heat transport -'zht' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 169 ; - } -#Vertically integrated meridional heat transport -'mht' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 170 ; - } -#U velocity maximum -'umax' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 171 ; - } -#Depth of the velocity maximum -'dumax' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 172 ; - } -#Salinity maximum -'smax' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 173 ; - } -#Depth of salinity maximum -'dsmax' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 174 ; - } -#Layer Thickness at scalar points -'ldp' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 176 ; - } -#Layer Thickness at vector points -'ldu' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 177 ; - } -#Potential temperature increment -'pti' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 178 ; - } -#Potential temperature analysis error -'ptae' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 179 ; - } -#Background potential temperature -'bpt' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 180 ; - } -#Analysed potential temperature -'apt' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 181 ; - } -#Potential temperature background error -'ptbe' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 182 ; - } -#Analysed salinity -'as' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 183 ; - } -#Salinity increment -'sali' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 184 ; - } -#Estimated Bias in Temperature -'ebt' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 185 ; - } -#Estimated Bias in Salinity -'ebs' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 186 ; - } -#Zonal Velocity increment (from balance operator) -'uvi' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 187 ; - } -#Meridional Velocity increment (from balance operator) -'vvi' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 188 ; - } -#Salinity increment (from salinity data) -'subi' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 190 ; - } -#Salinity analysis error -'sale' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 191 ; - } -#Background Salinity -'bsal' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 192 ; - } -#Salinity background error -'salbe' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 194 ; - } -#Estimated temperature bias from assimilation -'ebta' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 199 ; - } -#Estimated salinity bias from assimilation -'ebsa' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 200 ; - } -#Temperature increment from relaxation term -'lti' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 201 ; - } -#Salinity increment from relaxation term -'lsi' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 202 ; - } -#Bias in the zonal pressure gradient (applied) -'bzpga' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 203 ; - } -#Bias in the meridional pressure gradient (applied) -'bmpga' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 204 ; - } -#Estimated temperature bias from relaxation -'ebtl' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 205 ; - } -#Estimated salinity bias from relaxation -'ebsl' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 206 ; - } -#First guess bias in temperature -'fgbt' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 207 ; - } -#First guess bias in salinity -'fgbs' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 208 ; - } -#Applied bias in pressure -'bpa' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 209 ; - } -#FG bias in pressure -'fgbp' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 210 ; - } -#Bias in temperature(applied) -'pta' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 211 ; - } -#Bias in salinity (applied) -'psa' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 212 ; - } -#Indicates a missing value -'p255.151' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 255 ; - } #10 metre wind gust during averaging time 'fgrea10' = { discipline = 192 ; parameterCategory = 160 ; parameterNumber = 49 ; } -#vertical velocity (pressure) -'wrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 135 ; - } -#Precipitable water content -'pwcrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 137 ; - } -#Soil wetness level 1 -'swl1rea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 140 ; - } -#Large-scale precipitation -'lsprea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 142 ; - } -#Convective precipitation -'cprea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 143 ; - } -#Snowfall -'sfrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 144 ; - } -#Height -'ghrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 156 ; - } -#Relative humidity -'rrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 157 ; - } -#Soil wetness level 2 -'swl2rea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 171 ; - } -#East-West surface stress -'ewssrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 180 ; - } -#North-South surface stress -'nsssrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 181 ; - } -#Evaporation -'erea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 182 ; - } -#Soil wetness level 3 -'swl3rea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 184 ; - } -#Percentage of vegetation -'vegrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 199 ; - } -#Maximum temperature at 2 metres during averaging time -'mx2trea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 201 ; - } -#Minimum temperature at 2 metres during averaging time -'mn2trea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 202 ; - } -#Runoff -'rorea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 205 ; - } -#Standard deviation of geopotential -'zzrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 206 ; - } -#Covariance of temperature and geopotential -'tzrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 207 ; - } -#Standard deviation of temperature -'ttrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 208 ; - } -#Covariance of specific humidity and geopotential -'qzrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 209 ; - } -#Covariance of specific humidity and temperature -'qtrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 210 ; - } -#Standard deviation of specific humidity -'qqrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 211 ; - } -#Covariance of U component and geopotential -'uzrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 212 ; - } -#Covariance of U component and temperature -'utrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 213 ; - } -#Covariance of U component and specific humidity -'uqrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 214 ; - } -#Standard deviation of U velocity -'uurea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 215 ; - } -#Covariance of V component and geopotential -'vzrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 216 ; - } -#Covariance of V component and temperature -'vtrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 217 ; - } -#Covariance of V component and specific humidity -'vqrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 218 ; - } -#Covariance of V component and U component -'vurea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 219 ; - } -#Standard deviation of V component -'vvrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 220 ; - } -#Covariance of W component and geopotential -'wzrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 221 ; - } -#Covariance of W component and temperature -'wtrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 222 ; - } -#Covariance of W component and specific humidity -'wqrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 223 ; - } -#Covariance of W component and U component -'wurea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 224 ; - } -#Covariance of W component and V component -'wvrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 225 ; - } -#Standard deviation of vertical velocity -'wwrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 226 ; - } -#Instantaneous surface heat flux -'ishfrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 231 ; - } -#Convective snowfall -'csfrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 239 ; - } -#Large scale snowfall -'lsfrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 240 ; - } -#Cloud liquid water content -'clwcerrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 241 ; - } -#Cloud cover -'ccrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 242 ; - } -#Forecast albedo -'falrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 243 ; - } #10 metre wind speed 'wsrea10' = { discipline = 192 ; parameterCategory = 160 ; parameterNumber = 246 ; } -#Momentum flux -'moflrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 247 ; - } -#Gravity wave dissipation flux -'p249.160' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 249 ; - } -#Heaviside beta function -'hsdrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 254 ; - } -#Covariance of v component/geopotential -'p216.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 216 ; - } -#Covariance of v component/temperature -'p217.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 217 ; - } -#Covariance of v component/specific humidity -'p218.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 218 ; - } -#Covariance of v component/u component -'p219.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 219 ; - } -#Variance of v component -'p220.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 220 ; - } -#Covariance of omega/geopotential -'p221.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 221 ; - } -#Covariance of omega/temperature -'p222.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 222 ; - } -#Covariance of omega/specific humidity -'p223.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 223 ; - } -#Covariance of omega/u component -'p224.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 224 ; - } -#Covariance of omega/v component -'p225.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 225 ; - } -#Variance of omega -'p226.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 226 ; - } -#Variance of surface pressure -'p227.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 227 ; - } -#Variance of relative humidity -'p229.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 229 ; - } -#Covariance of u component/ozone -'p230.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 230 ; - } -#Covariance of v component/ozone -'p231.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 231 ; - } -#Covariance of omega/ozone -'p232.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 232 ; - } -#Variance of ozone -'p233.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 233 ; - } -#Indicates a missing value -'p255.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 255 ; - } -#Total soil moisture -'tsw' = { - discipline = 192 ; - parameterCategory = 170 ; - parameterNumber = 149 ; - } -#Soil wetness level 2 -'swl2' = { - discipline = 192 ; - parameterCategory = 170 ; - parameterNumber = 171 ; - } -#Top net thermal radiation -'ttr' = { - discipline = 192 ; - parameterCategory = 170 ; - parameterNumber = 179 ; - } -#Stream function anomaly -'strfa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 1 ; - } -#Velocity potential anomaly -'vpota' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 2 ; - } -#Potential temperature anomaly -'pta' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 3 ; - } -#Equivalent potential temperature anomaly -'epta' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 4 ; - } -#Saturated equivalent potential temperature anomaly -'septa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 5 ; - } -#U component of divergent wind anomaly -'udwa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 11 ; - } -#V component of divergent wind anomaly -'vdwa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 12 ; - } -#U component of rotational wind anomaly -'urwa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 13 ; - } -#V component of rotational wind anomaly -'vrwa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 14 ; - } -#Unbalanced component of temperature anomaly -'uctpa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 21 ; - } -#Unbalanced component of logarithm of surface pressure anomaly -'uclna' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 22 ; - } -#Unbalanced component of divergence anomaly -'ucdva' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 23 ; - } -#Lake cover anomaly -'cla' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 26 ; - } -#Low vegetation cover anomaly -'cvla' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 27 ; - } -#High vegetation cover anomaly -'cvha' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 28 ; - } -#Type of low vegetation anomaly -'tvla' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 29 ; - } -#Type of high vegetation anomaly -'tvha' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 30 ; - } -#Sea-ice cover anomaly -'sica' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 31 ; - } -#Snow albedo anomaly -'asna' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 32 ; - } -#Snow density anomaly -'rsna' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 33 ; - } -#Sea surface temperature anomaly -'ssta' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 34 ; - } -#Ice surface temperature anomaly layer 1 -'istal1' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 35 ; - } -#Ice surface temperature anomaly layer 2 -'istal2' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 36 ; - } -#Ice surface temperature anomaly layer 3 -'istal3' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 37 ; - } -#Ice surface temperature anomaly layer 4 -'istal4' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 38 ; - } -#Volumetric soil water anomaly layer 1 -'swval1' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 39 ; - } -#Volumetric soil water anomaly layer 2 -'swval2' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 40 ; - } -#Volumetric soil water anomaly layer 3 -'swval3' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 41 ; - } -#Volumetric soil water anomaly layer 4 -'swval4' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 42 ; - } -#Soil type anomaly -'slta' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 43 ; - } -#Snow evaporation anomaly -'esa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 44 ; - } -#Snowmelt anomaly -'smlta' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 45 ; - } -#Solar duration anomaly -'sdura' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 46 ; - } -#Direct solar radiation anomaly -'dsrpa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 47 ; - } -#Magnitude of turbulent surface stress anomaly -'magssa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 48 ; - } #10 metre wind gust anomaly 'fga10' = { discipline = 192 ; parameterCategory = 171 ; parameterNumber = 49 ; } -#Large-scale precipitation fraction anomaly -'lspfa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 50 ; - } -#Maximum 2 metre temperature in the last 24 hours anomaly -'mx2t24a' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 51 ; - } -#Minimum 2 metre temperature in the last 24 hours anomaly -'mn2t24a' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 52 ; - } -#Montgomery potential anomaly -'monta' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 53 ; - } -#Pressure anomaly -'pa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 54 ; - } -#Mean 2 metre temperature in the last 24 hours anomaly -'mean2t24a' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 55 ; - } -#Mean 2 metre dewpoint temperature in the last 24 hours anomaly -'mn2d24a' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 56 ; - } -#Downward UV radiation at the surface anomaly -'uvba' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 57 ; - } -#Photosynthetically active radiation at the surface anomaly -'para' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 58 ; - } -#Convective available potential energy anomaly -'capea' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 59 ; - } -#Potential vorticity anomaly -'pva' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 60 ; - } -#Total precipitation from observations anomaly -'tpoa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 61 ; - } -#Observation count anomaly -'obcta' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 62 ; - } -#Start time for skin temperature difference anomaly -'stsktda' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 63 ; - } -#Finish time for skin temperature difference anomaly -'ftsktda' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 64 ; - } -#Skin temperature difference anomaly -'sktda' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 65 ; - } -#Total column liquid water anomaly -'tclwa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 78 ; - } -#Total column ice water anomaly -'tciwa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 79 ; - } -#Vertically integrated total energy anomaly -'vitea' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 125 ; - } -#Generic parameter for sensitive area prediction -'p126.171' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 126 ; - } -#Atmospheric tide anomaly -'ata' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 127 ; - } -#Budget values anomaly -'bva' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 128 ; - } -#Geopotential anomaly -'za' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 129 ; - } -#Temperature anomaly -'ta' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 130 ; - } -#U component of wind anomaly -'ua' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 131 ; - } -#V component of wind anomaly -'va' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 132 ; - } -#Specific humidity anomaly -'qa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 133 ; - } -#Surface pressure anomaly -'spa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 134 ; - } -#Vertical velocity (pressure) anomaly -'wa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 135 ; - } -#Total column water anomaly -'tcwa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 136 ; - } -#Total column water vapour anomaly -'tcwva' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 137 ; - } -#Relative vorticity anomaly -'voa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 138 ; - } -#Soil temperature anomaly level 1 -'stal1' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 139 ; - } -#Soil wetness anomaly level 1 -'swal1' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 140 ; - } -#Snow depth anomaly -'sda' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 141 ; - } -#Stratiform precipitation (Large-scale precipitation) anomaly -'lspa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 142 ; - } -#Convective precipitation anomaly -'cpa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 143 ; - } -#Snowfall (convective + stratiform) anomaly -'sfa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 144 ; - } -#Boundary layer dissipation anomaly -'blda' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 145 ; - } -#Surface sensible heat flux anomaly -'sshfa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 146 ; - } -#Surface latent heat flux anomaly -'slhfa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 147 ; - } -#Charnock anomaly -'chnka' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 148 ; - } -#Surface net radiation anomaly -'snra' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 149 ; - } -#Top net radiation anomaly -'tnra' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 150 ; - } -#Mean sea level pressure anomaly -'msla' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 151 ; - } -#Logarithm of surface pressure anomaly -'lspa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 152 ; - } -#Short-wave heating rate anomaly -'swhra' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 153 ; - } -#Long-wave heating rate anomaly -'lwhra' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 154 ; - } -#Relative divergence anomaly -'da' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 155 ; - } -#Height anomaly -'gha' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 156 ; - } -#Relative humidity anomaly -'ra' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 157 ; - } -#Tendency of surface pressure anomaly -'tspa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 158 ; - } -#Boundary layer height anomaly -'blha' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 159 ; - } -#Standard deviation of orography anomaly -'sdora' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 160 ; - } -#Anisotropy of sub-gridscale orography anomaly -'isora' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 161 ; - } -#Angle of sub-gridscale orography anomaly -'anora' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 162 ; - } -#Slope of sub-gridscale orography anomaly -'slora' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 163 ; - } -#Total cloud cover anomaly -'tcca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 164 ; - } #10 metre U wind component anomaly 'ua10' = { discipline = 192 ; @@ -18266,3489 +337,21 @@ parameterCategory = 171 ; parameterNumber = 168 ; } -#Surface solar radiation downwards anomaly -'ssrda' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 169 ; - } -#Soil temperature anomaly level 2 -'stal2' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 170 ; - } -#Soil wetness anomaly level 2 -'swal2' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 171 ; - } -#Surface roughness anomaly -'sra' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 173 ; - } -#Albedo anomaly -'ala' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 174 ; - } -#Surface thermal radiation downwards anomaly -'strda' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 175 ; - } -#Surface net solar radiation anomaly -'ssra' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 176 ; - } -#Surface net thermal radiation anomaly -'stra' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 177 ; - } -#Top net solar radiation anomaly -'tsra' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 178 ; - } -#Top net thermal radiation anomaly -'ttra' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 179 ; - } -#East-West surface stress anomaly -'eqssa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 180 ; - } -#North-South surface stress anomaly -'nsssa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 181 ; - } -#Evaporation anomaly -'ea' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 182 ; - } -#Soil temperature anomaly level 3 -'stal3' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 183 ; - } -#Soil wetness anomaly level 3 -'swal3' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 184 ; - } -#Convective cloud cover anomaly -'ccca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 185 ; - } -#Low cloud cover anomaly -'lcca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 186 ; - } -#Medium cloud cover anomaly -'mcca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 187 ; - } -#High cloud cover anomaly -'hcca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 188 ; - } -#Sunshine duration anomaly -'sunda' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 189 ; - } -#East-West component of sub-gridscale orographic variance anomaly -'ewova' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 190 ; - } -#North-South component of sub-gridscale orographic variance anomaly -'nsova' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 191 ; - } -#North-West/South-East component of sub-gridscale orographic variance anomaly -'nwova' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 192 ; - } -#North-East/South-West component of sub-gridscale orographic variance anomaly -'neova' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 193 ; - } -#Brightness temperature anomaly -'btmpa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 194 ; - } -#Longitudinal component of gravity wave stress anomaly -'lgwsa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 195 ; - } -#Meridional component of gravity wave stress anomaly -'mgwsa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 196 ; - } -#Gravity wave dissipation anomaly -'gwda' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 197 ; - } -#Skin reservoir content anomaly -'srca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 198 ; - } -#Vegetation fraction anomaly -'vfa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 199 ; - } -#Variance of sub-gridscale orography anomaly -'vsoa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 200 ; - } -#Maximum temperature at 2 metres anomaly -'mx2ta' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 201 ; - } -#Minimum temperature at 2 metres anomaly -'mn2ta' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 202 ; - } -#Ozone mass mixing ratio anomaly -'o3a' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 203 ; - } -#Precipitation analysis weights anomaly -'pawa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 204 ; - } -#Runoff anomaly -'roa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 205 ; - } -#Total column ozone anomaly -'tco3a' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 206 ; - } #10 metre wind speed anomaly 'sia10' = { discipline = 192 ; parameterCategory = 171 ; parameterNumber = 207 ; } -#Top net solar radiation clear sky anomaly -'tsrca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 208 ; - } -#Top net thermal radiation clear sky anomaly -'ttrca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 209 ; - } -#Surface net solar radiation clear sky anomaly -'ssrca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 210 ; - } -#Surface net thermal radiation, clear sky anomaly -'strca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 211 ; - } -#Solar insolation anomaly -'sia' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 212 ; - } -#Diabatic heating by radiation anomaly -'dhra' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 214 ; - } -#Diabatic heating by vertical diffusion anomaly -'dhvda' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 215 ; - } -#Diabatic heating by cumulus convection anomaly -'dhcca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 216 ; - } -#Diabatic heating by large-scale condensation anomaly -'dhlca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 217 ; - } -#Vertical diffusion of zonal wind anomaly -'vdzwa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 218 ; - } -#Vertical diffusion of meridional wind anomaly -'vdmwa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 219 ; - } -#East-West gravity wave drag tendency anomaly -'ewgda' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 220 ; - } -#North-South gravity wave drag tendency anomaly -'nsgda' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 221 ; - } -#Convective tendency of zonal wind anomaly -'ctzwa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 222 ; - } -#Convective tendency of meridional wind anomaly -'ctmwa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 223 ; - } -#Vertical diffusion of humidity anomaly -'vdha' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 224 ; - } -#Humidity tendency by cumulus convection anomaly -'htcca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 225 ; - } -#Humidity tendency by large-scale condensation anomaly -'htlca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 226 ; - } -#Change from removal of negative humidity anomaly -'crnha' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 227 ; - } -#Total precipitation anomaly -'tpa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 228 ; - } -#Instantaneous X surface stress anomaly -'iewsa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 229 ; - } -#Instantaneous Y surface stress anomaly -'inssa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 230 ; - } -#Instantaneous surface heat flux anomaly -'ishfa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 231 ; - } -#Instantaneous moisture flux anomaly -'iea' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 232 ; - } -#Apparent surface humidity anomaly -'asqa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 233 ; - } -#Logarithm of surface roughness length for heat anomaly -'lsrha' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 234 ; - } -#Skin temperature anomaly -'skta' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 235 ; - } -#Soil temperature level 4 anomaly -'stal4' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 236 ; - } -#Soil wetness level 4 anomaly -'swal4' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 237 ; - } -#Temperature of snow layer anomaly -'tsna' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 238 ; - } -#Convective snowfall anomaly -'csfa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 239 ; - } -#Large scale snowfall anomaly -'lsfa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 240 ; - } -#Accumulated cloud fraction tendency anomaly -'acfa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 241 ; - } -#Accumulated liquid water tendency anomaly -'alwa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 242 ; - } -#Forecast albedo anomaly -'fala' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 243 ; - } -#Forecast surface roughness anomaly -'fsra' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 244 ; - } -#Forecast logarithm of surface roughness for heat anomaly -'flsra' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 245 ; - } -#Cloud liquid water content anomaly -'clwca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 246 ; - } -#Cloud ice water content anomaly -'ciwca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 247 ; - } -#Cloud cover anomaly -'cca' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 248 ; - } -#Accumulated ice water tendency anomaly -'aiwa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 249 ; - } -#Ice age anomaly -'iaa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 250 ; - } -#Adiabatic tendency of temperature anomaly -'attea' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 251 ; - } -#Adiabatic tendency of humidity anomaly -'athea' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 252 ; - } -#Adiabatic tendency of zonal wind anomaly -'atzea' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 253 ; - } -#Adiabatic tendency of meridional wind anomaly -'atmwa' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 254 ; - } -#Indicates a missing value -'p255.171' = { - discipline = 192 ; - parameterCategory = 171 ; - parameterNumber = 255 ; - } -#Snow evaporation -'esrate' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 44 ; - } -#Snowmelt -'p45.172' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 45 ; - } -#Magnitude of turbulent surface stress -'p48.172' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 48 ; - } -#Mean large-scale precipitation fraction -'mlspfr' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 50 ; - } -#Mean large-scale precipitation rate -'mlsprt' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 196 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean convective precipitation rate -'cprate' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 195 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean total snowfall rate -'mtsfr' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 198 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Boundary layer dissipation -'bldrate' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 145 ; - } -#Mean short-wave heating rate -'mswhr' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 153 ; - } -#Mean long-wave heating rate -'mlwhr' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 154 ; - } -#Evaporation -'erate' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 199 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean sunshine duration rate -'msdr' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 189 ; - } -#Longitudinal component of gravity wave stress -'p195.172' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 195 ; - } -#Meridional component of gravity wave stress -'p196.172' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 196 ; - } -#Gravity wave dissipation -'gwdrate' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 197 ; - } -#Mean runoff rate -'mrort' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 201 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean total precipitation rate -'tprate' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 193 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Convective snowfall -'p239.172' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 239 ; - } -#Large scale snowfall -'p240.172' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 240 ; - } -#Indicates a missing value -'p255.172' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 255 ; - } -#Snow evaporation anomaly -'p44.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 44 ; - } -#Snowmelt anomaly -'p45.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 45 ; - } -#Magnitude of turbulent surface stress anomaly -'p48.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 48 ; - } -#Large-scale precipitation fraction anomaly -'p50.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 50 ; - } -#Stratiform precipitation (Large-scale precipitation) anomalous rate of accumulation -'lspara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 142 ; - } -#Mean convective precipitation rate anomaly -'mcpra' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 143 ; - } -#Snowfall (convective + stratiform) anomalous rate of accumulation -'sfara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 144 ; - } -#Boundary layer dissipation anomaly -'p145.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 145 ; - } -#Surface sensible heat flux anomalous rate of accumulation -'sshfara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 146 ; - } -#Surface latent heat flux anomalous rate of accumulation -'slhfara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 147 ; - } -#Surface net radiation anomaly -'p149.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 149 ; - } -#Short-wave heating rate anomaly -'p153.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 153 ; - } -#Long-wave heating rate anomaly -'p154.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 154 ; - } -#Surface solar radiation downwards anomalous rate of accumulation -'ssrdara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 169 ; - } -#Surface thermal radiation downwards anomalous rate of accumulation -'strdara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 175 ; - } -#Surface solar radiation anomalous rate of accumulation -'ssrara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 176 ; - } -#Surface thermal radiation anomalous rate of accumulation -'strara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 177 ; - } -#Top solar radiation anomalous rate of accumulation -'tsrara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 178 ; - } -#Top thermal radiation anomalous rate of accumulation -'ttrara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 179 ; - } -#East-West surface stress anomalous rate of accumulation -'ewssara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 180 ; - } -#North-South surface stress anomalous rate of accumulation -'nsssara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 181 ; - } -#Evaporation anomalous rate of accumulation -'evara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 182 ; - } -#Sunshine duration anomalous rate of accumulation -'sundara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 189 ; - } -#Longitudinal component of gravity wave stress anomaly -'p195.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 195 ; - } -#Meridional component of gravity wave stress anomaly -'p196.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 196 ; - } -#Gravity wave dissipation anomaly -'p197.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 197 ; - } -#Runoff anomalous rate of accumulation -'roara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 205 ; - } -#Top net solar radiation, clear sky anomaly -'p208.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 208 ; - } -#Top net thermal radiation, clear sky anomaly -'p209.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 209 ; - } -#Surface net solar radiation, clear sky anomaly -'p210.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 210 ; - } -#Surface net thermal radiation, clear sky anomaly -'p211.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 211 ; - } -#Solar insolation anomalous rate of accumulation -'soiara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 212 ; - } -#Total precipitation anomalous rate of accumulation -'tpara' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 228 ; - } -#Convective snowfall anomaly -'p239.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 239 ; - } -#Large scale snowfall anomaly -'p240.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 240 ; - } -#Indicates a missing value -'p255.173' = { - discipline = 192 ; - parameterCategory = 173 ; - parameterNumber = 255 ; - } -#Total soil moisture -'p6.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 6 ; - } -#Fraction of sea-ice in sea -'p31.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 31 ; - } -#Open-sea surface temperature -'p34.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 34 ; - } -#Volumetric soil water layer 1 -'p39.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 39 ; - } -#Volumetric soil water layer 2 -'p40.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 40 ; - } -#Volumetric soil water layer 3 -'p41.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 41 ; - } -#Volumetric soil water layer 4 -'p42.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 42 ; - } -#10 metre wind gust in the last 24 hours -'p49.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 49 ; - } -#1.5m temperature - mean in the last 24 hours -'p55.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 55 ; - } -#Net primary productivity -'p83.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 83 ; - } -#10m U wind over land -'p85.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 85 ; - } -#10m V wind over land -'p86.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 86 ; - } -#1.5m temperature over land -'p87.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 87 ; - } -#1.5m dewpoint temperature over land -'p88.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 88 ; - } -#Top incoming solar radiation -'p89.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 89 ; - } -#Top outgoing solar radiation -'p90.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 90 ; - } -#Mean sea surface temperature -'p94.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 94 ; - } -#1.5m specific humidity -'p95.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 95 ; - } -#Liquid water potential temperature -'p99.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 99 ; - } -#Ocean ice concentration -'p110.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 110 ; - } -#Ocean mean ice depth -'p111.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 111 ; - } -#Soil temperature layer 1 -'p139.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 139 ; - } -#Average potential temperature in upper 293.4m -'p164.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 164 ; - } -#1.5m temperature -'p167.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 167 ; - } -#1.5m dewpoint temperature -'p168.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 168 ; - } -#Soil temperature layer 2 -'p170.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 170 ; - } -#Average salinity in upper 293.4m -'p175.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 175 ; - } -#Soil temperature layer 3 -'p183.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 183 ; - } -#1.5m temperature - maximum in the last 24 hours -'p201.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 201 ; - } -#1.5m temperature - minimum in the last 24 hours -'p202.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 202 ; - } -#Soil temperature layer 4 -'p236.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 236 ; - } -#Indicates a missing value -'p255.174' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 255 ; - } -#Total soil moisture -'p6.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 6 ; - } -#Fraction of sea-ice in sea -'p31.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 31 ; - } -#Open-sea surface temperature -'p34.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 34 ; - } -#Volumetric soil water layer 1 -'p39.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 39 ; - } -#Volumetric soil water layer 2 -'p40.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 40 ; - } -#Volumetric soil water layer 3 -'p41.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 41 ; - } -#Volumetric soil water layer 4 -'p42.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 42 ; - } -#10m wind gust in the last 24 hours -'p49.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 49 ; - } -#1.5m temperature - mean in the last 24 hours -'p55.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 55 ; - } -#Net primary productivity -'p83.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 83 ; - } -#10m U wind over land -'p85.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 85 ; - } -#10m V wind over land -'p86.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 86 ; - } -#1.5m temperature over land -'p87.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 87 ; - } -#1.5m dewpoint temperature over land -'p88.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 88 ; - } -#Top incoming solar radiation -'p89.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 89 ; - } -#Top outgoing solar radiation -'p90.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 90 ; - } -#Ocean ice concentration -'p110.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 110 ; - } -#Ocean mean ice depth -'p111.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 111 ; - } -#Soil temperature layer 1 -'p139.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 139 ; - } -#Average potential temperature in upper 293.4m -'p164.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 164 ; - } -#1.5m temperature -'p167.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 167 ; - } -#1.5m dewpoint temperature -'p168.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 168 ; - } -#Soil temperature layer 2 -'p170.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 170 ; - } -#Average salinity in upper 293.4m -'p175.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 175 ; - } -#Soil temperature layer 3 -'p183.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 183 ; - } -#1.5m temperature - maximum in the last 24 hours -'p201.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 201 ; - } -#1.5m temperature - minimum in the last 24 hours -'p202.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 202 ; - } -#Soil temperature layer 4 -'p236.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 236 ; - } -#Indicates a missing value -'p255.175' = { - discipline = 192 ; - parameterCategory = 175 ; - parameterNumber = 255 ; - } -#Total soil wetness -'tsw' = { - discipline = 192 ; - parameterCategory = 180 ; - parameterNumber = 149 ; - } -#Surface net solar radiation -'ssr' = { - discipline = 192 ; - parameterCategory = 180 ; - parameterNumber = 176 ; - } -#Surface net thermal radiation -'str' = { - discipline = 192 ; - parameterCategory = 180 ; - parameterNumber = 177 ; - } -#Top net solar radiation -'tsr' = { - discipline = 192 ; - parameterCategory = 180 ; - parameterNumber = 178 ; - } -#Top net thermal radiation -'ttr' = { - discipline = 192 ; - parameterCategory = 180 ; - parameterNumber = 179 ; - } -#Field capacity -'cap' = { - discipline = 192 ; - parameterCategory = 190 ; - parameterNumber = 170 ; - } -#Wilting point -'wiltsien' = { - discipline = 192 ; - parameterCategory = 190 ; - parameterNumber = 171 ; - } -#Roughness length -'sr' = { - discipline = 192 ; - parameterCategory = 190 ; - parameterNumber = 173 ; - } -#Total soil moisture -'tsm' = { - discipline = 192 ; - parameterCategory = 190 ; - parameterNumber = 229 ; - } #2 metre dewpoint temperature difference 'ddiff2' = { discipline = 192 ; parameterCategory = 200 ; parameterNumber = 168 ; } -#downward shortwave radiant flux density -'p1.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 1 ; - } -#upward shortwave radiant flux density -'p2.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 2 ; - } -#downward longwave radiant flux density -'p3.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 3 ; - } -#upward longwave radiant flux density -'p4.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 4 ; - } -#downwd photosynthetic active radiant flux density -'apab_s' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 5 ; - } -#net shortwave flux -'p6.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 6 ; - } -#net longwave flux -'p7.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 7 ; - } -#total net radiative flux density -'p8.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 8 ; - } -#downw shortw radiant flux density, cloudfree part -'p9.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 9 ; - } -#upw shortw radiant flux density, cloudy part -'p10.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 10 ; - } -#downw longw radiant flux density, cloudfree part -'p11.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 11 ; - } -#upw longw radiant flux density, cloudy part -'p12.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 12 ; - } -#shortwave radiative heating rate -'sohr_rad' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 13 ; - } -#longwave radiative heating rate -'thhr_rad' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 14 ; - } -#total radiative heating rate -'p15.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 15 ; - } -#soil heat flux, surface -'p16.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 16 ; - } -#soil heat flux, bottom of layer -'p17.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 17 ; - } -#fractional cloud cover -'clc' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 29 ; - } -#cloud cover, grid scale -'p30.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 30 ; - } -#specific cloud water content -'qc' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 31 ; - } -#cloud water content, grid scale, vert integrated -'p32.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 32 ; - } -#specific cloud ice content, grid scale -'qi' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 33 ; - } -#cloud ice content, grid scale, vert integrated -'p34.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 34 ; - } -#specific rainwater content, grid scale -'p35.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 35 ; - } -#specific snow content, grid scale -'p36.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 36 ; - } -#specific rainwater content, gs, vert. integrated -'p37.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 37 ; - } -#specific snow content, gs, vert. integrated -'p38.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 38 ; - } -#total column water -'twater' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 41 ; - } -#vert. integral of divergence of tot. water content -'p42.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 42 ; - } -#cloud covers CH_CM_CL (000...888) -'ch_cm_cl' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 50 ; - } -#cloud cover CH (0..8) -'p51.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 51 ; - } -#cloud cover CM (0..8) -'p52.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 52 ; - } -#cloud cover CL (0..8) -'p53.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 53 ; - } -#total cloud cover (0..8) -'p54.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 54 ; - } -#fog (0..8) -'p55.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 55 ; - } -#fog -'p56.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 56 ; - } -#cloud cover, convective cirrus -'p60.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 60 ; - } -#specific cloud water content, convective clouds -'p61.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 61 ; - } -#cloud water content, conv clouds, vert integrated -'p62.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 62 ; - } -#specific cloud ice content, convective clouds -'p63.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 63 ; - } -#cloud ice content, conv clouds, vert integrated -'p64.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 64 ; - } -#convective mass flux -'p65.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 65 ; - } -#Updraft velocity, convection -'p66.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 66 ; - } -#entrainment parameter, convection -'p67.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 67 ; - } -#cloud base, convective clouds (above msl) -'hbas_con' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 68 ; - } -#cloud top, convective clouds (above msl) -'htop_con' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 69 ; - } -#convective layers (00...77) (BKE) -'p70.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 70 ; - } -#KO-index -'p71.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 71 ; - } -#convection base index -'bas_con' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 72 ; - } -#convection top index -'top_con' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 73 ; - } -#convective temperature tendency -'dt_con' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 74 ; - } -#convective tendency of specific humidity -'dqv_con' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 75 ; - } -#convective tendency of total heat -'p76.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 76 ; - } -#convective tendency of total water -'p77.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 77 ; - } -#convective momentum tendency (X-component) -'du_con' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 78 ; - } -#convective momentum tendency (Y-component) -'dv_con' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 79 ; - } -#convective vorticity tendency -'p80.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 80 ; - } -#convective divergence tendency -'p81.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 81 ; - } -#top of dry convection (above msl) -'htop_dc' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 82 ; - } -#dry convection top index -'p83.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 83 ; - } -#height of 0 degree Celsius isotherm above msl -'hzerocl' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 84 ; - } -#height of snow-fall limit -'snowlmt' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 85 ; - } -#spec. content of precip. particles -'qrs_gsp' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 99 ; - } -#surface precipitation rate, rain, grid scale -'prr_gsp' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 100 ; - } -#surface precipitation rate, snow, grid scale -'prs_gsp' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 101 ; - } -#surface precipitation amount, rain, grid scale -'rain_gsp' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 102 ; - } -#surface precipitation rate, rain, convective -'prr_con' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 111 ; - } -#surface precipitation rate, snow, convective -'prs_con' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 112 ; - } -#surface precipitation amount, rain, convective -'rain_con' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 113 ; - } -#deviation of pressure from reference value -'pp' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 139 ; - } -#coefficient of horizontal diffusion -'p150.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 150 ; - } -#Maximum wind velocity -'vmax_10m' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 187 ; - } -#water content of interception store -'w_i' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 200 ; - } -#snow temperature -'t_snow' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 203 ; - } -#ice surface temperature -'t_ice' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 215 ; - } -#convective available potential energy -'cape_con' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 241 ; - } -#Indicates a missing value -'p255.201' = { - discipline = 192 ; - parameterCategory = 201 ; - parameterNumber = 255 ; - } -#Sea Salt Aerosol (0.03 - 0.5 um) Mixing Ratio -'aermr01' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 1 ; - } -#Sea Salt Aerosol (0.5 - 5 um) Mixing Ratio -'aermr02' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 2 ; - } -#Sea Salt Aerosol (5 - 20 um) Mixing Ratio -'aermr03' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 3 ; - } -#Dust Aerosol (0.03 - 0.55 um) Mixing Ratio -'aermr04' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 4 ; - } -#Dust Aerosol (0.55 - 0.9 um) Mixing Ratio -'aermr05' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 5 ; - } -#Dust Aerosol (0.9 - 20 um) Mixing Ratio -'aermr06' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 6 ; - } -#Hydrophilic Organic Matter Aerosol Mixing Ratio -'aermr07' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 7 ; - } -#Hydrophobic Organic Matter Aerosol Mixing Ratio -'aermr08' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 8 ; - } -#Hydrophilic Black Carbon Aerosol Mixing Ratio -'aermr09' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 9 ; - } -#Hydrophobic Black Carbon Aerosol Mixing Ratio -'aermr10' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 10 ; - } -#Sulphate Aerosol Mixing Ratio -'aermr11' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 11 ; - } -#SO2 precursor mixing ratio -'aermr12' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 12 ; - } -#Aerosol type 1 source/gain accumulated -'aergn01' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 16 ; - } -#Aerosol type 2 source/gain accumulated -'aergn02' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 17 ; - } -#Aerosol type 3 source/gain accumulated -'aergn03' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 18 ; - } -#Aerosol type 4 source/gain accumulated -'aergn04' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 19 ; - } -#Aerosol type 5 source/gain accumulated -'aergn05' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 20 ; - } -#Aerosol type 6 source/gain accumulated -'aergn06' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 21 ; - } -#Aerosol type 7 source/gain accumulated -'aergn07' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 22 ; - } -#Aerosol type 8 source/gain accumulated -'aergn08' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 23 ; - } -#Aerosol type 9 source/gain accumulated -'aergn09' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 24 ; - } -#Aerosol type 10 source/gain accumulated -'aergn10' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 25 ; - } -#Aerosol type 11 source/gain accumulated -'aergn11' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 26 ; - } -#Aerosol type 12 source/gain accumulated -'aergn12' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 27 ; - } -#Aerosol type 1 sink/loss accumulated -'aerls01' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 31 ; - } -#Aerosol type 2 sink/loss accumulated -'aerls02' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 32 ; - } -#Aerosol type 3 sink/loss accumulated -'aerls03' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 33 ; - } -#Aerosol type 4 sink/loss accumulated -'aerls04' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 34 ; - } -#Aerosol type 5 sink/loss accumulated -'aerls05' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 35 ; - } -#Aerosol type 6 sink/loss accumulated -'aerls06' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 36 ; - } -#Aerosol type 7 sink/loss accumulated -'aerls07' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 37 ; - } -#Aerosol type 8 sink/loss accumulated -'aerls08' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 38 ; - } -#Aerosol type 9 sink/loss accumulated -'aerls09' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 39 ; - } -#Aerosol type 10 sink/loss accumulated -'aerls10' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 40 ; - } -#Aerosol type 11 sink/loss accumulated -'aerls11' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 41 ; - } -#Aerosol type 12 sink/loss accumulated -'aerls12' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 42 ; - } -#Aerosol precursor mixing ratio -'aerpr' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 46 ; - } -#Aerosol small mode mixing ratio -'aersm' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 47 ; - } -#Aerosol large mode mixing ratio -'aerlg' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 48 ; - } -#Aerosol precursor optical depth -'aodpr' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 49 ; - } -#Aerosol small mode optical depth -'aodsm' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 50 ; - } -#Aerosol large mode optical depth -'aodlg' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 51 ; - } -#Dust emission potential -'aerdep' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 52 ; - } -#Lifting threshold speed -'aerlts' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 53 ; - } -#Soil clay content -'aerscc' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 54 ; - } -#Carbon dioxide mass mixing ratio -'co2' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 61 ; - } -#Methane -'ch4' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 62 ; - } -#Nitrous oxide -'n2o' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 63 ; - } -#CO2 column-mean molar fraction -'tcco2' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 64 ; - } -#CH4 column-mean molar fraction -'tcch4' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 65 ; - } -#Total column Nitrous oxide -'tcn2o' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 66 ; - } -#Ocean flux of Carbon Dioxide -'co2of' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 67 ; - } -#Natural biosphere flux of Carbon Dioxide -'co2nbf' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 68 ; - } -#Anthropogenic emissions of Carbon Dioxide -'co2apf' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 69 ; - } -#Methane Surface Fluxes -'ch4f' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 70 ; - } -#Methane loss rate due to radical hydroxyl (OH) -'kch4' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 71 ; - } -#Wildfire flux of Carbon Dioxide -'co2fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 80 ; - } -#Wildfire flux of Carbon Monoxide -'cofire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 81 ; - } -#Wildfire flux of Methane -'ch4fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 82 ; - } -#Wildfire flux of Non-Methane Hydro-Carbons -'nmhcfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 83 ; - } -#Wildfire flux of Hydrogen -'h2fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 84 ; - } -#Wildfire flux of Nitrogen Oxides NOx -'noxfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 85 ; - } -#Wildfire flux of Nitrous Oxide -'n2ofire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 86 ; - } -#Wildfire flux of Particulate Matter PM2.5 -'pm2p5fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 87 ; - } -#Wildfire flux of Total Particulate Matter -'tpmfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 88 ; - } -#Wildfire flux of Total Carbon in Aerosols -'tcfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 89 ; - } -#Wildfire flux of Organic Carbon -'ocfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 90 ; - } -#Wildfire flux of Black Carbon -'bcfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 91 ; - } -#Wildfire overall flux of burnt Carbon -'cfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 92 ; - } -#Wildfire fraction of C4 plants -'c4ffire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 93 ; - } -#Wildfire vegetation map index -'vegfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 94 ; - } -#Wildfire Combustion Completeness -'ccfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 95 ; - } -#Wildfire Fuel Load: Carbon per unit area -'flfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 96 ; - } -#Wildfire fraction of area observed -'offire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 97 ; - } -#Number of positive FRP pixels per grid cell -'nofrp' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 98 ; - } -#Wildfire radiative power -'frpfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 99 ; - } -#Wildfire combustion rate -'crfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 100 ; - } -#Formaldehyde -'hcho' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 124 ; - } -#Total column Nitrogen dioxide -'tcno2' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 125 ; - } -#Total column Sulphur dioxide -'tcso2' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 126 ; - } -#Total column Carbon monoxide -'tcco' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 127 ; - } -#Total column Formaldehyde -'tchcho' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 128 ; - } -#Nitrogen Oxides -'nox' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 129 ; - } -#Total Column Nitrogen Oxides -'tcnox' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 130 ; - } -#Reactive tracer 1 mass mixing ratio -'grg1' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 131 ; - } -#Total column GRG tracer 1 -'tcgrg1' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 132 ; - } -#Reactive tracer 2 mass mixing ratio -'grg2' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 133 ; - } -#Total column GRG tracer 2 -'tcgrg2' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 134 ; - } -#Reactive tracer 3 mass mixing ratio -'grg3' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 135 ; - } -#Total column GRG tracer 3 -'tcgrg3' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 136 ; - } -#Reactive tracer 4 mass mixing ratio -'grg4' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 137 ; - } -#Total column GRG tracer 4 -'tcgrg4' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 138 ; - } -#Reactive tracer 5 mass mixing ratio -'grg5' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 139 ; - } -#Total column GRG tracer 5 -'tcgrg5' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 140 ; - } -#Reactive tracer 6 mass mixing ratio -'grg6' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 141 ; - } -#Total column GRG tracer 6 -'tcgrg6' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 142 ; - } -#Reactive tracer 7 mass mixing ratio -'grg7' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 143 ; - } -#Total column GRG tracer 7 -'tcgrg7' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 144 ; - } -#Reactive tracer 8 mass mixing ratio -'grg8' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 145 ; - } -#Total column GRG tracer 8 -'tcgrg8' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 146 ; - } -#Reactive tracer 9 mass mixing ratio -'grg9' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 147 ; - } -#Total column GRG tracer 9 -'tcgrg9' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 148 ; - } -#Reactive tracer 10 mass mixing ratio -'grg10' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 149 ; - } -#Total column GRG tracer 10 -'tcgrg10' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 150 ; - } -#Surface flux Nitrogen oxides -'sfnox' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 151 ; - } -#Surface flux Nitrogen dioxide -'sfno2' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 152 ; - } -#Surface flux Sulphur dioxide -'sfso2' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 153 ; - } -#Surface flux Carbon monoxide -'sfco2' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 154 ; - } -#Surface flux Formaldehyde -'sfhcho' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 155 ; - } -#Surface flux GEMS Ozone -'sfgo3' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 156 ; - } -#Surface flux reactive tracer 1 -'sfgr1' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 157 ; - } -#Surface flux reactive tracer 2 -'sfgr2' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 158 ; - } -#Surface flux reactive tracer 3 -'sfgr3' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 159 ; - } -#Surface flux reactive tracer 4 -'sfgr4' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 160 ; - } -#Surface flux reactive tracer 5 -'sfgr5' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 161 ; - } -#Surface flux reactive tracer 6 -'sfgr6' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 162 ; - } -#Surface flux reactive tracer 7 -'sfgr7' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 163 ; - } -#Surface flux reactive tracer 8 -'sfgr8' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 164 ; - } -#Surface flux reactive tracer 9 -'sfgr9' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 165 ; - } -#Surface flux reactive tracer 10 -'sfgr10' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 166 ; - } -#Radon -'ra' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 181 ; - } -#Sulphur Hexafluoride -'sf6' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 182 ; - } -#Total column Radon -'tcra' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 183 ; - } -#Total column Sulphur Hexafluoride -'tcsf6' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 184 ; - } -#Anthropogenic Emissions of Sulphur Hexafluoride -'sf6apf' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 185 ; - } -#GEMS Total column ozone -'gtco3' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 206 ; - } -#Total Aerosol Optical Depth at 550nm -'aod550' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 207 ; - } -#Sea Salt Aerosol Optical Depth at 550nm -'ssaod550' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 208 ; - } -#Dust Aerosol Optical Depth at 550nm -'duaod550' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 209 ; - } -#Organic Matter Aerosol Optical Depth at 550nm -'omaod550' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 210 ; - } -#Black Carbon Aerosol Optical Depth at 550nm -'bcaod550' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 211 ; - } -#Sulphate Aerosol Optical Depth at 550nm -'suaod550' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 212 ; - } -#Total Aerosol Optical Depth at 469nm -'aod469' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 213 ; - } -#Total Aerosol Optical Depth at 670nm -'aod670' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 214 ; - } -#Total Aerosol Optical Depth at 865nm -'aod865' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 215 ; - } -#Total Aerosol Optical Depth at 1240nm -'aod1240' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 216 ; - } -#Sea Salt Aerosol (0.03 - 0.5 um) Mixing Ratio -'aermr01diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 1 ; - } -#Sea Salt Aerosol (0.5 - 5 um) Mixing Ratio -'aermr02diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 2 ; - } -#Sea Salt Aerosol (5 - 20 um) Mixing Ratio -'aermr03diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 3 ; - } -#Dust Aerosol (0.03 - 0.55 um) Mixing Ratio -'aermr04diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 4 ; - } -#Dust Aerosol (0.55 - 0.9 um) Mixing Ratio -'aermr05diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 5 ; - } -#Dust Aerosol (0.9 - 20 um) Mixing Ratio -'aermr06diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 6 ; - } -#Hydrophilic Organic Matter Aerosol Mixing Ratio -'aermr07diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 7 ; - } -#Hydrophobic Organic Matter Aerosol Mixing Ratio -'aermr08diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 8 ; - } -#Hydrophilic Black Carbon Aerosol Mixing Ratio -'aermr09diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 9 ; - } -#Hydrophobic Black Carbon Aerosol Mixing Ratio -'aermr10diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 10 ; - } -#Sulphate Aerosol Mixing Ratio -'aermr11diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 11 ; - } -#Aerosol type 12 mixing ratio -'aermr12diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 12 ; - } -#Aerosol type 1 source/gain accumulated -'aergn01diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 16 ; - } -#Aerosol type 2 source/gain accumulated -'aergn02diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 17 ; - } -#Aerosol type 3 source/gain accumulated -'aergn03diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 18 ; - } -#Aerosol type 4 source/gain accumulated -'aergn04diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 19 ; - } -#Aerosol type 5 source/gain accumulated -'aergn05diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 20 ; - } -#Aerosol type 6 source/gain accumulated -'aergn06diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 21 ; - } -#Aerosol type 7 source/gain accumulated -'aergn07diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 22 ; - } -#Aerosol type 8 source/gain accumulated -'aergn08diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 23 ; - } -#Aerosol type 9 source/gain accumulated -'aergn09diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 24 ; - } -#Aerosol type 10 source/gain accumulated -'aergn10diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 25 ; - } -#Aerosol type 11 source/gain accumulated -'aergn11diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 26 ; - } -#Aerosol type 12 source/gain accumulated -'aergn12diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 27 ; - } -#Aerosol type 1 sink/loss accumulated -'aerls01diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 31 ; - } -#Aerosol type 2 sink/loss accumulated -'aerls02diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 32 ; - } -#Aerosol type 3 sink/loss accumulated -'aerls03diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 33 ; - } -#Aerosol type 4 sink/loss accumulated -'aerls04diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 34 ; - } -#Aerosol type 5 sink/loss accumulated -'aerls05diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 35 ; - } -#Aerosol type 6 sink/loss accumulated -'aerls06diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 36 ; - } -#Aerosol type 7 sink/loss accumulated -'aerls07diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 37 ; - } -#Aerosol type 8 sink/loss accumulated -'aerls08diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 38 ; - } -#Aerosol type 9 sink/loss accumulated -'aerls09diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 39 ; - } -#Aerosol type 10 sink/loss accumulated -'aerls10diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 40 ; - } -#Aerosol type 11 sink/loss accumulated -'aerls11diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 41 ; - } -#Aerosol type 12 sink/loss accumulated -'aerls12diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 42 ; - } -#Aerosol precursor mixing ratio -'aerprdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 46 ; - } -#Aerosol small mode mixing ratio -'aersmdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 47 ; - } -#Aerosol large mode mixing ratio -'aerlgdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 48 ; - } -#Aerosol precursor optical depth -'aodprdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 49 ; - } -#Aerosol small mode optical depth -'aodsmdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 50 ; - } -#Aerosol large mode optical depth -'aodlgdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 51 ; - } -#Dust emission potential -'aerdepdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 52 ; - } -#Lifting threshold speed -'aerltsdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 53 ; - } -#Soil clay content -'aersccdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 54 ; - } -#Carbon Dioxide -'co2diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 61 ; - } -#Methane -'ch4diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 62 ; - } -#Nitrous oxide -'n2odiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 63 ; - } -#Total column Carbon Dioxide -'tcco2diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 64 ; - } -#Total column Methane -'tcch4diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 65 ; - } -#Total column Nitrous oxide -'tcn2odiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 66 ; - } -#Ocean flux of Carbon Dioxide -'co2ofdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 67 ; - } -#Natural biosphere flux of Carbon Dioxide -'co2nbfdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 68 ; - } -#Anthropogenic emissions of Carbon Dioxide -'co2apfdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 69 ; - } -#Methane Surface Fluxes -'ch4fdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 70 ; - } -#Methane loss rate due to radical hydroxyl (OH) -'kch4diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 71 ; - } -#Wildfire overall flux of burnt Carbon -'cfirediff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 92 ; - } -#Wildfire fraction of C4 plants -'c4ffirediff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 93 ; - } -#Wildfire vegetation map index -'vegfirediff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 94 ; - } -#Wildfire Combustion Completeness -'ccfirediff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 95 ; - } -#Wildfire Fuel Load: Carbon per unit area -'flfirediff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 96 ; - } -#Wildfire fraction of area observed -'offirediff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 97 ; - } -#Wildfire observed area -'oafirediff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 98 ; - } -#Wildfire radiative power -'frpfirediff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 99 ; - } -#Wildfire combustion rate -'crfirediff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 100 ; - } -#Formaldehyde -'hchodiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 124 ; - } -#Total column Nitrogen dioxide -'tcno2diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 125 ; - } -#Total column Sulphur dioxide -'tcso2diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 126 ; - } -#Total column Carbon monoxide -'tccodiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 127 ; - } -#Total column Formaldehyde -'tchchodiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 128 ; - } -#Nitrogen Oxides -'noxdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 129 ; - } -#Total Column Nitrogen Oxides -'tcnoxdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 130 ; - } -#Reactive tracer 1 mass mixing ratio -'grg1diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 131 ; - } -#Total column GRG tracer 1 -'tcgrg1diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 132 ; - } -#Reactive tracer 2 mass mixing ratio -'grg2diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 133 ; - } -#Total column GRG tracer 2 -'tcgrg2diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 134 ; - } -#Reactive tracer 3 mass mixing ratio -'grg3diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 135 ; - } -#Total column GRG tracer 3 -'tcgrg3diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 136 ; - } -#Reactive tracer 4 mass mixing ratio -'grg4diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 137 ; - } -#Total column GRG tracer 4 -'tcgrg4diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 138 ; - } -#Reactive tracer 5 mass mixing ratio -'grg5diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 139 ; - } -#Total column GRG tracer 5 -'tcgrg5diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 140 ; - } -#Reactive tracer 6 mass mixing ratio -'grg6diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 141 ; - } -#Total column GRG tracer 6 -'tcgrg6diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 142 ; - } -#Reactive tracer 7 mass mixing ratio -'grg7diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 143 ; - } -#Total column GRG tracer 7 -'tcgrg7diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 144 ; - } -#Reactive tracer 8 mass mixing ratio -'grg8diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 145 ; - } -#Total column GRG tracer 8 -'tcgrg8diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 146 ; - } -#Reactive tracer 9 mass mixing ratio -'grg9diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 147 ; - } -#Total column GRG tracer 9 -'tcgrg9diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 148 ; - } -#Reactive tracer 10 mass mixing ratio -'grg10diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 149 ; - } -#Total column GRG tracer 10 -'tcgrg10diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 150 ; - } -#Surface flux Nitrogen oxides -'sfnoxdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 151 ; - } -#Surface flux Nitrogen dioxide -'sfno2diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 152 ; - } -#Surface flux Sulphur dioxide -'sfso2diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 153 ; - } -#Surface flux Carbon monoxide -'sfco2diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 154 ; - } -#Surface flux Formaldehyde -'sfhchodiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 155 ; - } -#Surface flux GEMS Ozone -'sfgo3diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 156 ; - } -#Surface flux reactive tracer 1 -'sfgr1diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 157 ; - } -#Surface flux reactive tracer 2 -'sfgr2diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 158 ; - } -#Surface flux reactive tracer 3 -'sfgr3diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 159 ; - } -#Surface flux reactive tracer 4 -'sfgr4diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 160 ; - } -#Surface flux reactive tracer 5 -'sfgr5diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 161 ; - } -#Surface flux reactive tracer 6 -'sfgr6diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 162 ; - } -#Surface flux reactive tracer 7 -'sfgr7diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 163 ; - } -#Surface flux reactive tracer 8 -'sfgr8diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 164 ; - } -#Surface flux reactive tracer 9 -'sfgr9diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 165 ; - } -#Surface flux reactive tracer 10 -'sfgr10diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 166 ; - } -#Radon -'radiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 181 ; - } -#Sulphur Hexafluoride -'sf6diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 182 ; - } -#Total column Radon -'tcradiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 183 ; - } -#Total column Sulphur Hexafluoride -'tcsf6diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 184 ; - } -#Anthropogenic Emissions of Sulphur Hexafluoride -'sf6apfdiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 185 ; - } -#GEMS Total column ozone -'gtco3diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 206 ; - } -#Total Aerosol Optical Depth at 550nm -'aod550diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 207 ; - } -#Sea Salt Aerosol Optical Depth at 550nm -'ssaod550diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 208 ; - } -#Dust Aerosol Optical Depth at 550nm -'duaod550diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 209 ; - } -#Organic Matter Aerosol Optical Depth at 550nm -'omaod550diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 210 ; - } -#Black Carbon Aerosol Optical Depth at 550nm -'bcaod550diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 211 ; - } -#Sulphate Aerosol Optical Depth at 550nm -'suaod550diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 212 ; - } -#Total Aerosol Optical Depth at 469nm -'aod469diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 213 ; - } -#Total Aerosol Optical Depth at 670nm -'aod670diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 214 ; - } -#Total Aerosol Optical Depth at 865nm -'aod865diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 215 ; - } -#Total Aerosol Optical Depth at 1240nm -'aod1240diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 216 ; - } -#Total precipitation observation count -'tpoc' = { - discipline = 192 ; - parameterCategory = 220 ; - parameterNumber = 228 ; - } -#Mean total cloud cover -'meantcc' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 192 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 0 ; - } -#Surface temperature significance -'sts' = { - discipline = 192 ; - parameterCategory = 234 ; - parameterNumber = 139 ; - } -#Mean sea level pressure significance -'msls' = { - discipline = 192 ; - parameterCategory = 234 ; - parameterNumber = 151 ; - } #2 metre temperature significance 't2s' = { discipline = 192 ; parameterCategory = 234 ; parameterNumber = 167 ; - } -#Total precipitation significance -'tps' = { - discipline = 192 ; - parameterCategory = 234 ; - parameterNumber = 228 ; - } -#Wildfire radiative power maximum -'maxfrpfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 101 ; - } -#Wildfire flux of Sulfur Dioxide -'so2fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 102 ; - } -#Wildfire Flux of Methanol (CH3OH) -'ch3ohfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 103 ; - } -#Wildfire Flux of Ethanol (C2H5OH) -'c2h5ohfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 104 ; - } -#Wildfire Flux of Propane (C3H8) -'c3h8fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 105 ; - } -#Wildfire Flux of Ethene (C2H4) -'c2h4fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 106 ; - } -#Wildfire Flux of Propene (C3H6) -'c3h6fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 107 ; - } -#Wildfire Flux of Isoprene (C5H8) -'c5h8fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 108 ; - } -#Wildfire Flux of Terpenes (C5H8)n -'terpenesfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 109 ; - } -#Wildfire Flux of Toluene_lump (C7H8+ C6H6 + C8H10) -'toluenefire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 110 ; - } -#Wildfire Flux of Higher Alkenes (CnH2n, C>=4) -'hialkenesfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 111 ; - } -#Wildfire Flux of Higher Alkanes (CnH2n+2, C>=4) -'hialkanesfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 112 ; - } -#Wildfire Flux of Formaldehyde (CH2O) -'ch2ofire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 113 ; - } -#Wildfire Flux of Acetaldehyde (C2H4O) -'c2h4ofire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 114 ; - } -#Wildfire Flux of Acetone (C3H6O) -'c3h6ofire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 115 ; - } -#Wildfire Flux of Ammonia (NH3) -'nh3fire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 116 ; - } -#Wildfire Flux of Dimethyl Sulfide (DMS) (C2H6S) -'c2h6sfire' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 117 ; - } -#Wildfire radiative power maximum -'maxfrpfirediff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 101 ; - } -#V-tendency from non-orographic wave drag -'vtnowd' = { - localTablesVersion = 228 ; - discipline = 0 ; - parameterCategory = 254 ; - parameterNumber = 134 ; - } -#U-tendency from non-orographic wave drag -'utnowd' = { - localTablesVersion = 228 ; - discipline = 0 ; - parameterCategory = 254 ; - parameterNumber = 136 ; - } -#ASCAT first soil moisture CDF matching parameter -'ascat_sm_cdfa' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 253 ; - } -#ASCAT second soil moisture CDF matching parameter -'ascat_sm_cdfb' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 254 ; } diff --git a/definitions/grib2/localConcepts/kwbc/cfVarName.def b/definitions/grib2/localConcepts/kwbc/cfVarName.def index 06c621dd5..39ecfae04 100644 --- a/definitions/grib2/localConcepts/kwbc/cfVarName.def +++ b/definitions/grib2/localConcepts/kwbc/cfVarName.def @@ -1,1915 +1,19 @@ # Automatically generated by ./create_def.pl, do not edit -#Convective available potential energy -'cape' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 6 ; - } -#Snow phase change heat flux -'snohf' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 192 ; - } -#Condensate -'tcond' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 195 ; - } -#Horizontal moisture convergence -'mconv' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 197 ; - } -#Categorical rain -'crain' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 192 ; - } -#Categorical freezing rain -'cfrzr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 193 ; - } -#Categorical ice pellets -'cicep' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 194 ; - } -#Categorical snow -'csnow' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 195 ; - } -#Convective precipitation rate -'cprat' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 196 ; - } -#Percent frozen precipitation -'cpofp' = { - discipline = 1 ; - parameterCategory = 1 ; - parameterNumber = 193 ; - } -#Potential evaporation -'pevap' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 199 ; - } -#Snow cover -'snowc' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 201 ; - } -#Rain fraction of total cloud water -'frain' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 202 ; - } -#Rime factor -'rime' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 203 ; - } -#Total column integrated rain -'tcolr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 204 ; - } -#Total column integrated snow -'tcols' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 205 ; - } -#Water equivalent of accumulated snow depth (deprecated) -'sdwe' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 11 ; - } -#Vertical speed shear -'vwsh' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 192 ; - } -#Horizontal momentum flux -'mflx' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 193 ; - } -#U-component storm motion -'ustm' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 194 ; - } -#V-component storm motion -'vstm' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 195 ; - } -#Drag coefficient -'cd' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 196 ; - } -#Frictional velocity -'fricv' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 197 ; - } #5-wave geopotential height 'wavh5' = { discipline = 0 ; parameterCategory = 3 ; parameterNumber = 193 ; } -#Zonal flux of gravity wave stress -'u-gwd' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 194 ; - } -#Meridional flux of gravity wave stress -'v-gwd' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 195 ; - } #5-wave geopotential height anomaly 'wava5' = { discipline = 0 ; parameterCategory = 3 ; parameterNumber = 197 ; } -#Downward short-wave radiation flux -'dswrf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 192 ; - } -#Upward short-wave radiation flux -'uswrf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 193 ; - } -#UV index -'uvi' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 196 ; - } -#Downward long-wave radiation flux -'dlwrf' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 192 ; - } -#Upward long-wave radiation flux -'ulwrf' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 193 ; - } -#Non-convective cloud cover -'cdlyr' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 192 ; - } -#Cloud work function -'cwork' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 193 ; - } -#Convective cloud efficiency -'cuefi' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 194 ; - } -#Total column-integrated cloud water -'tcolw' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 196 ; - } -#Total column-integrated cloud ice -'tcoli' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 197 ; - } -#Total column-integrated condensate -'tcolc' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 198 ; - } -#Ice fraction of total condensate -'fice' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 199 ; - } -#Surface lifted index -'lftx' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 192 ; - } #Best (4-layer) lifted index 'lftx4' = { discipline = 0 ; parameterCategory = 7 ; parameterNumber = 193 ; - } -#Ozone mixing ratio -'o3mr' = { - discipline = 0 ; - parameterCategory = 14 ; - parameterNumber = 192 ; - } -#Maximum snow albedo -'mxsalb' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 192 ; - } -#Snow free albedo -'snfalb' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 193 ; - } -#Seconds prior to initial reference time (defined in Section 1) -'tsec' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 194 ; - } -#Baseflow-groundwater runoff -'bgrun' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 192 ; - } -#Storm surface runoff -'ssrun' = { - discipline = 1 ; - parameterCategory = 0 ; - parameterNumber = 193 ; - } -#Volumetric soil moisture content -'soilw' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 192 ; - } -#Ground heat flux -'gflux' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 193 ; - } -#Moisture availability -'mstav' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 194 ; - } -#Exchange coefficient -'sfexc' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 195 ; - } -#Plant canopy surface water -'cnwat' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 196 ; - } -#Blackadar mixing length scale -'bmixl' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 197 ; - } -#Canopy conductance -'ccond' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 199 ; - } -#Minimal stomatal resistance -'rsmin' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 200 ; - } -#Solar parameter in canopy conductance -'rcs' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 202 ; - } -#Temperature parameter in canopy conductance -'rct' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 203 ; - } -#Soil moisture parameter in canopy conductance -'rcsol' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 205 ; - } -#Humidity parameter in canopy conductance -'rcq' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 204 ; - } -#Liquid volumetric soil moisture (non-frozen) -'soill' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 192 ; - } -#Number of soil layers in root zone -'rlyrs' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 193 ; - } -#Transpiration stress-onset (soil moisture) -'smref' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 195 ; - } -#Direct evaporation cease (soil moisture) -'smdry' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 196 ; - } -#Soil porosity -'poros' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 197 ; - } -#Temperature tendency by all radiation -'ttrad' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 193 ; - } -#Relative Error Variance -'rev' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 194 ; - } -#Large Scale Condensate Heating rate -'lrghr' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 195 ; - } -#Deep Convective Heating rate -'cnvhr' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 196 ; - } -#Total Downward Heat Flux at Surface -'thflx' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 197 ; - } -#Temperature Tendency By All Physics -'ttdia' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 198 ; - } -#Temperature Tendency By Non-radiation Physics -'ttphy' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 199 ; - } -#Standard Dev. of IR Temp. over 1x1 deg. area -'tsd1d' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 200 ; - } -#Shallow Convective Heating rate -'shahr' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 201 ; - } -#Vertical Diffusion Heating rate -'vdfhr' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 202 ; - } -#Potential temperature at top of viscous sublayer -'thz0' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 203 ; - } -#Tropical Cyclone Heat Potential -'tchp' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 204 ; - } -#Minimum Relative Humidity -'minrh' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 198 ; - } -#Total Icing Potential Diagnostic -'tipd' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 206 ; - } -#Number concentration for ice particles -'ncip' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 207 ; - } -#Snow temperature -'snot' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 208 ; - } -#Total column-integrated supercooled liquid water -'tclsw' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 209 ; - } -#Total column-integrated melting ice -'tcolm' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 210 ; - } -#Evaporation - Precipitation -'emnp' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 211 ; - } -#Sublimation (evaporation from snow) -'sbsno' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 212 ; - } -#Deep Convective Moistening Rate -'cnvmr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 213 ; - } -#Shallow Convective Moistening Rate -'shamr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 214 ; - } -#Vertical Diffusion Moistening Rate -'vdfmr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 215 ; - } -#Condensation Pressure of Parcali Lifted From Indicate Surface -'condp' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 216 ; - } -#Large scale moistening rate -'lrgmr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 217 ; - } -#Specific humidity at top of viscous sublayer -'qz0' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 218 ; - } -#Maximum specific humidity at 2m -'qmax' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 219 ; - } -#Minimum specific humidity at 2m -'qmin' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 220 ; - } -#Liquid precipitation (rainfall) -'arain' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 221 ; - } -#Snow temperature, depth-avg -'snowt' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 222 ; - } -#Total precipitation (nearest grid point) -'apcpn' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 223 ; - } -#Convective precipitation (nearest grid point) -'acpcpn' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 224 ; - } -#Freezing Rain -'frzr' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 225 ; - } -#Latitude of U Wind Component of Velocity -'lauv' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 198 ; - } -#Longitude of U Wind Component of Velocity -'louv' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 199 ; - } -#Latitude of V Wind Component of Velocity -'lavv' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 200 ; - } -#Longitude of V Wind Component of Velocity -'lovv' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 201 ; - } -#Latitude of Pressure Point -'lapp' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 202 ; - } -#Longitude of Pressure Point -'lopp' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 203 ; - } -#Vertical Eddy Diffusivity Heat exchange -'vedh' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 204 ; - } -#Covariance between Meridional and Zonal Components of the wind. -'covmz' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 205 ; - } -#Covariance between Temperature and Zonal Components of the wind. -'covtz' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 206 ; - } -#Covariance between Temperature and Meridional Components of the wind. -'covtm' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 207 ; - } -#Vertical Diffusion Zonal Acceleration -'vdfua' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 208 ; - } -#Vertical Diffusion Meridional Acceleration -'vdfva' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 209 ; - } -#Gravity wave drag zonal acceleration -'gwdu' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 210 ; - } -#Gravity wave drag meridional acceleration -'gwdv' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 211 ; - } -#Convective zonal momentum mixing acceleration -'cnvu' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 212 ; - } -#Convective meridional momentum mixing acceleration -'cnvv' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 213 ; - } -#Tendency of vertical velocity -'wtend' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 214 ; - } -#Omega (Dp/Dt) divide by density -'omgalf' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 215 ; - } -#Convective Gravity wave drag zonal acceleration -'cngwdu' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 216 ; - } -#Convective Gravity wave drag meridional acceleration -'cngwdv' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 217 ; - } -#Velocity Point Model Surface -'lmv' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 218 ; - } -#Potential Vorticity (Mass-Weighted) -'pvmww' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 219 ; - } -#MSLP (Eta model reduction) -'mslet' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 192 ; - } -#MSLP (MAPS System Reduction) -'mslma' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 198 ; - } -#3-hr pressure tendency (Std. Atmos. Reduction) -'tslsa' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 199 ; - } -#Pressure of level from which parcel was lifted -'plpl' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 200 ; - } -#X-gradient of Log Pressure -'lpsx' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 201 ; - } -#Y-gradient of Log Pressure -'lpsy' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 202 ; - } -#X-gradient of Height -'hgtx' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 203 ; - } -#Y-gradient of Height -'hgty' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 204 ; - } -#Layer Thickness -'layth' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 205 ; - } -#Natural Log of Surface Pressure -'nlgsp' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 206 ; - } -#Convective updraft mass flux -'cnvumf' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 207 ; - } -#Convective downdraft mass flux -'cnvdmf' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 208 ; - } -#Convective detrainment mass flux -'cnvdemf' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 209 ; - } -#Mass Point Model Surface -'lmh' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 210 ; - } -#Geopotential Height (nearest grid point) -'hgtn' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 211 ; - } -#Pressure (nearest grid point) -'presn' = { - discipline = 0 ; - parameterCategory = 3 ; - parameterNumber = 212 ; - } -#UV-B downward solar flux -'duvb' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 194 ; - } -#Clear sky UV-B downward solar flux -'cduvb' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 195 ; - } -#Clear Sky Downward Solar Flux -'csdsf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 196 ; - } -#Solar Radiative Heating Rate -'swhr' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 197 ; - } -#Clear Sky Upward Solar Flux -'csusf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 198 ; - } -#Cloud Forcing Net Solar Flux -'cfnsf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 199 ; - } -#Visible Beam Downward Solar Flux -'vbdsf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 200 ; - } -#Visible Diffuse Downward Solar Flux -'vddsf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 201 ; - } -#Near IR Beam Downward Solar Flux -'nbdsf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 202 ; - } -#Near IR Diffuse Downward Solar Flux -'nddsf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 203 ; - } -#Downward Total radiation Flux -'dtrf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 204 ; - } -#Upward Total radiation Flux -'utrf' = { - discipline = 0 ; - parameterCategory = 4 ; - parameterNumber = 205 ; - } -#Long-Wave Radiative Heating Rate -'lwhr' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 194 ; - } -#Clear Sky Upward Long Wave Flux -'csulf' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 195 ; - } -#Clear Sky Downward Long Wave Flux -'csdlf' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 196 ; - } -#Cloud Forcing Net Long Wave Flux -'cfnlf' = { - discipline = 0 ; - parameterCategory = 5 ; - parameterNumber = 197 ; - } -#Convective Cloud Mass Flux -'mflux' = { - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 200 ; - } -#Richardson Number -'ri' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 194 ; - } -#Convective Weather Detection Index -'cwdi' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 195 ; - } -#Updraft Helicity -'uphl' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 197 ; - } -#Leaf Area Index -'lai' = { - discipline = 0 ; - parameterCategory = 7 ; - parameterNumber = 198 ; - } -#Particulate matter (coarse) -'pmtc' = { - discipline = 0 ; - parameterCategory = 13 ; - parameterNumber = 192 ; - } -#Particulate matter (fine) -'pmtf' = { - discipline = 0 ; - parameterCategory = 13 ; - parameterNumber = 193 ; - } -#Particulate matter (fine) -'lpmtf' = { - discipline = 0 ; - parameterCategory = 13 ; - parameterNumber = 194 ; - } -#Integrated column particulate matter (fine) -'lipmf' = { - discipline = 0 ; - parameterCategory = 13 ; - parameterNumber = 195 ; - } -#Ozone Concentration (PPB) -'ozcon' = { - discipline = 0 ; - parameterCategory = 14 ; - parameterNumber = 193 ; - } -#Categorical Ozone Concentration -'ozcat' = { - discipline = 0 ; - parameterCategory = 14 ; - parameterNumber = 194 ; - } -#Ozone vertical diffusion -'vdfoz' = { - discipline = 0 ; - parameterCategory = 14 ; - parameterNumber = 195 ; - } -#Ozone production -'poz' = { - discipline = 0 ; - parameterCategory = 14 ; - parameterNumber = 196 ; - } -#Ozone tendency -'toz' = { - discipline = 0 ; - parameterCategory = 14 ; - parameterNumber = 197 ; - } -#Ozone production from temperature term -'pozt' = { - discipline = 0 ; - parameterCategory = 14 ; - parameterNumber = 198 ; - } -#Ozone production from col ozone term -'pozo' = { - discipline = 0 ; - parameterCategory = 14 ; - parameterNumber = 199 ; - } -#Derived radar reflectivity backscatter from rain -'refzr' = { - discipline = 0 ; - parameterCategory = 16 ; - parameterNumber = 192 ; - } -#Derived radar reflectivity backscatter from ice -'refzi' = { - discipline = 0 ; - parameterCategory = 16 ; - parameterNumber = 193 ; - } -#Derived radar reflectivity backscatter from parameterized convection -'refzc' = { - discipline = 0 ; - parameterCategory = 16 ; - parameterNumber = 194 ; - } -#Derived radar reflectivity -'refd' = { - discipline = 0 ; - parameterCategory = 16 ; - parameterNumber = 195 ; - } -#Maximum/Composite radar reflectivity -'refc' = { - discipline = 0 ; - parameterCategory = 16 ; - parameterNumber = 196 ; - } -#Lightning -'ltng' = { - discipline = 0 ; - parameterCategory = 17 ; - parameterNumber = 192 ; - } -#Slight risk convective outlook -'srcono' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 194 ; - } -#Moderate risk convective outlook -'mrcono' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 195 ; - } -#High risk convective outlook -'hrcono' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 196 ; - } -#Tornado probability -'torprob' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 197 ; - } -#Hail probability -'hailprob' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 198 ; - } -#Wind probability -'windprob' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 199 ; - } -#Significant Tornado probability -'storprob' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 200 ; - } -#Significant Hail probability -'shailpro' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 201 ; - } -#Significant Wind probability -'swindpro' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 202 ; - } -#Categorical Thunderstorm (1-yes, 0-no) -'tstmc' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 203 ; - } -#Number of mixed layers next to surface -'mixly' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 204 ; - } -#Flight Category -'flght' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 205 ; - } -#Confidence - Ceiling -'cicel' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 206 ; - } -#Confidence - Visibility -'civis' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 207 ; - } -#Confidence - Flight Category -'ciflt' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 208 ; - } -#Low-Level aviation interest -'lavni' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 209 ; - } -#High-Level aviation interest -'havni' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 210 ; - } -#Visible, Black Sky Albedo -'sbsalb' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 211 ; - } -#Visible, White Sky Albedo -'swsalb' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 212 ; - } -#Near IR, Black Sky Albedo -'nbsalb' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 213 ; - } -#Near IR, White Sky Albedo -'nwsalb' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 214 ; - } -#Total Probability of Severe Thunderstorms (Days 2,3) -'prsvr' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 215 ; - } -#Total Probability of Extreme Severe Thunderstorms (Days 2,3) -'prsigsvr' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 216 ; - } -#Supercooled Large Droplet (SLD) Potential -'sipd' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 217 ; - } -#Radiative emissivity -'epsr' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 218 ; - } -#Turbulence Potential Forecast Index -'tpfi' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 219 ; - } -#Volcanic Ash Forecast Transport and Dispersion -'vaftd' = { - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 232 ; - } -#Latitude (-90 to +90) -'nlat' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 192 ; - } -#East Longitude (0 - 360) -'elon' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 193 ; - } -#Model Layer number (From bottom up) -'mlyno' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 195 ; - } -#Latitude (nearest neighbor) (-90 to +90) -'nlatn' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 196 ; - } -#East Longitude (nearest neighbor) (0 - 360) -'elonn' = { - discipline = 0 ; - parameterCategory = 191 ; - parameterNumber = 197 ; - } -#Probability of Freezing Precipitation -'cpozp' = { - discipline = 1 ; - parameterCategory = 1 ; - parameterNumber = 192 ; - } -#Probability of precipitation exceeding flash flood guidance values -'ppffg' = { - discipline = 1 ; - parameterCategory = 1 ; - parameterNumber = 194 ; - } -#Probability of Wetting Rain, exceeding in 0.10 in a given time period -'cwr' = { - discipline = 1 ; - parameterCategory = 1 ; - parameterNumber = 195 ; - } -#Vegetation Type -'vgtyp' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 198 ; - } -#Wilting Point -'wilt' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 201 ; - } -#Rate of water dropping from canopy to ground -'rdrip' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 206 ; - } -#Ice-free water surface -'icwat' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 207 ; - } -#Surface exchange coefficients for T and Q divided by delta z -'akhs' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 208 ; - } -#Surface exchange coefficients for U and V divided by delta z -'akms' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 209 ; - } -#Vegetation canopy temperature -'vegt' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 210 ; - } -#Surface water storage -'sstor' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 211 ; - } -#Liquid soil moisture content (non-frozen) -'lsoil' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 212 ; - } -#Open water evaporation (standing water) -'ewatr' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 213 ; - } -#Groundwater recharge -'gwrec' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 214 ; - } -#Flood plain recharge -'qrec' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 215 ; - } -#Roughness length for heat -'sfcrh' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 216 ; - } -#Normalized Difference Vegetation Index -'ndvi' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 217 ; - } -#Land-sea coverage (nearest neighbor) [land=1,sea=0] -'landn' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 218 ; - } -#Asymptotic mixing length scale -'amixl' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 219 ; - } -#Water vapor added by precip assimilation -'wvinc' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 220 ; - } -#Water condensate added by precip assimilation -'wcinc' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 221 ; - } -#Water Vapor Flux Convergence (Vertical Int) -'wvconv' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 222 ; - } -#Water Condensate Flux Convergence (Vertical Int) -'wcconv' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 223 ; - } -#Water Vapor Zonal Flux (Vertical Int) -'wvuflx' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 224 ; - } -#Water Vapor Meridional Flux (Vertical Int) -'wvvflx' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 225 ; - } -#Water Condensate Zonal Flux (Vertical Int) -'wcuflx' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 226 ; - } -#Water Condensate Meridional Flux (Vertical Int) -'wcvflx' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 227 ; - } -#Aerodynamic conductance -'acond' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 228 ; - } -#Canopy water evaporation -'evcw' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 229 ; - } -#Transpiration -'trans' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 230 ; - } -#Surface Slope Type -'sltyp' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 194 ; - } -#Direct evaporation from bare soil -'evbs' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 198 ; - } -#Land Surface Precipitation Accumulation -'lspa' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 199 ; - } -#Bare soil surface skin temperature -'baret' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 200 ; - } -#Average surface skin temperature -'avsft' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 201 ; - } -#Effective radiative skin temperature -'radt' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 202 ; - } -#Field Capacity -'fldcp' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 203 ; - } -#Scatterometer Estimated U Wind Component -'usct' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 192 ; - } -#Scatterometer Estimated V Wind Component -'vsct' = { - discipline = 3 ; - parameterCategory = 1 ; - parameterNumber = 193 ; - } -#Wave Steepness -'wstp' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 192 ; - } -#Ocean Mixed Layer U Velocity -'omlu' = { - discipline = 10 ; - parameterCategory = 1 ; - parameterNumber = 192 ; - } -#Ocean Mixed Layer V Velocity -'omlv' = { - discipline = 10 ; - parameterCategory = 1 ; - parameterNumber = 193 ; - } -#Barotropic U velocity -'ubaro' = { - discipline = 10 ; - parameterCategory = 1 ; - parameterNumber = 194 ; - } -#Barotropic V velocity -'vbaro' = { - discipline = 10 ; - parameterCategory = 1 ; - parameterNumber = 195 ; - } -#Storm Surge -'surge' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 192 ; - } -#Extra Tropical Storm Surge -'etsrg' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 193 ; - } -#Ocean Surface Elevation Relative to Geoid -'elevhtml' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 194 ; - } -#Sea Surface Height Relative to Geoid -'sshg' = { - discipline = 10 ; - parameterCategory = 3 ; - parameterNumber = 195 ; - } -#Ocean Mixed Layer Potential Density (Reference 2000m)
name is the value of the key (e.g. 151163 or sst) */ + if (strcmp(key, "cfVarName")==0) { + Assert( strlen(concept_value->name) > 0 ); + if ( isdigit(concept_value->name[0]) || strcmp(concept_value->name, "~")==0 ) { + fprintf(stderr, "%s %s: Invalid cfVarName in file %s\n", + key, concept_value->name, filename); + return GRIB_INVALID_KEY_VALUE; + } + } while (concept_condition) { char condition_value[512] = {0,}; grib_expression* expression = concept_condition->expression; diff --git a/tests/grib_check_param_concepts.sh b/tests/grib_check_param_concepts.sh index 004ca49b8..35b4a4910 100755 --- a/tests/grib_check_param_concepts.sh +++ b/tests/grib_check_param_concepts.sh @@ -39,11 +39,12 @@ done # Check WMO name.def etc $EXEC ${test_dir}/grib_check_param_concepts name $ECCODES_DEFINITION_PATH/grib2/name.def $EXEC ${test_dir}/grib_check_param_concepts units $ECCODES_DEFINITION_PATH/grib2/units.def -$EXEC ${test_dir}/grib_check_param_concepts units $ECCODES_DEFINITION_PATH/grib2/cfVarName.def +$EXEC ${test_dir}/grib_check_param_concepts cfVarName $ECCODES_DEFINITION_PATH/grib2/cfVarName.def +$EXEC ${test_dir}/grib_check_param_concepts cfVarName $ECCODES_DEFINITION_PATH/grib2/localConcepts/ecmf/cfVarName.def -# Check the group: name.def paramId.def shortName.def units.def cfVarName.def -# ---------------------------------------------------------------------------- +# Check the group: name.def paramId.def shortName.def units.def +# ------------------------------------------------------------- # Check whether the Test::More Perl module is available set +e perl -e 'use Test::More;' @@ -119,7 +120,7 @@ rm -fr $tempDir mkdir -p $tempDir cd $tempDir cp $ECMF_DIR/cfName.legacy.def cfName.def -cp $ECMF_DIR/cfVarName.legacy.def cfVarName.def +# cp $ECMF_DIR/cfVarName.legacy.def cfVarName.def cp $ECMF_DIR/name.legacy.def name.def cp $ECMF_DIR/paramId.legacy.def paramId.def cp $ECMF_DIR/shortName.legacy.def shortName.def From 5b888f382cdfde85f6d9b137a2822d96a4903385 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Fri, 2 Aug 2024 11:51:58 +0000 Subject: [PATCH 56/63] ECC-1886: No need for cfVarName.legacy.def --- definitions/grib2/cfVarName.legacy.def | 188 -- .../localConcepts/ecmf/cfVarName.legacy.def | 1779 ----------------- 2 files changed, 1967 deletions(-) delete mode 100644 definitions/grib2/cfVarName.legacy.def delete mode 100644 definitions/grib2/localConcepts/ecmf/cfVarName.legacy.def diff --git a/definitions/grib2/cfVarName.legacy.def b/definitions/grib2/cfVarName.legacy.def deleted file mode 100644 index ffd6469d2..000000000 --- a/definitions/grib2/cfVarName.legacy.def +++ /dev/null @@ -1,188 +0,0 @@ -#Volumetric soil moisture content -'soilw' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 9 ; - } -#Upper layer soil temperature -'uplst' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 1 ; - } -#Upper layer soil moisture -'uplsm' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 2 ; - } -#Lower layer soil moisture -'lowlsm' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 3 ; - } -#Bottom layer soil temperature -'botlst' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 4 ; - } -#Liquid volumetric soil moisture (non-frozen) -'soill' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 5 ; - } -#Transpiration stress-onset (soil moisture) -'smref' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 7 ; - } -#Direct evaporation cease (soil moisture) -'smdry' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 8 ; - } -#Soil porosity -'poros' = { - discipline = 2 ; - parameterCategory = 3 ; - parameterNumber = 9 ; - } -#Instantaneous eastward turbulent surface stress -'iews' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 38 ; - typeOfFirstFixedSurface = 1 ; -} -#Instantaneous northward turbulent surface stress -'inss' = { - discipline = 0 ; - parameterCategory = 2 ; - parameterNumber = 37 ; - typeOfFirstFixedSurface = 1 ; -} -#Evaporation in the last 6 hours -'eva06' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 79 ; - typeOfFirstFixedSurface = 1 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 1 ; - lengthOfTimeRange = 6 ; -} -#Time-mean evapotranspiration rate in the last 24h -'avg_et24' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 39 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 0 ; - lengthOfTimeRange = 24 ; -} -#Time-integrated potential evapotranspiration rate in the last 24h -'acc_pet24' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 40 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 1 ; - lengthOfTimeRange = 24 ; -} -#Time-mean potential evapotranspiration rate in the last 24h -'avg_pet24' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 40 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 0 ; - lengthOfTimeRange = 24 ; -} -#Time-mean volumetric soil moisture -'avg_swv24' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 25 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 0 ; - lengthOfTimeRange = 24 ; -} -#Time-integrated water runoff and drainage rate in the last 24h -'acc_rod24' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 42 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 1 ; - lengthOfTimeRange = 24 ; -} -#Time-mean water runoff and drainage rate in the last 24h -'avg_rod24' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 42 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 0 ; - lengthOfTimeRange = 24 ; -} -#Time-mean snow depth water equivalent -'avg_sd24' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 60 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 0 ; - lengthOfTimeRange = 24 ; -} -#Time-mean skin temperature -'avg_skt24' = { - discipline = 0 ; - parameterCategory = 0 ; - parameterNumber = 17 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 0 ; - lengthOfTimeRange = 24 ; -} -#Time-integrated snow melt rate in the last 24h -'acc_smr24' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 41 ; - indicatorOfUnitForTimeRange = 1 ; - typeOfStatisticalProcessing = 1 ; - lengthOfTimeRange = 24 ; -} -#Upward sea water velocity -'wo' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 27 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; -} -#Time-mean upward sea water velocity -'avg_wo' = { - discipline = 10 ; - parameterCategory = 4 ; - parameterNumber = 27 ; - typeOfFirstFixedSurface = 168 ; - typeOfSecondFixedSurface = 168 ; - typeOfStatisticalProcessing = 0 ; -} -#Maximum individual wave height -'hmax' = { - discipline = 10 ; - parameterCategory = 0 ; - parameterNumber = 24 ; -} -#Soil temperature -'st' = { - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 2 ; -} diff --git a/definitions/grib2/localConcepts/ecmf/cfVarName.legacy.def b/definitions/grib2/localConcepts/ecmf/cfVarName.legacy.def deleted file mode 100644 index cb38cc6e2..000000000 --- a/definitions/grib2/localConcepts/ecmf/cfVarName.legacy.def +++ /dev/null @@ -1,1779 +0,0 @@ -#Surface net solar radiation, clear sky -'ssrc' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 210 ; -} -#Surface net thermal radiation, clear sky -'strc' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 211 ; -} -#Eastward sea water velocity -'uoe' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 131 ; -} -#Northward sea water velocity -'von' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 132 ; -} -#Sea-ice thickness -'sithick' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 98 ; -} -#Sea surface height -'zos' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 145 ; -} -#100 metre U wind component -'u100' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 246 ; -} -#100 metre V wind component -'v100' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 247 ; -} -#100 metre wind speed -'si100' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 249 ; -} -#0 degrees C isothermal level (atm) -'deg0l' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 24 ; -} -#Depth of 20C isotherm -'t20d' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 163 ; -} -#Average salinity in the upper 300m -'sav300' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 175 ; -} -#Total precipitation of at least 1 mm -'tpg1' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 60 ; -} -#Total precipitation of at least 5 mm -'tpg5' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 61 ; -} -#Total precipitation of at least 40 mm -'tpg40' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 82 ; -} -#Total precipitation of at least 60 mm -'tpg60' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 83 ; -} -#Total precipitation of at least 80 mm -'tpg80' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 84 ; -} -#Total precipitation of at least 150 mm -'tpg150' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 86 ; -} -#Total precipitation of at least 200 mm -'tpg200' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 87 ; -} -#Total precipitation of at least 300 mm -'tpg300' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 88 ; -} -#Total column cloud liquid water -'tclw' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 78 ; -} -#Total column cloud ice water -'tciw' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 79 ; -} -#Top net solar radiation -'tsr' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 178 ; -} -#Temperature of snow layer -'tsn' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 238 ; -} -#Sea-ice cover -'ci' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 31 ; -} -#Snow density -'rsn' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 33 ; -} -#Sea surface temperature -'sst' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 34 ; -} -#Surface solar radiation downwards -'ssrd' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 169 ; -} -#Surface thermal radiation downwards -'strd' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 175 ; -} -#Eastward turbulent surface stress -'ewss' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 180 ; -} -#Northward turbulent surface stress -'nsss' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 181 ; -} -#Surface runoff -'sro' = { - discipline = 192 ; - parameterCategory = 174 ; - parameterNumber = 8 ; -} -#Direct solar radiation -'dsrp' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 47 ; -} -#Lake total layer temperature -'ltlt' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 11 ; -} -#Lake mix-layer temperature -'lmlt' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 8 ; -} -#Lake mix-layer depth -'lmld' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 9 ; -} -#Lake bottom temperature -'lblt' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 10 ; -} -#Lake shape factor -'lshf' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 12 ; -} -#Lake ice surface temperature -'lict' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 13 ; -} -#Lake ice total depth -'licd' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 14 ; -} -#Lake total depth -'dl' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 7 ; -} -#GEMS Ozone -'go3' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 203 ; -} -#GEMS Ozone -'go3diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 203 ; -} -#Carbon monoxide -'co' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 123 ; -} -#Carbon monoxide -'codiff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 123 ; -} -#Nitrogen dioxide -'no2' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 121 ; -} -#Nitrogen dioxide -'no2diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 121 ; -} -#Sulphur dioxide -'so2' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 122 ; -} -#Sulphur dioxide -'so2diff' = { - discipline = 192 ; - parameterCategory = 211 ; - parameterNumber = 122 ; -} -#Ammonia -'nh3' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 19 ; -} -#Nitrogen monoxide -'no' = { - discipline = 192 ; - parameterCategory = 217 ; - parameterNumber = 27 ; -} -#Particulate matter d <= 1 um -'pm1' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 72 ; -} -#Particulate matter d <= 2.5 um -'pm2p5' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 73 ; -} -#Particulate matter d <= 10 um -'pm10' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 74 ; -} -#Runoff -'ro' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 205 ; -} -#Total column vertically-integrated water vapour -'tcwv' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 137 ; -} -#Total precipitation of at least 100 mm -'tpg100' = { - discipline = 192 ; - parameterCategory = 131 ; - parameterNumber = 85 ; -} -#Mean zero-crossing wave period -'mp2' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 221 ; -} -#Peak wave period -'pp1d' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 231 ; -} -#Instantaneous total lightning flash density -'litoti' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 50 ; -} -#Averaged total lightning flash density in the last hour -'litota1' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 51 ; -} -#Instantaneous cloud-to-ground lightning flash density -'licgi' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 52 ; -} -#Averaged cloud-to-ground lightning flash density in the last hour -'licga1' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 53 ; -} -#Averaged total lightning flash density in the last 3 hours -'litota3' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 57 ; -} -#Averaged total lightning flash density in the last 6 hours -'litota6' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 58 ; -} -#Averaged cloud-to-ground lightning flash density in the last 3 hours -'licga3' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 59 ; -} -#Averaged cloud-to-ground lightning flash density in the last 6 hours -'licga6' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 60 ; -} -#Eastward gravity wave surface stress -'lgws' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 195 ; -} -#Friction velocity -'zust' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 3 ; -} -#Instantaneous eastward turbulent surface stress -'iews' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 229 ; -} -#Instantaneous northward turbulent surface stress -'inss' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 230 ; -} -#Instantaneous surface sensible heat flux -'ishf' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 231 ; -} -#Instantaneous moisture flux -'ie' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 232 ; -} -#Large-scale precipitation -'lsp' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 142 ; -} -#Large-scale precipitation fraction -'lspf' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 50 ; -} -#Northward gravity wave surface stress -'mgws' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 196 ; -} -#Snow evaporation -'es' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 44 ; -} -#Snowfall -'sf' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 144 ; -} -#Surface runoff -'sro' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 8 ; -} -#TOA incident solar radiation -'tisr' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 212 ; -} -#Top net thermal radiation, clear sky -'ttrc' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 209 ; -} -#Top net solar radiation, clear sky -'tsrc' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 208 ; -} -#Total cloud cover -'tcc' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 164 ; -} -#Total column rain water -'tcrw' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 89 ; -} -#Total column snow water -'tcsw' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 90 ; -} -#Vertical integral of eastward water vapour flux -'viwve' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 71 ; -} -#Vertical integral of northward water vapour flux -'viwvn' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 72 ; -} -#Snow albedo -'asn' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 32 ; -} -#Ice temperature -'ist' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 94 ; -} -#Snowmelt -'smlt' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 45 ; -} -#Downward UV radiation at the surface -'uvb' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 57 ; -} -#Photosynthetically active radiation at the surface -'par' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 58 ; -} -#Boundary layer height -'blh' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 159 ; -} -#Evaporation -'e' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 182 ; -} -#Low cloud cover -'lcc' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 186 ; -} -#Medium cloud cover -'mcc' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 187 ; -} -#High cloud cover -'hcc' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 188 ; -} -#Gravity wave dissipation -'gwd' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 197 ; -} -#Potential evaporation -'pev' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 251 ; -} -#Unbalanced component of temperature -'uctp' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 21 ; -} -#Unbalanced component of logarithm of surface pressure -'ucln' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 22 ; -} -#Unbalanced component of divergence -'ucdv' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 23 ; -} -#10 metre wind gust in the last 3 hours -'fg310' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 28 ; -} -#Forecast albedo -'fal' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 243 ; -} -#Forecast surface roughness -'fsr' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 244 ; -} -#Flux of Carbon Dioxide Net Ecosystem Exchange -'fco2nee' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 195 ; -} -#Accumulated Carbon Dioxide Net Ecosystem Exchange -'aco2nee' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 192 ; - typeOfStatisticalProcessing = 1 ; -} -#Flux of Carbon Dioxide Gross Primary Production -'fco2gpp' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 197 ; -} -#Accumulated Carbon Dioxide Gross Primary Production -'aco2gpp' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 193 ; - typeOfStatisticalProcessing = 1 ; -} -#Flux of Carbon Dioxide Ecosystem Respiration -'fco2rec' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 196 ; -} -#Accumulated Carbon Dioxide Ecosystem Respiration -'aco2rec' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 194 ; - typeOfStatisticalProcessing = 1 ; -} -#Albedo (climatological) -'al' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 174 ; -} -#UV visible albedo for direct radiation (climatological) -'aluvp' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 15 ; -} -#UV visible albedo for diffuse radiation (climatological) -'aluvd' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 16 ; -} -#Near IR albedo for direct radiation (climatological) -'alnip' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 17 ; -} -#Near IR albedo for diffuse radiation (climatological) -'alnid' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 18 ; -} -#Standard deviation of filtered subgrid orography (climatological) -'sdfor' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 74 ; -} -#Logarithm of surface roughness length for heat (climatological) -'lsrh' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 234 ; -} -#UV visible albedo for direct radiation, isotropic component (climatological) -'aluvpi' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 186 ; -} -#UV visible albedo for direct radiation, volumetric component (climatological) -'aluvpv' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 187 ; -} -#UV visible albedo for direct radiation, geometric component (climatological) -'aluvpg' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 188 ; -} -#Near IR albedo for direct radiation, isotropic component (climatological) -'alnipi' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 189 ; -} -#Near IR albedo for direct radiation, volumetric component (climatological) -'alnipv' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 190 ; -} -#Near IR albedo for direct radiation, geometric component (climatological) -'alnipg' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 191 ; -} -#Vertically integrated moisture divergence -'vimd' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 213 ; -} -#Vertically integrated moisture divergence flux -'viwvd' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 84 ; -} -#Forecast logarithm of surface roughness for heat -'flsr' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 245 ; -} -#10 metre u-component of neutral wind -'u10n' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 131 ; -} -#V-component of neutral wind -'v10n' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 132 ; -} -#Magnitude of turbulent surface stress -'magss' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 48 ; -} -#Vertical integral of mass of atmosphere -'vima' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 53 ; -} -#Height of zero-degree wet-bulb temperature -'hwbt0' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 47 ; -} -#Height of one-degree wet-bulb temperature -'hwbt1' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 48 ; -} -#Surface photosynthetically active radiation, clear sky -'parcs' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 20 ; -} -#Surface direct short-wave radiation, clear sky -'cdir' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 22 ; -} -#Duct base height -'dctb' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 17 ; -} -#Trapping layer base height -'tplb' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 18 ; -} -#Trapping layer top height -'tplt' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 19 ; -} -#Mean vertical gradient of refractivity inside trapping layer -'dndza' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 16 ; -} -#Minimum vertical gradient of refractivity inside trapping layer -'dndzn' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 15 ; -} -#Vertical integral of eastward heat flux -'vithee' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 69 ; -} -#Vertical integral of northward heat flux -'vithen' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 70 ; -} -#Vertical integral of potential+internal+latent energy -'vipile' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 62 ; -} -#Skin reservoir content -'src' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 198 ; -} -#Skin reservoir content -'srcrea' = { - discipline = 192 ; - parameterCategory = 160 ; - parameterNumber = 198 ; -} -#Sub-surface runoff -'ssro' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 9 ; -} -#Low vegetation cover -'cvl' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 27 ; -} -#High vegetation cover -'cvh' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 28 ; -} -#Leaf area index, low vegetation -'lai_lv' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 66 ; -} -#Leaf area index, high vegetation -'lai_hv' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 67 ; -} -#Type of low vegetation -'tvl' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 29 ; -} -#Type of high vegetation -'tvh' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 30 ; -} -#Mean direction of total swell -'mdts' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 238 ; -} -#Mean direction of wind waves -'mdww' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 235 ; -} -#Charnock -'chnk' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 148 ; -} -#2D wave spectra (single) -'d2fd' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 251 ; -} -#Vertical integral of thermal energy -'vithe' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 60 ; -} -#Vertical integral of potential+internal energy -'vipie' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 61 ; -} -#Vertical integral of kinetic energy -'vike' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 59 ; -} -#Vertical integral of total energy -'vitoe' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 63 ; -} -#UV visible albedo for diffuse radiation, isotropic component (climatological) -'aluvdi' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 192 ; -} -#UV visible albedo for diffuse radiation, volumetric component (climatological) -'aluvdv' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 193 ; -} -#UV visible albedo for diffuse radiation, geometric component (climatological) -'aluvdg' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 194 ; -} -#Near IR albedo for diffuse radiation, isotropic component (climatological) -'alnidi' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 195 ; -} -#Near IR albedo for diffuse radiation, volumetric component (climatological) -'alnidv' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 196 ; -} -#Near IR albedo for diffuse radiation, geometric component (climatological) -'alnidg' = { - discipline = 192 ; - parameterCategory = 210 ; - parameterNumber = 197 ; -} -#Time-integrated temperature tendency due to short-wave radiation -'srta' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 100 ; -} -#Time-integrated temperature tendency due to long-wave radiation -'trta' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 101 ; -} -#Time-integrated temperature tendency due to short wave radiation, clear sky -'srtca' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 102 ; -} -#Time-integrated temperature tendency due to long-wave radiation, clear sky -'trtca' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 103 ; -} -#Time-integrated updraught mass flux -'umfa' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 104 ; -} -#Time-integrated downdraught mass flux -'dmfa' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 105 ; -} -#Time-integrated updraught detrainment rate -'udra' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 106 ; -} -#Time-integrated downdraught detrainment rate -'ddra' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 107 ; -} -#Time-integrated total precipitation flux -'tpfa' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 108 ; -} -#Time-integrated turbulent diffusion coefficient for heat -'tdcha' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 109 ; -} -#Time-integrated temperature tendency due to parametrisations -'ttpha' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 110 ; -} -#Time-integrated specific humidity tendency due to parametrisations -'qtpha' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 111 ; -} -#Time-integrated eastward wind tendency due to parametrisations -'utpha' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 112 ; -} -#Time-integrated northward wind tendency due to parametrisations -'vtpha' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 113 ; -} -#Period corresponding to maximum individual wave height -'tmax' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 217 ; -} -#Maximum individual wave height -'hmax' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 218 ; -} -#Model bathymetry -'wmb' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 219 ; -} -#Mean wave period based on first moment -'mp1' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 220 ; -} -#Wave spectral directional width -'wdw' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 222 ; -} -#Mean wave period based on first moment for wind waves -'p1ww' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 223 ; -} -#Mean wave period based on second moment for wind waves -'p2ww' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 224 ; -} -#Wave spectral directional width for wind waves -'dwww' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 225 ; -} -#Mean wave period based on first moment for swell -'p1ps' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 226 ; -} -#Mean wave period based on second moment for swell -'p2ps' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 227 ; -} -#Wave spectral directional width for swell -'dwps' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 228 ; -} -#Coefficient of drag with waves -'cdww' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 233 ; -} -#Significant height of total swell -'shts' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 237 ; -} -#Mean period of total swell -'mpts' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 239 ; -} -#Mean square slope of waves -'msqs' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 244 ; -} -#Benjamin-Feir index -'bfi' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 253 ; -} -#Montgomery stream Function -'mntsf' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 53 ; -} -#Water fraction -'fldfrc' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 26 ; -} -#Anisotropy of sub-gridscale orography -'isor' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 161 ; -} -#Angle of sub-gridscale orography -'anor' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 162 ; -} -#Slope of sub-gridscale orography -'slor' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 163 ; -} -#U-component surface stokes drift -'ust' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 215 ; -} -#V-component surface stokes drift -'vst' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 216 ; -} -#Total column ozone -'tco3' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 206 ; -} -#Convective snowfall -'csf' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 239 ; -} -#Large-scale snowfall -'lsf' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 240 ; -} -#Altimeter wave height -'awh' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 246 ; -} -#Altimeter corrected wave height -'acwh' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 247 ; -} -#Altimeter range relative correction -'arrc' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 248 ; -} -#Total sky direct solar radiation at surface -'fdir' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 21 ; -} -#Surface solar radiation downward clear-sky -'ssrdc' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 129 ; -} -#Surface thermal radiation downward clear-sky -'strdc' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 130 ; -} -#Standard deviation of orography -'sdor' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 160 ; -} -#Cloud base height -'cbh' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 23 ; -} -#Wave spectral kurtosis -'wsk' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 252 ; -} -#10 metre wind speed -'wind' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 245 ; -} -#10 metre wind direction -'dwi' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 249 ; -} -#Mean temperature at 2 metres -'mean2t' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 4 ; -} -#Mean surface net radiation flux -'msnrf' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 149 ; -} -#Surface net radiation -'snr' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 149 ; -} -#Top net radiation -'tnr' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 150 ; -} -#Surface emissivity -'emis' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 124 ; -} -#Vertical integral of water vapour -'p55.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 55 ; -} -#Snow depth -'sdsien' = { - discipline = 192 ; - parameterCategory = 190 ; - parameterNumber = 141 ; -} -#Mean total snowfall rate -'mtsfr' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 144 ; -} -#Evaporation -'erate' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 182 ; -} -#Mean total precipitation rate -'tprate' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 228 ; -} -#Mean large-scale precipitation rate -'mlsprt' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 142 ; -} -#Mean convective precipitation rate -'cprate' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 143 ; -} -#Mean runoff rate -'mrort' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 205 ; -} -#Mean total cloud cover -'meantcc' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 6 ; -} -#Mean of 10 metre wind speed -'mean10ws' = { - discipline = 192 ; - parameterCategory = 228 ; - parameterNumber = 5 ; -} -#Sea water potential temperature -'thetao' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 129 ; -} -#Sea water practical salinity -'so' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 130 ; -} -#Upward sea water velocity -'wo' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 133 ; -} -#Sea water sigma theta -'sigmat' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 138 ; -} -#Surface downward eastward stress -'taueo' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 153 ; -} -#Surface downward northward stress -'tauno' = { - discipline = 192 ; - parameterCategory = 151 ; - parameterNumber = 154 ; -} -#Surface geopotential -'p51.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 51 ; -} -#Vertical integral of temperature -'vit' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 54 ; -} -#Vertical integral of cloud liquid water -'vilw' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 56 ; -} -#Vertical integral of cloud frozen water -'viiw' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 57 ; -} -#Vertical integral of ozone -'vioz' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 58 ; -} -#Vertical integral of energy conversion -'viec' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 64 ; -} -#Vertical integral of eastward mass flux -'vimae' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 65 ; -} -#Vertical integral of northward mass flux -'viman' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 66 ; -} -#Vertical integral of eastward kinetic energy flux -'vikee' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 67 ; -} -#Vertical integral of northward kinetic energy flux -'viken' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 68 ; -} -#Vertical integral of eastward geopotential flux -'vige' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 73 ; -} -#Vertical integral of northward geopotential flux -'vign' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 74 ; -} -#Vertical integral of eastward total energy flux -'vitoee' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 75 ; -} -#Vertical integral of northward total energy flux -'vitoen' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 76 ; -} -#Vertical integral of eastward ozone flux -'vioze' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 77 ; -} -#Vertical integral of northward ozone flux -'viozn' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 78 ; -} -#Vertical integral of divergence of mass flux -'vimad' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 81 ; -} -#Vertical integral of divergence of kinetic energy flux -'viked' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 82 ; -} -#Vertical integral of divergence of thermal energy flux -'vithed' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 83 ; -} -#Vertical integral of divergence of geopotential flux -'vigd' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 85 ; -} -#Vertical integral of divergence of total energy flux -'vitoed' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 86 ; -} -#Vertical integral of divergence of ozone flux -'viozd' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 87 ; -} -#Variance of geopotential -'p206.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 206 ; -} -#Covariance of geopotential/temperature -'p207.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 207 ; -} -#Variance of temperature -'p208.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 208 ; -} -#Covariance of geopotential/specific humidity -'p209.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 209 ; -} -#Covariance of temperature/specific humidity -'p210.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 210 ; -} -#Variance of specific humidity -'p211.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 211 ; -} -#Covariance of u component/geopotential -'p212.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 212 ; -} -#Covariance of u component/temperature -'p213.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 213 ; -} -#Covariance of u component/specific humidity -'p214.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 214 ; -} -#Variance of u component -'p215.162' = { - discipline = 192 ; - parameterCategory = 162 ; - parameterNumber = 215 ; -} -#Mean vertical velocity -'mvv' = { - discipline = 192 ; - parameterCategory = 130 ; - parameterNumber = 232 ; -} -#Mean surface sensible heat flux -'msshfl' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 146 ; -} -#Mean surface latent heat flux -'mslhfl' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 147 ; -} -#Mean temperature at 2 metres in the last 24 hours -'mean2t24' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 55 ; -} -#Mean 2 metre temperature in the last 24 hours gradient -'mean2t24grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 55 ; -} -#Mean 2 metre dewpoint temperature in the last 24 hours -'mn2d24' = { - discipline = 192 ; - parameterCategory = 128 ; - parameterNumber = 56 ; -} -#Mean 2 metre dewpoint temperature in the last 24 hours gradient -'mn2d24grd' = { - discipline = 192 ; - parameterCategory = 129 ; - parameterNumber = 56 ; -} -#Mean surface downward solar radiation flux -'msdsrf' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 169 ; -} -#Mean surface downward thermal radiation flux -'msdtrf' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 175 ; -} -#Mean surface net solar radiation flux -'msnsrf' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 176 ; -} -#Mean surface net thermal radiation flux -'msntrf' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 177 ; -} -#Mean top net solar radiation flux -'mtnsrf' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 178 ; -} -#Mean top net thermal radiation flux -'mtntrf' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 179 ; -} -#East-West surface stress rate of accumulation -'ewssra' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 180 ; -} -#North-South surface stress rate of accumulation -'nsssra' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 181 ; -} -#Standard deviation wave height -'sdhs' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 240 ; -} -#Mean of 10 metre wind speed -'mu10' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 241 ; -} -#Mean wind direction -'mdwi' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 242 ; -} -#Standard deviation of 10 metre wind speed -'sdu' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 243 ; -} -#Top net solar radiation, clear sky -'p208.172' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 208 ; -} -#Top net thermal radiation, clear sky -'p209.172' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 209 ; -} -#Surface net solar radiation, clear sky -'p210.172' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 210 ; -} -#Surface net thermal radiation, clear sky -'p211.172' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 211 ; -} -#Solar insolation rate of accumulation -'soira' = { - discipline = 192 ; - parameterCategory = 172 ; - parameterNumber = 212 ; -} -#Wave spectral peakedness -'wsp' = { - discipline = 192 ; - parameterCategory = 140 ; - parameterNumber = 254 ; -} From 331bb6942f28dd71f0e1bd5660c51c8859f1725d Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Fri, 2 Aug 2024 12:39:41 +0000 Subject: [PATCH 57/63] ECC-1886: Comments --- definitions/create_def.pl | 3 +++ tests/grib_check_param_concepts.sh | 2 ++ 2 files changed, 5 insertions(+) diff --git a/definitions/create_def.pl b/definitions/create_def.pl index 6e5ff223a..6d2f72602 100755 --- a/definitions/create_def.pl +++ b/definitions/create_def.pl @@ -183,6 +183,7 @@ EOF close(TAR); } +# See ECC-1886 sub create_cfVarName { my $p; my %seen; my ($key) =@_; @@ -356,6 +357,8 @@ create_def("paramId"); create_def("shortName"); create_def("name"); create_def("units"); +# Note: The cfVarName.def files are smaller than the rest. We only store the +# minimum set necessary. See ECC-1886 create_cfVarName("cfVarName"); create_cfName("cfName"); diff --git a/tests/grib_check_param_concepts.sh b/tests/grib_check_param_concepts.sh index 35b4a4910..cc1bd6a01 100755 --- a/tests/grib_check_param_concepts.sh +++ b/tests/grib_check_param_concepts.sh @@ -100,6 +100,8 @@ tempDir=temp.${label}.dir rm -fr $tempDir mkdir -p $tempDir cd $tempDir + +# See ECC-1886 re cfVarName files #cp $ECMF_DIR/cfName.legacy.def cfName.def #cp $ECMF_DIR/cfVarName.legacy.def cfVarName.def cp $ECMF_DIR/name.legacy.def name.def From 6f3f99beb307c7c4bf55eb6735f82ce83ac7533c Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Fri, 2 Aug 2024 12:48:28 +0000 Subject: [PATCH 58/63] ECC-1886: Fix failing tests --- .../grib1/localConcepts/ecmf/cfVarName.def | 20 ++ .../grib2/localConcepts/cerise/cfVarName.def | 247 ------------------ .../grib2/localConcepts/ecmf/cfVarName.def | 48 ++++ 3 files changed, 68 insertions(+), 247 deletions(-) diff --git a/definitions/grib1/localConcepts/ecmf/cfVarName.def b/definitions/grib1/localConcepts/ecmf/cfVarName.def index 92f6bd7cb..306073c90 100644 --- a/definitions/grib1/localConcepts/ecmf/cfVarName.def +++ b/definitions/grib1/localConcepts/ecmf/cfVarName.def @@ -9,6 +9,16 @@ table2Version = 128 ; indicatorOfParameter = 49 ; } +#Maximum temperature at 2 metres in the last 24 hours +'mx2t24' = { + table2Version = 128 ; + indicatorOfParameter = 51 ; + } +#Minimum temperature at 2 metres in the last 24 hours +'mn2t24' = { + table2Version = 128 ; + indicatorOfParameter = 52 ; + } #Maximum temperature at 2 metres in the last 6 hours 'mx2t6' = { table2Version = 128 ; @@ -184,6 +194,16 @@ table2Version = 174 ; indicatorOfParameter = 96 ; } +#Maximum temperature at 2 metres in the last 3 hours +'mx2t3' = { + table2Version = 228 ; + indicatorOfParameter = 26 ; + } +#Minimum temperature at 2 metres in the last 3 hours +'mn2t3' = { + table2Version = 228 ; + indicatorOfParameter = 27 ; + } #Maximum 10 metre wind gust in the last 3 hours 'fg310' = { table2Version = 228 ; diff --git a/definitions/grib2/localConcepts/cerise/cfVarName.def b/definitions/grib2/localConcepts/cerise/cfVarName.def index 9d88fb46e..41dc54375 100644 --- a/definitions/grib2/localConcepts/cerise/cfVarName.def +++ b/definitions/grib2/localConcepts/cerise/cfVarName.def @@ -1,22 +1,4 @@ # Automatically generated by ./create_def.pl, do not edit -#Surface runoff -'sro' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 202 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Sub-surface runoff -'ssro' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 204 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } #Maximum temperature at 2 metres in the last 24 hours 'mx2t24' = { discipline = 0 ; @@ -40,233 +22,4 @@ indicatorOfUnitForTimeRange = 1 ; typeOfStatisticalProcessing = 3 ; lengthOfTimeRange = 24 ; - } -#Snow depth -'sd' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 254 ; - } -#Large-scale precipitation -'lsp' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 196 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Convective precipitation -'cp' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 195 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Snowfall -'sf' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 198 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Total cloud cover -'tcc' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 192 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - } -#Evaporation -'e' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 199 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Low cloud cover -'lcc' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 193 ; - } -#Runoff -'ro' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 201 ; - typeOfStatisticalProcessing = 1 ; - } -#Total precipitation -'tp' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 193 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 255 ; - typeOfStatisticalProcessing = 1 ; - } -#Forecast albedo -'fal' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 193 ; - } -#Mean surface runoff rate -'msror' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 202 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean sub-surface runoff rate -'mssror' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 204 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Potential evaporation -'pev' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 200 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 1 ; - } -#Time-mean snow depth -'avg_sde' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 11 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean snow cover -'avg_snowc' = { - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 42 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean snow depth -'avg_sd_m' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 254 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean low cloud cover -'avg_lcc_frac' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 193 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean medium cloud cover -'avg_mcc_frac' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 194 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean high cloud cover -'avg_hcc_frac' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 195 ; - typeOfStatisticalProcessing = 0 ; - } -#Time-mean forecast albedo -'avg_fal_frac' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 19 ; - parameterNumber = 193 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean large-scale precipitation rate -'mlsprt' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 196 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean convective precipitation rate -'cprate' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 195 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean total snowfall rate -'mtsfr' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 198 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Evaporation -'erate' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 199 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean runoff rate -'mrort' = { - localTablesVersion = 1 ; - discipline = 2 ; - parameterCategory = 0 ; - parameterNumber = 201 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean total precipitation rate -'tprate' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 1 ; - parameterNumber = 193 ; - typeOfFirstFixedSurface = 1 ; - typeOfStatisticalProcessing = 0 ; - } -#Mean total cloud cover -'meantcc' = { - localTablesVersion = 1 ; - discipline = 0 ; - parameterCategory = 6 ; - parameterNumber = 192 ; - typeOfFirstFixedSurface = 1 ; - typeOfSecondFixedSurface = 8 ; - typeOfStatisticalProcessing = 0 ; } diff --git a/definitions/grib2/localConcepts/ecmf/cfVarName.def b/definitions/grib2/localConcepts/ecmf/cfVarName.def index c878bb952..57020b521 100644 --- a/definitions/grib2/localConcepts/ecmf/cfVarName.def +++ b/definitions/grib2/localConcepts/ecmf/cfVarName.def @@ -1,4 +1,28 @@ # Automatically generated by ./create_def.pl, do not edit +#Maximum temperature at 2 metres in the last 24 hours +'mx2t24' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 2 ; + lengthOfTimeRange = 24 ; + } +#Minimum temperature at 2 metres in the last 24 hours +'mn2t24' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 3 ; + lengthOfTimeRange = 24 ; + } #10 metre wind gust difference 'fgdiff10' = { discipline = 192 ; @@ -47,6 +71,30 @@ parameterCategory = 171 ; parameterNumber = 7 ; } +#Maximum temperature at 2 metres in the last 3 hours +'mx2t3' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 2 ; + lengthOfTimeRange = 3 ; + } +#Minimum temperature at 2 metres in the last 3 hours +'mn2t3' = { + discipline = 0 ; + parameterCategory = 0 ; + parameterNumber = 0 ; + typeOfFirstFixedSurface = 103 ; + scaledValueOfFirstFixedSurface = 2 ; + scaleFactorOfFirstFixedSurface = 0 ; + indicatorOfUnitForTimeRange = 1 ; + typeOfStatisticalProcessing = 3 ; + lengthOfTimeRange = 3 ; + } #10 metre wind gust gradient 'fggrd10' = { discipline = 192 ; From fe5a4b168c348060940d6f488b2d0321237874ea Mon Sep 17 00:00:00 2001 From: shahramn Date: Sat, 3 Aug 2024 14:44:40 +0100 Subject: [PATCH 59/63] ECC-1897: GRIB2: Print a warning if the packing type template is experimental or deprecated --- src/grib_value.cc | 30 ++++++++++++++++++++++-------- tests/grib_change_packing.sh | 8 +++++++- 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/src/grib_value.cc b/src/grib_value.cc index f89cb9725..e68ea72e0 100644 --- a/src/grib_value.cc +++ b/src/grib_value.cc @@ -410,7 +410,7 @@ int grib_set_string_internal(grib_handle* h, const char* name, /* Return 1 if we dealt with specific packing type changes and nothing more needs doing. * Return 0 if further action is needed */ -static int process_packingType_change(grib_handle* h, const char* keyname, const char* keyval) +static int preprocess_packingType_change(grib_handle* h, const char* keyname, const char* keyval) { int err = 0; char input_packing_type[100] = {0,}; @@ -456,24 +456,37 @@ static int process_packingType_change(grib_handle* h, const char* keyname, const if (strcmp(input_packing_type, "grid_ieee") == 0) { const long max_bpv = 32; /* Cannot do any higher */ grib_set_long(h, "bitsPerValue", max_bpv); - /* - long accuracy = 0; - err = grib_get_long(h, "accuracy", &accuracy); - if (!err) { - grib_set_long(h, "bitsPerValue", accuracy); - } */ + //long accuracy = 0; + //err = grib_get_long(h, "accuracy", &accuracy); + //if (!err) grib_set_long(h, "bitsPerValue", accuracy); } } } return 0; /* Further action is needed */ } +static void postprocess_packingType_change(grib_handle* h, const char* keyname, const char* keyval) +{ + if (grib_inline_strcmp(keyname, "packingType") == 0) { + long is_experimental = 0, is_deprecated = 0; + if (grib_get_long(h, "isTemplateExperimental", &is_experimental) == GRIB_SUCCESS && is_experimental == 1) { + fprintf(stderr, "ECCODES WARNING : The template for %s=%s is experimental. " + "This template was not validated at the time of publication.\n", + keyname, keyval); + return; + } + if (grib_get_long(h, "isTemplateDeprecated", &is_deprecated) == GRIB_SUCCESS && is_deprecated == 1) { + fprintf(stderr, "ECCODES WARNING : The template for %s=%s is deprecated.\n", keyname, keyval); + } + } +} + int grib_set_string(grib_handle* h, const char* name, const char* val, size_t* length) { int ret = 0; grib_accessor* a = NULL; - int processed = process_packingType_change(h, name, val); + int processed = preprocess_packingType_change(h, name, val); if (processed) return GRIB_SUCCESS; /* Dealt with - no further action needed */ @@ -492,6 +505,7 @@ int grib_set_string(grib_handle* h, const char* name, const char* val, size_t* l ret = a->pack_string(val, length); if (ret == GRIB_SUCCESS) { + postprocess_packingType_change(h, name, val); return grib_dependency_notify_change(a); } return ret; diff --git a/tests/grib_change_packing.sh b/tests/grib_change_packing.sh index 2b4d8ebf5..e9aa4743a 100755 --- a/tests/grib_change_packing.sh +++ b/tests/grib_change_packing.sh @@ -144,9 +144,15 @@ fi # grid_simple_log_preprocessing # ----------------------------- input=${data_dir}/sample.grib2 -${tools_dir}/grib_set -r -s packingType=grid_simple_log_preprocessing $input $temp +${tools_dir}/grib_set -r -s packingType=grid_simple_log_preprocessing $input $temp 2> $temp_err grib_check_key_equals $temp packingType 'grid_simple_log_preprocessing' ${tools_dir}/grib_compare -c data:n -R packedValues=2e-6 $input $temp +# ECC-1897 +grep -q "ECCODES WARNING.*is experimental" $temp_err + +${tools_dir}/grib_set -r -s packingType=grid_simple_matrix $input $temp 2> $temp_err +grep -q "ECCODES WARNING.*is experimental" $temp_err + # Large constant fields # ----------------------- From c1ecf9533435e9f6895484f7af28fd49a410c99e Mon Sep 17 00:00:00 2001 From: shahramn Date: Sat, 3 Aug 2024 15:59:26 +0100 Subject: [PATCH 60/63] Cosmetics --- ...ass_data_g1second_order_general_packing.cc | 1 - ..._data_g1second_order_row_by_row_packing.cc | 1 - ...ib_accessor_class_data_g22order_packing.cc | 1 - .../grib_accessor_class_number_of_points.cc | 1 - ...ccessor_class_number_of_points_gaussian.cc | 1 - ...grib_accessor_class_octahedral_gaussian.cc | 1 - .../grib_accessor_class_step_in_units.cc | 4 +- src/accessor/grib_accessor_class_sum.cc | 1 - .../grib_accessor_class_suppressed.cc | 1 - src/accessor/grib_accessor_class_time.cc | 1 - src/accessor/grib_accessor_class_to_double.cc | 1 - .../grib_accessor_class_to_integer.cc | 1 - src/accessor/grib_accessor_class_to_string.cc | 1 - .../grib_accessor_class_transient_darray.cc | 1 - ...b_accessor_class_unexpanded_descriptors.cc | 10 ++--- .../grib_accessor_class_unpack_bufr_values.cc | 1 - .../grib_accessor_class_unsigned_bits.cc | 37 +++++++++---------- .../grib_accessor_class_validity_date.cc | 1 - .../grib_accessor_class_validity_time.cc | 5 +-- src/accessor/grib_accessor_class_values.cc | 3 +- src/accessor/grib_accessor_class_vector.cc | 1 - src/accessor/grib_accessor_class_when.cc | 1 - src/step.cc | 1 + 23 files changed, 28 insertions(+), 49 deletions(-) diff --git a/src/accessor/grib_accessor_class_data_g1second_order_general_packing.cc b/src/accessor/grib_accessor_class_data_g1second_order_general_packing.cc index 8fb0165d0..3ee5f6a4f 100644 --- a/src/accessor/grib_accessor_class_data_g1second_order_general_packing.cc +++ b/src/accessor/grib_accessor_class_data_g1second_order_general_packing.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/accessor/grib_accessor_class_data_g1second_order_row_by_row_packing.cc b/src/accessor/grib_accessor_class_data_g1second_order_row_by_row_packing.cc index afed13ca2..7697a3a69 100644 --- a/src/accessor/grib_accessor_class_data_g1second_order_row_by_row_packing.cc +++ b/src/accessor/grib_accessor_class_data_g1second_order_row_by_row_packing.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/accessor/grib_accessor_class_data_g22order_packing.cc b/src/accessor/grib_accessor_class_data_g22order_packing.cc index 0fefbc6de..aefef16c8 100644 --- a/src/accessor/grib_accessor_class_data_g22order_packing.cc +++ b/src/accessor/grib_accessor_class_data_g22order_packing.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/accessor/grib_accessor_class_number_of_points.cc b/src/accessor/grib_accessor_class_number_of_points.cc index d12eabeae..53fcf6fbe 100644 --- a/src/accessor/grib_accessor_class_number_of_points.cc +++ b/src/accessor/grib_accessor_class_number_of_points.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/accessor/grib_accessor_class_number_of_points_gaussian.cc b/src/accessor/grib_accessor_class_number_of_points_gaussian.cc index 7959a6360..cf8fa8db0 100644 --- a/src/accessor/grib_accessor_class_number_of_points_gaussian.cc +++ b/src/accessor/grib_accessor_class_number_of_points_gaussian.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/accessor/grib_accessor_class_octahedral_gaussian.cc b/src/accessor/grib_accessor_class_octahedral_gaussian.cc index eda90763f..69074bef3 100644 --- a/src/accessor/grib_accessor_class_octahedral_gaussian.cc +++ b/src/accessor/grib_accessor_class_octahedral_gaussian.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/accessor/grib_accessor_class_step_in_units.cc b/src/accessor/grib_accessor_class_step_in_units.cc index 52086d700..e5fd32b8f 100644 --- a/src/accessor/grib_accessor_class_step_in_units.cc +++ b/src/accessor/grib_accessor_class_step_in_units.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -10,7 +9,6 @@ */ #include "grib_accessor_class_step_in_units.h" -#include "step.h" #include "step_utilities.h" #include @@ -97,7 +95,7 @@ int grib_accessor_class_step_in_units_t::unpack_double(grib_accessor* a, double return GRIB_SUCCESS; } -int pack_long_new_(grib_accessor* a, const long start_step_value, const long start_step_unit, const long force_step_units) +static int pack_long_new_(grib_accessor* a, const long start_step_value, const long start_step_unit, const long force_step_units) { const grib_accessor_step_in_units_t* self = (grib_accessor_step_in_units_t*)a; grib_handle* h = grib_handle_of_accessor(a); diff --git a/src/accessor/grib_accessor_class_sum.cc b/src/accessor/grib_accessor_class_sum.cc index e4bbeea95..5eb3882d1 100644 --- a/src/accessor/grib_accessor_class_sum.cc +++ b/src/accessor/grib_accessor_class_sum.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/accessor/grib_accessor_class_suppressed.cc b/src/accessor/grib_accessor_class_suppressed.cc index 10a99ee64..7cc05c5e1 100644 --- a/src/accessor/grib_accessor_class_suppressed.cc +++ b/src/accessor/grib_accessor_class_suppressed.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/accessor/grib_accessor_class_time.cc b/src/accessor/grib_accessor_class_time.cc index e70fc3d49..921114465 100644 --- a/src/accessor/grib_accessor_class_time.cc +++ b/src/accessor/grib_accessor_class_time.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/accessor/grib_accessor_class_to_double.cc b/src/accessor/grib_accessor_class_to_double.cc index 2983be487..afe26f2a1 100644 --- a/src/accessor/grib_accessor_class_to_double.cc +++ b/src/accessor/grib_accessor_class_to_double.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/accessor/grib_accessor_class_to_integer.cc b/src/accessor/grib_accessor_class_to_integer.cc index a4b621b8d..827812db8 100644 --- a/src/accessor/grib_accessor_class_to_integer.cc +++ b/src/accessor/grib_accessor_class_to_integer.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/accessor/grib_accessor_class_to_string.cc b/src/accessor/grib_accessor_class_to_string.cc index d0fd72727..c6b093a5f 100644 --- a/src/accessor/grib_accessor_class_to_string.cc +++ b/src/accessor/grib_accessor_class_to_string.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/accessor/grib_accessor_class_transient_darray.cc b/src/accessor/grib_accessor_class_transient_darray.cc index 71d404f0d..3766bb218 100644 --- a/src/accessor/grib_accessor_class_transient_darray.cc +++ b/src/accessor/grib_accessor_class_transient_darray.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/accessor/grib_accessor_class_unexpanded_descriptors.cc b/src/accessor/grib_accessor_class_unexpanded_descriptors.cc index 5c9402360..36e7112a6 100644 --- a/src/accessor/grib_accessor_class_unexpanded_descriptors.cc +++ b/src/accessor/grib_accessor_class_unexpanded_descriptors.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -20,7 +19,7 @@ void grib_accessor_class_unexpanded_descriptors_t::init(grib_accessor* a, const grib_accessor_class_long_t::init(a, len, args); grib_accessor_unexpanded_descriptors_t* self = (grib_accessor_unexpanded_descriptors_t*)a; - int n = 0; + int n = 0; grib_handle* hand = grib_handle_of_accessor(a); self->unexpandedDescriptorsEncoded = grib_find_accessor(hand, grib_arguments_get_name(hand, args, n++)); self->createNewData = grib_arguments_get_name(hand, args, n++); @@ -30,9 +29,10 @@ void grib_accessor_class_unexpanded_descriptors_t::init(grib_accessor* a, const int grib_accessor_class_unexpanded_descriptors_t::unpack_long(grib_accessor* a, long* val, size_t* len) { grib_accessor_unexpanded_descriptors_t* self = (grib_accessor_unexpanded_descriptors_t*)a; - int ret = 0; - long pos = 0; - long rlen = 0; + + int ret = 0; + long pos = 0; + long rlen = 0; long f, x, y; long* v = val; long i; diff --git a/src/accessor/grib_accessor_class_unpack_bufr_values.cc b/src/accessor/grib_accessor_class_unpack_bufr_values.cc index 3497bbbe2..9f6495989 100644 --- a/src/accessor/grib_accessor_class_unpack_bufr_values.cc +++ b/src/accessor/grib_accessor_class_unpack_bufr_values.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/accessor/grib_accessor_class_unsigned_bits.cc b/src/accessor/grib_accessor_class_unsigned_bits.cc index 44873938a..4e6f058fe 100644 --- a/src/accessor/grib_accessor_class_unsigned_bits.cc +++ b/src/accessor/grib_accessor_class_unsigned_bits.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -39,26 +38,26 @@ static long compute_byte_count(grib_accessor* a) return (numberOfBits * numberOfElements + 7) / 8; } - void grib_accessor_class_unsigned_bits_t::init(grib_accessor* a, const long len, grib_arguments* args) { grib_accessor_class_long_t::init(a, len, args); grib_accessor_unsigned_bits_t* self = (grib_accessor_unsigned_bits_t*)a; - int n = 0; - self->numberOfBits = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); - self->numberOfElements = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); - a->length = compute_byte_count(a); + + int n = 0; + self->numberOfBits = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); + self->numberOfElements = grib_arguments_get_name(grib_handle_of_accessor(a), args, n++); + a->length = compute_byte_count(a); } int grib_accessor_class_unsigned_bits_t::unpack_long(grib_accessor* a, long* val, size_t* len) { grib_accessor_unsigned_bits_t* self = (grib_accessor_unsigned_bits_t*)a; - int ret = 0; - long pos = a->offset * 8; - long rlen = 0; - long numberOfBits = 0; - ret = value_count(a, &rlen); + long pos = a->offset * 8; + long rlen = 0; + long numberOfBits = 0; + + int ret = value_count(a, &rlen); if (ret) return ret; @@ -89,14 +88,14 @@ int grib_accessor_class_unsigned_bits_t::unpack_long(grib_accessor* a, long* val int grib_accessor_class_unsigned_bits_t::pack_long(grib_accessor* a, const long* val, size_t* len) { grib_accessor_unsigned_bits_t* self = (grib_accessor_unsigned_bits_t*)a; - int ret = 0; - long off = 0; - long numberOfBits = 0; - size_t buflen = 0; - unsigned char* buf = NULL; - unsigned long i = 0; - long rlen = 0; - ret = value_count(a, &rlen); + + long off = 0; + long numberOfBits = 0; + size_t buflen = 0; + unsigned char* buf = NULL; + unsigned long i = 0; + long rlen = 0; + int ret = value_count(a, &rlen); if (ret) return ret; /* diff --git a/src/accessor/grib_accessor_class_validity_date.cc b/src/accessor/grib_accessor_class_validity_date.cc index 1f28f2c3f..99e0eb47a 100644 --- a/src/accessor/grib_accessor_class_validity_date.cc +++ b/src/accessor/grib_accessor_class_validity_date.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/accessor/grib_accessor_class_validity_time.cc b/src/accessor/grib_accessor_class_validity_time.cc index cdb0fdf93..6f692e154 100644 --- a/src/accessor/grib_accessor_class_validity_time.cc +++ b/src/accessor/grib_accessor_class_validity_time.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -19,9 +18,9 @@ void grib_accessor_class_validity_time_t::init(grib_accessor* a, const long l, g { grib_accessor_class_long_t::init(a, l, c); grib_accessor_validity_time_t* self = (grib_accessor_validity_time_t*)a; - grib_handle* hand = grib_handle_of_accessor(a); - int n = 0; + grib_handle* hand = grib_handle_of_accessor(a); + int n = 0; self->date = grib_arguments_get_name(hand, c, n++); self->time = grib_arguments_get_name(hand, c, n++); self->step = grib_arguments_get_name(hand, c, n++); diff --git a/src/accessor/grib_accessor_class_values.cc b/src/accessor/grib_accessor_class_values.cc index cd2107559..c8afd7787 100644 --- a/src/accessor/grib_accessor_class_values.cc +++ b/src/accessor/grib_accessor_class_values.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * @@ -17,7 +16,7 @@ grib_accessor_class* grib_accessor_class_values = &_grib_accessor_class_values; long init_length(grib_accessor* a) { grib_accessor_values_t* self = (grib_accessor_values_t*)a; - int ret = 0; + int ret = 0; long seclen = 0; long offsetsection = 0; diff --git a/src/accessor/grib_accessor_class_vector.cc b/src/accessor/grib_accessor_class_vector.cc index a5def256f..d9ae76406 100644 --- a/src/accessor/grib_accessor_class_vector.cc +++ b/src/accessor/grib_accessor_class_vector.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/accessor/grib_accessor_class_when.cc b/src/accessor/grib_accessor_class_when.cc index 48db76803..a17f111ea 100644 --- a/src/accessor/grib_accessor_class_when.cc +++ b/src/accessor/grib_accessor_class_when.cc @@ -1,4 +1,3 @@ - /* * (C) Copyright 2005- ECMWF. * diff --git a/src/step.cc b/src/step.cc index ff5560378..34a71743b 100644 --- a/src/step.cc +++ b/src/step.cc @@ -7,6 +7,7 @@ * 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. */ +#undef NDEBUG // activate the asserts #include #include From c81b491edc27d11229a8029e1844ba557dabefce Mon Sep 17 00:00:00 2001 From: shahramn Date: Sat, 3 Aug 2024 16:48:50 +0100 Subject: [PATCH 61/63] Testing: Increase coverage --- .../grib_accessor_class_cf_var_name.cc | 8 +++---- tests/grib_statistics.sh | 22 ++++++++++++++----- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/accessor/grib_accessor_class_cf_var_name.cc b/src/accessor/grib_accessor_class_cf_var_name.cc index 7018ab376..41f42ff30 100644 --- a/src/accessor/grib_accessor_class_cf_var_name.cc +++ b/src/accessor/grib_accessor_class_cf_var_name.cc @@ -35,12 +35,10 @@ int grib_accessor_class_cf_var_name_t::unpack_string(grib_accessor* a, char* val int err = grib_get_string(h, self->defaultKey, defaultKey, &size); if (err) return err; + Assert(size > 0); + Assert(strlen(defaultKey) > 0); - if (size == 0) { - // Should not ever happen - snprintf(val, 1024, "%s", "unknown"); - } - else if ( STR_EQUAL(defaultKey, "~") || isdigit(defaultKey[0]) ) { + if ( STR_EQUAL(defaultKey, "~") || isdigit(defaultKey[0]) ) { // NetCDF variables cannot start with a digit long paramId = 0; err = grib_get_long(h, "paramId", ¶mId); diff --git a/tests/grib_statistics.sh b/tests/grib_statistics.sh index 9cf7719e3..9a71f7082 100755 --- a/tests/grib_statistics.sh +++ b/tests/grib_statistics.sh @@ -13,6 +13,8 @@ label="grib_statistics_test" temp1=temp1.$label.grib temp2=temp2.$label.grib +tempFilt=temp2.$label.filt +tempText=temp2.$label.txt files="regular_latlon_surface.grib2 regular_latlon_surface.grib1" @@ -23,7 +25,7 @@ for file in $files; do # Once it is finished, it sets dirty_statistics to 0. # If you get min,max again, no computation is done (because dirty_statistics==0) # But once the data values are changed, then dirty_statistics is once again 1 -cat >statistics.filter< $tempFilt <statistics.filter< statistics.out - -diff statistics.out ${data_dir}/statistics.out.good +${tools_dir}/grib_filter $tempFilt ${data_dir}/$file > $tempText +diff ${data_dir}/statistics.out.good $tempText done -rm -f statistics.out statistics.filter +rm -f $tempText $tempFilt # GRIB with no missing values but some entries = 9999 @@ -74,4 +75,13 @@ input=${data_dir}/gfs.complex.mvmu.grib2 stats=`${tools_dir}/grib_get -F%.2f -p max,min,avg $input` [ "$stats" = "2.81 0.00 0.30" ] -rm -f $temp1 $temp2 +# Decode as string - Null op +cat >$tempFilt< Date: Sat, 3 Aug 2024 16:56:29 +0100 Subject: [PATCH 62/63] Testing: Increase coverage --- src/accessor/grib_accessor_class_unsigned.cc | 35 +++++++++----------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/src/accessor/grib_accessor_class_unsigned.cc b/src/accessor/grib_accessor_class_unsigned.cc index 8093e3a6a..14ca831a3 100644 --- a/src/accessor/grib_accessor_class_unsigned.cc +++ b/src/accessor/grib_accessor_class_unsigned.cc @@ -10,7 +10,6 @@ #include "grib_accessor_class_unsigned.h" - grib_accessor_class_unsigned_t _grib_accessor_class_unsigned("unsigned"); grib_accessor_class* grib_accessor_class_unsigned = &_grib_accessor_class_unsigned; @@ -67,17 +66,17 @@ int value_is_missing(long val) int pack_long_unsigned_helper(grib_accessor* a, const long* val, size_t* len, int check) { grib_accessor_unsigned_t* self = (grib_accessor_unsigned_t*)a; - int ret = 0; - long off = 0; - long rlen = 0; - int err = 0; + + int ret = 0; + long off = 0; + long rlen = 0; size_t buflen = 0; unsigned char* buf = NULL; unsigned long i = 0; unsigned long missing = 0; - err = a->value_count(&rlen); + int err = a->value_count(&rlen); if (err) return err; @@ -164,13 +163,14 @@ int pack_long_unsigned_helper(grib_accessor* a, const long* val, size_t* len, in int grib_accessor_class_unsigned_t::unpack_long(grib_accessor* a, long* val, size_t* len) { grib_accessor_unsigned_t* self = (grib_accessor_unsigned_t*)a; - long rlen = 0; - unsigned long i = 0; - unsigned long missing = 0; - long count = 0; - int err = 0; - long pos = a->offset * 8; - grib_handle* hand = grib_handle_of_accessor(a); + + long rlen = 0; + unsigned long i = 0; + unsigned long missing = 0; + long count = 0; + int err = 0; + long pos = a->offset * 8; + grib_handle* hand = grib_handle_of_accessor(a); err = a->value_count(&count); if (err) @@ -243,8 +243,7 @@ long grib_accessor_class_unsigned_t::next_offset(grib_accessor* a) int grib_accessor_class_unsigned_t::is_missing(grib_accessor* a) { - int i = 0; - unsigned char ff = 0xff; + const unsigned char ff = 0xff; unsigned long offset = a->offset; grib_handle* hand = grib_handle_of_accessor(a); @@ -253,7 +252,7 @@ int grib_accessor_class_unsigned_t::is_missing(grib_accessor* a) return a->vvalue->missing; } - for (i = 0; i < a->length; i++) { + for (long i = 0; i < a->length; i++) { if (hand->buffer->data[offset] != ff) { return 0; } @@ -264,9 +263,7 @@ int grib_accessor_class_unsigned_t::is_missing(grib_accessor* a) void grib_accessor_class_unsigned_t::destroy(grib_context* context, grib_accessor* a) { - if (a->vvalue != NULL) - grib_context_free(context, a->vvalue); - + grib_context_free(context, a->vvalue); a->vvalue = NULL; grib_accessor_class_long_t::destroy(context, a); From db8d72582e344a7e4f5155ba5379826f543e2b1f Mon Sep 17 00:00:00 2001 From: shahramn Date: Sat, 3 Aug 2024 17:10:21 +0100 Subject: [PATCH 63/63] Testing: Increase coverage --- tests/grib_filter_fail.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/grib_filter_fail.sh b/tests/grib_filter_fail.sh index 8afd89811..3f77cf436 100755 --- a/tests/grib_filter_fail.sh +++ b/tests/grib_filter_fail.sh @@ -120,6 +120,24 @@ set -e grep -q "ECCODES ERROR.*failed for 'unicorn'" $tempOut grep -q "Function not yet implemented" $tempOut +# Direction Increment +# -------------------- +input="${samp_dir}/GRIB1.tmpl" +cat >$tempFilt < $tempOut +status=$? +set -e +[ $status -ne 0 ] +grep -q "Cannot compute lat/lon increments. Not enough points" $tempOut + + # Clean up rm -f $tempGrib $tempFilt $tempOut $tempRef