mirror of https://github.com/ecmwf/eccodes.git
64 lines
2.0 KiB
Modula-2
64 lines
2.0 KiB
Modula-2
# (C) Copyright 2005- ECMWF.
|
|
# Singular vectors and ensemble perturbations
|
|
|
|
# 1->2
|
|
alias grib2LocalSectionPresent=present;
|
|
constant grib2LocalSectionNumber=9;
|
|
|
|
constant GRIBEXSection1Problem = 92 - section1Length;
|
|
|
|
template mars_labeling "grib1/mars_labeling.def";
|
|
|
|
unsigned[2] forecastOrSingularVectorNumber : dump;
|
|
|
|
#
|
|
# These elements are set to zero for perturbed forecast
|
|
#
|
|
|
|
constant perturbedType = 60;
|
|
if(type == perturbedType)
|
|
{
|
|
# octetsSetToZero
|
|
pad padding_loc9_1(41);
|
|
}
|
|
|
|
#
|
|
# These elements are coded for singular vectors
|
|
#
|
|
|
|
if(type != perturbedType)
|
|
{
|
|
unsigned[2] numberOfIterations : dump;
|
|
unsigned[2] numberOfSingularVectorsComputed : dump;
|
|
unsigned[1] normAtInitialTime : dump;
|
|
unsigned[1] normAtFinalTime : dump;
|
|
unsigned[4] multiplicationFactorForLatLong : dump;
|
|
signed[4] northWestLatitudeOfLPOArea : dump;
|
|
signed[4] northWestLongitudeOfLPOArea : dump;
|
|
signed[4] southEastLatitudeOfLPOArea : dump;
|
|
signed[4] southEastLongitudeOfLPOArea : dump;
|
|
unsigned[4] accuracyMultipliedByFactor : dump;
|
|
unsigned[2] numberOfSingularVectorsEvolved : dump;
|
|
# Ritz numbers:
|
|
signed[4] NINT_LOG10_RITZ : dump;
|
|
signed[4] NINT_RITZ_EXP : dump;
|
|
|
|
alias local.numberOfIterations= numberOfIterations;
|
|
alias local.numberOfSingularVectorsComputed= numberOfSingularVectorsComputed;
|
|
alias local.normAtInitialTime= normAtInitialTime;
|
|
alias local.normAtFinalTime= normAtFinalTime;
|
|
alias local.multiplicationFactorForLatLong= multiplicationFactorForLatLong;
|
|
alias local.northWestLatitudeOfLPOArea= northWestLatitudeOfLPOArea;
|
|
alias local.northWestLongitudeOfLPOArea= northWestLongitudeOfLPOArea;
|
|
alias local.southEastLatitudeOfLPOArea= southEastLatitudeOfLPOArea;
|
|
alias local.southEastLongitudeOfLPOArea= southEastLongitudeOfLPOArea;
|
|
alias local.accuracyMultipliedByFactor= accuracyMultipliedByFactor;
|
|
alias local.numberOfSingularVectorsEvolved= numberOfSingularVectorsEvolved;
|
|
|
|
alias local.NINT_LOG10_RITZ= NINT_LOG10_RITZ;
|
|
alias local.NINT_RITZ_EXP= NINT_RITZ_EXP;
|
|
}
|
|
|
|
# spareSetToZero
|
|
pad padding_loc9_2(1);
|