Skip to content

Commit

Permalink
added gctpc
Browse files Browse the repository at this point in the history
  • Loading branch information
edwardhartnett committed Jan 5, 2024
1 parent 4ab2bfc commit 9e09e90
Show file tree
Hide file tree
Showing 506 changed files with 498,172 additions and 0 deletions.
2 changes: 2 additions & 0 deletions wgrib2/gctpc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

add_subdirectory(source)
181 changes: 181 additions & 0 deletions wgrib2/gctpc/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
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:

[email protected]

--------------------------------------------------------------------------------

The GCTPC Directory Structure is as follows:

gctpc

- README
- Announce.txt contains information on retrieving and installing
GCTPC

gctpc/doc:

- Documentation for GCTPC

gctpc/source:

- Code for the GCTPC library. A Makefile exists that has been
tested on Data General, SUN, and Silicon Graphics systems.

gctpc/test:

- Test procedures

Note: README files located in each directory contain additional information.


Periodic updates and corrections will be put in this directory for access
by the science community. Descriptions of these updates will be added to
this file.

Change Log:

Version Date Comments
------- ----- ----------------------------------------------------------
c.1.0 11/93 Initial C version. Includes all previous GCTP projections
and Space Oblique Mercator (SOM), Robinson, and Alaska
Conformal. The projections Hammer, Interrupted Goode
Homolosine, Mollweide, Interrupted Mollweide, Wagner IV,
Wagner VII, and Oblated Equal Area have been added.

c.1.1 1/95 The argument OUTDATUM was added to the GCTP call to add
The option to convert from one ellipsoid to another.
The ability for UTM to be processed with any ellipsoid code
was added. It previously only supported Clarke 1866.
Affected source files include: gctp.c, inv_init.c,
and for_init.c.

Modifications have been made to the documentation for
clarification. Affected documents include: AppendixA.txt,
for_init.ps, gctp.ps, and inv_init.ps. in the document
gctp.ps, the 12th spheroid code was changed from WALBECK
to WGS 84.

c.1.2 2/95 Changed the perror call in imolwfor.c and wivfor.c to
p_error.

Files utmfor.c and utminv.c were developed from tmfor.c
and tminv.c consecutively. The UTM portion has been
taken out of tmfor.c and tminv.c. This change was due
to errors that occurred when the utm and tm projection
were run in the same direction (forward or inverse) in
the same application.

Both changes to this version are internal and have no
impact on the method of application. No changes have
been made to documentation.

c.1.3 2/96 A modification was made to the function alberinv.c.
An error was brought to our attention that parenthesis
around the argument "1.0 + e3" was missing in the
assignment of the variable con on line 149. This
error was found by comparing the C code to the FORTRAN
version. The parenthesis have been added to the source.
This did not change the results of our tests, therefore,
the test data files have not been changed.

A correction was made to the document xxxinv.ps. The
input and output names were switched in the parameter
descriptions. Also, an explanation was added to xxxfor.ps
(xxxinv.ps) indicating that for_init (inv_init) must be
called before calling xxxfor (xxxinv). Small changes
were made to gctp.ps, inv_init.ps, and for_init.ps for
documentation consistency.

In the file sphdz.c, the name of spheroid code number 12
was incorrectly listed as Walbeck in the comment section.
This is actually WGS 84 and has been changed accordingly.

c.1.4 5/97 The email address for GCTPC support has been changed from
[email protected] to [email protected]

c.2.0 3/98 Version 2.0 of GCTPC will be named gctpc20.tar on the
anonymous ftp site which is different from the previous
version which was called gctpc.tar.

Fixed an error with the State Plane projection where no
initialization was being done if the spheroid changed.
Also, added an error check if the spheroid code is not
0 (Clarke 1866) or 8 (GRS 80). State Plane will only
support these two spheroid codes to correspond with NAD27
and NAD83. An error code number 23 has been added to represent
this error.

New spheroids have been added to the list of standard
spheroids. This has been done because of the increasing
demand for datum conversions.

In the init function in report.c, changed successful return
value from 0 to OK. In polyinv.c, Changed the error returned
to be the same as the flag returned from phi4z instead of
74. A list of the error codes and their corresponding messages
were added to the doc directory in file error.codes.

The word "datum" has been switched to "spheroid" within the
code were appropriate.

Took out unnessary line, ranlib, from the Makefile.

Source code comments were added in various files.

Added a file in the doc directory called error_codes.txt. This
file lists all the error code numbers and what they
represent.

Removed test data from the tm, snsoid, equidc, stereo, and
som test directories. This reduces the size of the package
from 40.5 megabytes to 38.5 megabytes. As time permits,
more work will be done in this area.

Corrected an error in the phi2z functions in the cproj.c file.
the variable flag was being assigned incorrectly.

Added outspheroid to the br_gctp call.

Added function prototypes to the proj.h file. Added proj.h
cproj.h. Added the function types to each function that was
defaulted to int. This was done to eliminate warning messages
when compiling with certain flags. I was able to compile with
flags "-xansi -32 -mips2 -O2 -fullwarn" with only a few
warnings from gctp.c and br_gctp.c.

Added #include <stdlib.h> and #include <ctype.h> to testproj.c
and took out #define NULL 0.

An error occured on the SUN systems with the sincos subroutine.
I took out the "ifndef" statement in the cproj.c file to allow
SUN systems to compile and run the sincos subroutine.

70 changes: 70 additions & 0 deletions wgrib2/gctpc/announce.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
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:

[email protected]


--------------------------------------------------------------------------------

******** Announcement ********


The General Cartographic Transformation Package (GCTP) was converted to the
C programming language, and several new projections were added. This new
version, GCTPc, is being made available informally by EDC. The directories
and files containing this package are available via anonymous ftp.

Periodic updates and corrections will be put in this directory for access
by the science community. Descriptions of these updates will be added to
the README file in the main directory.

The Package has been tar'd and compressed under the directory name gctpc.
To access GCTPc, retrieve the file gctpc20.tar.Z by anonymous ftp from

edcftp.cr.usgs.gov

This file can be retrieved by following these steps:

ftp> cd pub/software/gctpc
ftp> bin
ftp> get gctpc20.tar.Z
ftp> quit

Then on a UNIX system type:

% uncompress gctpc20.tar
% tar -xvf gctpc20.tar

The uncompressed gctpc20.tar file is approximately 38 megabytes in size.
A gctpc directory will be created and the files copied into it. Since the
gctpc20.tar file is not automatically deleted, the installation will
require approximately 76 megabytes of disk space. This will allow
the actual package files and gctpc20.tar to be on disk at the same time.
24 changes: 24 additions & 0 deletions wgrib2/gctpc/doc/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
February 1996

The directory gctpc/doc contains GCTPC documentation. The files are in either
ASCII and Post Script form. They include:

Post Script Documents:

overview.ps -- Overview of GCTPC. changes from Fortran GCTP and
methods to access transformation routines are included.

for_init.ps -- Description of function. A short description
gctp.ps of the function and its parameters is included.
inv_init.ps
xxxfor.ps
xxxinv.ps

ASCII Documents:

appendixA.txt -- Projection parameters. These parameters are required
to define each projection.
appendixB.txt -- UTM Zone Codes.
appendixC.txt -- State Plane Zone Codes.
error_codes.txt -- List of all error codes and their descriptions.
reference.txt -- References.
Loading

0 comments on commit 9e09e90

Please sign in to comment.