mirror of https://github.com/ecmwf/eccodes.git
Merge develop
This commit is contained in:
commit
45fab8f12a
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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\
|
||||
|
|
|
@ -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+$/);
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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) ;
|
||||
|
||||
|
|
|
@ -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) ;
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 ;
|
||||
|
|
|
@ -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; }
|
||||
|
|
|
@ -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 ;
|
||||
|
|
|
@ -190,3 +190,9 @@
|
|||
parameterCategory = 174 ;
|
||||
parameterNumber = 8 ;
|
||||
}
|
||||
#Direct solar radiation
|
||||
'dsrp' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 47 ;
|
||||
}
|
||||
|
|
|
@ -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 ;
|
||||
|
|
|
@ -190,3 +190,9 @@
|
|||
parameterCategory = 174 ;
|
||||
parameterNumber = 8 ;
|
||||
}
|
||||
#Direct solar radiation
|
||||
'Direct solar radiation' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 47 ;
|
||||
}
|
||||
|
|
|
@ -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 ;
|
||||
|
|
|
@ -190,3 +190,9 @@
|
|||
parameterCategory = 174 ;
|
||||
parameterNumber = 8 ;
|
||||
}
|
||||
#Direct solar radiation
|
||||
'47' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 47 ;
|
||||
}
|
||||
|
|
|
@ -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 ;
|
||||
|
|
|
@ -190,3 +190,9 @@
|
|||
parameterCategory = 174 ;
|
||||
parameterNumber = 8 ;
|
||||
}
|
||||
#Direct solar radiation
|
||||
'dsrp' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 47 ;
|
||||
}
|
||||
|
|
|
@ -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 ;
|
||||
|
|
|
@ -190,3 +190,9 @@
|
|||
parameterCategory = 174 ;
|
||||
parameterNumber = 8 ;
|
||||
}
|
||||
#Direct solar radiation
|
||||
'J m**-2' = {
|
||||
discipline = 192 ;
|
||||
parameterCategory = 128 ;
|
||||
parameterNumber = 47 ;
|
||||
}
|
||||
|
|
|
@ -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;}
|
|
@ -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 ;
|
||||
|
|
|
@ -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 ;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -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 ;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 ;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 m–2 s–1)
|
||||
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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
Loading…
Reference in New Issue