Help for TRICOEF
PURPOSE:
TRICOEF is used to compute and store for later retrieval the conformal
and authalic coefficients permitting computation of conformal
(angle preserving) and authalic (equal area) projections of
triaxial ellipsoids.
Tricoef computes the triaxial ellipsoid coefficients for computing:
1. Conformal latitude and longitude from Snyder latitude and longitude.
2. Authalic latitude and longitude from Snyder latitude and longitude.
Coefficients are stored in an IBIS archive whose name is defined via the
ARCHIVE parameter.
To use these coefficients see the subroutine TRIAXTRAN.
Warning:
1. The mp routines compute the same coefficients but without a random number
generator to permit you to observe how sensitive the solution is to the
KLIMIT, MLIMIT, & NLIMIT parameters. You can run tricoef several times to
check the repeatability of lat & lon for the conformal case.
2. Occasionally the archive gets corrupted, You can tell when the computed
lat & lon's are erroneous. To clear this condition "rm triaxial_archive.ibis".
USAGE & EXECUTION examples:
tricoef radius=(1000.,998.,900.) Coefficients are computed and
then discarded since no planet was
specified.
tricoef planet=IO mlimit=7 nlimit=7 klimit=7
Radii come from the spice.
Coefficients are saved in the
archive under the name IO. If no
archive exists one is created.
tricoef planet=XYZ radius=(1.,.9,.8)
A Synthetic planet XYZ is created and
the coefficients are saved under XYZ
in the same archive as above.
where:
radius=(a,b,c)
a = X radius (largest) defining prime meridian (longitude=0).
b = Y radius (middle) defining +90 degrees east longitude.
c = Z radius (smallest) defining spin axis.
OPERATION:
See: Snyder J P, Conformal Mapping of the Triaxial Ellipsoid,
Survey Review Vol.28, 217, July 1985
Also private communications for the authalic case.
The coordinate systems here are all right handed. Longitude increases
towards the east. Holding the planet before you with north up and the
prime meridian in front of you east increases to your right.
Mother will help you distinguish between left and right.
Snyder describes the Snyder system in his article. I have derived the triaxial
definition of planetodetic so see me for clarification (j Lorre).
The purpose of this program is to compute an adequate set of coefficients
permitting accurate computation of conformal & authalic lat & lon. Precision
depends upon the MLIMIT & NLIMIT parameters for conformal and the MLIMIT
& KLIMIT & NLIMIT parameters for authalic projections.
The larger they are the
more accurate the results but the longer the computation time.
Each computation of lat & lon requires MLIMIT*NLIMIT*2 trigonometric
computations for conformal and MLIMIT*KLIMIT+NLIMIT computations for
authalic.
The more eccentric the object the larger MLIMIT & NLIMIT & KLIMIT
must be. To determine when you have arrived at good values:
1. Scrutinize the RMS error term printed for a measure of
conformality or authalicity constraint violation.
An rms of .001 is a 0.1 percent violation of the constraint.
The number should look like: .00000000854 but not like: .00456.....
2. Compare runs with increasing values of MLIMIT & NLIMIT &KLIMIT until the
computed lat & lon's don't change. TRICOEF uses a random number
( only in the conformal case where ill conditioning is critical)
generator to produce points for fitting, thus assuring that each
run is unique. You can run the same command line repeatedly to
assure that computed lat,lon values are repeatable. Note that
different coefficients can give you similar lat,lon values but if
the coefficients are large or vary widely between runs it might
indicate ill conditioning.
The archive is an IBIS file in the new IBIS format.
The ibis coefficient storage file is used to store coefficients for
other programs to retrieve. This file has columns of 1024 elements
per column. Each planet has one column with the planet name as a header.
All values are real*8.
The order of coefficients in each column is as follows:
Word 1 Contains the constant MLIMIT
Word 2 Contains the constant KLIMIT
Word 3 Contains the constant NLIMIT
Word 4 Contains the planet major radius A normalized to 1.0
Word 5 Contains the planet middle radius B normalized to B/A
Word 6 Contains the planet minor radius C normalized to C/A
Word 7 Begins the NLIMIT*MLIMIT CC matrix coefficients for conformal.
k=7+nlimit*mlimit
Word k Begins the NLIMIT*MLIMIT CP matrix coefficients for conformal.
k=k+nlimit*mlimit
Word k Begins the (MLIMIT+1)*(KLIMIT+1) COEF coefficients for authalic.
k=k+(mlimit+1)*(klimit+1)
Word k Begins the NLIMIT coefficients for authalic.
k=k+nlimit-1
( k is the total number of words used )
These values are needed to operate the coordinate conversion subroutine
Triaxtran. When a planet is added a new column will be created.
If a planet is specified which is already in the archive
the old column will be overwritten by the new data. Thus the archive
grows to accomodate all planets of interest.
Notice that the archive defaults to your local directory. Change the
archive default if you want it elsewhere.
For your convenience the subroutine GET_ELLIPSOID is provided in the
source code for extracting the data from the archive in a format
required by Triaxtran. You can copy the source to your own application
to read the archive.
A WARNING TO ALL:
The subroutine TRIAXTRAN uses ALL the coefficients in the appropriate
archive column to perform authalic and conformat transformations. This
includes the normalized planet radii stored as column elements 4,5, and 6.
If you try using other radii than the ones stored with their column
coefficients the results will be incorrect.
HISTORY:
7-15-93 J Lorre.
COGNIZANT PROGRAMMER: Jean Lorre
05-11-98 RRP Updated pdf to constrain mlimit, klimit, and nlimit to have
positive values less then 15.
PARAMETERS:
ARCHIVE
Coefficients
archive.
PLANET
Planet name
RADIUS
Three planet radii.
A,B, and C.
MLIMIT
Number of longitude
terms.
KLIMIT
Number of latitude
terms. Authalic only.
NLIMIT
Number of latitude
terms.
TEST
Test TRIAXTRAN
subroutine using
coefficients
See Examples:
Cognizant Programmer: