SPHER
argument:
LOGICAL FUNCTION M3TOGTPZ( GDTYP, IZONE1, P_ALP, P_BET, P_GAM, YCENT, & TPA, ISYS, IZONE, IUNIT, ISPH ) LOGICAL FUNCTION M3TOGTPZ( GDTYP, IZONE1, P_ALP, P_BET, P_GAM, YCENT, SPHER, & TPA, ISYS, IZONE, IUNIT, ISPH ) INTEGER, INTENT(IN ) :: GDTYP !! I/O API projection type LATGRD3, ... INTEGER, INTENT(IN ) :: IZONE1 !! UTM zone, or projection-ID > 60 REAL*8 , INTENT(IN ) :: P_ALP, P_BET, P_GAM !! defining angles REAL*8 , INTENT(IN ) :: YCENT !! central meridian REAL*8 , INTENT(IN ) :: SPHER !! sphere-radius REAL*8 , INTENT( OUT) :: TPA( 15 ) !! CTPZ0()-arguments INTEGER, INTENT( OUT) :: ISYS, IZONE, IUNIT !! CTPZ0()-arguments INTEGER, INTENT(INOUT) :: ISPH !! CTPZ0()-arguments
Set up arguments TPA, ISYS, IZONE, IUNIT, ISPH
for
USGS coordinate-transform
routine GTPZ0()
. To set up for GCTP
,
use twice: once for the input arguments, one for the output arguments.
See also Coordinate-coordinate conversion routines:
USE MODGCTGP
... !! Arguments for GTPZ0: REAL*8 CRDIN( 2 ) ! input coordinates x,y INTEGER*4 INSYS ! input projection code INTEGER*4 INZONE ! input utm zone, etc. REAL*8 TPAIN( 15 ) ! input projection parameters INTEGER*4 INUNIT ! input units code INTEGER*4 INSPH ! spheroid code INTEGER*4 IPR ! error print flag INTEGER*4 JPR ! projection parameter print flag INTEGER*4 LEMSG ! error message unit number INTEGER*4 LPARM ! projection parameter unit number REAL*8 CRDIO( 2 ) ! output coordinates x,y INTEGER*4 IOSYS ! output projection code INTEGER*4 IOZONE ! output utm zone, etc. REAL*8 TPOUT( 15 ) ! output projection parameters INTEGER*4 IOUNIT ! output units code INTEGER*4 LN27 ! NAD1927 file unit number INTEGER*4 LN83 ! NAD1983 file unit number CHARACTER*128 FN27 ! NAD1927 file name CHARACTER*128 FN83 ! NAD1983 file name INTEGER*4 LENGTH ! NAD* record-length INTEGER*4 IFLG ! error flag ... IF ( .NOT.M3TOGTPZ( GDTYP2, 70, P_ALP2, P_BET2, P_GAM2, YCENT2, & TPAIN, INSYS, INZONE, INUNIT, INSPH ) ) THEN EFLAG = .TRUE. MESG = 'Lat-Lon, LAM, UTM, TRM, POL, EQM, and ALB supported' CALL M3MSG2( MESG ) WRITE( MESG, '( A, I6, 2X, A )' ) '>>> Output grid type', GDTYP2, 'not supported' CALL M3MESG( MESG ) END IF IF ( .NOT.M3TOGTPZ( GDTYP1, 80, P_ALP1, P_BET1, P_GAM1, YCENT1, & TPOUT, IOSYS, IOZONE, IOUNIT, INSPH ) ) THEN MESG = 'Lat-Lon, LAM, UTM, TRM, POL, EQM, and ALB supported' CALL M3MSG2( MESG ) WRITE( MESG, '( A, I6, 2X, A, A )' ) 'Grid type', GDTYP1,'not supported' CALL M3EXIT( PNAME, 0, 0, MESG, 2 ) END IF ! if non-Lam grid (etc...) for GTP0 input ... CALL GTPZ0( CRDIN, INSYS, INZONE, TPAIN, INUNIT, INSPH, & IPR, JPR, LEMSG, LPARM, CRDIO, IOSYS, IOZONE, & TPOUT, IOUNIT, LN27, LN83, FN27, FN83, & LENGTH, IFLG ) ...
Up: Coordinate and Grid Related Routines
To: Models-3/EDSS I/O API: The Help Pages