Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions appf.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,38 @@ link:$$http://geotiff.maptools.org/proj_list/polar_stereographic.html$$[http://g
The standard_parallel variant corresponds to EPSG Polar Stereographic (Variant B) (EPSG dataset coordinate operation method code 9829), while the scale_factor_at_projection_origin variant corresponds to EPSG Polar Stereographic (Variant A) (EPSG dataset coordinate operation method code 9810).
As PROJ requires the standard parallel, <<Snyder>> formula 21-7 can be used to compute it from the scale factor if needed.

=== Reduced Gaussian

----
grid_mapping_name = reduced_gaussian
----

__Map parameters:__::
* **`grid_subtype`** Reduced Gaussian grid type. Typically normal or octahedral.
* **`latitude_dimension`** The number of latitude lines from pole to equator (N). The full grid therefore contains 2N latitude lines.
* **`points_per_latitude`** Alternatively accumulated_points_per_latitude may be given.
* **`longitude_of_first_meridian`** This parameter is optional (default is 0)
* **`false_easting`** This parameter is optional (default is 0)

__Map coordinates:__::
The coordinate system is defined by a discrete index that references each grid point, the *`reduced_gaussian_index`*, together with the number of longitude points per latitude line, *`points_per_latitude`*, and the *`latitude`*. They can be used to reconstruct the longitudes for each of the gridpoints.
+
The *`reduced_gaussian_index`* is a strictly monotonic integer-valued index, non‑negative and starting from 0. It is identified by the standard_name attribute value *`reduced_gaussian_index`*. It is defined from the closest latitude point to the Northern Pole at the longitude given by the longitude_of_first_meridian (by default 0 degrees), to the last point of the last latitude line closest to the Southern Pole. The latitudes correspond to the zeros of the Legendre polynomial of order 2N, where N is the number of latitude lines from pole to equator. These grids exclude points at the poles and equator. The number of longitude points per latitude, is stored in the *`points-per-latitude`* vector. Longitudes can then be reconstructed. The *`latitude`* and *`longitude`* coordinates for each cell can be optionally included as 1D auxiliary coordinate variables.

__Notes:__::

The *`grid_subtype`* (e.g., Octahedral, Normal) and the number of latitudes from pole to equator (the “resolution” of the grid).
+
The reduced Gaussian grids should also include an indexing vector (*`reduced_gaussian_index`*) in global or non-global domains. In the particular case of a subdomain or a masked domain, data is given only for the non missing points. These indexes of these grid-cells are referenced to the global index (*`reduced_gaussian_index`*) and *`pl`* and *`lat`* are always global variables. For more information on the grid type, see <<RGG>> and <<RGG-O>>.
+
Either *`points_per_latitude`* (`pl`) or the *`accumulated_points_per_latitude`* (`accum_pl`) vectors can be provided indistinctively, the latter being the cumulative sum of the first one. Both vectors define the grid index, but the accumulated vector may ease user computations of latitudes and longitudes.
+
The reduced Gaussian grid is customarily identified by a nominal grid resolution. This number is half the number of latitudes e.g. grid resolution of 1280 means that the size of the dimension named by the *`latitude_dimension`* attribute is 2560. The latter is also the dimension of the variable named by *`the points_per_latitude`* attribute.
+
The *`reduced_gaussian_index`* can be stored with a reduced size using the compression by coordinate subsampling.
+
The calculation of latitude and longitude from the indexing vector for a grid point given by index i, the latitude index k can be calculated as the minimum k-th element so that the accumulation pl array for that element is higher than i. The longitude index is then calculated for that latitude index as the remaining number of elements in the following latitude line.

=== Rotated pole

----
Expand Down Expand Up @@ -493,6 +525,9 @@ This attribute and **`geoid_name`** cannot both be specified.
| **`grid_north_pole_longitude`** | N
| True longitude (degrees_east) of the north pole of the rotated grid.

| **`grid_subtype`** | N
| Reduced Gaussian grid type. Typically normal or octahedral.

| **`horizontal_datum_name`** | S
| The name of the geodetic (horizontal) datum, which corresponds to the procedure used to measure positions on the surface of the Earth.
Valid datum names and their associated parameters are given in **`horiz_datum.csv`** (OGC_DATUM_NAME column), following Table 2 in <<CF-WKT>>.
Expand All @@ -511,6 +546,9 @@ Example: 298.257222101 for the GRS 1980 ellipsoid.
(Note: By convention the dimensions of an ellipsoid are specified using either the semi-major and semi-minor axis lengths, or the semi-major axis length and the inverse flattening.
If all three attributes are specified then the supplied values must be consistent with the aforementioned formula.)

