mirror of https://github.com/ecmwf/eccodes.git
Merge branch 'develop' into feature/ECC-1620_sub-hourly
This commit is contained in:
commit
6d4227638f
|
@ -143,4 +143,11 @@
|
|||
289 289 Zambia (NMC)
|
||||
291 anso Alliance of International Science Organizations (Beijing, China)
|
||||
292 ufz Helmholtz Centre for Environmental Research
|
||||
293 293 University of Bremen
|
||||
294 294 Netherlands Institute for Space Research (SRON)
|
||||
295 295 The Royal Belgian Institute for Space Aeronomy (BIRA-IASB)
|
||||
296 296 The French National Centre for Scientific Research (CNRS)
|
||||
297 297 The Nanjing Institute of Environmental Sciences (NIES)
|
||||
298 298 Dynamic Meteorology Laboratory (LMD)
|
||||
299 299 The Rutherford Appleton Laboratory (RAL)
|
||||
65535 65535 Missing value
|
||||
|
|
|
@ -104,6 +104,15 @@ sub WriteFile {
|
|||
elsif ($filename eq "4.5.table") {
|
||||
$codeFlag2 = TranslateCodes_Table_4_5($codeFlag);
|
||||
}
|
||||
elsif ($filename eq "4.241.table") {
|
||||
$codeFlag2 = TranslateCodes_Table_4_241($codeFlag);
|
||||
}
|
||||
elsif ($filename eq "4.242.table") {
|
||||
$codeFlag2 = TranslateCodes_Table_4_242($codeFlag);
|
||||
}
|
||||
elsif ($filename eq "4.252.table") {
|
||||
$codeFlag2 = TranslateCodes_Table_4_252($codeFlag);
|
||||
}
|
||||
elsif ($filename eq "3.15.table") {
|
||||
$codeFlag2 = TranslateCodes_Table_3_15($codeFlag);
|
||||
}
|
||||
|
@ -153,8 +162,6 @@ sub TranslateCodes_Table_3_15 {
|
|||
return $code;
|
||||
}
|
||||
|
||||
###################################################################################################
|
||||
# This is for Code Table 1.4
|
||||
sub TranslateCodes_Table_1_4 {
|
||||
my ($code) = @_;
|
||||
return "an" if ($code eq "0");
|
||||
|
@ -170,7 +177,6 @@ sub TranslateCodes_Table_1_4 {
|
|||
return $code;
|
||||
}
|
||||
|
||||
###################################################################################################
|
||||
sub TranslateCodes_Table_4_4 {
|
||||
my ($code) = @_;
|
||||
return "m" if ($code eq "0");
|
||||
|
@ -188,7 +194,6 @@ sub TranslateCodes_Table_4_4 {
|
|||
return $code;
|
||||
}
|
||||
|
||||
###################################################################################################
|
||||
sub TranslateCodes_Table_4_5 {
|
||||
my ($code) = @_;
|
||||
return "sfc" if ($code eq "1" || $code eq "7" ||
|
||||
|
@ -207,3 +212,181 @@ sub TranslateCodes_Table_4_5 {
|
|||
return "sol" if ($code eq "152");
|
||||
return $code;
|
||||
}
|
||||
|
||||
sub TranslateCodes_Table_4_241 {
|
||||
my ($code) = @_;
|
||||
return "UNDEF" if ($code eq "0");
|
||||
return "UNMOD" if ($code eq "1");
|
||||
return "SNOW" if ($code eq "2");
|
||||
return "FLOOD" if ($code eq "3");
|
||||
return "ICE" if ($code eq "4");
|
||||
return "ITCW" if ($code eq "5");
|
||||
return "ITCS" if ($code eq "6");
|
||||
return "AGG" if ($code eq "7");
|
||||
return $code;
|
||||
}
|
||||
|
||||
sub TranslateCodes_Table_4_242 {
|
||||
my ($code) = @_;
|
||||
|
||||
return "GCV2009" if ($code eq "1");
|
||||
return "GLC2000" if ($code eq "2");
|
||||
return "ECOCLIMAP" if ($code eq "3");
|
||||
return "ECOCLIMAP-SG" if ($code eq "4");
|
||||
return "GLCCv2BATS" if ($code eq "5");
|
||||
return $code;
|
||||
}
|
||||
|
||||
sub TranslateCodes_Table_4_252 {
|
||||
my ($code) = @_;
|
||||
|
||||
return "SEOC" if ($code eq "1");
|
||||
return "INWB" if ($code eq "2");
|
||||
return "BARE" if ($code eq "3");
|
||||
return "HIV" if ($code eq "4");
|
||||
return "LOV" if ($code eq "5");
|
||||
return "URBAN" if ($code eq "6");
|
||||
return "SEAO" if ($code eq "1001");
|
||||
return "LAKE" if ($code eq "1002");
|
||||
return "RIVE" if ($code eq "1003");
|
||||
return "NO" if ($code eq "1004");
|
||||
return "ROCK" if ($code eq "1005");
|
||||
return "SNOW" if ($code eq "1006");
|
||||
return "BOBD" if ($code eq "1007");
|
||||
return "TEBD" if ($code eq "1008");
|
||||
return "TRBD" if ($code eq "1009");
|
||||
return "TEBE" if ($code eq "1010");
|
||||
return "TRBE" if ($code eq "1011");
|
||||
return "BONE" if ($code eq "1012");
|
||||
return "TENE" if ($code eq "1013");
|
||||
return "BOND" if ($code eq "1014");
|
||||
return "SHRB" if ($code eq "1015");
|
||||
return "BOGR" if ($code eq "1016");
|
||||
return "GRAS" if ($code eq "1017");
|
||||
return "TROG" if ($code eq "1018");
|
||||
return "C3W" if ($code eq "1019");
|
||||
return "C3S" if ($code eq "1020");
|
||||
return "C4" if ($code eq "1021");
|
||||
return "FLTR" if ($code eq "1022");
|
||||
return "FLGR" if ($code eq "1023");
|
||||
return "LCZ1" if ($code eq "1024");
|
||||
return "LCZ2" if ($code eq "1025");
|
||||
return "LCZ3" if ($code eq "1026");
|
||||
return "LCZ4" if ($code eq "1027");
|
||||
return "LCZ5" if ($code eq "1028");
|
||||
return "LCZ6" if ($code eq "1029");
|
||||
return "LCZ7" if ($code eq "1030");
|
||||
return "LCZ8" if ($code eq "1031");
|
||||
return "LCZ9" if ($code eq "1032");
|
||||
return "LCZ10" if ($code eq "1033");
|
||||
return "TEBDU" if ($code eq "1034");
|
||||
return "TRBDU" if ($code eq "1035");
|
||||
return "TEBEU" if ($code eq "1036");
|
||||
return "TRBEU" if ($code eq "1037");
|
||||
return "BONEU" if ($code eq "1038");
|
||||
return "TENEU" if ($code eq "1039");
|
||||
return "BONDU" if ($code eq "1040");
|
||||
return "GNATU" if ($code eq "1501");
|
||||
return "GNOFO" if ($code eq "1502");
|
||||
return "GFORE" if ($code eq "1503");
|
||||
return "GNOVE" if ($code eq "1504");
|
||||
return "GTREE" if ($code eq "1505");
|
||||
return "GLVEG" if ($code eq "1506");
|
||||
return "GNFLV" if ($code eq "1507");
|
||||
return "GCROP" if ($code eq "1508");
|
||||
return "GGRAS" if ($code eq "1509");
|
||||
return "GBARO" if ($code eq "1510");
|
||||
return "GC3CR" if ($code eq "1511");
|
||||
return "GBFOR" if ($code eq "1512");
|
||||
return "GNFOR" if ($code eq "1513");
|
||||
return "GDBFO" if ($code eq "1514");
|
||||
return "GTGRA" if ($code eq "1515");
|
||||
return "GNFNF" if ($code eq "1516");
|
||||
return "GBFFT" if ($code eq "1517");
|
||||
return "GBTRE" if ($code eq "1518");
|
||||
return "GCGRA" if ($code eq "1519");
|
||||
return "GBDTR" if ($code eq "1520");
|
||||
return "GBETR" if ($code eq "1521");
|
||||
return "GNETR" if ($code eq "1522");
|
||||
return "GLCZU" if ($code eq "1523");
|
||||
return "GIWAT" if ($code eq "1524");
|
||||
return "GPTEBD" if ($code eq "1525");
|
||||
return "GPTRBD" if ($code eq "1526");
|
||||
return "GPTEBE" if ($code eq "1527");
|
||||
return "GPTRBE" if ($code eq "1528");
|
||||
return "GPBONE" if ($code eq "1529");
|
||||
return "GPTENE" if ($code eq "1530");
|
||||
return "GPBOND" if ($code eq "1531");
|
||||
return "CRMF" if ($code eq "2001");
|
||||
return "SHGR" if ($code eq "2002");
|
||||
return "EVNE" if ($code eq "2003");
|
||||
return "DENE" if ($code eq "2004");
|
||||
return "DEBR" if ($code eq "2005");
|
||||
return "EVBR" if ($code eq "2006");
|
||||
return "TAGR" if ($code eq "2007");
|
||||
return "DESE" if ($code eq "2008");
|
||||
return "TUND" if ($code eq "2009");
|
||||
return "IRCR" if ($code eq "2010");
|
||||
return "SEDE" if ($code eq "2011");
|
||||
return "ICGL" if ($code eq "2012");
|
||||
return "BOMA" if ($code eq "2013");
|
||||
return "INWA" if ($code eq "2014");
|
||||
return "OCEA" if ($code eq "2015");
|
||||
return "EVSH" if ($code eq "2016");
|
||||
return "DESH" if ($code eq "2017");
|
||||
return "MFWO" if ($code eq "2018");
|
||||
return "INFO" if ($code eq "2019");
|
||||
return "WLMI" if ($code eq "2020");
|
||||
return "BASO" if ($code eq "2021");
|
||||
return "URBA" if ($code eq "2022");
|
||||
return "LORI" if ($code eq "2023");
|
||||
return "HIRI" if ($code eq "2024");
|
||||
return "GLVE" if ($code eq "2501");
|
||||
return "GHVE" if ($code eq "2502");
|
||||
return "PFIC" if ($code eq "3001");
|
||||
return "RACR" if ($code eq "3002");
|
||||
return "MCVE" if ($code eq "3003");
|
||||
return "MVCR" if ($code eq "3004");
|
||||
return "COBS" if ($code eq "3005");
|
||||
return "CLBD" if ($code eq "3006");
|
||||
return "OPBD" if ($code eq "3007");
|
||||
return "CLNE" if ($code eq "3008");
|
||||
return "ONDE" if ($code eq "3009");
|
||||
return "COBN" if ($code eq "3010");
|
||||
return "MFSG" if ($code eq "3011");
|
||||
return "MGFS" if ($code eq "3012");
|
||||
return "COSH" if ($code eq "3013");
|
||||
return "COHV" if ($code eq "3014");
|
||||
return "SPVE" if ($code eq "3015");
|
||||
return "COBFF" if ($code eq "3016");
|
||||
return "CLBFF" if ($code eq "3017");
|
||||
return "COVEF" if ($code eq "3018");
|
||||
return "ASAA" if ($code eq "3019");
|
||||
return "BAAR" if ($code eq "3020");
|
||||
return "WABO" if ($code eq "3021");
|
||||
return "PESI" if ($code eq "3022");
|
||||
return "GRDT" if ($code eq "3501");
|
||||
return "TBECO" if ($code eq "4001");
|
||||
return "TBDC" if ($code eq "4002");
|
||||
return "TBDO" if ($code eq "4003");
|
||||
return "TNECO" if ($code eq "4004");
|
||||
return "TNDCO" if ($code eq "4005");
|
||||
return "TMLCO" if ($code eq "4006");
|
||||
return "TCOFF" if ($code eq "4007");
|
||||
return "TCOFS" if ($code eq "4008");
|
||||
return "MTVG" if ($code eq "4009");
|
||||
return "TBURN" if ($code eq "4010");
|
||||
return "SCOE" if ($code eq "4011");
|
||||
return "SCOD" if ($code eq "4012");
|
||||
return "HCCO" if ($code eq "4013");
|
||||
return "SHSC" if ($code eq "4014");
|
||||
return "FSHCO" if ($code eq "4015");
|
||||
return "CROP" if ($code eq "4016");
|
||||
return "MCTNV" if ($code eq "4017");
|
||||
return "MCSH" if ($code eq "4018");
|
||||
return "BAARE" if ($code eq "4019");
|
||||
return "WBNA" if ($code eq "4020");
|
||||
return "SINA" if ($code eq "4021");
|
||||
return "URAR" if ($code eq "4022");
|
||||
return $code;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
#! ---------------------------
|
||||
#!
|
||||
#!Description Octet Code Ksec1 Count
|
||||
#!----------- ----- ----- ----- -----
|
||||
#!
|
||||
|
@ -15,16 +13,11 @@
|
|||
# author: Sebastien Villaume
|
||||
# created: 6 Oct 2011
|
||||
# modified: 13 May 2013
|
||||
#
|
||||
#######################
|
||||
### LOCAL SECTION 0 ###
|
||||
#######################
|
||||
|
||||
#
|
||||
# This piece of definition is common to all SMHI definitions
|
||||
# It is only accessed through "include" statement inside local.82.x.def
|
||||
#
|
||||
|
||||
codetable[1] marsClass "mars/eswi/class.table" : dump,lowercase;
|
||||
codetable[1] marsType "mars/eswi/type.table" : dump,lowercase,string_type;
|
||||
codetable[2] marsStream "mars/eswi/stream.table" : dump,lowercase,string_type;
|
||||
|
@ -36,4 +29,3 @@ ksec1expver[4] experimentVersionNumber = "0000" : dump;
|
|||
pad reservedNeedNotBePresent(2);
|
||||
codetable[1] marsModel "mars/eswi/model.table" : dump,lowercase,string_type;
|
||||
|
||||
|
||||
|
|
|
@ -1,13 +1,7 @@
|
|||
#########################
|
||||
#
|
||||
# author: Sebastien Villaume
|
||||
# created: 6 Oct 2011
|
||||
# modified: 20 Feb 2014
|
||||
#
|
||||
########################
|
||||
### LOCAL SECTION 82 ###
|
||||
########################
|
||||
|
||||
constant GRIBEXSection1Problem = 53 - section1Length;
|
||||
|
||||
# base local definition
|
||||
|
@ -15,4 +9,3 @@ include "grib1/local.82.0.def";
|
|||
|
||||
unsigned[1] marsExperimentOffset = 0 : dump, long_type;
|
||||
|
||||
|
||||
|
|
|
@ -21,15 +21,13 @@
|
|||
#MeanSize 70-71 I2 57 -
|
||||
#StandardDeviation 72-73 I2 58 -
|
||||
#PartDef 74 PAD n/a 7
|
||||
################################################################
|
||||
##########################################################
|
||||
#
|
||||
# author: Sebastien Villaume
|
||||
# created: 6 Oct 2011
|
||||
# modified: 20 Feb 2014
|
||||
#
|
||||
#########################
|
||||
### LOCAL SECTION 83 ###
|
||||
#########################
|
||||
|
||||
constant GRIBEXSection1Problem = 80 - section1Length;
|
||||
|
||||
|
@ -53,4 +51,3 @@ unsigned[2] meanSize : dump;
|
|||
unsigned[2] standardDeviation : dump;
|
||||
pad padding_local1_1(7);
|
||||
|
||||
|
||||
|
|
|
@ -2,25 +2,13 @@
|
|||
# Definition for SMHI Swedish Meteorological and Hydrological Institut.
|
||||
#
|
||||
# contact: sebastien.villaume@smhi.se
|
||||
#
|
||||
|
||||
|
||||
########################
|
||||
### LOCAL DEFINITION ###
|
||||
########################
|
||||
|
||||
codetable[1] localDefinitionNumber 'grib1/localDefinitionNumber.82.table' = 82 : dump;
|
||||
template localDefinition "grib1/local.82.[localDefinitionNumber:l].def";
|
||||
|
||||
###################
|
||||
### LS LABELING ###
|
||||
###################
|
||||
|
||||
template ls_labeling "grib1/ls_labeling.82.def";
|
||||
|
||||
#####################
|
||||
### MARS LABELING ###
|
||||
#####################
|
||||
|
||||
template mars_labeling "grib1/mars_labeling.82.def";
|
||||
template_nofail marsKeywords "mars/eswi/grib1.[stream:s].[type:s].def";
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
#########################
|
||||
#
|
||||
# author: Sebastien Villaume
|
||||
# created: 13 May 2013
|
||||
#
|
||||
#########################
|
||||
"none"={matchAerosolBinNumber=0;}
|
||||
"bin1"={matchAerosolBinNumber=1;}
|
||||
"bin2"={matchAerosolBinNumber=2;}
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
#########################
|
||||
#
|
||||
# author: Sebastien Villaume
|
||||
# created: 13 May 2013
|
||||
#
|
||||
#########################
|
||||
"none"={matchSort=0;}
|
||||
"cm"={matchSort=1;}
|
||||
"lncm"={matchSort=2;}
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
#########################
|
||||
#
|
||||
# author: Sebastien Villaume
|
||||
# created: 13 May 2013
|
||||
#
|
||||
#########################
|
||||
"none"={matchTimeRepres=0;}
|
||||
"3hMean"={matchTimeRepres=1;}
|
||||
"diurnalMean"={matchTimeRepres=2;}
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
#########################
|
||||
#
|
||||
# author: Sebastien Villaume
|
||||
# created: 6 Oct 2011
|
||||
# modified: 13 May 2013
|
||||
#
|
||||
#########################
|
||||
'surface' = {indicatorOfTypeOfLevel=1;}
|
||||
'cloudBase' = {indicatorOfTypeOfLevel=2;}
|
||||
'cloudTop' = {indicatorOfTypeOfLevel=3;}
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
#########################
|
||||
#
|
||||
# author: Sebastien Villaume
|
||||
# created: 6 Oct 2011
|
||||
# modified: 13 May 2013
|
||||
#
|
||||
#########################
|
||||
82 82 standard operational SMHI
|
||||
83 83 MATCH data (standard operational SMHI + extra MATCH keywords)
|
||||
255 255 MISSING
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
#########################
|
||||
#
|
||||
# author: Sebastien Villaume
|
||||
# created: 6 Oct 2011
|
||||
# modified: 13 Sep 2013
|
||||
#
|
||||
#########################
|
||||
|
||||
alias ls.dataType = marsType;
|
||||
|
||||
|
@ -14,6 +11,5 @@ if (localDefinitionNumber == 83 ) {
|
|||
concept_nofail ls.sort (unknown,"sortConcept.def",conceptsLocalDirAll,conceptsMasterDir);
|
||||
concept_nofail ls.landtype (unknown,"landTypeConcept.def",conceptsLocalDirAll,conceptsMasterDir);
|
||||
concept_nofail ls.aerosolbinnumber (unknown,"aerosolConcept.def",conceptsLocalDirAll,conceptsMasterDir);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#########################
|
||||
# author: Sebastien Villaume (SMHI)
|
||||
# created: 6 Oct 2011
|
||||
# modified: 13 Sep 2013
|
||||
|
@ -8,7 +7,6 @@ constant conceptsMasterMarsDir="mars" : hidden;
|
|||
constant conceptsLocalMarsDirAll="mars/[centre:s]" : hidden;
|
||||
|
||||
# Base MARS keywors
|
||||
##########################
|
||||
alias mars.class = marsClass;
|
||||
alias mars.type = marsType;
|
||||
alias mars.stream = marsStream;
|
||||
|
@ -17,11 +15,9 @@ alias mars.expver = experimentVersionNumber;
|
|||
alias mars.domain = globalDomain;
|
||||
|
||||
# local section 82
|
||||
#########################
|
||||
### nothing needed here...
|
||||
|
||||
# Local section 83
|
||||
#########################
|
||||
if ( localDefinitionNumber == 83 ) {
|
||||
alias mars.sort = matchSort;
|
||||
alias mars.timerepres = matchTimeRepres;
|
||||
|
|
|
@ -1,12 +1,6 @@
|
|||
#########################
|
||||
#
|
||||
# author: Sebastien Villaume
|
||||
# created: 14 Feb 2014
|
||||
#
|
||||
#################################
|
||||
### LOCAL SECTION DESCRIPTION ###
|
||||
#################################
|
||||
|
||||
#
|
||||
# This piece of definition is common to all SMHI definitions
|
||||
# It is only accessed through "include" statement inside local.82.x.def
|
||||
|
@ -15,13 +9,11 @@
|
|||
codetable[1] marsClass "mars/eswi/class.table" : dump,lowercase;
|
||||
codetable[1] marsType "mars/eswi/type.table" : dump,lowercase,string_type;
|
||||
codetable[2] marsStream "mars/eswi/stream.table" : dump,lowercase,string_type;
|
||||
ksec1expver[4] experimentVersionNumber = "0000" : dump;
|
||||
ksec1expver[4] experimentVersionNumber = "0000" : dump;
|
||||
# For now, Ensemble stuff is desactivated because it is not used yet
|
||||
# instead we use a padding of 2
|
||||
#unsigned[1] perturbationNumber : dump;
|
||||
#unsigned[1] numberOfForecastsInEnsemble : dump;
|
||||
#unsigned[1] perturbationNumber : dump;
|
||||
#unsigned[1] numberOfForecastsInEnsemble : dump;
|
||||
pad reservedNeedNotBePresent(2);
|
||||
codetable[1] marsModel "mars/eswi/model.table" : dump,lowercase,string_type;
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,15 +1,9 @@
|
|||
#########################
|
||||
#
|
||||
# author: Sebastien Villaume
|
||||
# created: 14 Feb 2014
|
||||
#
|
||||
#################################
|
||||
### LOCAL SECTION DESCRIPTION ###
|
||||
#################################
|
||||
|
||||
# base local definition
|
||||
include "grib2/local.82.0.def";
|
||||
|
||||
unsigned[1] marsExperimentOffset = 0 : dump, long_type;
|
||||
|
||||
|
||||
|
|
|
@ -1,21 +1,14 @@
|
|||
#################################################
|
||||
#
|
||||
# author: Sebastien Villaume
|
||||
# created: 14 Feb 2014
|
||||
#
|
||||
#################################
|
||||
### LOCAL SECTION DESCRIPTION ###
|
||||
#################################
|
||||
|
||||
|
||||
# base file: contains keywords always present
|
||||
include "grib2/local.82.0.def";
|
||||
|
||||
# extra keywords specific to local definition 83 (MATCH)
|
||||
codetable[1] matchSort "grib1/localConcepts/eswi/sort.table" : dump,long_type;
|
||||
codetable[1] matchTimeRepres "grib1/localConcepts/eswi/timerepres.table" : dump,long_type;
|
||||
codetable[1] matchLandType "grib1/localConcepts/eswi/landtype.table" : dump,long_type;
|
||||
codetable[2] matchAerosolBinNumber "grib1/localConcepts/eswi/aerosolbinnumber.table" : dump,long_type;
|
||||
unsigned[2] meanSize : dump;
|
||||
|
||||
codetable[1] matchSort "grib1/localConcepts/eswi/sort.table" : dump,long_type;
|
||||
codetable[1] matchTimeRepres "grib1/localConcepts/eswi/timerepres.table" : dump,long_type;
|
||||
codetable[1] matchLandType "grib1/localConcepts/eswi/landtype.table" : dump,long_type;
|
||||
codetable[2] matchAerosolBinNumber "grib1/localConcepts/eswi/aerosolbinnumber.table" : dump,long_type;
|
||||
unsigned[2] meanSize : dump;
|
||||
|
||||
|
|
|
@ -3,20 +3,12 @@
|
|||
alias localDefinitionNumber=grib2LocalSectionNumber;
|
||||
template localSection "grib2/local.[centreForLocal:l].[grib2LocalSectionNumber:l].def";
|
||||
|
||||
#####################
|
||||
### MARS LABELING ###
|
||||
#####################
|
||||
|
||||
template mars_labeling "grib2/mars_labeling.82.def";
|
||||
template_nofail marsKeywords "mars/eswi/grib2.[stream:s].[type:s].def";
|
||||
|
||||
###################
|
||||
### LS LABELING ###
|
||||
###################
|
||||
|
||||
template ls_labeling "grib2/ls_labeling.82.def";
|
||||
|
||||
|
||||
position offsetAfterLocalSection;
|
||||
|
||||
|
||||
|
|
|
@ -1,22 +1,16 @@
|
|||
#########################
|
||||
#
|
||||
# author: Sebastien Villaume
|
||||
# created: 14 Feb 2014
|
||||
#
|
||||
#########################
|
||||
|
||||
constant g1conceptsMasterDir="grib1" : hidden;
|
||||
constant g1conceptsLocalDirAll="grib1/localConcepts/[centre:s]" : hidden;
|
||||
|
||||
|
||||
alias ls.dataType = marsType;
|
||||
|
||||
if (localDefinitionNumber == 83 ) {
|
||||
|
||||
concept_nofail ls.timerepres (unknown,"timeRepresConcept.def",g1conceptsLocalDirAll,g1conceptsMasterDir);
|
||||
concept_nofail ls.sort (unknown,"sortConcept.def",g1conceptsLocalDirAll,g1conceptsMasterDir);
|
||||
concept_nofail ls.landtype (unknown,"landTypeConcept.def",g1conceptsLocalDirAll,g1conceptsMasterDir);
|
||||
concept_nofail ls.aerosolbinnumber (unknown,"aerosolConcept.def",g1conceptsLocalDirAll,g1conceptsMasterDir);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -4,10 +4,7 @@
|
|||
constant conceptsMasterMarsDir="mars" : hidden;
|
||||
constant conceptsLocalMarsDirAll="mars/[centre:s]" : hidden;
|
||||
|
||||
##########################
|
||||
# Base MARS keywors #
|
||||
##########################
|
||||
|
||||
alias mars.class = marsClass;
|
||||
alias mars.type = marsType;
|
||||
alias mars.stream = marsStream;
|
||||
|
@ -15,15 +12,10 @@ alias mars.model = marsModel;
|
|||
alias mars.expver = experimentVersionNumber;
|
||||
alias mars.domain = globalDomain;
|
||||
|
||||
#########################
|
||||
# local section 82 #
|
||||
#########################
|
||||
|
||||
### nothing needed here...
|
||||
|
||||
#########################
|
||||
# local section 83 #
|
||||
#########################
|
||||
if ( localDefinitionNumber == 83 ) {
|
||||
alias mars.sort = matchSort;
|
||||
alias mars.timerepres = matchTimeRepres;
|
||||
|
|
|
@ -19,16 +19,15 @@ alias Nj = Ny;
|
|||
# La1 - latitude of first grid point
|
||||
signed[4] latitudeOfFirstGridPoint: edition_specific;
|
||||
alias La1 = latitudeOfFirstGridPoint;
|
||||
meta geography.latitudeOfFirstGridPointInDegrees scale(latitudeOfFirstGridPoint,
|
||||
one,grib2divider,truncateDegrees) : dump;
|
||||
meta geography.latitudeOfFirstGridPointInDegrees scale(
|
||||
latitudeOfFirstGridPoint, one,grib2divider,truncateDegrees) : dump;
|
||||
#meta latitudeOfFirstGridPointInMicrodegrees times(latitudeOfFirstGridPoint,mAngleMultiplier,angleDivisor): no_copy;
|
||||
|
||||
# Lo1 - longitude of first grid point
|
||||
signed[4] longitudeOfFirstGridPoint: edition_specific ;
|
||||
alias La1 = longitudeOfFirstGridPoint;
|
||||
meta geography.longitudeOfFirstGridPointInDegrees scale(longitudeOfFirstGridPoint,
|
||||
one,grib2divider,truncateDegrees) : dump;
|
||||
#meta longitudeOfFirstGridPointInMicrodegrees times(longitudeOfFirstGridPoint,mAngleMultiplier,angleDivisor) : no_copy;
|
||||
meta geography.longitudeOfFirstGridPointInDegrees scale(
|
||||
longitudeOfFirstGridPoint,one,grib2divider,truncateDegrees) : dump;
|
||||
|
||||
signed[4] standardParallelInMicrodegrees : dump;
|
||||
alias standardParallel=standardParallelInMicrodegrees;
|
||||
|
@ -55,13 +54,14 @@ alias DyInMetres = yDirectionGridLengthInMetres;
|
|||
|
||||
include "grib2/template.3.scanning_mode.def";
|
||||
|
||||
iterator lambert_azimuthal_equal_area(numberOfPoints,missingValue,values,
|
||||
radius,Nx,Ny,
|
||||
latitudeOfFirstGridPointInDegrees,longitudeOfFirstGridPointInDegrees,
|
||||
standardParallelInDegrees,centralLongitudeInDegrees,
|
||||
Dx,Dy,
|
||||
iScansNegatively, jScansPositively,
|
||||
jPointsAreConsecutive, alternativeRowScanning);
|
||||
iterator lambert_azimuthal_equal_area(
|
||||
numberOfPoints,missingValue,values,
|
||||
radius,Nx,Ny,
|
||||
latitudeOfFirstGridPointInDegrees,longitudeOfFirstGridPointInDegrees,
|
||||
standardParallelInDegrees,centralLongitudeInDegrees,
|
||||
Dx,Dy,
|
||||
iScansNegatively, jScansPositively,
|
||||
jPointsAreConsecutive, alternativeRowScanning);
|
||||
|
||||
nearest lambert_azimuthal_equal_area(values,radius,Nx,Ny);
|
||||
|
||||
|
|
|
@ -24,22 +24,24 @@ meta g2grid g2grid(
|
|||
null,
|
||||
basicAngleOfTheInitialProductionDomain,
|
||||
subdivisionsOfBasicAngle
|
||||
);
|
||||
);
|
||||
|
||||
meta geography.latitudeOfFirstGridPointInDegrees g2latlon(g2grid,0) : dump;
|
||||
meta geography.longitudeOfFirstGridPointInDegrees g2latlon(g2grid,1) : dump;
|
||||
meta geography.latitudeOfLastGridPointInDegrees g2latlon(g2grid,2) : dump;
|
||||
meta geography.longitudeOfLastGridPointInDegrees g2latlon(g2grid,3) : dump;
|
||||
meta geography.iDirectionIncrementInDegrees g2latlon(g2grid,4,iDirectionIncrementGiven) : can_be_missing,dump;
|
||||
meta geography.latitudeOfFirstGridPointInDegrees g2latlon(g2grid,0) : dump;
|
||||
meta geography.longitudeOfFirstGridPointInDegrees g2latlon(g2grid,1) : dump;
|
||||
meta geography.latitudeOfLastGridPointInDegrees g2latlon(g2grid,2) : dump;
|
||||
meta geography.longitudeOfLastGridPointInDegrees g2latlon(g2grid,3) : dump;
|
||||
meta geography.iDirectionIncrementInDegrees g2latlon(g2grid,4,iDirectionIncrementGiven) : can_be_missing,dump;
|
||||
|
||||
meta global global_gaussian(N,Ni,iDirectionIncrement,
|
||||
latitudeOfFirstGridPoint,
|
||||
longitudeOfFirstGridPoint,
|
||||
latitudeOfLastGridPoint,
|
||||
longitudeOfLastGridPoint,
|
||||
PLPresent, pl,
|
||||
basicAngleOfTheInitialProductionDomain,
|
||||
subdivisionsOfBasicAngle) = 0 : dump;
|
||||
meta global global_gaussian(
|
||||
N,Ni,iDirectionIncrement,
|
||||
latitudeOfFirstGridPoint,
|
||||
longitudeOfFirstGridPoint,
|
||||
latitudeOfLastGridPoint,
|
||||
longitudeOfLastGridPoint,
|
||||
PLPresent, pl,
|
||||
basicAngleOfTheInitialProductionDomain,
|
||||
subdivisionsOfBasicAngle
|
||||
) = 0 : dump;
|
||||
|
||||
alias xFirst=longitudeOfFirstGridPointInDegrees;
|
||||
alias yFirst=latitudeOfFirstGridPointInDegrees;
|
||||
|
@ -52,22 +54,22 @@ alias latitudeLastInDegrees = latitudeOfLastGridPointInDegrees;
|
|||
alias longitudeLastInDegrees = longitudeOfLastGridPointInDegrees;
|
||||
alias DiInDegrees = iDirectionIncrementInDegrees;
|
||||
|
||||
if(missing(Ni) && PLPresent == 1){
|
||||
if (missing(Ni) && PLPresent == 1) {
|
||||
iterator gaussian_reduced(numberOfPoints,missingValue,values,
|
||||
latitudeOfFirstGridPointInDegrees,longitudeOfFirstGridPointInDegrees,
|
||||
latitudeOfLastGridPointInDegrees,longitudeOfLastGridPointInDegrees,
|
||||
N,pl,Nj);
|
||||
latitudeOfFirstGridPointInDegrees,longitudeOfFirstGridPointInDegrees,
|
||||
latitudeOfLastGridPointInDegrees,longitudeOfLastGridPointInDegrees,
|
||||
N,pl,Nj);
|
||||
nearest reduced(values,radius,Nj,pl);
|
||||
|
||||
#meta sumPlArray sum(pl);
|
||||
#meta dataGlobal evaluate( sumPlArray == (numberOfValues+numberOfMissing) );
|
||||
} else {
|
||||
iterator gaussian(numberOfPoints,missingValue,values,
|
||||
longitudeFirstInDegrees,DiInDegrees ,
|
||||
Ni,Nj,iScansNegatively,
|
||||
latitudeFirstInDegrees, latitudeLastInDegrees,
|
||||
N,jScansPositively);
|
||||
nearest regular(values,radius,Ni,Nj);
|
||||
iterator gaussian(numberOfPoints,missingValue,values,
|
||||
longitudeFirstInDegrees,DiInDegrees,
|
||||
Ni,Nj,iScansNegatively,
|
||||
latitudeFirstInDegrees, latitudeLastInDegrees,
|
||||
N,jScansPositively);
|
||||
nearest regular(values,radius,Ni,Nj);
|
||||
}
|
||||
meta latLonValues latlonvalues(values);
|
||||
alias latitudeLongitudeValues=latLonValues;
|
||||
|
|
|
@ -23,7 +23,7 @@ meta g2grid g2grid(
|
|||
jDirectionIncrement,
|
||||
basicAngleOfTheInitialProductionDomain,
|
||||
subdivisionsOfBasicAngle
|
||||
);
|
||||
);
|
||||
|
||||
meta geography.latitudeOfFirstGridPointInDegrees g2latlon(g2grid,0) : dump;
|
||||
meta geography.longitudeOfFirstGridPointInDegrees g2latlon(g2grid,1) : dump;
|
||||
|
@ -59,12 +59,12 @@ _if ( missing(Ni) && PLPresent == 1 ) {
|
|||
} else {
|
||||
transient iteratorDisableUnrotate = 0 : hidden; # ECC-808
|
||||
iterator latlon(numberOfPoints,missingValue,values,
|
||||
longitudeFirstInDegrees,DiInDegrees ,
|
||||
Ni,Nj,iScansNegatively,
|
||||
latitudeFirstInDegrees, DjInDegrees,
|
||||
jScansPositively, jPointsAreConsecutive,
|
||||
isRotatedGrid, angleOfRotation,
|
||||
latitudeOfSouthernPoleInDegrees,longitudeOfSouthernPoleInDegrees);
|
||||
longitudeFirstInDegrees,DiInDegrees ,
|
||||
Ni,Nj,iScansNegatively,
|
||||
latitudeFirstInDegrees, DjInDegrees,
|
||||
jScansPositively, jPointsAreConsecutive,
|
||||
isRotatedGrid, angleOfRotation,
|
||||
latitudeOfSouthernPoleInDegrees,longitudeOfSouthernPoleInDegrees);
|
||||
nearest regular(values,radius,Ni,Nj);
|
||||
}
|
||||
meta latLonValues latlonvalues(values);
|
||||
|
|
|
@ -28,14 +28,16 @@ flagbit scanningMode6(scanningMode,2) = 0: read_only;
|
|||
flagbit scanningMode7(scanningMode,1) = 0: read_only;
|
||||
flagbit scanningMode8(scanningMode,0) = 0: read_only;
|
||||
|
||||
meta swapScanningX change_scanning_direction( values,Ni,Nj,
|
||||
iScansNegatively,jScansPositively,
|
||||
xFirst,xLast,x) : edition_specific,hidden,no_copy;
|
||||
meta swapScanningX change_scanning_direction(
|
||||
values,Ni,Nj,
|
||||
iScansNegatively,jScansPositively,
|
||||
xFirst,xLast,x) : edition_specific,hidden,no_copy;
|
||||
alias swapScanningLon = swapScanningX;
|
||||
|
||||
meta swapScanningY change_scanning_direction( values,Ni,Nj,
|
||||
iScansNegatively,jScansPositively,
|
||||
yFirst,yLast,y) : edition_specific,hidden,no_copy;
|
||||
meta swapScanningY change_scanning_direction(
|
||||
values,Ni,Nj,
|
||||
iScansNegatively,jScansPositively,
|
||||
yFirst,yLast,y) : edition_specific,hidden,no_copy;
|
||||
alias swapScanningLat = swapScanningY;
|
||||
|
||||
meta swapScanningAlternativeRows change_alternative_row_scanning(
|
||||
|
|
|
@ -3,26 +3,28 @@
|
|||
# TEMPLATE 7.0, Grid point data - simple packing
|
||||
|
||||
meta codedValues data_g2simple_packing(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor
|
||||
): read_only;
|
||||
|
||||
meta values data_apply_bitmap(codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
meta values data_apply_bitmap(
|
||||
codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues
|
||||
) : dump;
|
||||
|
||||
meta packingError simple_packing_error(bitsPerValue,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
||||
meta unpackedError simple_packing_error(zero,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
||||
|
|
|
@ -3,26 +3,28 @@
|
|||
# TEMPLATE 7.1, Matrix values at grid point -simple packing
|
||||
|
||||
meta codedValues data_g2simple_packing(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor
|
||||
): read_only;
|
||||
|
||||
meta values data_apply_bitmap(codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
meta values data_apply_bitmap(
|
||||
codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues
|
||||
) : dump;
|
||||
|
||||
meta packingError simple_packing_error(bitsPerValue,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
||||
meta unpackedError simple_packing_error(zero,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
||||
|
|
|
@ -19,29 +19,30 @@ meta codedValues data_g22order_packing(
|
|||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
|
||||
typeOfOriginalFieldValues ,
|
||||
typeOfOriginalFieldValues,
|
||||
groupSplittingMethodUsed,
|
||||
missingValueManagementUsed ,
|
||||
primaryMissingValueSubstitute ,
|
||||
secondaryMissingValueSubstitute ,
|
||||
numberOfGroupsOfDataValues ,
|
||||
referenceForGroupWidths ,
|
||||
numberOfBitsUsedForTheGroupWidths ,
|
||||
referenceForGroupLengths ,
|
||||
missingValueManagementUsed,
|
||||
primaryMissingValueSubstitute,
|
||||
secondaryMissingValueSubstitute,
|
||||
numberOfGroupsOfDataValues,
|
||||
referenceForGroupWidths,
|
||||
numberOfBitsUsedForTheGroupWidths,
|
||||
referenceForGroupLengths,
|
||||
lengthIncrementForTheGroupLengths,
|
||||
trueLengthOfLastGroup ,
|
||||
trueLengthOfLastGroup,
|
||||
numberOfBitsForScaledGroupLengths,
|
||||
orderOfSpatialDifferencing,
|
||||
numberOfOctetsExtraDescriptors
|
||||
|
||||
): read_only;
|
||||
|
||||
meta values data_apply_bitmap(codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
meta values data_apply_bitmap(
|
||||
codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues
|
||||
) : dump;
|
||||
|
||||
alias data.packedValues = codedValues;
|
||||
|
||||
|
|
|
@ -14,12 +14,14 @@ meta codedValues data_run_length_packing(
|
|||
levelValues
|
||||
): read_only;
|
||||
|
||||
meta values data_apply_bitmap(codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
meta values data_apply_bitmap(
|
||||
codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues
|
||||
) : dump;
|
||||
|
||||
alias data.packedValues = codedValues;
|
||||
|
||||
|
|
|
@ -16,29 +16,30 @@ meta codedValues data_g22order_packing(
|
|||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
|
||||
typeOfOriginalFieldValues ,
|
||||
typeOfOriginalFieldValues,
|
||||
groupSplittingMethodUsed,
|
||||
missingValueManagementUsed ,
|
||||
primaryMissingValueSubstitute ,
|
||||
secondaryMissingValueSubstitute ,
|
||||
numberOfGroupsOfDataValues ,
|
||||
referenceForGroupWidths ,
|
||||
numberOfBitsUsedForTheGroupWidths ,
|
||||
referenceForGroupLengths ,
|
||||
missingValueManagementUsed,
|
||||
primaryMissingValueSubstitute,
|
||||
secondaryMissingValueSubstitute,
|
||||
numberOfGroupsOfDataValues,
|
||||
referenceForGroupWidths,
|
||||
numberOfBitsUsedForTheGroupWidths,
|
||||
referenceForGroupLengths,
|
||||
lengthIncrementForTheGroupLengths,
|
||||
trueLengthOfLastGroup ,
|
||||
trueLengthOfLastGroup,
|
||||
numberOfBitsForScaledGroupLengths,
|
||||
orderOfSpatialDifferencing,
|
||||
numberOfOctetsExtraDescriptors
|
||||
|
||||
): read_only;
|
||||
|
||||
meta values data_apply_bitmap(codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
meta values data_apply_bitmap(
|
||||
codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues
|
||||
) : dump;
|
||||
|
||||
alias data.packedValues=codedValues;
|
||||
|
||||
|
|
|
@ -3,19 +3,21 @@
|
|||
# TEMPLATE 7.4, Grid point data - IEEE floating point data
|
||||
|
||||
meta codedValues data_raw_packing(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
numberOfValues,
|
||||
precision
|
||||
): read_only;
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
numberOfValues,
|
||||
precision
|
||||
): read_only;
|
||||
|
||||
meta values data_apply_bitmap(codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
meta values data_apply_bitmap(
|
||||
codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues
|
||||
) : dump;
|
||||
|
||||
alias data.packedValues = codedValues;
|
||||
|
||||
|
|
|
@ -3,44 +3,43 @@
|
|||
# TEMPLATE 7.40, Grid point data - JPEG2000
|
||||
|
||||
meta codedValues data_jpeg2000_packing(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfCodedValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfCodedValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
#numberOfValues,
|
||||
#referenceValue,
|
||||
#binaryScaleFactor,
|
||||
#decimalScaleFactor,
|
||||
#bitsPerValue,
|
||||
|
||||
#numberOfValues,
|
||||
#referenceValue,
|
||||
#binaryScaleFactor,
|
||||
#decimalScaleFactor,
|
||||
#bitsPerValue,
|
||||
# For encoding
|
||||
typeOfCompressionUsed,
|
||||
targetCompressionRatio,
|
||||
Nx,
|
||||
Ny,
|
||||
interpretationOfNumberOfPoints,
|
||||
numberOfDataPoints,
|
||||
scanningMode
|
||||
): read_only;
|
||||
|
||||
# For encoding
|
||||
typeOfCompressionUsed,
|
||||
targetCompressionRatio,
|
||||
Nx,
|
||||
Ny,
|
||||
interpretationOfNumberOfPoints,
|
||||
numberOfDataPoints,
|
||||
scanningMode
|
||||
|
||||
): read_only;
|
||||
|
||||
meta values data_apply_bitmap(codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
meta values data_apply_bitmap(
|
||||
codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
|
||||
alias data.packedValues = codedValues;
|
||||
|
||||
|
|
|
@ -3,28 +3,29 @@
|
|||
# TEMPLATE 7.41, Grid point data - PNG
|
||||
|
||||
meta codedValues data_png_packing(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
numberOfValues,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
bitsPerValue,
|
||||
# For encoding
|
||||
Nx,
|
||||
Ny,
|
||||
interpretationOfNumberOfPoints,
|
||||
numberOfDataPoints,
|
||||
scanningMode
|
||||
): read_only;
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
numberOfValues,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
bitsPerValue,
|
||||
# For encoding
|
||||
Nx,
|
||||
Ny,
|
||||
interpretationOfNumberOfPoints,
|
||||
numberOfDataPoints,
|
||||
scanningMode
|
||||
): read_only;
|
||||
|
||||
meta values data_apply_bitmap(codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
meta values data_apply_bitmap(
|
||||
codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
|
||||
alias data.packedValues = codedValues;
|
||||
|
||||
|
|
|
@ -3,27 +3,28 @@
|
|||
# TEMPLATE 7.42, Grid point data - CCSDS
|
||||
|
||||
meta codedValues data_ccsds_packing(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
numberOfValues,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
bitsPerValue,
|
||||
numberOfDataPoints,
|
||||
ccsdsFlags,
|
||||
ccsdsBlockSize,
|
||||
ccsdsRsi
|
||||
): read_only;
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
numberOfValues,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor,
|
||||
bitsPerValue,
|
||||
numberOfDataPoints,
|
||||
ccsdsFlags,
|
||||
ccsdsBlockSize,
|
||||
ccsdsRsi
|
||||
): read_only;
|
||||
|
||||
meta values data_apply_bitmap(codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
meta values data_apply_bitmap(
|
||||
codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
|
||||
# See ECC-711
|
||||
meta packingError simple_packing_error(bitsPerValue,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
||||
|
|
|
@ -9,24 +9,24 @@ transient numberOfValues = ( J + 1 ) * ( J + 2 ) : no_copy ;
|
|||
transient numberOfPackedValues = numberOfValues - 1 : no_copy;
|
||||
|
||||
meta codedValues data_g2simple_packing(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfPackedValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor) : read_only;
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfPackedValues,
|
||||
bitsPerValue,
|
||||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
optimizeScaleFactor) : read_only;
|
||||
|
||||
meta values data_g2shsimple_packing(
|
||||
codedValues,
|
||||
realPartOf00,
|
||||
numberOfValues,
|
||||
numberOfDataPoints);
|
||||
codedValues,
|
||||
realPartOf00,
|
||||
numberOfValues,
|
||||
numberOfDataPoints);
|
||||
|
||||
meta packingError simple_packing_error(bitsPerValue,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
||||
meta unpackedError simple_packing_error(zero,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
||||
|
|
|
@ -12,7 +12,7 @@ meta codedValues data_g2complex_packing(
|
|||
offsetSection7,
|
||||
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfValues,
|
||||
bitsPerValue,
|
||||
|
@ -27,13 +27,8 @@ meta codedValues data_g2complex_packing(
|
|||
laplacianOperatorIsSet,
|
||||
laplacianOperator,
|
||||
|
||||
J,
|
||||
K,
|
||||
M,
|
||||
|
||||
J,
|
||||
J,
|
||||
J,
|
||||
J, K, M,
|
||||
J, J, J,
|
||||
numberOfValues
|
||||
): read_only;
|
||||
|
||||
|
@ -58,13 +53,8 @@ meta data.packedValues data_sh_packed(
|
|||
laplacianOperatorIsSet,
|
||||
laplacianOperator,
|
||||
|
||||
J,
|
||||
K,
|
||||
M,
|
||||
|
||||
J,
|
||||
J,
|
||||
J
|
||||
J,K, M,
|
||||
J, J, J
|
||||
) : read_only;
|
||||
|
||||
meta data.unpackedValues data_sh_unpacked(
|
||||
|
@ -88,22 +78,20 @@ meta data.unpackedValues data_sh_unpacked(
|
|||
laplacianOperatorIsSet,
|
||||
laplacianOperator,
|
||||
|
||||
J,
|
||||
K,
|
||||
M,
|
||||
J,
|
||||
K,
|
||||
M
|
||||
J, K, M,
|
||||
J, K, M
|
||||
) : read_only;
|
||||
|
||||
meta packingError simple_packing_error(bitsPerValue,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
||||
meta unpackedError simple_packing_error(zero,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
||||
|
||||
meta values data_apply_bitmap(codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
meta values data_apply_bitmap(
|
||||
codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues
|
||||
) : dump;
|
||||
|
||||
template statistics "common/statistics_spectral.def";
|
||||
|
|
|
@ -101,11 +101,12 @@ meta data.unpackedValues data_sh_unpacked(
|
|||
meta packingError simple_packing_error(bitsPerValue,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
||||
meta unpackedError simple_packing_error(zero,binaryScaleFactor,decimalScaleFactor,referenceValue,ieee) : no_copy;
|
||||
|
||||
meta values data_apply_bitmap(codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
meta values data_apply_bitmap(
|
||||
codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
|
||||
template statistics "common/statistics_spectral.def";
|
||||
|
|
|
@ -5,8 +5,6 @@
|
|||
# Note from WMO document:
|
||||
# This template is experimental, was not validated at the time of publication and should be used only for bilateral previously agreed tests
|
||||
|
||||
# Octets 6-nn : Binary data values - binary string, with each (scaled)
|
||||
|
||||
meta codedValues data_g2simple_packing_with_preprocessing(
|
||||
section7Length,
|
||||
offsetBeforeData,
|
||||
|
@ -24,12 +22,14 @@ meta codedValues data_g2simple_packing_with_preprocessing(
|
|||
preProcessingParameter
|
||||
): read_only;
|
||||
|
||||
meta values data_apply_bitmap(codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
meta values data_apply_bitmap(
|
||||
codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues
|
||||
) : dump;
|
||||
|
||||
alias data.packedValues = codedValues;
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ meta codedValues data_g2second_order_packing(
|
|||
section7Length,
|
||||
offsetBeforeData,
|
||||
offsetSection7,
|
||||
unitsFactor,
|
||||
unitsFactor,
|
||||
unitsBias,
|
||||
changingPrecision,
|
||||
numberOfCodedValues,
|
||||
|
@ -19,7 +19,7 @@ meta codedValues data_g2second_order_packing(
|
|||
referenceValue,
|
||||
binaryScaleFactor,
|
||||
decimalScaleFactor,
|
||||
#g2second_order_packing
|
||||
# g2second_order_packing
|
||||
halfByte,
|
||||
packingType,
|
||||
grid_ieee,
|
||||
|
@ -43,12 +43,14 @@ meta codedValues data_g2second_order_packing(
|
|||
numberOfPoints
|
||||
): read_only;
|
||||
|
||||
meta values data_apply_bitmap(codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues) : dump;
|
||||
meta values data_apply_bitmap(
|
||||
codedValues,
|
||||
bitmap,
|
||||
missingValue,
|
||||
binaryScaleFactor,
|
||||
numberOfDataPoints,
|
||||
numberOfValues
|
||||
) : dump;
|
||||
|
||||
alias data.packedValues = codedValues;
|
||||
|
||||
|
|
Loading…
Reference in New Issue