Skip to content

Commit 653ce8d

Browse files
authored
Merge pull request #1590 from allanfrankwork/add-template-3.33
Add support for template 3.33
2 parents 557e4ca + c15495f commit 653ce8d

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

grib/src/main/java/ucar/nc2/grib/grib2/Grib2Gds.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ public static Grib2Gds factory(int template, byte[] data) {
5252
case 30:
5353
result = new LambertConformal(data, 30);
5454
break;
55+
case 33:
56+
result = new LambertConformalWithModellingSubdomains(data, 33);
57+
break;
5558
case 31:
5659
result = new AlbersEqualArea(data);
5760
break;
@@ -1314,6 +1317,27 @@ public void testHorizCoordSys(Formatter f) {
13141317

13151318
}
13161319

1320+
/*
1321+
* Template 3.33 (Grid definition template 3.33 - Lambert Conformal with Modelling Subdomains)
1322+
* 15-81: Same as grid definition template 3.30
1323+
* 82–85 (4): Nux – size of model forecast subdomain in x–direction (number of grid points)
1324+
* 86–89 (4): Ncx – width of coupling area within forecast domain in x–direction (number of grid points)
1325+
* 90–93 (4): Nuy – size of model forecast subdomain in y–direction (number of grid points)
1326+
* 94–97 (4): Ncy – width of coupling area within forecast domain in y–direction (number of grid points)
1327+
*/
1328+
public static class LambertConformalWithModellingSubdomains extends LambertConformal {
1329+
final int nux, ncx, nuy, ncy;
1330+
1331+
LambertConformalWithModellingSubdomains(byte[] data, int template) {
1332+
super(data, template);
1333+
1334+
nux = getOctet4(82);
1335+
ncx = getOctet4(86);
1336+
nuy = getOctet4(90);
1337+
ncy = getOctet4(94);
1338+
}
1339+
}
1340+
13171341
/*
13181342
* (3.40) Grid definition template 3.40 - Gaussian latitude/longitude
13191343
* Template 3.40 (Grid definition template 3.40 - Gaussian latitude/longitude)

0 commit comments

Comments
 (0)