1# Copyright 2005-2018 ECMWF.
2#
3# This software is licensed under the terms of the Apache Licence Version 2.0
4# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
5#
6# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
7# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
8#
9
10# LOCAL 98 16
11# Seasonal forecast monthly mean data
12
13constant GRIBEXSection1Problem = 80 - section1Length ;
14
15# used in local definition 13
16transient localFlag=1 : hidden;
17
18template mars_labeling "grib1/mars_labeling.def";
19
20unsigned[2] perturbationNumber : dump ;
21
22unsigned[2] systemNumber : dump ;
23
24unsigned[2] methodNumber : dump ;
25
26unsigned[4] verifyingMonth : dump ;
27
28meta endOfInterval g1end_of_interval_monthly(verifyingMonth);
29
30meta yearOfEndOfOverallTimeInterval   vector(endOfInterval,0);
31meta monthOfEndOfOverallTimeInterval   vector(endOfInterval,1);
32meta dayOfEndOfOverallTimeInterval   vector(endOfInterval,2);
33meta hourOfEndOfOverallTimeInterval   vector(endOfInterval,3);
34meta minuteOfEndOfOverallTimeInterval   vector(endOfInterval,4);
35meta secondOfEndOfOverallTimeInterval   vector(endOfInterval,5);
36
37transient hourOfEndOfOverallTimeInterval=23;
38transient minuteOfEndOfOverallTimeInterval=59;
39transient secondOfEndOfOverallTimeInterval=59;
40
41transient indicatorOfUnitForTimeRange=3;
42transient lengthOfTimeRange=1;
43unsigned[1] averagingPeriod : dump ;
44
45transient typeOfStatisticalProcessing=0;
46transient indicatorOfUnitForTimeIncrement = 1;
47transient timeIncrement=averagingPeriod;
48
49unsigned[2] forecastMonth : dump ;
50remove forecastTime;
51transient forecastTime=forecastMonth - 1;
52#remove typeOfTimeIncrement;
53transient typeOfTimeIncrement = 3;
54
55# Old GRIBS do not have forecast forecastMonth set. It is computed from verifyingMonth
56meta marsForecastMonth g1forecastmonth(verifyingMonth,dataDate,day,hour,forecastMonth) : read_only;
57
58alias origin = centre;
59alias number = perturbationNumber;
60alias system = systemNumber;
61alias method = methodNumber;
62
63# ECC-679
64unsigned[2] numberOfForecastsInEnsemble : dump ;
65alias totalNumber=numberOfForecastsInEnsemble;
66
67# spareSetToZero
68pad padding_loc16_1(16);
69