-
Notifications
You must be signed in to change notification settings - Fork 0
/
Moog_SCAT.f
executable file
·118 lines (94 loc) · 3.84 KB
/
Moog_SCAT.f
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
program moog_scat
c******************************************************************************
c This is the main driver for MOOG. It reads the parameter
c file and sends MOOG to various controlling subroutines.
c This is the normal interactive version of the code; for batch
c processing without user decisions, run MOOGSILENT instead.
c******************************************************************************
include 'Atmos.com'
include 'Pstuff.com'
character yesno*1
c$$$$$$$$$$$$$$$$$$$$$$$$ USER SETUP AREA $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
c*****in compiling MOOG, here the various machine-specific things are
c declared. First, define the directory where MOOG lives, in order to
c be able to pull in auxiliary data files; executing 'make' will
c generate a reminder of this necessity
write (moogpath,1001)
moogpath =
. '/Users/jsobeck/moog_SCAT-update'
c*****What kind of machine are you using? Possible ones are:
c "mac" = Intel-based Apple Mac
c "pcl" = a PC or desktop running some standard linux like Redhat
c "uni" = a machine running Unix, specifically Sun Solaris
machine = "mac"
c*****for x11 terminal types, define the parameters of plotting windows;
c set up an x11 screen geometry and placement that is good for spectrum
c syntheses (long, but not tall); the user should play with the format
c statements for particular machines.
write (smt1,1018)
c now do the same for line abundance trend plots (short but tall).
write (smt2,1017)
c$$$$$$$$$$$$$$$$$$$$$$$ END OF USER SETUP $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
c*****declare this to be the normal interactive version; variable "silent"
c will be queried on all occasions that might call for user input;
c DON'T CHANGE THIS VARIABLE;
c if silent = 'n', the normal interactive MOOG is run;
c if silent = 'y', the non-interactive MOOG is run
silent = 'n'
c*****invoke the overall starting routine
1 control = ' '
call begin
c*****Call the Ang_Weight_SCAT routine
call ang_weight_SCAT
c*****use one of the standard driver routines
if (control .eq. 'synplot') then
call plotit
elseif (control .eq. 'synth ') then
call synth_scat
elseif (control .eq. 'cogsyn ') then
call cogsyn_scat
elseif (control .eq. 'blends ') then
call blends_scat
elseif (control .eq. 'abfind ') then
call abfind_scat
elseif (control .eq. 'ewfind ') then
call ewfind_scat
elseif (control .eq. 'cog ') then
call cog_scat
elseif (control .eq. 'calmod ') then
call calmod
elseif (control .eq. 'doflux ') then
call doflux_scat
elseif (control .eq. 'weedout') then
call weedout
elseif (control .eq. 'gridsyn') then
call gridsyn_scat
elseif (control .eq. 'gridplo') then
call gridplo
elseif (control .eq. 'binary ') then
call binary_scat
elseif (control .eq. 'abpop ') then
call abpop_scat
elseif (control .eq. 'synpop ') then
call synpop_scat
c*****or, put in your own drivers in the form below....
elseif (control .eq. 'mine ') then
call mydriver
c*****or else you are out of luck!
else
array = 'THIS IS NOT ONE OF THE DRIVERS. TRY AGAIN (y/n)?'
istat = ivwrite (4,3,array,49)
istat = ivmove (3,1)
read (*,*) yesno
if (yesno .eq. 'y') then
go to 1
else
call finish (0)
endif
endif
c*****format statements
1001 format (60(' '))
1003 format (22x,'MOOG IS CONTROLLED BY DRIVER ',a7)
1017 format ('x11 -bg black -title MOOGplot -geom 700x800+650+000')
1018 format ('x11 -bg black -title MOOGplot -geom 1200x350+20+450')
end