ECC-1886: Definitions: cfVarName key should be based on the shortName (with a few exceptions)

This commit is contained in:
Shahram Najm 2024-08-02 11:37:53 +00:00 committed by shahramn
parent 453c19b97e
commit f75193d466
15 changed files with 152 additions and 55193 deletions

View File

@ -106,12 +106,12 @@ is_deeply(\%name_map, \%paramId_map, 'Check name and paramId are the same');
is_deeply(\%name_map, \%shortName_map, 'Check name and shortName are the same');
is_deeply(\%name_map, \%units_map, 'Check name and units are the same');
if (-f "cfVarName.def") {
my %cfVar_map = process("cfVarName.def");
is_deeply(\%name_map, \%cfVar_map, 'Check name and cfVarName are the same');
} else {
print "\n\tINFO: Did not find a cfVarName.def file!!!\n\n";
}
#if (-f "cfVarName.def") {
# my %cfVar_map = process("cfVarName.def");
# is_deeply(\%name_map, \%cfVar_map, 'Check name and cfVarName are the same');
#} else {
# print "\n\tINFO: Did not find a cfVarName.def file!!!\n\n";
#}
done_testing();

View File

@ -182,7 +182,93 @@ EOF
close(TAR);
}
sub create_cfVarName {
my $p; my %seen;
my ($key) =@_;
my $field=$key;
#if ($key =~ /paramId/) { $field="param.id"; }
#if ($key =~ /name/) { $field="param.name"; }
#if ($key =~ /units/) { $field="units.name"; }
if ($key =~ /cfVarName/) { $field="cfVarName"; }
my $query= <<"EOF";
select $field,force128,edition,
centre.abbreviation,param_id,attribute.name,attribute_value,param.name,param.shortName
from param,grib_encoding,grib,attribute,centre,units where
param.hide_def=0 and
grib_encoding.id=grib.encoding_id and
param.id=grib_encoding.param_id and
attribute.id=grib.attribute_id and
centre.id=grib_encoding.centre_id and
units.id=param.units_id
and cfVarName IS NOT NULL
order by edition,centre_id,param.o,param.id,grib_encoding.param_version,attribute.o;
EOF
my $qh=$dbh->prepare($query);
$qh->execute();
# file containing the list of grib api parameters files we want to tar and
# distribute to users for them to download and update their list of parameter
# to the latest
#open(TAR,$tarfilesflag ? ">>" : ">","tarfiles.txt") or die "Count not open file tarfiles.txt: $!";
#$tarfilesflag=1;
while (my ($keyval,$force128,$edition,$centre,$paramId,$attribute,$value,$name,$shortName)=$qh->fetchrow_array )
{
if ($centre eq "wmo" ) { $conceptDir=""; }
else { $conceptDir="/localConcepts/$centre"; }
#if ($key =~ /paramId/ && $force128==1 && $keyval >1000) {
# $keyval= $keyval % 1000;
#}
if ($filebase ne "$basedir/grib$edition$conceptDir") {
if ($filebase) {
print $out "}\n";
close $out;
}
$filebase="$basedir/grib$edition$conceptDir";
mkpath($filebase);
#copy("$filebase/$key.def","$filebase/$key.def.bkp")
# or die ("unable to copy $filebase/$key.def");
print TAR "grib$edition$conceptDir/$key.def\n";
#system("cp -f $filebase/$key.def $filebase/$key.def.orig");
open($out,"> $filebase/$key.def")
or die "unable to open $filebase/$key.def";
print $out "# Automatically generated by $0, do not edit\n";
$p=();
}
if ($p ne $paramId || exists($seen{$attribute}) ) {
if ($p) { print $out "\t}\n"; }
print $out "#$name\n" ;
print $out "\'".$keyval."\' = {\n" ;
$p=$paramId;
%seen=();
}
$seen{$attribute}=1;
print "($key=$keyval) $edition,$centre,$shortName,$paramId,$name,$attribute,$value\n";
# we need to allow strings in the attribute_value field
# for the moment we apply a patch here
if ($attribute =~ /stepType/ ) {
$value="\"accum\"";
}
if ($value eq '') {
$value="missing()";
}
print $out "\t $attribute = $value ;\n" ;
}
if ($filebase) {
print $out "}\n";
close $out;
}
close(TAR);
}
sub create_paramId_def {
my $p; my %seen;
@ -270,6 +356,7 @@ create_def("paramId");
create_def("shortName");
create_def("name");
create_def("units");
create_cfVarName("cfVarName");
create_cfName("cfName");
# #create_paramId_def();

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,120 +1,9 @@
# Automatically generated by ./create_def.pl, do not edit
#Stream function
'strf' = {
table2Version = 200 ;
indicatorOfParameter = 35 ;
}
#Velocity potential
'vp' = {
table2Version = 200 ;
indicatorOfParameter = 36 ;
}
#Potential temperature
'pt' = {
table2Version = 200 ;
indicatorOfParameter = 13 ;
}
#Wind speed
'ws' = {
table2Version = 200 ;
indicatorOfParameter = 32 ;
}
#Sea ice area fraction
'ci' = {
'siconc' = {
table2Version = 200 ;
indicatorOfParameter = 91 ;
}
#Montgomery potential
'mont' = {
table2Version = 200 ;
indicatorOfParameter = 37 ;
}
#Pressure
'pres' = {
table2Version = 200 ;
indicatorOfParameter = 1 ;
}
#Potential vorticity
'pv' = {
table2Version = 200 ;
indicatorOfParameter = 4 ;
}
#Total column cloud liquid water
'tclw' = {
table2Version = 200 ;
indicatorOfParameter = 227 ;
}
#Total column cloud ice water
'tciw' = {
table2Version = 200 ;
indicatorOfParameter = 58 ;
}
#Geopotential
'z' = {
table2Version = 200 ;
indicatorOfParameter = 6 ;
}
#Temperature
't' = {
table2Version = 200 ;
indicatorOfParameter = 11 ;
}
#U component of wind
'u' = {
table2Version = 200 ;
indicatorOfParameter = 33 ;
}
#V component of wind
'v' = {
table2Version = 200 ;
indicatorOfParameter = 34 ;
}
#Specific humidity
'q' = {
table2Version = 200 ;
indicatorOfParameter = 51 ;
}
#Surface pressure
'sp' = {
table2Version = 200 ;
indicatorOfParameter = 1 ;
indicatorOfTypeOfLevel = 1 ;
}
#Vertical velocity
'w' = {
table2Version = 200 ;
indicatorOfParameter = 39 ;
}
#Total column vertically-integrated water vapour
'tcwv' = {
table2Version = 200 ;
indicatorOfParameter = 54 ;
}
#Vorticity (relative)
'vo' = {
table2Version = 200 ;
indicatorOfParameter = 43 ;
}
#Mean sea level pressure
'msl' = {
table2Version = 200 ;
indicatorOfParameter = 2 ;
}
#Divergence
'd' = {
table2Version = 200 ;
indicatorOfParameter = 44 ;
}
#Geopotential height
'gh' = {
table2Version = 200 ;
indicatorOfParameter = 7 ;
}
#Relative humidity
'r' = {
table2Version = 200 ;
indicatorOfParameter = 52 ;
}
#10 metre U wind component
'u10' = {
table2Version = 200 ;
@ -136,71 +25,6 @@
indicatorOfTypeOfLevel = 105 ;
level = 2 ;
}
#Land-sea mask
'lsm' = {
table2Version = 200 ;
indicatorOfParameter = 81 ;
}
#Surface roughness (climatological)
'sr' = {
table2Version = 200 ;
indicatorOfParameter = 83 ;
}
#Brightness temperature
'btmp' = {
table2Version = 200 ;
indicatorOfParameter = 118 ;
}
#Specific cloud ice water content
'ciwc' = {
table2Version = 200 ;
indicatorOfParameter = 229 ;
}
#Snow depth
'sde' = {
table2Version = 200 ;
indicatorOfParameter = 66 ;
}
#Convective cloud cover
'ccc' = {
table2Version = 200 ;
indicatorOfParameter = 72 ;
}
#Low cloud cover
'lcc' = {
table2Version = 200 ;
indicatorOfParameter = 73 ;
}
#Medium cloud cover
'mcc' = {
table2Version = 200 ;
indicatorOfParameter = 74 ;
}
#High cloud cover
'hcc' = {
table2Version = 200 ;
indicatorOfParameter = 75 ;
}
#Large scale snow
'lssf' = {
table2Version = 200 ;
indicatorOfParameter = 79 ;
}
#Latent heat flux
'lhf' = {
table2Version = 200 ;
indicatorOfParameter = 121 ;
}
#Sensible heat flux
'shf' = {
table2Version = 200 ;
indicatorOfParameter = 122 ;
}
#Boundary layer dissipation
'bld' = {
table2Version = 200 ;
indicatorOfParameter = 123 ;
}
#2 metre specific humidity
'sh2' = {
table2Version = 200 ;
@ -208,745 +32,10 @@
indicatorOfTypeOfLevel = 105 ;
level = 2 ;
}
#Convective snow
'snoc' = {
table2Version = 200 ;
indicatorOfParameter = 78 ;
}
#Maximum wind speed
'maxgust' = {
table2Version = 200 ;
indicatorOfParameter = 219 ;
}
#Downward short-wave radiation flux
'dswrf' = {
table2Version = 200 ;
indicatorOfParameter = 204 ;
}
#Upward short-wave radiation flux
'uswrf' = {
table2Version = 200 ;
indicatorOfParameter = 211 ;
}
#Downward long-wave radiation flux
'dlwrf' = {
table2Version = 200 ;
indicatorOfParameter = 205 ;
}
#Upward long-wave radiation flux
'ulwrf' = {
table2Version = 200 ;
indicatorOfParameter = 212 ;
}
#Cloud water
'cwat' = {
table2Version = 200 ;
indicatorOfParameter = 76 ;
}
#Cloud work function
'cwork' = {
table2Version = 200 ;
indicatorOfParameter = 146 ;
}
#Total column integrated ozone
'tcioz' = {
table2Version = 200 ;
indicatorOfParameter = 10 ;
}
#Ground heat flux
'gflux' = {
table2Version = 200 ;
indicatorOfParameter = 155 ;
}
#2 metre relative humidity
'r2' = {
table2Version = 200 ;
indicatorOfParameter = 52 ;
indicatorOfTypeOfLevel = 105 ;
level = 2 ;
}
#Clear Sky Downward Solar Flux
'csdsf' = {
table2Version = 200 ;
indicatorOfParameter = 161 ;
}
#Clear Sky Upward Solar Flux
'csusf' = {
table2Version = 200 ;
indicatorOfParameter = 160 ;
}
#Clear Sky Upward Long Wave Flux
'csulf' = {
table2Version = 200 ;
indicatorOfParameter = 162 ;
}
#Clear Sky Downward Long Wave Flux
'csdlf' = {
table2Version = 200 ;
indicatorOfParameter = 163 ;
}
#Forecast albedo
'al' = {
table2Version = 200 ;
indicatorOfParameter = 84 ;
}
#Mean evaporation
'evpsfc' = {
table2Version = 200 ;
indicatorOfParameter = 57 ;
}
#Mean total precipitation
'tpratsfc' = {
table2Version = 200 ;
indicatorOfParameter = 61 ;
}
#Mean large scale precipitation
'lpratsfc' = {
table2Version = 200 ;
indicatorOfParameter = 62 ;
}
#Mean convective precipitation
'cpratsfc' = {
table2Version = 200 ;
indicatorOfParameter = 63 ;
}
#Mean snowfall rate water equivalent
'srweqsfc' = {
table2Version = 200 ;
indicatorOfParameter = 64 ;
}
#Mean surface water runoff
'rofsfc' = {
table2Version = 200 ;
indicatorOfParameter = 90 ;
}
#Square of Brunt-Vaisala frequency
'bvf2tht' = {
table2Version = 200 ;
indicatorOfParameter = 132 ;
}
#Adiabatic zonal acceleration
'aduahbl' = {
table2Version = 200 ;
indicatorOfParameter = 151 ;
}
#Adiabatic meridional acceleration
'advaprs' = {
table2Version = 200 ;
indicatorOfParameter = 165 ;
}
#Mean frequency of deep convection
'frcvsfc' = {
table2Version = 200 ;
indicatorOfParameter = 170 ;
}
#Mean frequency of shallow convection
'frcvssfc' = {
table2Version = 200 ;
indicatorOfParameter = 171 ;
}
#Mean frequency of stratocumulus parameterisation
'frscsfc' = {
table2Version = 200 ;
indicatorOfParameter = 172 ;
}
#Gravity wave zonal acceleration
'gwduahbl' = {
table2Version = 200 ;
indicatorOfParameter = 173 ;
}
#Gravity wave meridional acceleration
'gwdvahbl' = {
table2Version = 200 ;
indicatorOfParameter = 174 ;
}
#Mean evapotranspiration
'ltrssfc' = {
table2Version = 200 ;
indicatorOfParameter = 202 ;
}
#Adiabatic heating rate
'adhrhbl' = {
table2Version = 200 ;
indicatorOfParameter = 222 ;
}
#Moisture storage on canopy
'mscsfc' = {
table2Version = 200 ;
indicatorOfParameter = 223 ;
}
#Moisture storage on ground or cover
'msgsfc' = {
table2Version = 200 ;
indicatorOfParameter = 224 ;
}
#Mass concentration of condensed water in soil
'smcugl' = {
table2Version = 200 ;
indicatorOfParameter = 226 ;
}
#Upward mass flux at cloud base
'mflxbhbl' = {
table2Version = 200 ;
indicatorOfParameter = 230 ;
}
#Upward mass flux
'mfluxhbl' = {
table2Version = 200 ;
indicatorOfParameter = 231 ;
}
#Adiabatic moistening rate
'admrhbl' = {
table2Version = 200 ;
indicatorOfParameter = 236 ;
}
#Ozone mixing ratio
'ozonehbl' = {
table2Version = 200 ;
indicatorOfParameter = 237 ;
}
#Convective zonal acceleration
'cnvuahbl' = {
table2Version = 200 ;
indicatorOfParameter = 239 ;
}
#Mean zonal momentum flux by long gravity wave
'fglusfc' = {
table2Version = 200 ;
indicatorOfParameter = 147 ;
}
#Mean meridional momentum flux by long gravity wave
'fglvsfc' = {
table2Version = 200 ;
indicatorOfParameter = 148 ;
}
#Mean meridional momentum flux by short gravity wave
'fgsvsfc' = {
table2Version = 200 ;
indicatorOfParameter = 154 ;
}
#Mean zonal momentum flux by short gravity wave
'fgsusfc' = {
table2Version = 200 ;
indicatorOfParameter = 159 ;
}
#Convective meridional acceleration
'cnvvahbl' = {
table2Version = 200 ;
indicatorOfParameter = 240 ;
}
#Large scale condensation heating rate
'lrghrhbl' = {
table2Version = 200 ;
indicatorOfParameter = 241 ;
}
#Convective heating rate
'cnvhrhbl' = {
table2Version = 200 ;
indicatorOfParameter = 242 ;
}
#Convective moistening rate
'cnvmrhbl' = {
table2Version = 200 ;
indicatorOfParameter = 243 ;
}
#Vertical diffusion heating rate
'vdfhrhbl' = {
table2Version = 200 ;
indicatorOfParameter = 246 ;
}
#Vertical diffusion zonal acceleration
'vdfuahbl' = {
table2Version = 200 ;
indicatorOfParameter = 247 ;
}
#Vertical diffusion meridional acceleration
'vdfvahbl' = {
table2Version = 200 ;
indicatorOfParameter = 248 ;
}
#Vertical diffusion moistening rate
'vdfmrhbl' = {
table2Version = 200 ;
indicatorOfParameter = 249 ;
}
#Solar radiative heating rate
'swhrhbl' = {
table2Version = 200 ;
indicatorOfParameter = 250 ;
}
#Long wave radiative heating rate
'lwhrhbl' = {
table2Version = 200 ;
indicatorOfParameter = 251 ;
}
#Large scale moistening rate
'lrgmrhbl' = {
table2Version = 200 ;
indicatorOfParameter = 253 ;
}
#Type of vegetation
'tovg' = {
table2Version = 200 ;
indicatorOfParameter = 252 ;
}
#Virtual temperature
'vtmp' = {
table2Version = 200 ;
indicatorOfParameter = 12 ;
}
#Vertical velocity
'omg2' = {
table2Version = 200 ;
indicatorOfParameter = 40 ;
}
#Interception loss
'pitp' = {
table2Version = 200 ;
indicatorOfParameter = 203 ;
}
#Soil wetness of surface
'ussl' = {
table2Version = 200 ;
indicatorOfParameter = 225 ;
}
#Temperature at canopy
'ctmp' = {
table2Version = 200 ;
indicatorOfParameter = 144 ;
}
#Ground/surface cover temperature
'tgsc' = {
table2Version = 200 ;
indicatorOfParameter = 145 ;
}
#Pressure tendency
'ptend' = {
table2Version = 200 ;
indicatorOfParameter = 3 ;
}
#ICAO Standard Atmosphere reference height
'icaht' = {
table2Version = 200 ;
indicatorOfParameter = 5 ;
}
#Geometrical height
'h' = {
table2Version = 200 ;
indicatorOfParameter = 8 ;
}
#Standard deviation of height
'hstdv' = {
table2Version = 200 ;
indicatorOfParameter = 9 ;
}
#Pseudo-adiabatic potential temperature
'papt' = {
table2Version = 200 ;
indicatorOfParameter = 14 ;
}
#Maximum temperature
'tmax' = {
table2Version = 200 ;
indicatorOfParameter = 15 ;
}
#Minimum temperature
'tmin' = {
table2Version = 200 ;
indicatorOfParameter = 16 ;
}
#Dew point temperature
'dpt' = {
table2Version = 200 ;
indicatorOfParameter = 17 ;
}
#Dew point depression (or deficit)
'depr' = {
table2Version = 200 ;
indicatorOfParameter = 18 ;
}
#Lapse rate
'lapr' = {
table2Version = 200 ;
indicatorOfParameter = 19 ;
}
#Visibility
'vis' = {
table2Version = 200 ;
indicatorOfParameter = 20 ;
}
#Radar spectra (1)
'rdsp1' = {
table2Version = 200 ;
indicatorOfParameter = 21 ;
}
#Radar spectra (2)
'rdsp2' = {
table2Version = 200 ;
indicatorOfParameter = 22 ;
}
#Radar spectra (3)
'rdsp3' = {
table2Version = 200 ;
indicatorOfParameter = 23 ;
}
#Parcel lifted index (to 500 hPa)
'pli' = {
table2Version = 200 ;
indicatorOfParameter = 24 ;
}
#Temperature anomaly
'ta' = {
table2Version = 200 ;
indicatorOfParameter = 25 ;
}
#Pressure anomaly
'presa' = {
table2Version = 200 ;
indicatorOfParameter = 26 ;
}
#Geopotential height anomaly
'gpa' = {
table2Version = 200 ;
indicatorOfParameter = 27 ;
}
#Wave spectra (1)
'wvsp1' = {
table2Version = 200 ;
indicatorOfParameter = 28 ;
}
#Wave spectra (2)
'wvsp2' = {
table2Version = 200 ;
indicatorOfParameter = 29 ;
}
#Wave spectra (3)
'wvsp3' = {
table2Version = 200 ;
indicatorOfParameter = 30 ;
}
#Wind direction
'wdir' = {
table2Version = 200 ;
indicatorOfParameter = 31 ;
}
#Sigma coordinate vertical velocity
'sgcvv' = {
table2Version = 200 ;
indicatorOfParameter = 38 ;
}
#Absolute vorticity
'absv' = {
table2Version = 200 ;
indicatorOfParameter = 41 ;
}
#Absolute divergence
'absd' = {
table2Version = 200 ;
indicatorOfParameter = 42 ;
}
#Vertical u-component shear
'vucsh' = {
table2Version = 200 ;
indicatorOfParameter = 45 ;
}
#Vertical v-component shear
'vvcsh' = {
table2Version = 200 ;
indicatorOfParameter = 46 ;
}
#Direction of current
'dirc' = {
table2Version = 200 ;
indicatorOfParameter = 47 ;
}
#Speed of current
'spc' = {
table2Version = 200 ;
indicatorOfParameter = 48 ;
}
#Humidity mixing ratio
'mixr' = {
table2Version = 200 ;
indicatorOfParameter = 53 ;
}
#Vapour pressure
'vp' = {
table2Version = 200 ;
indicatorOfParameter = 55 ;
}
#Saturation deficit
'satd' = {
table2Version = 200 ;
indicatorOfParameter = 56 ;
}
#Precipitation rate
'prate' = {
table2Version = 200 ;
indicatorOfParameter = 59 ;
}
#Thunderstorm probability
'tstm' = {
table2Version = 200 ;
indicatorOfParameter = 60 ;
}
#Mixed layer depth
'mld' = {
table2Version = 200 ;
indicatorOfParameter = 67 ;
}
#Transient thermocline depth
'tthdp' = {
table2Version = 200 ;
indicatorOfParameter = 68 ;
}
#Main thermocline depth
'mthd' = {
table2Version = 200 ;
indicatorOfParameter = 69 ;
}
#Main thermocline anomaly
'mtha' = {
table2Version = 200 ;
indicatorOfParameter = 70 ;
}
#Best lifted index (to 500 hPa)
'bli' = {
table2Version = 200 ;
indicatorOfParameter = 77 ;
}
#Water temperature
'wtmp' = {
table2Version = 200 ;
indicatorOfParameter = 80 ;
}
#Deviation of sea-level from mean
'dslm' = {
table2Version = 200 ;
indicatorOfParameter = 82 ;
}
#Soil moisture content
'ssw' = {
table2Version = 200 ;
indicatorOfParameter = 86 ;
}
#Salinity
's' = {
table2Version = 200 ;
indicatorOfParameter = 88 ;
}
#Density
'den' = {
table2Version = 200 ;
indicatorOfParameter = 89 ;
}
#Ice thickness
'icetk' = {
table2Version = 200 ;
indicatorOfParameter = 92 ;
}
#Direction of ice drift
'diced' = {
table2Version = 200 ;
indicatorOfParameter = 93 ;
}
#Speed of ice drift
'siced' = {
table2Version = 200 ;
indicatorOfParameter = 94 ;
}
#U-component of ice drift
'uice' = {
table2Version = 200 ;
indicatorOfParameter = 95 ;
}
#V-component of ice drift
'vice' = {
table2Version = 200 ;
indicatorOfParameter = 96 ;
}
#Ice growth rate
'iceg' = {
table2Version = 200 ;
indicatorOfParameter = 97 ;
}
#Ice divergence
'iced' = {
table2Version = 200 ;
indicatorOfParameter = 98 ;
}
#Snowmelt
'snom' = {
table2Version = 200 ;
indicatorOfParameter = 99 ;
}
#Signific.height,combined wind waves+swell
'swh' = {
table2Version = 200 ;
indicatorOfParameter = 100 ;
}
#Mean direction of wind waves
'mdww' = {
table2Version = 200 ;
indicatorOfParameter = 101 ;
}
#Significant height of wind waves
'shww' = {
table2Version = 200 ;
indicatorOfParameter = 102 ;
}
#Mean period of wind waves
'mpww' = {
table2Version = 200 ;
indicatorOfParameter = 103 ;
}
#Direction of swell waves
'swdir' = {
table2Version = 200 ;
indicatorOfParameter = 104 ;
}
#Significant height of swell waves
'swell' = {
table2Version = 200 ;
indicatorOfParameter = 105 ;
}
#Mean period of swell waves
'swper' = {
table2Version = 200 ;
indicatorOfParameter = 106 ;
}
#Primary wave direction
'mdps' = {
table2Version = 200 ;
indicatorOfParameter = 107 ;
}
#Primary wave mean period
'mpps' = {
table2Version = 200 ;
indicatorOfParameter = 108 ;
}
#Secondary wave direction
'dirsw' = {
table2Version = 200 ;
indicatorOfParameter = 109 ;
}
#Secondary wave mean period
'swp' = {
table2Version = 200 ;
indicatorOfParameter = 110 ;
}
#Net short-wave radiation flux (surface)
'nswrs' = {
table2Version = 200 ;
indicatorOfParameter = 111 ;
}
#Net long-wave radiation flux (surface)
'nlwrs' = {
table2Version = 200 ;
indicatorOfParameter = 112 ;
}
#Net short-wave radiation flux(atmosph.top)
'nswrt' = {
table2Version = 200 ;
indicatorOfParameter = 113 ;
}
#Net long-wave radiation flux(atmosph.top)
'nlwrt' = {
table2Version = 200 ;
indicatorOfParameter = 114 ;
}
#Long wave radiation flux
'lwavr' = {
table2Version = 200 ;
indicatorOfParameter = 115 ;
}
#Short wave radiation flux
'swavr' = {
table2Version = 200 ;
indicatorOfParameter = 116 ;
}
#Global radiation flux
'grad' = {
table2Version = 200 ;
indicatorOfParameter = 117 ;
}
#Radiance (with respect to wave number)
'lwrad' = {
table2Version = 200 ;
indicatorOfParameter = 119 ;
}
#Radiance (with respect to wave length)
'swrad' = {
table2Version = 200 ;
indicatorOfParameter = 120 ;
}
#Momentum flux, u-component
'uflx' = {
table2Version = 200 ;
indicatorOfParameter = 124 ;
}
#Momentum flux, v-component
'vflx' = {
table2Version = 200 ;
indicatorOfParameter = 125 ;
}
#Wind mixing energy
'wmixe' = {
table2Version = 200 ;
indicatorOfParameter = 126 ;
}
#Image data
'imgd' = {
table2Version = 200 ;
indicatorOfParameter = 127 ;
}
#Cloud liquid water
'clw' = {
table2Version = 200 ;
indicatorOfParameter = 228 ;
}
#Percentage of vegetation
'vegrea' = {
table2Version = 200 ;
indicatorOfParameter = 87 ;
}
#Vertical integral of eastward heat flux
'vithee' = {
table2Version = 200 ;
indicatorOfParameter = 190 ;
}
#Vertical integral of northward heat flux
'vithen' = {
table2Version = 200 ;
indicatorOfParameter = 191 ;
}
#Vertical integral of eastward water vapour flux
'viwve' = {
table2Version = 200 ;
indicatorOfParameter = 157 ;
}
#Vertical integral of northward water vapour flux
'viwvn' = {
table2Version = 200 ;
indicatorOfParameter = 152 ;
}
#specific cloud water content
'qc' = {
table2Version = 200 ;
indicatorOfParameter = 221 ;
}
#Soil temperature
'st' = {
table2Version = 200 ;
indicatorOfParameter = 85 ;
}
#Snow depth water equivalent
'sd' = {
table2Version = 200 ;
indicatorOfParameter = 65 ;
}
#Total Cloud Cover
'tcc' = {
table2Version = 200 ;
indicatorOfParameter = 71 ;
}

View File

@ -158,8 +158,11 @@ concept paramId (paramIdECMF,"paramId.def",conceptsDir2,conceptsDir1): long_type
concept cfNameECMF(defaultName,"cfName.def",conceptsMasterDir,conceptsLocalDirECMF) : no_copy,read_only;
concept cfName(cfNameECMF,"cfName.def",conceptsDir2,conceptsDir1) : dump,no_copy,read_only;
concept cfVarNameECMF(defaultName,"cfVarName.def",conceptsMasterDir,conceptsLocalDirECMF) : no_copy,read_only;
concept cfVarName(cfVarNameECMF,"cfVarName.def",conceptsDir2,conceptsDir1) : dump,no_copy,read_only;
#concept cfVarNameECMF(defaultName,"cfVarName.def",conceptsMasterDir,conceptsLocalDirECMF) : no_copy,read_only;
#concept cfVarName(cfVarNameECMF,"cfVarName.def",conceptsDir2,conceptsDir1) : dump,no_copy,read_only;
# See ECC-1886
meta defaultCfVarName cf_var_name(shortName) : hidden, read_only;
concept cfVarName(defaultCfVarName,"cfVarName.def",conceptsDir2,conceptsDir1) : dump,no_copy,read_only;
concept unitsECMF(defaultName,"units.def",conceptsMasterDir,conceptsLocalDirECMF) : no_copy,read_only;
concept units(unitsECMF,"units.def",conceptsDir2,conceptsDir1) : dump,no_copy,read_only;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,34 +1,19 @@
# Automatically generated by ./create_def.pl, do not edit
#Sea ice area fraction
'ci' = {
'siconc' = {
discipline = 10 ;
parameterCategory = 2 ;
parameterNumber = 0 ;
typeOfFirstFixedSurface = 1 ;
}
#Sea ice area fraction
'ci' = {
'siconc' = {
discipline = 10 ;
parameterCategory = 2 ;
parameterNumber = 0 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
#Snow density
'rsn' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 61 ;
typeOfStatisticalProcessing = 0 ;
}
#Sea surface temperature
'sst' = {
discipline = 10 ;
parameterCategory = 3 ;
parameterNumber = 0 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
#Maximum temperature at 2 metres in the last 6 hours
'mx2t6' = {
discipline = 0 ;
@ -53,15 +38,6 @@
typeOfStatisticalProcessing = 3 ;
lengthOfTimeRange = 6 ;
}
#Total column water
'tcw' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 51 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 8 ;
typeOfStatisticalProcessing = 0 ;
}
#2 metre temperature
't2m' = {
discipline = 0 ;
@ -101,7 +77,7 @@
scaleFactorOfFirstFixedSurface = 1 ;
}
#2 metre dewpoint temperature
'd2' = {
'd2m' = {
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 6 ;
@ -110,123 +86,8 @@
scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 0 ;
}
#Time-integrated eastward turbulent surface stress
'ewss' = {
discipline = 0 ;
parameterCategory = 2 ;
parameterNumber = 38 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 1 ;
}
#Time-integrated northward turbulent surface stress
'nsss' = {
discipline = 0 ;
parameterCategory = 2 ;
parameterNumber = 37 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 1 ;
}
#Skin temperature
'skt' = {
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 17 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
#Mean sea water potential temperature in the upper 300 m
'mswpt300m' = {
discipline = 10 ;
parameterCategory = 4 ;
parameterNumber = 18 ;
typeOfFirstFixedSurface = 160 ;
typeOfSecondFixedSurface = 160 ;
scaledValueOfFirstFixedSurface = 0 ;
scaleFactorOfFirstFixedSurface = 0 ;
scaledValueOfSecondFixedSurface = 300 ;
scaleFactorOfSecondFixedSurface = 0 ;
typeOfStatisticalProcessing = 0 ;
}
#Sea surface practical salinity
'sos' = {
discipline = 10 ;
parameterCategory = 3 ;
parameterNumber = 3 ;
typeOfFirstFixedSurface = 160 ;
typeOfSecondFixedSurface = 255 ;
scaledValueOfFirstFixedSurface = 0 ;
scaleFactorOfFirstFixedSurface = 0 ;
scaledValueOfSecondFixedSurface = missing() ;
scaleFactorOfSecondFixedSurface = missing() ;
typeOfStatisticalProcessing = 0 ;
}
#Ocean mixed layer thickness defined by sigma theta 0.01 kg/m3
'mlotst010' = {
discipline = 10 ;
parameterCategory = 4 ;
parameterNumber = 14 ;
typeOfFirstFixedSurface = 169 ;
typeOfSecondFixedSurface = 255 ;
scaledValueOfFirstFixedSurface = 1 ;
scaleFactorOfFirstFixedSurface = 2 ;
scaledValueOfSecondFixedSurface = missing() ;
scaleFactorOfSecondFixedSurface = missing() ;
typeOfStatisticalProcessing = 0 ;
}
#Soil moisture top 20 cm
'sm20' = {
discipline = 2 ;
parameterCategory = 0 ;
parameterNumber = 22 ;
typeOfFirstFixedSurface = 106 ;
typeOfSecondFixedSurface = 106 ;
scaledValueOfFirstFixedSurface = 0 ;
scaleFactorOfFirstFixedSurface = 0 ;
scaledValueOfSecondFixedSurface = 2 ;
scaleFactorOfSecondFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
#Soil moisture top 100 cm
'sm100' = {
discipline = 2 ;
parameterCategory = 0 ;
parameterNumber = 22 ;
typeOfFirstFixedSurface = 106 ;
typeOfSecondFixedSurface = 106 ;
scaledValueOfFirstFixedSurface = 0 ;
scaleFactorOfFirstFixedSurface = 0 ;
scaledValueOfSecondFixedSurface = 10 ;
scaleFactorOfSecondFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
#Soil temperature top 20 cm
'st20' = {
discipline = 2 ;
parameterCategory = 0 ;
parameterNumber = 2 ;
typeOfFirstFixedSurface = 106 ;
typeOfSecondFixedSurface = 106 ;
scaledValueOfFirstFixedSurface = 0 ;
scaleFactorOfFirstFixedSurface = 0 ;
scaledValueOfSecondFixedSurface = 2 ;
scaleFactorOfSecondFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
#Soil temperature top 100 cm
'st100' = {
discipline = 2 ;
parameterCategory = 0 ;
parameterNumber = 2 ;
typeOfFirstFixedSurface = 106 ;
typeOfSecondFixedSurface = 106 ;
scaledValueOfFirstFixedSurface = 0 ;
scaleFactorOfFirstFixedSurface = 0 ;
scaledValueOfSecondFixedSurface = 10 ;
scaleFactorOfSecondFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
#Eastward surface sea water velocity
'ocu' = {
'uoe' = {
discipline = 10 ;
parameterCategory = 1 ;
parameterNumber = 2 ;
@ -234,69 +95,10 @@
typeOfStatisticalProcessing = 0 ;
}
#Northward surface sea water velocity
'ocv' = {
'von' = {
discipline = 10 ;
parameterCategory = 1 ;
parameterNumber = 3 ;
typeOfFirstFixedSurface = 160 ;
typeOfStatisticalProcessing = 0 ;
}
#Sea surface height
'zos' = {
discipline = 10 ;
parameterCategory = 3 ;
parameterNumber = 1 ;
typeOfFirstFixedSurface = 160 ;
typeOfSecondFixedSurface = 255 ;
scaledValueOfFirstFixedSurface = 0 ;
scaleFactorOfFirstFixedSurface = 0 ;
scaledValueOfSecondFixedSurface = missing() ;
scaleFactorOfSecondFixedSurface = missing() ;
typeOfStatisticalProcessing = 0 ;
}
#Depth of 20C isotherm
't20d' = {
discipline = 10 ;
parameterCategory = 4 ;
parameterNumber = 14 ;
typeOfFirstFixedSurface = 20 ;
typeOfSecondFixedSurface = 255 ;
scaledValueOfFirstFixedSurface = 29315 ;
scaleFactorOfFirstFixedSurface = 2 ;
scaledValueOfSecondFixedSurface = missing() ;
scaleFactorOfSecondFixedSurface = missing() ;
typeOfStatisticalProcessing = 0 ;
}
#Average sea water practical salinity in the upper 300m
'sav300' = {
discipline = 10 ;
parameterCategory = 4 ;
parameterNumber = 21 ;
typeOfFirstFixedSurface = 160 ;
typeOfSecondFixedSurface = 160 ;
scaledValueOfFirstFixedSurface = 0 ;
scaleFactorOfFirstFixedSurface = 0 ;
scaledValueOfSecondFixedSurface = 300 ;
scaleFactorOfSecondFixedSurface = 0 ;
typeOfStatisticalProcessing = 0 ;
}
#Sea-ice thickness
'sithick' = {
discipline = 10 ;
parameterCategory = 2 ;
parameterNumber = 1 ;
typeOfFirstFixedSurface = 160 ;
typeOfSecondFixedSurface = 255 ;
scaledValueOfFirstFixedSurface = 0 ;
scaleFactorOfFirstFixedSurface = 0 ;
scaledValueOfSecondFixedSurface = missing() ;
scaleFactorOfSecondFixedSurface = missing() ;
typeOfStatisticalProcessing = 0 ;
}
#Snow depth water equivalent
'sd' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 60 ;
typeOfStatisticalProcessing = 0 ;
}

View File

@ -1,67 +1,43 @@
# Automatically generated by ./create_def.pl, do not edit
#Maximum temperature at 2 metres in the last 6 hours
'mx2t6' = {
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 0 ;
typeOfFirstFixedSurface = 103 ;
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 0 ;
typeOfFirstFixedSurface = 103 ;
scaledValueOfFirstFixedSurface = 15 ;
scaleFactorOfFirstFixedSurface = 1 ;
indicatorOfUnitForTimeRange = 1 ;
scaleFactorOfFirstFixedSurface = 1 ;
indicatorOfUnitForTimeRange = 1 ;
typeOfStatisticalProcessing = 2 ;
lengthOfTimeRange = 6 ;
}
lengthOfTimeRange = 6 ;
}
#Minimum temperature at 2 metres in the last 6 hours
'mn2t6' = {
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 0 ;
typeOfFirstFixedSurface = 103 ;
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 0 ;
typeOfFirstFixedSurface = 103 ;
scaledValueOfFirstFixedSurface = 15 ;
scaleFactorOfFirstFixedSurface = 1 ;
indicatorOfUnitForTimeRange = 1 ;
scaleFactorOfFirstFixedSurface = 1 ;
indicatorOfUnitForTimeRange = 1 ;
typeOfStatisticalProcessing = 3 ;
lengthOfTimeRange = 6 ;
}
lengthOfTimeRange = 6 ;
}
#2 metre temperature
't2m' = {
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 0 ;
typeOfFirstFixedSurface = 103 ;
scaledValueOfFirstFixedSurface = 15 ;
scaleFactorOfFirstFixedSurface = 1 ;
}
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 0 ;
typeOfFirstFixedSurface = 103 ;
scaledValueOfFirstFixedSurface = 15 ;
scaleFactorOfFirstFixedSurface = 1 ;
}
#2 metre dewpoint temperature
'd2m' = {
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 6 ;
typeOfFirstFixedSurface = 103 ;
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 6 ;
typeOfFirstFixedSurface = 103 ;
scaledValueOfFirstFixedSurface = 15 ;
scaleFactorOfFirstFixedSurface = 1 ;
}
#Soil moisture
'sm' = {
discipline = 2 ;
parameterCategory = 0 ;
parameterNumber = 22 ;
typeOfFirstFixedSurface = 106 ;
typeOfSecondFixedSurface = 106 ;
scaledValueOfFirstFixedSurface = 0 ;
scaleFactorOfFirstFixedSurface = 0 ;
scaledValueOfSecondFixedSurface = 2 ;
scaleFactorOfSecondFixedSurface = 1 ;
}
#Soil temperature
'st' = {
discipline = 2 ;
parameterCategory = 0 ;
parameterNumber = 2 ;
typeOfFirstFixedSurface = 106 ;
typeOfSecondFixedSurface = 106 ;
scaledValueOfFirstFixedSurface = 0 ;
scaleFactorOfFirstFixedSurface = 0 ;
scaledValueOfSecondFixedSurface = 2 ;
scaleFactorOfSecondFixedSurface = 1 ;
}
scaleFactorOfFirstFixedSurface = 1 ;
}

View File

@ -1,72 +1,12 @@
# Automatically generated by ./create_def.pl, do not edit
#Wind speed
'ws' = {
discipline = 0 ;
parameterCategory = 2 ;
parameterNumber = 1 ;
typeOfFirstFixedSurface = 103 ;
scaledValueOfFirstFixedSurface = 100 ;
scaleFactorOfFirstFixedSurface = 0 ;
}
#Wind speed
'ws' = {
discipline = 0 ;
parameterCategory = 2 ;
parameterNumber = 1 ;
typeOfFirstFixedSurface = 103 ;
scaledValueOfFirstFixedSurface = 200 ;
scaleFactorOfFirstFixedSurface = 0 ;
}
#Wind speed
'ws' = {
discipline = 0 ;
parameterCategory = 2 ;
parameterNumber = 1 ;
typeOfStatisticalProcessing = 0 ;
}
#Wind speed
'ws' = {
discipline = 0 ;
parameterCategory = 2 ;
parameterNumber = 1 ;
typeOfFirstFixedSurface = 103 ;
scaledValueOfFirstFixedSurface = 100 ;
scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 0 ;
}
#Wind speed
'ws' = {
discipline = 0 ;
parameterCategory = 2 ;
parameterNumber = 1 ;
typeOfFirstFixedSurface = 103 ;
scaledValueOfFirstFixedSurface = 200 ;
scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 0 ;
}
#Sea ice area fraction
'ci' = {
'siconc' = {
discipline = 10 ;
parameterCategory = 2 ;
parameterNumber = 0 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
#Snow density
'rsn' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 61 ;
typeOfStatisticalProcessing = 0 ;
}
#Sea surface temperature
'sst' = {
discipline = 10 ;
parameterCategory = 3 ;
parameterNumber = 0 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
#Maximum 10 metre wind gust since previous post-processing
'fg10' = {
discipline = 0 ;
@ -102,110 +42,6 @@
indicatorOfUnitForTimeRange = 1 ;
typeOfStatisticalProcessing = 2 ;
}
#Pressure
'pres' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 0 ;
typeOfStatisticalProcessing = 0 ;
}
#Potential vorticity
'pv' = {
discipline = 0 ;
parameterCategory = 2 ;
parameterNumber = 14 ;
typeOfStatisticalProcessing = 0 ;
}
#Specific rain water content
'crwc' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 85 ;
typeOfStatisticalProcessing = 0 ;
}
#Specific snow water content
'cswc' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 86 ;
typeOfStatisticalProcessing = 0 ;
}
#Total column cloud liquid water
'tclw' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 69 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 8 ;
typeOfStatisticalProcessing = 0 ;
}
#Total column cloud ice water
'tciw' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 70 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 8 ;
typeOfStatisticalProcessing = 0 ;
}
#Geopotential
'z' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 4 ;
typeOfStatisticalProcessing = 0 ;
}
#Temperature
't' = {
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 0 ;
typeOfStatisticalProcessing = 0 ;
}
#U component of wind
'u' = {
discipline = 0 ;
parameterCategory = 2 ;
parameterNumber = 2 ;
typeOfStatisticalProcessing = 0 ;
}
#V component of wind
'v' = {
discipline = 0 ;
parameterCategory = 2 ;
parameterNumber = 3 ;
typeOfStatisticalProcessing = 0 ;
}
#Specific humidity
'q' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 0 ;
typeOfStatisticalProcessing = 0 ;
}
#Surface pressure
'sp' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 0 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
#Mean sea level pressure
'msl' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 0 ;
typeOfFirstFixedSurface = 101 ;
typeOfStatisticalProcessing = 0 ;
}
#Relative humidity
'r' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 1 ;
typeOfStatisticalProcessing = 0 ;
}
#10 metre U wind component
'u10' = {
discipline = 0 ;
@ -245,21 +81,6 @@
scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 0 ;
}
#Surface roughness (climatological)
'sr' = {
discipline = 2 ;
parameterCategory = 0 ;
parameterNumber = 1 ;
typeOfFirstFixedSurface = 1 ;
}
#Top net short-wave (solar) radiation
'tsr' = {
discipline = 0 ;
parameterCategory = 4 ;
parameterNumber = 1 ;
typeOfFirstFixedSurface = 8 ;
typeOfStatisticalProcessing = 1 ;
}
#Maximum temperature at 2 metres since previous post-processing
'mx2t' = {
discipline = 0 ;
@ -334,28 +155,6 @@
scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 0 ;
}
#Skin temperature
'skt' = {
discipline = 0 ;
parameterCategory = 0 ;
parameterNumber = 17 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 0 ;
}
#Specific cloud liquid water content
'clwc' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 83 ;
typeOfStatisticalProcessing = 0 ;
}
#Specific cloud ice water content
'ciwc' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 84 ;
typeOfStatisticalProcessing = 0 ;
}
#2 metre specific humidity
'sh2' = {
discipline = 0 ;
@ -367,61 +166,6 @@
scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 0 ;
}
#Precipitation type
'ptype' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 19 ;
typeOfStatisticalProcessing = 0 ;
}
#Total column integrated water vapour
'tciwv' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 64 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 8 ;
}
#Total column integrated water vapour
'tciwv' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 64 ;
typeOfFirstFixedSurface = 1 ;
typeOfSecondFixedSurface = 8 ;
typeOfStatisticalProcessing = 0 ;
}
#Momentum flux, u component
'uflx' = {
discipline = 0 ;
parameterCategory = 2 ;
parameterNumber = 17 ;
}
#Momentum flux, v component
'vflx' = {
discipline = 0 ;
parameterCategory = 2 ;
parameterNumber = 18 ;
}
#Standard deviation of sub-grid scale orography
'sdsgso' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 20 ;
}
#Cloud base
'cdcb' = {
discipline = 0 ;
parameterCategory = 6 ;
parameterNumber = 11 ;
}
#Volumetric soil moisture
'vsw' = {
discipline = 2 ;
parameterCategory = 0 ;
parameterNumber = 25 ;
typeOfStatisticalProcessing = 0 ;
}
#2 metre relative humidity
'r2' = {
discipline = 0 ;
@ -440,104 +184,4 @@
scaledValueOfFirstFixedSurface = 2 ;
scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 0 ;
}
#Evaporation
'eva' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 79 ;
typeOfFirstFixedSurface = 1 ;
indicatorOfUnitForTimeRange = 1 ;
typeOfStatisticalProcessing = 1 ;
lengthOfTimeRange = 6 ;
}
#Evaporation
'eva' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 79 ;
typeOfFirstFixedSurface = 1 ;
indicatorOfUnitForTimeRange = 1 ;
typeOfStatisticalProcessing = 1 ;
lengthOfTimeRange = 24 ;
}
#Time-integrated surface direct short wave radiation flux
'tidirswrf' = {
discipline = 0 ;
parameterCategory = 4 ;
parameterNumber = 13 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 1 ;
}
#Fraction of snow cover
'fscov' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 121 ;
typeOfStatisticalProcessing = 0 ;
}
#Accumulated surface downward short-wave radiation flux, clear sky
'adswrf_cs' = {
discipline = 0 ;
parameterCategory = 4 ;
parameterNumber = 52 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 1 ;
}
#Accumulated surface downward long-wave radiation flux, clear sky
'adlwrf_cs' = {
discipline = 0 ;
parameterCategory = 5 ;
parameterNumber = 8 ;
typeOfFirstFixedSurface = 1 ;
typeOfStatisticalProcessing = 1 ;
}
#Sea ice surface temperature
'sist' = {
discipline = 10 ;
parameterCategory = 2 ;
parameterNumber = 8 ;
typeOfFirstFixedSurface = 174 ;
typeOfSecondFixedSurface = 255 ;
scaledValueOfFirstFixedSurface = missing() ;
scaleFactorOfFirstFixedSurface = missing() ;
scaledValueOfSecondFixedSurface = missing() ;
scaleFactorOfSecondFixedSurface = missing() ;
}
#Snow on ice total depth
'sitd' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 11 ;
typeOfFirstFixedSurface = 174 ;
typeOfSecondFixedSurface = 255 ;
scaledValueOfFirstFixedSurface = missing() ;
scaleFactorOfFirstFixedSurface = missing() ;
scaledValueOfSecondFixedSurface = missing() ;
scaleFactorOfSecondFixedSurface = missing() ;
}
#Snowmelt
'snom' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 16 ;
}
#Sea-ice thickness
'sithick' = {
discipline = 10 ;
parameterCategory = 2 ;
parameterNumber = 1 ;
typeOfFirstFixedSurface = 160 ;
typeOfSecondFixedSurface = 255 ;
scaledValueOfFirstFixedSurface = 0 ;
scaleFactorOfFirstFixedSurface = 0 ;
scaledValueOfSecondFixedSurface = missing() ;
scaleFactorOfSecondFixedSurface = missing() ;
}
#Snow depth water equivalent
'sd' = {
discipline = 0 ;
parameterCategory = 1 ;
parameterNumber = 60 ;
typeOfStatisticalProcessing = 0 ;
}

