This file is indexed.

/usr/share/eccodes/definitions/grib1/section.2.def is in libeccodes-data 2.0.2-5.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
# Copyright 2005-2016 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.
#

# label    Grib_section_2;
# START grib1::section
# SECTION 2, Grid description section
#  Length of section
# (octets)

position offsetSection2;
section_length[3] section2Length ;
meta section2Pointer section_pointer(offsetSection2,section2Length,2);
transient radius=6367470;
alias radiusOfTheEarth=radius;
alias radiusInMetres=radius;
transient shapeOfTheEarth=6 : hidden;

#  NV -- number of vertical coordinate parameters

unsigned[1] numberOfVerticalCoordinateValues : dump ;

constant neitherPresent = 255;

alias NV = numberOfVerticalCoordinateValues;
alias numberOfCoordinatesValues= numberOfVerticalCoordinateValues;

#  PV -- location
# (octet number)

unsigned[1] pvlLocation = 255;

#  Data representation type
codetable[1] dataRepresentationType 'grib1/6.table' = 0;
meta gridDefinitionDescription codetable_title(dataRepresentationType);


#  Grid definition
# (according to data representation type - octet 6 above)
alias is_rotated_grid=zero;

if (dataRepresentationType < 192)
{
  template dataRepresentation "grib1/grid_definition_[dataRepresentationType:l].def";
}
else
{
  template dataRepresentation "grib1/grid_definition_[dataRepresentationType:l].[centre:l].def";
}
position endGridDefinition;

position offsetBeforePV;
transient PVPresent = ( NV > 0);

if (pvlLocation != neitherPresent)
{
  padto padding_sec2_2(offsetSection2 + pvlLocation - 1);
} else {
  padto padding_sec2_2(offsetSection2 + 32 );
}

if(PVPresent )
{
  ibmfloat pv[NV] : dump;
  alias vertical.pv=pv;
}

position offsetBeforePL;

transient PLPresent = (section2Length > (offsetBeforePL - offsetSection2))
      && (section2Length >= (Nj * 2 + offsetBeforePL - offsetSection2))  ;

if(PLPresent)
{
  # For grib 1 -> 2
  constant numberOfOctectsForNumberOfPoints = 2;
  constant interpretationOfNumberOfPoints = 1;

  unsigned[2] pl[Nj] : dump;
  alias geography.pl=pl;
}

if(PVPresent == 0 && PLPresent == 0)
{
  # pad to the end of the grid definiton as in documentation
  # ( gribex compatibility )
  padto padding_sec2_1(offsetSection2 + 32);
}

#when (PVPresent == 0)  {  set NV = 0;}
when ((PVPresent == 1) or (PLPresent==1)) {
  set pvlLocation = offsetBeforePV - offsetSection2 + 1;
}
when ((PVPresent == 0) and (PLPresent==0)) { set pvlLocation = 255; }

alias reducedGrid = PLPresent;

# GRIB-534: To easily remove vertical coordinates, set this key to 1
concept_nofail deletePV(unknown) {
   "1" = { PVPresent=0; NV=0; }
}

padtoeven padding_sec2_3(offsetSection2,section2Length);

meta md5Section2 md5(offsetSection2,section2Length);
alias md5GridSection = md5Section2;