NOAA-EMC / wgrib2

Provides functionality for interacting with, reading, writing, and manipulating GRIB2 files.
27 stars 13 forks source link

remove gctpc? #160

Closed edwardhartnett closed 2 months ago

edwardhartnett commented 3 months ago

What's the deal with gctpc?

There's a README which says:

August 1998

                         ******** Disclaimer ********

The General Cartographic Transformation Package (GCTP) is a system of
software routines designed to permit the transformation of coordinate
pairs from one map projection to another.  The GCTP is the standard
computer software used by the National Mapping Division for map
projection computations.

Because of requirements internal to the EROS Data Center, the GCTP software
was converted from FORTRAN to the C programming language, and several new
projections were added.  During the conversion process, the software was
tested on the following UNIX systems:  Data General running DG/UX Release
5.4R2.01 AViiON, SUN running SunOS Release 4.1.3, and Silicon Graphics
running IRIX Release 5.3 IP7.  In addition, the software has also been
verified against the current National Mapping Division (NMD) GCTP
software.  This new version, GCTPC, is being made available informally
on a 'user-beware' basis.  EDC assumes no responsibility for the accuracy
of the routines in this package.

Because of decreasing budgets and impacts on software development staff, 
EDC will not be responsible for supporting this software package.  The 
user is responsible for using the package correctly.  A set of validation
data is provided so that each user/facility may perform its' own testing
of the programs.  A description of this data set and instructions for its
use are in the test/README file.  EDC will welcome any questions, comments, 
or suggestions, and will respond on a time-available basis based on our 
interests and requirements.  Communications concerning the GCTPC package 
may be directed to this email address:

        gctpc@edcmail.cr.usgs.gov

Is this code used or can it be removed?

webisu commented 3 months ago

Gctpc cannot be removed. Geolocation is handled by (order of priority)

  1. gctpc (common grids) with aspherical earth support
  2. proj4, needs to be updated to proj v9 and make to work with the github version of wgrib2 proj is needed for aspherical equal area lambert which is used by an operational forecast by the UKMetOffice. serves as a test for gctpc 3 internal routines: spherical only, common grid and various model grids (Gaussian, rotation lat-lon, etc)

Why not use proj for everything? Speed. Direct calls to the relevant code and OpenMP compatible (thread safe). Compatible with all platforms.

Proj is the gold standard but works on a different threading model.

Geolocation involves getting the lat-lon for each grid point. The calculations get more involved with aspherical earth. For gctpc, each thread calculates NX*NY/NTHREADS grid points. For proj, it's a non-threaded calculation.

Gctpc was written by USGS and was the basis for the proj routines AFAIK USGS is no longer supporting gctpc, and wgrib2 is the support. The code is pretty straightforward C and has never required support to internal/external users.

On Thu, Jul 4, 2024 at 9:34 AM Edward Hartnett @.***> wrote:

What's the deal with gctpc?

There's a README which says:

August 1998

                     ******** Disclaimer ********

The General Cartographic Transformation Package (GCTP) is a system of software routines designed to permit the transformation of coordinate pairs from one map projection to another. The GCTP is the standard computer software used by the National Mapping Division for map projection computations.

Because of requirements internal to the EROS Data Center, the GCTP software was converted from FORTRAN to the C programming language, and several new projections were added. During the conversion process, the software was tested on the following UNIX systems: Data General running DG/UX Release 5.4R2.01 AViiON, SUN running SunOS Release 4.1.3, and Silicon Graphics running IRIX Release 5.3 IP7. In addition, the software has also been verified against the current National Mapping Division (NMD) GCTP software. This new version, GCTPC, is being made available informally on a 'user-beware' basis. EDC assumes no responsibility for the accuracy of the routines in this package.

Because of decreasing budgets and impacts on software development staff, EDC will not be responsible for supporting this software package. The user is responsible for using the package correctly. A set of validation data is provided so that each user/facility may perform its' own testing of the programs. A description of this data set and instructions for its use are in the test/README file. EDC will welcome any questions, comments, or suggestions, and will respond on a time-available basis based on our interests and requirements. Communications concerning the GCTPC package may be directed to this email address:

  ***@***.***

Is this code used or can it be removed?

— Reply to this email directly, view it on GitHub https://github.com/NOAA-EMC/wgrib2/issues/160, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEIB7ZRREXZLKVQWG77TL2TZKVFNJAVCNFSM6AAAAABKLSKQMKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGM4TAOBZGQ4DMMY . You are receiving this because you were assigned.Message ID: @.***>

edwardhartnett commented 3 months ago

OK, let's ponder this further. I will take this issue off the 3.4.0 release but leave it open for further consideration...

edwardhartnett commented 2 months ago

I will close this issue until I can think of something useful to do...