View File

@ -27,8 +27,8 @@ concept cfName(cfNameECMF,"cfName.def",conceptsDir2,conceptsDir1) : no_copy,dump
# concept cfVarNameECMF (cfVarNameLegacyECMF,"cfVarName.def",conceptsMasterDir,conceptsLocalDirECMF): no_copy;
# concept cfVarName (cfVarNameECMF,"cfVarName.def",conceptsDir2,conceptsDir1): no_copy,dump;
# See ECC-1886
meta defaultCfVarName cf_var_name(shortName) : hidden, read_only;
concept cfVarName (defaultCfVarName, "cfVarName.def", conceptsDir2, conceptsDir1): no_copy,dump;
meta defaultCfVarName cf_var_name(shortName) : no_copy,hidden,read_only;
concept cfVarName (defaultCfVarName, "cfVarName.def", conceptsDir2, conceptsDir1): no_copy,dump,read_only;
template_nofail names "grib2/products_[productionStatusOfProcessedData].def";

View File

@ -86,6 +86,14 @@ static int grib_check_param_concepts(const char* key, const char* filename)
int type1Missing = -1, type2Missing = -1;
int err = 0;
/* concept_value->name is the value of the key (e.g. 151163 or sst) */
if (strcmp(key, "cfVarName")==0) {
Assert( strlen(concept_value->name) > 0 );
if ( isdigit(concept_value->name[0]) || strcmp(concept_value->name, "~")==0 ) {
fprintf(stderr, "%s %s: Invalid cfVarName in file %s\n",
key, concept_value->name, filename);
return GRIB_INVALID_KEY_VALUE;
}
}
while (concept_condition) {
char condition_value[512] = {0,};
grib_expression* expression = concept_condition->expression;

View File

@ -39,11 +39,12 @@ done
# Check WMO name.def etc
$EXEC ${test_dir}/grib_check_param_concepts name $ECCODES_DEFINITION_PATH/grib2/name.def
$EXEC ${test_dir}/grib_check_param_concepts units $ECCODES_DEFINITION_PATH/grib2/units.def
$EXEC ${test_dir}/grib_check_param_concepts units $ECCODES_DEFINITION_PATH/grib2/cfVarName.def
$EXEC ${test_dir}/grib_check_param_concepts cfVarName $ECCODES_DEFINITION_PATH/grib2/cfVarName.def
$EXEC ${test_dir}/grib_check_param_concepts cfVarName $ECCODES_DEFINITION_PATH/grib2/localConcepts/ecmf/cfVarName.def
# Check the group: name.def paramId.def shortName.def units.def cfVarName.def
# ----------------------------------------------------------------------------
# Check the group: name.def paramId.def shortName.def units.def
# -------------------------------------------------------------
# Check whether the Test::More Perl module is available
set +e
perl -e 'use Test::More;'
@ -119,7 +120,7 @@ rm -fr $tempDir
mkdir -p $tempDir
cd $tempDir
cp $ECMF_DIR/cfName.legacy.def cfName.def
cp $ECMF_DIR/cfVarName.legacy.def cfVarName.def
# cp $ECMF_DIR/cfVarName.legacy.def cfVarName.def
cp $ECMF_DIR/name.legacy.def name.def
cp $ECMF_DIR/paramId.legacy.def paramId.def
cp $ECMF_DIR/shortName.legacy.def shortName.def