# Copyright 2005-2019 ECMWF.

# TEMPLATE 3.100, Triangular grid based on an icosahedron (see Attachment I.2-GRIB-Att.)

#  n2 - exponent of 2 for the number of intervals on main triangle sides
unsigned[1] n2  : dump ;

#  n3 - exponent of 3 for the number of intervals on main triangle sides
unsigned[1] n3  : dump ;

#  Ni - number of intervals on main triangle sides of the icosahedron
unsigned[2] Ni  : dump ;

#  nd - Number of diamonds
unsigned[1] nd  : dump ;
alias numberOfDiamonds=nd;

#  Latitude of the pole point of the icosahedron on the sphere
signed[4] latitudeOfThePolePoint  : dump ;
meta geography.latitudeOfThePolePointInDegrees scale(latitudeOfThePolePoint,one,grib2divider,truncateDegrees) : dump;

#  Longitude of the pole point of the icosahedron on the sphere
unsigned[4] longitudeOfThePolePoint  : dump ;
meta geography.longitudeOfThePolePointInDegrees g2lon(longitudeOfThePolePoint);

#  Longitude of the centre line of the first diamond of the icosahedron on the sphere
unsigned[4] longitudeOfFirstDiamondCenterLine  : dump ;
meta geography.longitudeOfFirstDiamondCenterLineInDegrees g2lon(longitudeOfFirstDiamondCenterLine);

#  Grid point position
codetable[1] gridPointPosition ('3.8.table',masterDir,localDir);

#  Numbering order of diamonds
flags[1] numberingOrderOfDiamonds 'grib2/tables/[tablesVersion]/3.9.table';

#  Scanning mode for one diamond
flags[1] scanningModeForOneDiamond 'grib2/tables/[tablesVersion]/3.10.table';

#  nt - total number of grid points
unsigned[4] totalNumberOfGridPoints  : dump ;

alias nt  = totalNumberOfGridPoints;

