aboutsummaryrefslogtreecommitdiff
path: root/Makeplot.f
blob: be6ba81f600144bce8cfadbf327f353ff2964ed0 (plain) (blame)
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

      subroutine makeplot (lscreen)
c******************************************************************************
c     This subroutine does the plot-package-specific commands to begin
c     a plot, then calls the specific plot drawing routine, then ends the
c     plot.
c******************************************************************************

      implicit real*8 (a-h,o-z)
      include 'Atmos.com'
      include 'Pstuff.com'
      integer sm_device, lscreen, nchars


c  open the plot device: screen terminal
      if (plotroutine(1:4) == 'term') then
         if (sm_device(smterm) < 0) then
            write (array,1001) smterm
            istat = ivwrite(lscreen+1,1,array,79)
            write (nf1out,1007) array(1:79)
            stop
         endif
      endif


c  open the plot device: hardcopy sent to printer
      if (plotroutine(1:4) == 'hard') then
         if     (plotroutine(6:9) == 'land') then
            if     (sm_device('postland') < 0) then
               write (array,1002)
               istat = ivwrite(lscreen+1,1,array,34)
               write (nf1out,1007) array(1:34)
               stop
            endif
         elseif (plotroutine(6:9) == 'port') then
            if (sm_device('postport') < 0) then
               write (array,1009)
               istat = ivwrite(lscreen+1,1,array,34)
               write (nf1out,1007) array(1:34)
               write (nf1out,1009)
               stop
            endif
         endif
      endif


c  open the plot device: postscript file
      if (plotroutine(1:4) == 'file') then
         if (f5out == 'optional_output_file') then
            array = 'Give the file name for the POSTSRIPT plot image: '
            nchars = 49
            call getasci (nchars,maxline)
            f5out = chinfo(1:nchars)
         else
            nchars = 80
            call getcount (nchars,f5out)
         endif
         if     (plotroutine(6:9) == 'land') then
            if (nchars < 10) then
               write (errmess,1003) nchars
            else
               write (errmess,1004) nchars
            endif
         elseif (plotroutine(6:9) == 'port') then
            if (nchars < 10) then
               write (errmess,1005) nchars
            else
               write (errmess,1006) nchars
            endif
         endif
         write (array,errmess) f5out(1:nchars)
         if (sm_device(array(1:nchars+13)) < 0) then
            write (nf1out,1007) array(1:nchars+9)
            istat = ivwrite(lscreen+1,1,array,nchars+9)
            stop
         endif
      endif


c  issue standard beginning commands
      call sm_graphics
      call sm_erase


c  call the routine that makes the desired plot
      if     (plotroutine(11:14) == 'cog ') then
         call cogplot
      elseif (plotroutine(11:14) == 'abun') then
         call abunplot
      elseif (plotroutine(11:14) == 'spec') then
         call specplot
      elseif (plotroutine(11:14) == 'bin ') then
         call binplot
      elseif (plotroutine(11:14) == 'flux') then
         call fluxplot
      endif


c  issue standard ending commands; exit normally
      if (plotroutine(1:4) == 'file') then
         f5out = 'optional_output_file'
      endif
      call sm_gflush
      if (plotroutine(1:4)=='hard' .or.
     .    plotroutine(1:4)=='file') call sm_hardcopy
      call sm_alpha
      return


c*****format statements
1001  format ('DEVICE OPENING ERROR FOR:',a54)
1002  format ('DEVICE OPENING ERROR FOR: postland')
1009  format ('DEVICE OPENING ERROR FOR: postport')
1007  format (a80)
1003  format ('(13hpostlandfile ,a',i1,'$)')
1004  format ('(13hpostlandfile ,a',i2,'$)')
1005  format ('(13hpostportfile ,a',i1,'$)')
1006  format ('(13hpostportfile ,a',i2,'$)')


      end