Merge develop

This commit is contained in:
Shahram Najm 2021-03-03 16:43:39 +00:00
commit 45fab8f12a
490 changed files with 8252 additions and 8174 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -14041,7 +14041,6 @@ dist_definitionsgrib2_DATA = \
grib2/template.7.6.def\
grib2/template.7.61.def\
grib2/template.7.second_order.def\
grib2/template.second_order.def\
grib2/tiggeLocalVersion.table\
grib2/tigge_name.def\
grib2/tigge_parameter.def\

View File

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

View File

@ -18,8 +18,8 @@ alias rdb.localHour=localHour;
alias rdb.localMinute=localMinute;
alias rdb.localSecond=localSecond;
meta localDate sprintf("%.4d%.2d%.2d",localYear,localMonth,localDay) : no_copy,read_only;
meta localTime sprintf("%.2d%.2d",localHour,localMinute) : no_copy,read_only;
meta localDate sprintf("%.4d%.2d%.2d",localYear,localMonth,localDay) : no_copy;
meta localTime sprintf("%.2d%.2d",localHour,localMinute) : no_copy;
meta localDateTime julian_date(localYear,localMonth,localDay,localHour,localMinute,localSecond) : no_copy;
alias mars.date = localDate;
alias mars.time = localTime;
@ -41,8 +41,8 @@ meta rdbtimeSecond bits(rdbtime,17,6) : dump,long_type,no_copy;
meta rdbtimeYear rdbtime_guess_date(typicalYear,typicalMonth,typicalDay,rdbtimeDay,1);
meta rdbtimeMonth rdbtime_guess_date(typicalYear,typicalMonth,typicalDay,rdbtimeDay,2);
meta ls.rdbtimeDate sprintf("%.4d%.2d%.2d",rdbtimeYear,rdbtimeMonth,rdbtimeDay) : no_copy,read_only;
meta ls.rdbtimeTime sprintf("%.2d%.2d%.2d",rdbtimeHour,rdbtimeMinute,rdbtimeSecond) :dump,no_copy,read_only;
meta ls.rdbtimeDate sprintf("%.4d%.2d%.2d",rdbtimeYear,rdbtimeMonth,rdbtimeDay) : no_copy;
meta ls.rdbtimeTime sprintf("%.2d%.2d%.2d",rdbtimeHour,rdbtimeMinute,rdbtimeSecond) :dump,no_copy;
meta rdbDateTime julian_date(rdbtimeYear,rdbtimeMonth,rdbtimeDay,rdbtimeHour,rdbtimeMinute,rdbtimeSecond) : no_copy;

View File

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

View File

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

View File

