aboutsummaryrefslogtreecommitdiff
path: root/sys/gio/ncarutil/tests/srfacet.f
diff options
context:
space:
mode:
authorJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
committerJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
commit40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch)
tree4464880c571602d54f6ae114729bf62a89518057 /sys/gio/ncarutil/tests/srfacet.f
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'sys/gio/ncarutil/tests/srfacet.f')
-rw-r--r--sys/gio/ncarutil/tests/srfacet.f150
1 files changed, 150 insertions, 0 deletions
diff --git a/sys/gio/ncarutil/tests/srfacet.f b/sys/gio/ncarutil/tests/srfacet.f
new file mode 100644
index 00000000..4e5bad00
--- /dev/null
+++ b/sys/gio/ncarutil/tests/srfacet.f
@@ -0,0 +1,150 @@
+ SUBROUTINE TSRFAC (nplot, IERROR)
+C
+C LATEST REVISION MARCH 1984
+C
+C PURPOSE TO PROVIDE A SIMPLE DEMONSTRATION OF
+C SRFACE AND TO TEST SRFACE ON A SINGLE
+C PROBLEM
+C
+C USAGE CALL TSRFAC (IERROR)
+C
+C ARGUMENTS
+c +noao: additional input parameter
+c nplot
+c = 1, EZSRF is demonstrated
+c = 2, SRFACE is demonstrated
+c
+C
+C ON OUTPUT IERROR
+C AN INTEGER VARIABLE
+C = 0, IF THE TEST IS SUCCESSFUL,
+C = 1, OTHERWISE
+C
+C I/O IF THE TEST IS SUCCESSFUL, THE MESSAGE
+C
+C SRFACE TEST SUCCESSFUL . . . SEE PLOT TO
+C VERIFY PERFORMANCE
+C
+C IS PRINTED ON UNIT 6.
+C
+C IN ADDITION, TWO FRAMES CONTAINING THE
+C SURFACE PLOT ARE PRODUCED ON THE MACHINE
+C GRAPHICS DEVICE. IN ORDER TO DETERMINE
+C IF THE TEST WAS SUCCESSFUL, IT IS
+C NECESSARY TO EXAMINE THESE PLOTS.
+C
+C PRECISION SINGLE
+C
+C REQUIRED LIBRARY SRFACE
+C FILES
+C
+C LANGUAGE FORTRAN
+C
+C HISTORY FIRST WRITTEN IN APRIL 1979, CONVERTED TO
+C FORTRAN 77 AND GKS IN MARCH 1984.
+C
+C ALGORITHM THE FUNCTION
+C
+C Z(X,Y) = .25*(X + Y + 1./((X-.1)**2+Y**2+.09)
+C - 1./((X+.1)**2+Y**2+.09))
+C
+C IS EVALUATED FOR
+C X = -1. TO 1. IN INCREMENTS OF .1 AND
+C Y = -1.2 TO 1.2 IN INCREMENTS OF .1.
+C TSRFAC CALLS SUBROUTINES EZSRFC AND SRFACE
+C ONCE. EACH CALL PRODUCES A SURFACE PLOT
+C OF THE ARRAY Z.
+C
+C PORTABILITY ANSI FORTRAN 77
+C
+C XX CONTAINS THE X-DIRECTION COORDINATE VALUES FOR Z(X,Y), YY CONTAINS
+C THE Y-DIRECTION COORDINATE VALUES FOR Z(X,Y), Z CONTAINS THE FUNCTION
+C VALUES, S CONTAINS VALUES FOR THE LINE OF SIGHT FOR ENTRY SRFACE,
+C WORK IS A WORK ARRAY, ANGH CONTAINS THE ANGLE IN DEGREES IN THE X-Y
+C PLANE TO THE LINE OF SIGHT, ANGV CONTAINS THE ANGLE IN DEGREES FROM
+C THE X-Y PLANE TO THE LINE OF SIGHT.
+C
+ REAL XX(21) ,YY(25) ,Z(21,25) ,S(6) ,
+ 1 WORK(1096)
+C
+ DATA S(1), S(2), S(3), S(4), S(5), S(6)/
+ 1 -8.0, -6.0, 3.0, 0.0, 0.0, 0.0/
+C
+ DATA ANGH/45./, ANGV/15./
+C
+C SPECIFY COORDINATES FOR PLOT TITLES. ON AN ABSTRACT GRID WHERE
+C THE COORDINATES RANGE FROM 0. TO 1., THE VALUES CX AND CY
+C DEFINE THE CENTER OF THE TITLE STRING.
+C
+ DATA CX/.405/, CY/.97/
+C
+C INITIALIZE ERROR PARAMETER
+C
+ IERROR = 0
+C
+C FILL XX AND YY COORDINATE ARRAYS AND Z FUNCTION VALUE ARRAY
+C
+ DO 20 I=1,21
+ X = .1*FLOAT(I-11)
+ XX(I) = X
+ DO 10 J=1,25
+ Y = .1*FLOAT(J-13)
+ YY(J) = Y
+ Z(I,J) = (X+Y+1./((X-.1)**2+Y**2+.09)-
+ 1 1./((X+.1)**2+Y**2+.09))*.25
+ 10 CONTINUE
+ 20 CONTINUE
+C
+C SELECT NORMALIZATION TRANSFORMATION 0
+C
+ CALL GSELNT(0)
+C
+C EZSRFC DEMO
+C
+C LABEL THE PLOT FOR ENTRY EZSRFC
+C
+C SET TEXT ALIGNMENT TO CENTER THE STRING AT THE STRING CENTER
+C AND IN THE VERTICAL CENTER
+C
+ CALL GSTXAL(2,3)
+C
+C SET CHARACTER HEIGHT
+C
+ CALL GSCHH(.016)
+C
+C PLOT CHARACTERS
+C
+ if (nplot .eq. 1) then
+ CALL GTX(CX,CY,'DEMONSTRATION PLOT FOR EZSRFC ENTRY OF SRFACE')
+ CALL EZSRFC (Z,21,25,ANGH,ANGV,WORK)
+ endif
+C
+C
+C SRFACE DEMO
+C
+C LABEL THE PLOT FOR ENTRY SRFACE
+C
+C SET TEXT ALIGNMENT TO CENTER THE STRING AT THE STRING CENTER
+C AND IN THE VERTICAL CENTER
+C
+ CALL GSTXAL(2,3)
+C
+C SET CHARACTER HEIGHT
+C
+ CALL GSCHH(.016)
+C
+C PLOT CHARACTERS
+C
+ if (nplot .eq. 2) then
+ CALL GTX(CX,CY,'DEMONSTRATION PLOT FOR SRFACE ENTRY OF SRFACE')
+ CALL SRFACE (XX,YY,Z,WORK,21,21,25,S,0.)
+ endif
+C
+c WRITE (6,1001)
+C
+ RETURN
+C
+C1001 FORMAT (' SRFACE TEST SUCCESSFUL',24X,
+C 1 'SEE PLOT TO VERIFY PERFORMANCE')
+C
+ END