# Copyright 2005-2012 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.
#


# START 2/template.3.20 ----------------------------------------------------------------------
# TEMPLATE 3.20, Polar stereographic projection
include "template.3.shape_of_the_earth.def";
transient oneThousand=1000;

#  Nx - number of points along X-axis
unsigned[4] Nx  : dump;
alias Ni =  Nx;
alias numberOfPointsAlongXAxis =  Nx;
alias geography.Nx=Nx;

#  Ny - number of points along Y-axis
unsigned[4] Ny  : dump;
alias Nj  = Ny;
alias numberOfPointsAlongYAxis  = Ny;
alias geography.Ny=Ny;

#  La1 - latitude of first grid point
signed[4] latitudeOfFirstGridPoint : edition_specific ;
meta geography.latitudeOfFirstGridPointInDegrees scale(latitudeOfFirstGridPoint,oneConstant,grib2divider,truncateDegrees) : dump;
alias La1 =  latitudeOfFirstGridPoint;

#  Lo1 - longitude of first grid point
unsigned[4] longitudeOfFirstGridPoint : edition_specific;
meta geography.longitudeOfFirstGridPointInDegrees scale(longitudeOfFirstGridPoint,oneConstant,grib2divider,truncateDegrees) : dump;
alias Lo1 =  longitudeOfFirstGridPoint;

#  Resolution and component flag
# NOTE 1 NOT FOUND
flags[1] resolutionAndComponentFlag 'grib2/tables/[tablesVersion]/3.3.table' : dump;

#  LaD - Latitude where Dx and Dy are specified
signed[4] LaD  : edition_specific;
alias latitudeWhereDxAndDyAreSpecified=LaD;
meta geography.LaDInDegrees scale(LaD,oneConstant,grib2divider,truncateDegrees) : dump;
alias latitudeWhereDxAndDyAreSpecifiedInDegrees=LaDInDegrees;

#  LoV - orientation of the grid
# NOTE 2 NOT FOUND
signed[4] orientationOfTheGrid  : edition_specific;
alias LoV =  orientationOfTheGrid ;

meta geography.orientationOfTheGridInDegrees scale(orientationOfTheGrid,oneConstant,grib2divider,truncateDegrees) : dump;
#  Dx - X-direction grid length
# NOTE 3 NOT FOUND
unsigned[4] Dx  : edition_specific;
meta geography.DxInMetres scale(Dx,oneConstant,grib1divider,truncateDegrees) : dump;
alias xDirectionGridLength=Dx;

#  Dy - Y-direction grid length
# NOTE 3 NOT FOUND
unsigned[4] Dy  : edition_specific;
meta geography.DyInMetres scale(Dy,oneConstant,grib1divider,truncateDegrees) : dump;
alias yDirectionGridLength=Dy;

#  Projection centre flag
flags[1] projectionCentreFlag 'grib2/tables/[tablesVersion]/3.5.table' : dump;

include "template.3.scanning_mode.def";


# END   2/template.3.20 ----------------------------------------------------------------------