@ -32,8 +32,15 @@ while (<>) {
#No Title_en SubTitle_en CodeFlag Value MeaningParameterDescription_en Note_en UnitComments_en Status
#my ($rowid, $title, $subtitle, $codeFlag, $value, $meaning, $note, $unit, $status) = split(/\t/);
s/Hovmöller/Hovmoller/;
s/Carrée/Carree/;
s/μm/um/;
s/°C/degree C/;
s/f\(n\) = C2 × f\(n-1\)/f(n) = C2 * f(n-1)/;
s/\(see separate doc or pdf file\)/see separate doc or pdf file/;
my ($title, $subtitle, $codeFlag, $value, $meaning, $note, $unit, $status) = split(/\t/);
if ($title =~ /Code table ([0-9.]+)/) {
$codetable = $1;
if ($subtitle =~ /Product [Dd]iscipline (\d+).*parameter category (\d+)/) {
@ -69,11 +76,13 @@ sub WriteFile {
print MYFILE "# $title\n";
}
my $unit_text = ($unit eq "" ? "" : "($unit)");
$unit_text =~ s/\(\(Code /(Code /;
$unit_text =~ s/\)\)/)/;
if ($codeFlag =~ /\-/) {
print MYFILE "# $codeFlag $meaning $unit_text\n";
} else {
my $codeFlag1 = $codeFlag;
my $codeFlag2 = $codeFlag;
my $codeFlag1 = $codeFlag; # A number
my $codeFlag2 = $codeFlag; # A number or string abbreviation
if ($filename eq "1.4.table") {
# Special case. Do not just put 2nd code, translate it to shortName for 'mars type'
$codeFlag2 = TranslateCodes_Table_1_4($codeFlag);

View File

@ -1,37 +1,4 @@
# ECMWF concept type of level
'surface' = {indicatorOfTypeOfLevel=1;}
'cloudBase' = {indicatorOfTypeOfLevel=2;}
'cloudTop' = {indicatorOfTypeOfLevel=3;}
'isothermZero' = {indicatorOfTypeOfLevel=4;}
'adiabaticCondensation' = {indicatorOfTypeOfLevel=5;}
'maxWind' = {indicatorOfTypeOfLevel=6;}
'tropopause' = {indicatorOfTypeOfLevel=7;}
'nominalTop' = {indicatorOfTypeOfLevel=8;}
'seaBottom' = {indicatorOfTypeOfLevel=9;}
'isobaricInhPa' = {indicatorOfTypeOfLevel=100;}
'isobaricInPa' = {indicatorOfTypeOfLevel=210;}
'isobaricLayer' = {indicatorOfTypeOfLevel=101;}
'meanSea' = {indicatorOfTypeOfLevel=102;}
'isobaricLayerHighPrecision' = {indicatorOfTypeOfLevel=121;}
'isobaricLayerMixedPrecision' = {indicatorOfTypeOfLevel=141;}
'heightAboveSea' = {indicatorOfTypeOfLevel=103;}
'heightAboveSeaLayer' = {indicatorOfTypeOfLevel=104;}
'heightAboveGroundHighPrecision' = {indicatorOfTypeOfLevel=125;}
'heightAboveGround' = {indicatorOfTypeOfLevel=105;}
'heightAboveGroundLayer' = {indicatorOfTypeOfLevel=106;}
'sigma' = {indicatorOfTypeOfLevel=107;}
'sigmaLayer' = {indicatorOfTypeOfLevel=108;}
'sigmaLayerHighPrecision' = {indicatorOfTypeOfLevel=128;}
'hybrid' = {indicatorOfTypeOfLevel=109;}
'hybridLayer' = {indicatorOfTypeOfLevel=110;}
'depthBelowLand' = {indicatorOfTypeOfLevel=111;}
'depthBelowLandLayer' = {indicatorOfTypeOfLevel=112;}
'theta' = {indicatorOfTypeOfLevel=113;}
'thetaLayer' = {indicatorOfTypeOfLevel=114;}
'pressureFromGround' = {indicatorOfTypeOfLevel=115;}
'pressureFromGroundLayer' = {indicatorOfTypeOfLevel=116;}
'potentialVorticity' = {indicatorOfTypeOfLevel=117;}
'depthBelowSea' = {indicatorOfTypeOfLevel=160;}
'entireAtmosphere' = {indicatorOfTypeOfLevel=200;level=0;}
'entireOcean' = {indicatorOfTypeOfLevel=201;level=0;}
'oceanWave' = {indicatorOfTypeOfLevel=211;}

View File

@ -11,7 +11,6 @@ alias radiusInMetres=radius;
transient shapeOfTheEarth=0: hidden; #ECC-811
# NV -- number of vertical coordinate parameters
unsigned[1] numberOfVerticalCoordinateValues : dump ;
constant neitherPresent = 255;
@ -33,12 +32,9 @@ meta gridDefinitionDescription codetable_title(dataRepresentationType);
# (according to data representation type - octet 6 above)
alias isRotatedGrid=zero;
if (dataRepresentationType < 192)
{
if (dataRepresentationType < 192) {
template dataRepresentation "grib1/grid_definition_[dataRepresentationType:l].def";
}
else
{
} else {
template dataRepresentation "grib1/grid_definition_[dataRepresentationType:l].[centre:l].def";
}
position endGridDefinition;
@ -46,15 +42,13 @@ position endGridDefinition;
position offsetBeforePV;
transient PVPresent = ( NV > 0);
if (pvlLocation != neitherPresent)
{
if (pvlLocation != neitherPresent) {
padto padding_sec2_2(offsetSection2 + pvlLocation - 1);
} else {
padto padding_sec2_2(offsetSection2 + 32 );
}
if(PVPresent )
{
if (PVPresent ) {
ibmfloat pv[NV] : dump;
alias vertical.pv=pv;
}
@ -62,10 +56,9 @@ if(PVPresent )
position offsetBeforePL;
transient PLPresent = (section2Length > (offsetBeforePL - offsetSection2))
&& (section2Length >= (Nj * 2 + offsetBeforePL - offsetSection2)) ;
&& (section2Length >= (Nj * 2 + offsetBeforePL - offsetSection2));
if(PLPresent)
{
if (PLPresent) {
# For grib 1 -> 2
constant numberOfOctectsForNumberOfPoints = 2;
constant interpretationOfNumberOfPoints = 1;
@ -74,8 +67,7 @@ if(PLPresent)
alias geography.pl=pl;
}
if(PVPresent == 0 && PLPresent == 0)
{
if (PVPresent == 0 && PLPresent == 0) {
# pad to the end of the grid definiton as in documentation
# ( gribex compatibility )
padto padding_sec2_1(offsetSection2 + 32);

View File

@ -9,6 +9,8 @@
# This gets updated twice a year by WMO.
# See http://www.wmo.int/pages/prog/www/WMOCodes/WMO306_vI2/LatestVERSION/LatestVERSION.html
constant tablesVersionLatestOfficial = 26 : edition_specific;
# If this is different from the official version, then it is the pre-operational version
constant tablesVersionLatest = 27 : edition_specific;
constant million = 1000000 : hidden;

View File

@ -176,6 +176,15 @@
parameterCategory = 3 ;
parameterNumber = 0 ;
}
#Direct solar radiation
'dsrp' = {
discipline = 0 ;
parameterCategory = 4 ;
parameterNumber = 54 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
#10 metre wind gust since previous post-processing
'fg10' = {
discipline = 0 ;
@ -1088,6 +1097,24 @@
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 ;
}
#Time integral of surface latent heat sublimation flux
'tislhsf' = {
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 31 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
#Cross sectional area of flow in channel
'chcross' = {
discipline = 1 ;
@ -1702,6 +1729,21 @@
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 ;
}
#Universal thermal climate index
'utci' = {
discipline = 20 ;

View File

@ -45,6 +45,7 @@ concept efas_post_proc {
"lisflood_eric" = { typeOfPostProcessing=2 ; }
"lisflood_season" = { typeOfPostProcessing=3 ; }
"lisflood_merged" = { typeOfPostProcessing=4 ; }
"lisflood_global" = { typeOfPostProcessing=5 ; }
"ericha" = { typeOfPostProcessing=51 ; }
"htessel_lisflood" = { typeOfPostProcessing=101; }
"htessel_eric" = { typeOfPostProcessing=102; }

View File

@ -245,12 +245,6 @@
parameterCategory = 128 ;
parameterNumber = 46 ;
}
#Direct solar radiation
'dsrp' = {
discipline = 192 ;
parameterCategory = 128 ;
parameterNumber = 47 ;
}
#Magnitude of turbulent surface stress
'magss' = {
discipline = 192 ;

View File

@ -190,3 +190,9 @@
parameterCategory = 174 ;
parameterNumber = 8 ;
}
#Direct solar radiation
'dsrp' = {
discipline = 192 ;
parameterCategory = 128 ;
parameterNumber = 47 ;
}

View File

@ -245,12 +245,6 @@
parameterCategory = 128 ;
parameterNumber = 46 ;
}
#Direct solar radiation
'Direct solar radiation' = {
discipline = 192 ;
parameterCategory = 128 ;
parameterNumber = 47 ;
}
#Magnitude of turbulent surface stress
'Magnitude of turbulent surface stress' = {
discipline = 192 ;

View File

@ -190,3 +190,9 @@
parameterCategory = 174 ;
parameterNumber = 8 ;
}
#Direct solar radiation
'Direct solar radiation' = {
discipline = 192 ;
parameterCategory = 128 ;
parameterNumber = 47 ;
}

View File

@ -245,12 +245,6 @@
parameterCategory = 128 ;
parameterNumber = 46 ;
}
#Direct solar radiation
'47' = {
discipline = 192 ;
parameterCategory = 128 ;
parameterNumber = 47 ;
}
#Magnitude of turbulent surface stress
'48' = {
discipline = 192 ;

View File

@ -190,3 +190,9 @@
parameterCategory = 174 ;
parameterNumber = 8 ;
}
#Direct solar radiation
'47' = {
discipline = 192 ;
parameterCategory = 128 ;
parameterNumber = 47 ;
}

View File

@ -245,12 +245,6 @@
parameterCategory = 128 ;
parameterNumber = 46 ;
}
#Direct solar radiation
'dsrp' = {
discipline = 192 ;
parameterCategory = 128 ;
parameterNumber = 47 ;
}
#Magnitude of turbulent surface stress
'magss' = {
discipline = 192 ;

View File

@ -190,3 +190,9 @@
parameterCategory = 174 ;
parameterNumber = 8 ;
}
#Direct solar radiation
'dsrp' = {
discipline = 192 ;
parameterCategory = 128 ;
parameterNumber = 47 ;
}

View File

@ -245,12 +245,6 @@
parameterCategory = 128 ;
parameterNumber = 46 ;
}
#Direct solar radiation
'J m**-2' = {
discipline = 192 ;
parameterCategory = 128 ;
parameterNumber = 47 ;
}
#Magnitude of turbulent surface stress
'N m**-2 s' = {
discipline = 192 ;

View File

@ -190,3 +190,9 @@
parameterCategory = 174 ;
parameterNumber = 8 ;
}
#Direct solar radiation
'J m**-2' = {
discipline = 192 ;
parameterCategory = 128 ;
parameterNumber = 47 ;
}

View File

@ -0,0 +1,33 @@
# Concept typeOfLevel for kwbc
'atmosphereSingleLayer' = {typeOfFirstFixedSurface=200;}
'oceanSingleLayer' = {typeOfFirstFixedSurface=201;}
'highestTroposphericFreezing' = {typeOfFirstFixedSurface=204;}
'gridScaleCloudBottom' = {typeOfFirstFixedSurface=206;}
'gridScaleCloudTop' = {typeOfFirstFixedSurface=207;}
'boundaryLayerCloudBottom' = {typeOfFirstFixedSurface=209;}
'boundaryLayerCloudTop' = {typeOfFirstFixedSurface=210;}
'boundaryLayerCloudLayer' = {typeOfFirstFixedSurface=211;}
'lowCloudBottom' = {typeOfFirstFixedSurface=212;}
'lowCloudTop' = {typeOfFirstFixedSurface=213;}
'lowCloudLayer' = {typeOfFirstFixedSurface=214;}
'cloudCeiling' = {typeOfFirstFixedSurface=215;}
'planetaryBoundaryLayer' = {typeOfFirstFixedSurface=220;}
'layerBetween2Hybrids' = {typeOfFirstFixedSurface=221;}
'middleCloudBottom' = {typeOfFirstFixedSurface=222;}
'middleCloudTop' = {typeOfFirstFixedSurface=223;}
'middleCloudLayer' = {typeOfFirstFixedSurface=224;}
'highCloudBottom' = {typeOfFirstFixedSurface=232;}
'highCloudTop' = {typeOfFirstFixedSurface=233;}
'highCloudLayer' = {typeOfFirstFixedSurface=234;}
'oceanIsotherm' = {typeOfFirstFixedSurface=235;}
'oceanMixedLayer' = {typeOfFirstFixedSurface=240;}
'orderedSequenceData' = {typeOfFirstFixedSurface=241;}
'convectiveCloudBottom' = {typeOfFirstFixedSurface=242;}
'convectiveCloudTop' = {typeOfFirstFixedSurface=243;}
'convectiveCloudLayer' = {typeOfFirstFixedSurface=244;}
'lowestLevelWetBulb0' = {typeOfFirstFixedSurface=245;}
'equilibrium' = {typeOfFirstFixedSurface=247;}
'shallowConvectiveCloudBottom' = {typeOfFirstFixedSurface=248;}
'shallowConvectiveCloudTop' = {typeOfFirstFixedSurface=249;}
'deepConvectiveCloudBottom' = {typeOfFirstFixedSurface=251;}
'deepConvectiveCloudTop' = {typeOfFirstFixedSurface=252;}

View File

@ -176,6 +176,15 @@
parameterCategory = 3 ;
parameterNumber = 0 ;
}
#Direct solar radiation
'Direct solar radiation' = {
discipline = 0 ;
parameterCategory = 4 ;
parameterNumber = 54 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
#10 metre wind gust since previous post-processing
'10 metre wind gust since previous post-processing' = {
discipline = 0 ;
@ -1088,6 +1097,24 @@
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
#Time integral of surface latent heat evaporation flux
'Time integral of surface latent heat evaporation flux' = {
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 30 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
#Time integral of surface latent heat sublimation flux
'Time integral of surface latent heat sublimation flux' = {
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 31 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
#Cross sectional area of flow in channel
'Cross sectional area of flow in channel' = {
discipline = 1 ;
@ -1702,6 +1729,21 @@
parameterCategory = 4 ;
parameterNumber = 19 ;
}
#Volumetric soil ice
'Volumetric soil ice' = {
discipline = 2 ;
parameterCategory = 0 ;
parameterNumber = 38 ;
}
#Time integral of total solid precipitation flux
'Time integral of total solid precipitation flux' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 128 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
#Universal thermal climate index
'Universal thermal climate index' = {
discipline = 20 ;

View File

@ -176,6 +176,15 @@
parameterCategory = 3 ;
parameterNumber = 0 ;
}
#Direct solar radiation
'47' = {
discipline = 0 ;
parameterCategory = 4 ;
parameterNumber = 54 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
#10 metre wind gust since previous post-processing
'49' = {
discipline = 0 ;
@ -1088,6 +1097,24 @@
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
#Time integral of surface latent heat evaporation flux
'235019' = {
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 30 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
#Time integral of surface latent heat sublimation flux
'235071' = {
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 31 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
#Cross sectional area of flow in channel
'240011' = {
discipline = 1 ;
@ -1702,6 +1729,21 @@
parameterCategory = 4 ;
parameterNumber = 19 ;
}
#Volumetric soil ice
'260644' = {
discipline = 2 ;
parameterCategory = 0 ;
parameterNumber = 38 ;
}
#Time integral of total solid precipitation flux
'260645' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 128 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
#Universal thermal climate index
'261001' = {
discipline = 20 ;

View File

@ -17,12 +17,12 @@ alias originatingCentre=centre;
unsigned[2] subCentre : dump;
_if (subCentre==98 ) {
alias centreForLocal=subCentre;
alias centreForLocal=subCentre;
} else {
alias centreForLocal=centre;
alias centreForLocal=centre;
}
codetable[1] tablesVersion 'grib2/tables/1.0.table' = tablesVersionLatest : edition_specific;
codetable[1] tablesVersion 'grib2/tables/1.0.table' = tablesVersionLatestOfficial : edition_specific;
alias gribMasterTablesVersionNumber=tablesVersion;
transient masterDir="grib2/tables/[tablesVersion]";
@ -46,32 +46,21 @@ if (localTablesVersion != 0 and localTablesVersion != 255) {
# Significance of Reference Time
codetable[1] significanceOfReferenceTime ('1.2.table',masterDir,localDir) = 1 : dump;
# Year
# (4 digits)
unsigned[2] year ;
# Year (4 digits)
unsigned[2] year;
unsigned[1] month;
unsigned[1] day;
unsigned[1] hour;
unsigned[1] minute;
unsigned[1] second;
# Month
unsigned[1] month ;
# Day
unsigned[1] day ;
# Hour
unsigned[1] hour ;
# Minute
unsigned[1] minute ;
# Second
unsigned[1] second ;
meta dataDate g2date(year,month,day) : dump;
meta dataDate g2date(year,month,day) : dump;
alias mars.date = dataDate;
alias ls.date = dataDate;
meta julianDay julian_day(dataDate,hour,minute,second) : edition_specific;
meta dataTime time(hour,minute,second) : dump;
meta dataTime time(hour,minute,second) : dump;
alias mars.time = dataTime;
# Production status of processed data in this GRIB message

View File

@ -29,7 +29,7 @@ if ( addEmptySection2 == 0 ) {
}
codetable[2] grib2LocalSectionNumber 'grib2/grib2LocalSectionNumber.[centreForLocal:l].table' = 1 : dump;
if (grib2LocalSectionNumber!=0) {
template_nofail local "grib2/local.[centreForLocal:l].def";
} else {
@ -41,5 +41,3 @@ if ( addEmptySection2 == 0 ) {
section_padding section2Padding : read_only;

View File

@ -1,8 +1,6 @@
# (C) Copyright 2005- ECMWF.
# START grib2::section
# SECTION 3, GRID DEFINITION SECTION
# Length of section in octets
# For grib2 -> 1
constant gridDescriptionSectionPresent = 1;
@ -11,21 +9,20 @@ position offsetSection3;
section_length[4] section3Length ;
meta section3Pointer section_pointer(offsetSection3,section3Length,3);
# Number of section
unsigned[1] numberOfSection = 3 :read_only;
# Source of grid definition
# Source of grid definition
codetable[1] sourceOfGridDefinition ('3.0.table',masterDir,localDir) ;
# Number of data points
unsigned[4] numberOfDataPoints : dump;
# Number of data points
unsigned[4] numberOfDataPoints : dump;
alias numberOfPoints=numberOfDataPoints;
# Number of octets for optional list of numbers defining number of points
# Number of octets for optional list of numbers defining number of points
unsigned[1] numberOfOctectsForNumberOfPoints;
# Interpretation of list of numbers defining number of points
codetable[1] interpretationOfNumberOfPoints ('3.11.table',masterDir,localDir) : dump;
# Interpretation of list of numbers defining number of points
codetable[1] interpretationOfNumberOfPoints ('3.11.table',masterDir,localDir) : dump;
if(numberOfOctectsForNumberOfPoints == 0){
transient PLPresent = 0 ;

View File

@ -8,7 +8,7 @@ meta section4Pointer section_pointer(offsetSection4,section4Length,4);
unsigned[1] numberOfSection = 4:read_only;
unsigned[2] NV : dump ;
unsigned[2] NV : dump ;
alias numberOfVerticalCoordinateValues=NV ;
alias numberOfCoordinatesValues=NV;
# For table 4.5, code 150 Generalized vertical height coordinate
@ -48,7 +48,7 @@ if (defined(typeOfFirstFixedSurface)) {
if (genVertHeightCoords) {
# Generalized vertical height coordinate case
ieeefloat nlev : dump ;
ieeefloat nlev : dump ;
ieeefloat numberOfVGridUsed : dump;
byte[16] uuidOfVGrid : dump;
@ -72,7 +72,6 @@ else {
concept_nofail deletePV(unknown) {
"1" = { PVPresent=0; NV=0; }
}
}
meta md5Section4 md5(offsetSection4,section4Length);

View File

@ -2,26 +2,21 @@
position offsetBSection5;
# START grib2::section
# SECTION 5, DATA REPRESENTATION SECTION
# Length of section in octets
# (nn)
position offsetSection5;
section_length[4] section5Length ;
meta section5 section_pointer(offsetSection5,section5Length,5);
# Number of section
unsigned[1] numberOfSection =5 : read_only;
# Number of data points where one or more values are specified in Section 7 when a bit map is present,
# total number of data pints when a bit map is absent.
unsigned[4] numberOfValues : dump;
# Number of data points where one or more values are specified in Section 7 when a bit map is present,
# total number of data pints when a bit map is absent.
unsigned[4] numberOfValues : dump;
alias numberOfCodedValues=numberOfValues;
alias numberOfEffectiveValues=numberOfValues;
# Data Representation Template Number
codetable[2] dataRepresentationTemplateNumber ('5.0.table',masterDir,localDir) : edition_specific;
concept packingType (unknown) {

View File

@ -1,9 +1,6 @@
# (C) Copyright 2005- ECMWF.
# START grib2::section
# SECTION 6, BIT-MAP SECTION
# Length of section in octets
# (nn)
position offsetSection6;
position offsetBSection6;
@ -21,20 +18,16 @@ meta geography.bitmapPresent g2bitmap_present(bitMapIndicator): dump;
transient missingValuesPresent = bitmapPresent : hidden, read_only;
# Bitmap...
if(bitMapIndicator == 0)
{
if(dataRepresentationTemplateNumber == 1)
{
if(matrixBitmapsPresent == 1)
{
if (bitMapIndicator == 0) {
if (dataRepresentationTemplateNumber == 1) {
if (matrixBitmapsPresent == 1) {
meta primaryBitmap g2bitmap( tableReference,
missingValue,
offsetBSection6,
section6Length,
numberOfDataMatrices) : read_only;
}
else
{
else {
meta geography.bitmap g2bitmap( tableReference,
missingValue,
offsetBSection6,
@ -42,8 +35,7 @@ if(bitMapIndicator == 0)
numberOfDataPoints) : read_only;
}
}
else
{
else {
meta geography.bitmap g2bitmap( tableReference,
missingValue,
offsetBSection6,
@ -52,7 +44,7 @@ if(bitMapIndicator == 0)
}
}
if(bitMapIndicator == 255)
if (bitMapIndicator == 255)
{
# No bitmap is used but some complex packing schemes embed the missing values in the data section
if (dataRepresentationTemplateNumber == 2 || dataRepresentationTemplateNumber == 3) {

View File

@ -1,16 +1,12 @@
# (C) Copyright 2005- ECMWF.
# START grib2::section
# SECTION 7, DATA SECTION
# Length of section in octets
# (nn)
position offsetSection7;
section_length[4] section7Length ;
meta section7 section_pointer(offsetSection7,section7Length,7);
# Number of section
unsigned[1] numberOfSection = 7:read_only;
# Octets 6-nn : Data in a format described by Data Template 7.x, where x is the Data Representation
@ -20,22 +16,21 @@ position offsetBeforeData;
template dataValues "grib2/template.7.[dataRepresentationTemplateNumber:l].def";
#}
meta changeDecimalPrecision decimal_precision(bitsPerValue,decimalScaleFactor,changingPrecision,values) : edition_specific;
meta decimalPrecision decimal_precision(bitsPerValue,decimalScaleFactor,changingPrecision) : edition_specific;
meta changeDecimalPrecision decimal_precision(bitsPerValue,decimalScaleFactor,changingPrecision,values) : edition_specific;
meta decimalPrecision decimal_precision(bitsPerValue,decimalScaleFactor,changingPrecision) : edition_specific;
alias setDecimalPrecision=changeDecimalPrecision;
meta setBitsPerValue bits_per_value(values,bitsPerValue) : edition_specific;
meta setBitsPerValue bits_per_value(values,bitsPerValue) : edition_specific;
meta getNumberOfValues size(values) : edition_specific,dump ;
meta scaleValuesBy scale_values(values,missingValue) : edition_specific;
meta offsetValuesBy offset_values(values,missingValue) : edition_specific;
meta scaleValuesBy scale_values(values,missingValue) : edition_specific;
meta offsetValuesBy offset_values(values,missingValue) : edition_specific;
concept productType(unknown) {
"obstat" = {grib2LocalSectionPresent=1; centre=98; grib2LocalSectionNumber=500;productDefinitionTemplateNumber=2000;}
"obstat" = {grib2LocalSectionPresent=1; centre=98; grib2LocalSectionNumber=500;productDefinitionTemplateNumber=2000;}
}
position offsetAfterData;
meta md5Section7 md5(offsetSection7,section7Length);
alias md5DataSection = md5Section7;

View File

@ -14,7 +14,7 @@ alias section2Used=zero;
alias setLocalDefinition=grib2LocalSectionPresent;
transient deleteLocalDefinition=0;
if( (sectionNumber == 2 or grib2LocalSectionPresent>0) and deleteLocalDefinition == 0 ){
if ( (sectionNumber == 2 or grib2LocalSectionPresent>0) and deleteLocalDefinition == 0 ) {
position sectionPosition;
template section_2 "grib2/section.2.def";
}
@ -22,15 +22,14 @@ alias localUsePresent=section2Used;
lookup[1] sectionNumber(4) ;
if(sectionNumber == 3 or new() ){
if (sectionNumber == 3 or new() ){
position sectionPosition;
template section_3 "grib2/section.3.def";
}
lookup[1] sectionNumber(4) ;
if(sectionNumber == 4 or new() ){
if (sectionNumber == 4 or new() ) {
position sectionPosition;
template section_4 "grib2/section.4.def";
}
@ -43,24 +42,23 @@ meta md5Headers md5(startOfHeaders,lengthOfHeaders);
lookup[1] sectionNumber(4) ;
if(sectionNumber == 5 or new() ){
if (sectionNumber == 5 or new() ) {
position sectionPosition;
template section_5 "grib2/section.5.def";
}
lookup[1] sectionNumber(4) ;
if(sectionNumber == 6 or new() ){
if (sectionNumber == 6 or new() ) {
position sectionPosition;
template section_6 "grib2/section.6.def";
}
lookup[1] sectionNumber(4) ;
if(sectionNumber == 7 or new() ){
if (sectionNumber == 7 or new() ) {
position sectionPosition;
template section_7 "grib2/section.7.def";
}
#template metas "grib2/meta.def";
#template metas "grib2/meta.def";

View File

@ -176,6 +176,15 @@
parameterCategory = 3 ;
parameterNumber = 0 ;
}
#Direct solar radiation
'dsrp' = {
discipline = 0 ;
parameterCategory = 4 ;
parameterNumber = 54 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
#10 metre wind gust since previous post-processing
'10fg' = {
discipline = 0 ;
@ -1088,6 +1097,24 @@
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 ;
}
#Time integral of surface latent heat sublimation flux
'tislhsf' = {
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 31 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 255 ;
typeOfStatisticalProcessing = 1 ;
}
#Cross sectional area of flow in channel
'chcross' = {
discipline = 1 ;
@ -1702,6 +1729,21 @@
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 ;
}
#Universal thermal climate index
'utci' = {
discipline = 20 ;

View File

@ -1,5 +1,4 @@
0 0 Confidence level ('grib2/4.151.table')
0 0 Confidence level (4.151.table)
1 1 Delta time (seconds)
192 192 Reserved for local use
193 193 Reserved for local use

View File

@ -1,5 +1,4 @@
0 0 Confidence level ('grib2/4.151.table')
0 0 Confidence level (4.151.table)
1 1 Delta time (seconds)
192 192 Reserved for local use
193 193 Reserved for local use

View File

@ -1,6 +1,5 @@
# CODE TABLE 4.15, Type of auxiliary information
0 0 Confidence level ('grib2/4.151.table')
0 0 Confidence level (4.151.table)
1 1 Delta time (seconds)
192 192 Reserved for local use
193 193 Reserved for local use

View File

@ -7,7 +7,7 @@
5 5 HF absorption frequency (Hz)
6 6 HF absorption (dB)
7 7 Spread F (m)
8 8 h (m)
8 8 h'F (m)
9 9 Critical frequency (Hz)
10 10 Maximal usable frequency (MUF) (Hz)
11 11 Peak height (hm) (m)

View File

@ -7,7 +7,7 @@
5 5 HF absorption frequency (Hz)
6 6 HF absorption (dB)
7 7 Spread F (m)
8 8 h (m)
8 8 h'F (m)
9 9 Critical frequency (Hz)
10 10 Maximal usable frequency (MUF) (Hz)
11 11 Peak height (hm) (m)

View File

@ -68,8 +68,10 @@
83 83 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol with source or sink
84 84 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol with source or sink
85 85 Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
88 88 Analysis or Forecast at a horizontal level or in a horizontal layer at a local time
# 86-90 Reserved
86 86 Quantile forecasts at a horizontal level or in a horizontal layer at a point in time
87 87 Quantile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
88 88 Analysis or forecast at a horizontal level or in a horizontal layer at a specified local time
# 89-90 Reserved
91 91 Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
# 92-253 Reserved
254 254 CCITT IA5 character string

View File

@ -31,6 +31,6 @@
29 29 Temperature advection (K s-1)
30 30 Latent heat net flux due to evaporation (W m-2)
31 31 Latent heat net flux due to sublimation (W m-2)
# 32-191 Reserved
# 32-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -62,7 +62,7 @@
60 60 Snow depth water equivalent (kg m-2)
61 61 Snow density (kg m-3)
62 62 Snow evaporation (kg m-2)
63 63 Reserved
63 63 Reserved
64 64 Total column integrated water vapour (kg m-2)
65 65 Rain precipitation rate (kg m-2 s-1)
66 66 Snow precipitation rate (kg m-2 s-1)
@ -126,7 +126,7 @@
124 124 Presence of showers (Code table 4.222)
125 125 Presence of blowing snow (Code table 4.222)
126 126 Presence of blizzard (Code table 4.222)
127 127 Ice pellets (non water equivalent) precipitation rate (m/s)
127 127 Ice pellets (non-water equivalent) precipitation rate (m/s)
128 128 Total solid precipitation rate (kg m-2 s-1)
129 129 Effective radius of cloud water (m)
130 130 Effective radius of rain (m)
@ -143,8 +143,9 @@
141 141 Effective aspect ratio of hail (-)
142 142 Effective aspect ratio of subgrid ice clouds (-)
143 143 Potential evaporation rate (kg m2 s1)
144 144 specific rain water content (convective) (kg kg-1)
145 145 specific snow water content (convective) (kg kg-1)
# 146-191 Reserved
144 144 Specific rain water content (convective) (kg kg-1)
145 145 Specific snow water content (convective) (kg kg-1)
146 146 Cloud ice precipitation rate (kg m-2 s-1)
# 147-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Aerosol type (Code table 4.205)
# 1-191 Reserved
# 1-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -2,6 +2,6 @@
0 0 Total ozone (DU)
1 1 Ozone mixing ratio (kg/kg)
2 2 Total column integrated ozone (DU)
# 3-191 Reserved
# 3-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -16,6 +16,6 @@
14 14 Reflectivity of hail (dB)
15 15 Hybrid scan reflectivity (dB)
16 16 Hybrid scan reflectivity height (m)
# 17-191 Reserved
# 17-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -5,6 +5,6 @@
3 3 Echo top (m)
4 4 Reflectivity (dB)
5 5 Composite reflectivity (dB)
# 6-191 Reserved
# 6-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -8,7 +8,7 @@
6 6 Time-integrated air concentration of caesium pollutant (Bq s m-3)
7 7 Time-integrated air concentration of iodine pollutant (Bq s m-3)
8 8 Time-integrated air concentration of radioactive pollutant (Bq s m-3)
9 9 Reserved
9 9 Reserved
10 10 Air concentration (Bq m-3)
11 11 Wet deposition (Bq m-2)
12 12 Dry deposition (Bq m-2)
@ -18,6 +18,6 @@
16 16 Height of maximum air concentration (m)
17 17 Column-integrated air concentration (Bq m-2)
18 18 Column-averaged air concentration in layer (Bq m-3)
# 19-191 Reserved
# 19-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -40,6 +40,6 @@
38 38 Sky transparency index (Code Table 4.214)
39 39 Seeing index (Code Table 4.214)
40 40 Snow level (m)
# 41-191 Reserved
# 41-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Arbitrary text string (CCITT IA5)
# 1-191 Reserved
# 1-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -3,6 +3,6 @@
1 1 Geographical latitude (deg N)
2 2 Geographical longitude (deg E)
3 3 Days since last observation (d)
# 4-191 Reserved
# 4-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -46,6 +46,6 @@
44 44 Geostrophic wind speed (m s-1)
45 45 Unbalanced component of divergence (s-1)
46 46 Vorticity advection (s-2)
# 47-191 Reserved
# 47-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -17,7 +17,7 @@
15 15 Dry deposition velocity (m/s)
16 16 Mass mixing ratio with respect to dry air (kg/kg)
17 17 Mass mixing ratio with respect to wet air (kg/kg)
# 18-49 Reserved
# 18-49 Reserved
50 50 Amount in atmosphere (mol)
51 51 Concentration in air (mol m-3)
52 52 Volume mixing ratio (fraction in air) (mol/mol)
@ -46,7 +46,7 @@
75 75 Wildfire flux (kg m-2 s-1)
76 76 Emission rate (kg kg-1 s-1)
77 77 Surface emission flux (kg m-2 s-1)
# 78-99 Reserved
# 78-99 Reserved
100 100 Surface area density (aerosol) (/m)
101 101 Vertical visual range (m)
102 102 Aerosol optical thickness (Numeric)
@ -59,6 +59,6 @@
109 109 Aerosol lidar extinction from satellite (/m)
110 110 Aerosol lidar extinction from the ground (/m)
111 111 Angstrom exponent (Numeric)
# 112-191 Reserved
# 112-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -31,6 +31,6 @@
29 29 Updraught detrainment rate (kg m-3 s-1)
30 30 Downdraught detrainment rate (kg m-3 s-1)
31 31 Unbalanced component of logarithm of surface pressure (-)
# 32-191 Reserved
# 32-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -14,12 +14,12 @@
12 12 Downward UV radiation (W m-2)
13 13 Direct short-wave radiation flux (W m-2)
14 14 Diffuse short-wave radiation flux (W m-2)
# 15-49 Reserved
# 15-49 Reserved
50 50 UV index (under clear sky) (Numeric)
51 51 UV index (Numeric)
52 52 Downward short-wave radiation flux, clear sky (W m-2)
53 53 Upward short-wave radiation flux, clear sky (W m-2)
54 54 Direct normal short-wave radiation flux (W m-2)
# 55-191 Reserved
# 55-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -8,6 +8,6 @@
6 6 Net long-wave radiation flux, clear sky (W m-2)
7 7 Brightness temperature (K)
8 8 Downward long-wave radiation flux, clear sky (W m-2)
# 9-191 Reserved
# 9-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -40,7 +40,7 @@
38 38 Mass density of cloud droplets (kg m-3)
39 39 Mass density of cloud ice (kg m-3)
40 40 Mass density of convective cloud water droplets (kg m-3)
# 41-46 Reserved
# 41-46 Reserved
47 47 Volume fraction of cloud water droplets (Numeric)
48 48 Volume fraction of cloud ice particles (Numeric)
49 49 Volume fraction of cloud (ice and/or water) (Numeric)

View File

@ -13,7 +13,7 @@
11 11 Best (4-layer) lifted index (K)
12 12 Richardson number (Numeric)
13 13 Showalter index (K)
14 14 Reserved
14 14 Reserved
15 15 Updraught helicity (m2 s-2)
16 16 Bulk Richardson number (Numeric)
17 17 Gradient Richardson number (Numeric)

View File

@ -16,6 +16,6 @@
14 14 Upstream accumulated precipitation (kg m-2)
15 15 Upstream accumulated snow melt (kg m-2)
16 16 Percolation rate (kg m-2 s-1)
# 17-191 Reserved
# 17-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -2,6 +2,6 @@
0 0 Conditional per cent precipitation amount fractile for an overall period (Encoded as an accumulation) (kg m-2)
1 1 Per cent precipitation in a sub-period of an overall period (Encoded as per cent accumulation over the sub-period) (%)
2 2 Probability of 0.01 inch of precipitation (POP) (%)
# 3-191 Reserved
# 3-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -13,3 +13,7 @@
11 11 Attenuation coefficient of water with respect to solar radiation (/m)
12 12 Salinity (kg/kg)
13 13 Cross-sectional area of flow in channel (m2)
14 14 Snow temperature (K)
# 15-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -64,6 +64,13 @@
62 62 Wave frequency width (-)
63 63 Frequency width of wind waves (-)
64 64 Frequency width of total swell (-)
# 65-191 Reserved
65 65 Peak wave period of first swell partition (s)
66 66 Peak wave period of second swell partition (s)
67 67 Peak wave period of third swell partition (s)
68 68 Peak wave direction of first swell partition (degree true)
69 69 Peak wave direction of second swell partition (degree true)
70 70 Peak wave direction of third swell partition (degree true)
71 71 Peak direction of wind waves (degree true)
# 72-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -4,6 +4,6 @@
2 2 u-component of current (m/s)
3 3 v-component of current (m/s)
4 4 Rip current occurrence probability (%)
# 5-191 Reserved
# 5-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -1,8 +1,9 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Seconds prior to initial reference time (defined in Section 1) (s)
1 1 Meridional overturning stream function (m3/s)
2 2 Reserved
2 2 Reserved
3 3 Days since last observation (d)
# 4-191 Reserved
4 4 Barotropic stream function (m3 s-1)
# 5-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -12,6 +12,7 @@
10 10 Zonal vector component of vertically integrated ice internal pressure (Pa m)
11 11 Meridional vector component of vertically integrated ice internal pressure (Pa m)
12 12 Compressive ice strength (N/m)
# 13-191 Reserved
13 13 Snow temperature (over sea-ice) (K)
# 14-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -3,6 +3,14 @@
1 1 Deviation of sea level from mean (m)
2 2 Heat exchange coefficient (-)
3 3 Practical salinity (Numeric)
# 4-191 Reserved
4 4 Downward heat flux (W m-2)
5 5 Eastward surface stress (N m-2)
6 6 Northward surface stress (N m-2)
7 7 x-component surface stress (N m-2)
8 8 y-component surface stress (N m-2)
9 9 Thermosteric change in sea surface height (m)
10 10 Halosteric change in sea surface height (m)
11 11 Steric change in sea surface height (m)
# 12-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -7,7 +7,7 @@
5 5 Ocean vertical salt diffusivity (m2/s)
6 6 Ocean vertical momentum diffusivity (m2/s)
7 7 Bathymetry (m)
# 8-10 Reserved
# 8-10 Reserved
11 11 Shape factor with respect to salinity profile (-)
12 12 Shape factor with respect to temperature profile in thermocline (-)
13 13 Attenuation coefficient of water with respect to solar radiation (/m)
@ -19,6 +19,12 @@
19 19 Water potential density (rho theta) (kg m-3)
20 20 Water potential density anomaly (sigma theta) (kg m-3)
21 21 Practical salinity (Numeric)
# 22-191 Reserved
22 22 Water column-integrated heat content (J m-2)
23 23 Eastward water velocity (m s-1)
24 24 Northward water velocity (m s-1)
25 25 x-component water velocity (m s-1)
26 26 y-component water velocity (m s-1)
27 27 Upward water velocity (m s-1)
# 28-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -39,6 +39,7 @@
37 37 Tile percentage (%)
38 38 Soil volumetric ice content (water equivalent) (m3 m-3)
39 39 Evapotranspiration rate (kg m-2 s-1)
# 40-191 Reserved
40 40 Potential evapotranspiration rate (kg m-2 s-1)
# 41-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -28,6 +28,7 @@
26 26 Soil heat flux (W m-2)
27 27 Soil depth (m)
28 28 Snow temperature (K)
# 29-191 Reserved
29 29 Ice temperature (K)
# 30-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -15,10 +15,10 @@
13 13 Drought factor (as defined by the Australian forest service ) (Numeric)
14 14 Rate of spread (as defined by the Australian forest service ) (m/s)
15 15 Fire danger index (as defined by the Australian forest service ) (Numeric)
16 16 Spread component (as defined by the U.S Forest Service National Fire-Danger Rating System) (Numeric)
17 17 Burning index (as defined by the U.S Forest Service National Fire-Danger Rating System) (Numeric)
18 18 Ignition component (as defined by the U.S Forest Service National Fire-Danger Rating System) (%)
19 19 Energy release component (as defined by the U.S Forest Service National Fire-Danger Rating System) (Joule/m2)
16 16 Spread component (as defined by the U.S Forest Service National Fire Danger Rating System) (Numeric)
17 17 Burning index (as defined by the U.S Forest Service National Fire Danger Rating System) (Numeric)
18 18 Ignition component (as defined by the U.S Forest Service National Fire Danger Rating System) (%)
19 19 Energy release component (as defined by the U.S Forest Service National Fire Danger Rating System) (Joule/m2)
# 20-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -1,6 +1,6 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Glacier cover (Proportion)
1 1 Glacier temperature (K)
# 2-191 Reserved
# 2-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -1,6 +1,6 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Universal thermal climate index (K)
1 1 Mean radiant temperature (K)
# 2-191 Reserved
# 2-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -9,6 +9,6 @@
7 7 Anopheles vector to host ratio (Fraction)
8 8 Anopheles vector number (Number m-2)
9 9 Fraction of malarial vector reproductive habitat (Fraction)
# 10-191 Reserved
# 10-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -1,5 +1,5 @@
# Code table 4.2 - Parameter number by product discipline and parameter category
0 0 Population density (Person m-2)
# 1-191 Reserved
# 1-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -9,6 +9,6 @@
7 7 Cloud mask (Code table 4.217)
8 8 Pixel scene type (Code table 4.218)
9 9 Fire detection indicator (Code table 4.223)
# 10-191 Reserved
# 10-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -17,19 +17,19 @@
15 15 Clear-sky brightness temperature (K)
16 16 Cloudy radiance (with respect to wave number) (W m-1 sr-1)
17 17 Clear-sky radiance (with respect to wave number) (W m-1 sr-1)
18 18 Reserved
18 18 Reserved
19 19 Wind speed (m/s)
20 20 Aerosol optical thickness at 0.635 um
21 21 Aerosol optical thickness at 0.810 um
22 22 Aerosol optical thickness at 1.640 um
23 23 Angstrom coefficient
# 24-26 Reserved
# 24-26 Reserved
27 27 Bidirectional reflectance factor (numeric)
28 28 Brightness temperature (K)
29 29 Scaled radiance (numeric)
# 30-97 Reserved
# 30-97 Reserved
98 98 Correlation coefficient between MPE rain-rates for the co-located IR data and the microwave data rain-rates (Numeric)
99 99 Standard deviation between MPE rain-rates for the co-located IR data and the microwave data rain-rates (kg m-2 s-1)
# 100-191 Reserved
# 100-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -5,6 +5,6 @@
3 3 Ion temperature (K)
4 4 Parallel temperature (K)
5 5 Perpendicular temperature (K)
# 6-191 Reserved
# 6-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -3,6 +3,6 @@
1 1 1st vector component of velocity (coordinate system dependent) (m s-1)
2 2 2nd vector component of velocity (coordinate system dependent) (m s-1)
3 3 3rd vector component of velocity (coordinate system dependent) (m s-1)
# 4-191 Reserved
# 4-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -7,6 +7,6 @@
5 5 Kp (Numeric)
6 6 Equatorial disturbance storm time index (Dst) (nT)
7 7 Auroral Electrojet (AE) (nT)
# 8-191 Reserved
# 8-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -7,12 +7,12 @@
5 5 HF absorption frequency (Hz)
6 6 HF absorption (dB)
7 7 Spread F (m)
8 8 h (m)
8 8 h'F (m)
9 9 Critical frequency (Hz)
10 10 Maximal usable frequency (MUF) (Hz)
11 11 Peak height (hm) (m)
12 12 Peak density (Nm) (m-3)
13 13 Equivalent slab thickness (tau) (km)
# 14-191 Reserved
# 14-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -7,6 +7,6 @@
5 5 1st vector component of electric field (V m-1)
6 6 2nd vector component of electric field (V m-1)
7 7 3rd vector component of electric field (V m-1)
# 8-191 Reserved
# 8-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -6,6 +6,6 @@
4 4 Heavy ion flux (differential) ((m2 s sr eV/nuc)-1)
5 5 Heavy ion flux (integral) ((m2 s sr)-1)
6 6 Cosmic ray neutron flux (/h)
# 7-191 Reserved
# 7-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -3,6 +3,6 @@
1 1 Phase (rad)
2 2 Frequency (Hz)
3 3 Wave length (m)
# 4-191 Reserved
# 4-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -6,6 +6,6 @@
4 4 Solar spectral irradiance (W m-2 nm-1)
5 5 F10.7 (W m-2 Hz-1)
6 6 Solar radio emissions (W m-2 Hz-1)
# 7-191 Reserved
# 7-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

View File

@ -3,6 +3,6 @@
1 1 Disk intensity (J m-2 s-1)
2 2 Disk intensity day (J m-2 s-1)
3 3 Disk intensity night (J m-2 s-1)
# 4-191 Reserved
# 4-191 Reserved
# 192-254 Reserved for local use
255 255 Missing

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