Merge branch 'improve_rotang_calculation' into develop (PR #211)
This merge improves the calculation of rotation angle at sub-km grid scales.
Previously, the sine and cosine of the rotation angle (SINALPHA and COSALPHA)
were computed using finite differences of the latitude and longitude fields.
This calculation generally worked well at grid scales larger than ~1 km and had
the benefit of being independent of map projection. However, at smaller grid
scales, the limited precision of the latitude and longitude fields led to
numerical errors in the computed rotation angle.
This merge adds projection-specific code to compute the rotation angle. For the
Mercator and cylindrical equidistant projections, the rotation angle is simply
zero everywhere, and for the Lambert conformal conic and polar stereographic
projections, the rotation angle is derived from the difference between a grid
cell's longitude and the standard longitude. For the Cassini projection, a
formula for the rotation angle is difficult to derive, and so with the
expectation that this projection will find limited use at high resolution, the
same finite differencing scheme is still employed.
* improve_rotang_calculation:
Improve the calculation of rotation angle at sub-km grid scales