| **`latitude_dimension`** | N
| The number of latitude lines from pole to equator (N) in a reduced Gaussian grid. The full grid therefore contains 2N latitude lines.

| **`latitude_of_projection_origin`** | N
| The latitude (degrees_north) chosen as the origin of rectangular coordinates for a map projection.
Domain: +
Expand All @@ -534,6 +572,9 @@ Domain: +
Domain: +
**`-180.0 \<= longitude_of_central_meridian < 180.0`**

| **`longitude_of_first_meridian`** | N
| Specifies the longitude, with respect to Greenwich, of the first meridian used to define the grid mapping indexing. It is 0 degrees by default.

| **`longitude_of_prime_meridian`** | N
| Specifies the longitude, with respect to Greenwich, of the prime meridian associated with the geodetic datum.
The prime meridian defines the origin from which longitude values are determined.
Expand All @@ -552,6 +593,9 @@ Domain: + **`-180.0 \<= longitude_of_projection_origin < 180.0`**
| Records the height, __in metres__, of the map projection perspective point above the ellipsoid (or sphere).
Used by perspective-type map projections, for example the Vertical Perspective Projection, which may be used to simulate the view from a Meteosat satellite.

| **`points_per_latitude`** | N
| Number of longitude points that exist in a given latitude line for a reduced Gaussian grid.

| **`prime_meridian_name`** | S
| The name of the prime meridian associated with the geodetic datum.
Valid names are given in **`prime_meridian.csv`**, following Table 2 in <<CF-WKT>>.
Expand Down
2 changes: 2 additions & 0 deletions bibliography.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ Federal Geographic Data Committee, FGDC-STD-001-1998.
- [[[OGC_WKT-CRS]]] link:$$https://www.opengeospatial.org/standards/wkt-crs$$[OGC Well-known text representation of coordinate reference systems].
OGC document 12-063. 1st May 2015.
- [[[OGP-EPSG_GN7_2]]] link:$$https://epsg.org/guidance-notes.html$$[OGP Surveying and Positioning Guidance Note 7, part 2: Coordinate Conversions and Transformations including Formulas].
- [[[RGG]]] link:$$https://doi.org/10.1175/1520-0493(1991)119%3C1057:UORGGI%3E2.0.CO;2$$[Use of reduced Gaussian grids in spectral models]. Hortal, M. & A.J. Simmons, 1991.
- [[[RGG-O]]] link:$$https://doi.org/10.21957/zwdu9u5i$$[A new grid for the IFS]. Malardel, S., Wedi, N., Deconinck, W., Diamantakis, M., Kühnlein, C., Mozdzynski, G., Hamrud, M., & Smolarkiewicz, P. (2016): ECMWF Newsletter, 146, 23–28.
- [[[RH15]]] link:$$https://doi.org/10.1051/0004-6361/201526549$$[Efficient data structures for masks on 2D grids]. M Reinecke and E Hivon. 2015. _Astronomy & Astrophysics_. 580, A132
- [[[SCH02]]] link:$$https://doi.org/10.1175/1520-0493(2002)130<2459:ANTFVC>2.0.CO;2$$[A new terrain-following vertical coordinate formulation for atmospheric prediction models]. C Schaer, D Leuenberger, and O Fuhrer. 2002. _Monthly Weather Review_. 130. 2459-2480.
- [[[SI]]] link:$$https://doi.org/10.59161/AUEZ1291$$[SI Brochure: The International System of Units (SI)], 9th edition, BIPM, 2019.
Expand Down
1 change: 1 addition & 0 deletions conformance.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,7 @@ The legal values for the **`grid_mapping_name`** attribute are contained in Appe
* If the value of the **`indexing_scheme`** attribute is **`nuniq`** or **`zuniq`**, then the **`refinement_level`** attribute must not be present.
* The value of the **`refinement_level`** attribute must be an integer in the range 0-29.
* A variable with standard name **`healpix_index`** must have an integer data type and all values must be non-negative.
* A variable with standard name **`reduced_gaussian_index`** must have an integer data type starting from 0 and all values must be non-negative and strictly monotonic.

*Recommendations:*

Expand Down
1 change: 1 addition & 0 deletions history.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

=== Version 1.14-draft

* {issues}433[Issue #619]: Convention for reduced Gaussian grid parameters
* {issues}623[Issue #623]: Consistently refer to "CF conventions" and use of impersonal from.

=== Version 1.13 (17 December 2025)
Expand Down