Re: double precision versions of kurvp1, kurvp2?

From: Mary Haley (haley@XXXXXX)
Date: Mon Aug 04 2003 - 16:09:29 MDT

  • Next message: Seon Ki Park: "OPNGKS error?"

    >
    > Hello all,
    >
    > I'm using the FITGRID procedures KURVP1 and KURVP2 to detemine the points
    > of intersection of two closed polygons .
    >
    > The polygons represent (roughly circular) wind adjusted range circles. One
    > calculated outbound from some point on the earth and the other inbound to
    > that point.
    >
    > When my input original polygons get to be of a small diameter, representing
    > a radius of roughly 200Nm or under, the return arrays from the KURVP1
    > function (XP,YP) become NAN.
    >
    > I'm wondering if there are double precision versions of these function so
    > that I can use this program for smaller polygon radii?
    >
    >
    > Thanks in advance,
    >
    > John Prinos
    > jprinos@dehavilland.ca

    Hi John,

    In the next release of NCAR Graphics (Version 4.4.0), there will
    be double precision versions of many of the Fitgrid routines, including
    KURVP1 (KURVP1DP) and KURVP2 (KURVP2DP).

    I've been testing 4.4.0 on many of our UNIX systems, and once we get
    an idt bug fixed, then I will create this new version and release it.

    If you would like to try these new routines now, let me know what kind
    of system you have, and I'll give you a pre-compiled Ngmath library
    for it, if I can.

    --Mary

    >
    > CODE: (bad as it is...)
    >
    > CHARACTER*80 ACNAME,COMMAND,CRCLTYPE,CNAME
    > CHARACTER*250 MAPFILE,CITYNAME
    > DOUBLE PRECISION PLAT,PLON,ANGL,PLATDIFF,PLONDIFF
    > DOUBLE PRECISION ANGLL,ANGLR,ANGLB,ANGLT
    > INTEGER NU1,NU2,IERR,IOUT,CLRINDX,ACNINDX
    > REAL PLATR,PLONR,PLATN,PLONN,CLAT,CLON
    > REAL XLV,XRV,YBV,YTV,XLW,XRW,YBW,YTW,LS
    > C
    > C Declare stuff required to do color fill.
    > C
    > PARAMETER (LAMA=12000000,NCRA=600000,NGPS=300,LRWK=2*NCRA)
    > C
    > DIMENSION IAMA(LAMA),XCRA(NCRA),YCRA(NCRA),IAAI(NGPS),IAGI(NGPS)
    > REAL XUN(16),YUN(16),XP(16),YP(16),TEMP(32),S(16)
    > REAL XU1(16),YU1(16), XU2(16),YU2(16)
    > C
    > PARAMETER (IOUT=1000)
    > REAL U(IOUT),XO1(IOUT),YO1(IOUT),XON(IOUT),YON(IOUT),
    > + XO2(IOUT),YO2(IOUT)
    > C
    >
    > ....
    >
    >
    > CALL GETARG(1,MAPFILE)
    > OPEN(UNIT=10,FILE=MAPFILE,STATUS='OLD')
    > READ(10,*) ANGLL,ANGLR,ANGLB,ANGLT
    > READ(10,*) CNAME
    > READ(10,*) PLAT,PLON
    > READ(10,*) ACNAME
    > 1 READ(10,*,END=999) COMMAND
    > IF(
    > +(COMMAND.EQ.'OB').OR.
    > +(COMMAND.EQ.'IB').OR.
    > +(COMMAND.EQ.'0W'))
    > +THEN
    > NU1 = 16
    > DO 21 I=1,NU1
    > C XU1 Latitude point of the Ith point on the range circle
    > C YU1 Long. point of the Ith point on the range circle
    > READ(10,*) XU1(I),YU1(I)
    > 21 CONTINUE
    > C
    > C Do KURVP1 set up.
    > C
    > CALL KURVP1(NU1,XU1,YU1,XP,YP,TEMP,S,1,IERR)
    > IF (IERR .NE. 0) THEN
    > PRINT *, 'Error return from KURVP1 =',IERR
    > STOP
    > ENDIF
    > C
    > C Get interpolated points using KURV2.
    > C
    > TINC = 1.0/(IOUT-1)
    > DO 10 I=1,IOUT
    > U(I) = (I-1)*TINC
    > CALL KURVP2(U(I),XO1(I),YO1(I),NU1,XU1,YU1,XP,YP,S,1)
    > C PRINT *, 'I=',I,' U=',U(I),' X01=', XO1(I),' YO1=',YO1(I)
    > IF(ABS(XO1(I)-PLAT).GT.PLATDIFF) PLATDIFF = ABS(XO1(I)-PLAT)
    > IF(ABS(YO1(I)-PLON).GT.PLONDIFF) PLONDIFF = ABS(YO1(I)-PLON)
    > 10 CONTINUE
    > ENDIF
    > GOTO 1
    > ......
    >
    > E-MAIL NOTICE: The information contained in this e-mail message (and any
    > attachment(s) transmitted herewith) is intended for the exclusive use of
    > the addressee(s) named above. This message may be a solicitor-client
    > communication and as such is privileged and confidential. If you are not
    > an addressee (or responsible for delivery of this message to such person),
    > any disclosure, reproduction, distribution or other dissemination or use of
    > this message, in whole or in part, is strictly prohibited. If you have
    > received this message in error, please notify the sender immediately by
    > return e-mail and delete this message.
    >
    >
    >
    > _______________________________________________
    > ncarg-talk mailing list
    > ncarg-talk@ucar.edu
    > http://mailman.ucar.edu/mailman/listinfo/ncarg-talk
    >

    -- 
    -------------------------------------------------
    Mary Haley                   haley@ucar.edu
    NCAR/SCD/VETS                303-497-1254 (voice)
    1850 Table Mesa Dr           303-497-1804 (fax)
    Boulder, CO  80305
    -------------------------------------------------
    _______________________________________________
    ncarg-talk mailing list
    ncarg-talk@ucar.edu
    http://mailman.ucar.edu/mailman/listinfo/ncarg-talk
    



    This archive was generated by hypermail 2b29 : Mon Aug 04 2003 - 16:12:09 MDT