eccodes/definitions/grib2/template.3.latlon_vares.def

48 lines
1.3 KiB
Modula-2
Executable File

# (C) Copyright 2005- ECMWF.
unsigned[4] Ni : can_be_missing,dump;
alias numberOfPointsAlongAParallel=Ni;
alias Nx = Ni;
unsigned[4] Nj : dump;
alias numberOfPointsAlongAMeridian=Nj;
alias Ny = Nj;
alias geography.Ni=Ni;
alias geography.Nj=Nj;
# Basic angle of the initial production domain
unsigned[4] basicAngleOfTheInitialProductionDomain = 0;
transient mBasicAngle=basicAngleOfTheInitialProductionDomain*oneMillionConstant;
transient angleMultiplier = 1;
transient mAngleMultiplier = 1000000;
when (basicAngleOfTheInitialProductionDomain == 0) {
set angleMultiplier = 1;
set mAngleMultiplier = 1000000;
} else {
set angleMultiplier = basicAngleOfTheInitialProductionDomain;
set mAngleMultiplier = mBasicAngle;
}
# Subdivisions of basic angle used to define extreme longitudes and latitudes, and direction increments
unsigned[4] subdivisionsOfBasicAngle = missing() : can_be_missing;
transient angleDivisor = 1000000;
when (missing(subdivisionsOfBasicAngle) || subdivisionsOfBasicAngle == 0) {
set angleDivisor = 1000000;
} else {
set angleDivisor = subdivisionsOfBasicAngle;
}
include "grib2/template.3.resolution_flags.def"
include "grib2/template.3.scanning_mode.def";
longitudesList list(Ni) {
unsigned[4] longitudes;
}
latitudesList list(Nj) {
signed[4] latitudes;
}