File: uscnf.f

package info (click to toggle)
dcl 7.3.3-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 17,208 kB
  • sloc: fortran: 48,501; makefile: 4,265; ansic: 3,993; sh: 137; f90: 14
file content (131 lines) | stat: -rw-r--r-- 3,661 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
*=======================================================================
*     USGRPH  FIGURE FOR STANDARD UNIT.
*=======================================================================

      WRITE(*,*) 'workstation no.? '
      READ (*,*) IWS
      CALL GROPN(IWS)
      CALL GRFRM

*------------------------ USPACK ROUTINES ------------------------------

      CALL USCSET('CXTTL' , 'X-TITLE')
      CALL USCSET('CYTTL' , 'Y-TITLE')
      CALL USCSET('CXUNIT', 'XSUB')
      CALL USCSET('CYUNIT', 'YSUB')
      CALL SGPSET('UYMIN' ,    0.)
      CALL SGPSET('UYMAX' , 5000.)
      CALL SGPSET('UXMIN' ,    0.)
      CALL SGPSET('UXMAX' , 2000.)
      CALL UZPSET('INNER' , -1)

      CALL USPFIT
      CALL GRSTRF
      CALL USDAXS

*-----------------------------------------------------------------------

      CALL UZPGET('RSIZET2', RSZT2)
      CALL UZPGET('RSIZEL1', RSZL1)
      CALL UZPGET('RSIZEC1', RSZC1)
      CALL UZPGET('PAD1',    PAD1)
      CALL USPGET('MXDGTY',  MXDGTY)
      CALL USPGET('MXDGTSY', MXDGTS)
      CALL USPGET('SOFFYLT', SOFFY)
      CALL SGQVPT(VXMIN, VXMAX, VYMIN, VYMAX)

      X1 = RSZT2
      X2 = (MXDGTY+PAD1) * RSZL1
      X3 = (1+PAD1)      * RSZC1

      Y1 = RSZT2
      Y2 = (1+PAD1) * RSZL1
      Y3 = (1+PAD1) * RSZL1
      Y4 = (1+PAD1) * RSZC1

      SX = RSZT2+(MXDGTS+PAD1)*RSZL1
      SY = SOFFY

*----------------------------- Y-AXIS ----------------------------------

      CALL SGPSET('LPROP', .FALSE.)
      CALL SGSTXS(0.02)

      VY1 = (VYMIN+VYMAX)/2.
      VY2 = VY1 + (VYMAX-VYMIN)/5.*2.
      VY0 = (VY1+VY2)/2

      VX1 = VXMIN - X1
      VX2 = VX1   - X2
      VX3 = VX2   - X3

      CALL SGLNV(VX1, VY1, VX1, VY2)
      CALL SGLNV(VX2, VY1, VX2, VY2)
      CALL SGLNV(VX3, VY1, VX3, VY2)

      CALL SGLAV(VX3, VY0, VX2, VY0)
      CALL SGLAV(VX2, VY0, VX3, VY0)

      CALL SGLAV(VX2, VY0, VX1, VY0)
      CALL SGLAV(VX1, VY0, VX2, VY0)

      CALL SGLAV(VXMIN+0.02, VY0, VXMIN, VY0)

      CALL SGTXV(VXMIN+0.02,   VY0+0.02, 'x_1"')
      CALL SGTXV((VX1+VX2)/2., VY0+0.02, 'x_2"')
      CALL SGTXV((VX2+VX3)/2., VY0+0.02, 'x_3"')

*---------------------------- SUB LABEL --------------------------------

      VY0 = VYMAX + SY*1.5
      VY1 = VYMAX + SY*2

      CALL SGLNV(VXMIN   , VYMAX, VXMIN   , VY1)
      CALL SGLNV(VXMIN-SX, VYMAX, VXMIN-SX, VY1)

      CALL SGLAV(VXMIN-SX, VY0, VXMIN   , VY0)
      CALL SGLAV(VXMIN   , VY0, VXMIN-SX, VY0)
      CALL SGTXV(VXMIN-SX/2., VY0+0.02, 's_x"')

      CALL SGLNV(VXMIN-X2/2., VYMAX+SY, VXMIN+X2/2., VYMAX+SY)
      CALL SGLAV(VXMIN+X2/3., VYMAX+SY, VXMIN+X2/3., VYMAX)
      CALL SGLAV(VXMIN+X2/3., VYMAX   , VXMIN+X2/3., VYMAX+SY)

      CALL SGTXV(VXMIN+X2/2., VYMAX+SY/2., 's_y"')

*----------------------------- X-AXIS ----------------------------------

      VY1 = VYMIN - Y1
      VY2 = VY1  - Y2
      VY3 = VY2  - Y3
      VY4 = VY3  - Y4

      VX1 = VXMIN + (VXMAX-VXMIN)*2/3.
      VX2 = VXMAX + X2
      VX0 = VX2 - 0.03

      CALL SGLNV(VX1, VY1, VX2, VY1)
      CALL SGLNV(VX1, VY2, VX2, VY2)
      CALL SGLNV(VX1, VY3, VX2, VY3)
      CALL SGLNV(VX1, VY4, VX2, VY4)
      CALL SGLNV(VXMAX, VYMIN, VX2, VYMIN)

      CALL SGLAV(VX0, VY4, VX0, VY3)
      CALL SGLAV(VX0, VY3, VX0, VY4)
      
      CALL SGLAV(VX0, VY3, VX0, VY2)
      CALL SGLAV(VX0, VY2, VX0, VY3)
      
      CALL SGLAV(VX0, VY2, VX0, VY1)
      CALL SGLAV(VX0, VY1, VX0, VY2)
      
      CALL SGLAV(VX0, VYMIN+0.02, VX0, VYMIN)

      CALL SGTXV(VX2, VYMIN+0.02,   'y_1"')
      CALL SGTXV(VX2, (VY1+VY2)/2., 'y_2"')
      CALL SGTXV(VX2, (VY2+VY3)/2., 'y_3"')
      CALL SGTXV(VX2, (VY3+VY4)/2., 'y_4"')

      CALL GRCLS
      STOP
      END