V3FIT
afile.f
1 
2  module sparmd
3  INTEGER, PARAMETER :: magpri67=29,magpri322=31,magprirdp=8
4  INTEGER, PARAMETER :: magpri=magpri67+magpri322+magprirdp
5  INTEGER, PARAMETER :: nfcoil=18,nsilop=41,nrogow=1,ntime=1
6  INTEGER, PARAMETER :: npca=70,nparm=1,ncoef=41
7  INTEGER, PARAMETER :: necoil=122,mpress=10,nvesel=24
8  INTEGER, PARAMETER :: nffcur=5,nppcur=5,npcurn=nffcur+nppcur
9  . ,mfnpcr=nfcoil+npcurn,npcur2=npcurn*2
10  . ,nrsmat=nsilop+magpri+nrogow+nffcur+1+npcurn+mpress+nfcoil
11  INTEGER, PARAMETER :: npoint=300
12  INTEGER, PARAMETER :: nw=65,nh=65,nwnh=nw*nh
13  INTEGER, PARAMETER :: nh2=2*nh,nwrk=2*(nw+1*nh)
14  INTEGER, PARAMETER :: nesum=6
15  INTEGER, PARAMETER :: ncurrt=nvesel+nesum+nfcoil
16 c INTEGER, PARAMETER :: mbdry=MAX(nsilop+magpri+nrogow,60)
17  INTEGER, PARAMETER :: mbdry=nsilop+magpri+nrogow
18 c INTEGER, PARAMETER :: nbwork=MAX(nsilop,60-magpri-nrogow)
19  INTEGER, PARAMETER :: nbwork=nsilop
20  INTEGER, PARAMETER :: kxiter=100
21  INTEGER, PARAMETER :: nlimit=120,nlimbd=6
22  INTEGER, PARAMETER :: msbdry=mbdry+nsilop+nfcoil+1,
23  . msbdr2=2*msbdry
24  INTEGER, PARAMETER :: nrsma2=2*nrsmat
25 c INTEGER, PARAMETER :: nwf=MAX(nw,nfcoil)
26  INTEGER, PARAMETER :: nwf=nw
27  INTEGER, PARAMETER :: nxtram=10,nxtrap=npoint
28  INTEGER, PARAMETER :: nxtlim=9,nco2v=3,nco2r=2
29  INTEGER, PARAMETER :: nslit=4,nangle=16
30 c
31  INTEGER, PARAMETER :: mxmagpri=100,mxnfcoil=50,mxnsilop=100,
32  . mxnesum=20
33  end module sparmd
34  module mcomd1
35  use sparmd
36 
37  common/inaver/iavem,iaved,iavev
38  real*8 :: rotam(npca,npca),coef(ncoef,nparm),pmean(nparm),
39  . psigma(nparm),qmean(npca),qsigma(npca),lcoef,nlcoef,
40  . eigen(npca),cfwtsi(mxnsilop),cfwtmp2(mxmagpri),mslref
41  real*8 :: rotamd(npca,npca),coefd(ncoef,nparm),pmeand(nparm),
42  . psigmad(nparm),qmeand(npca),qsigmad(npca)
43  integer :: lcoefd,nlcoefd
44  . eigend(npca),cfwtsid(mxnsilop),cfwtmp2d(mxmagpri)
45  integer :: mslrefd
46  real*8 :: ivesel,volecs(mxnesum),volecc(mxnesum)
47  . ,rsisvs(nvesel),efreq,sumvs0,volfcs(mxnfcoil)
48  . ,volfcc(mxnfcoil),rsisec(mxnesum),powvs,pvscur,pscurn,ppscur
49  real*8 :: s1(ntime),s2(ntime),s3(ntime),bpolav(ntime)
50  real*8 :: bpol(npoint),plengt(npoint),bpolz(npoint),siar,siaz
51  real*8 :: eout(ntime),rout(ntime),zout(ntime),doutu(ntime)
52  . ,doutl(ntime),aout(ntime),vout(ntime),betat(ntime),otop(ntime)
53  . ,betap(ntime),ali(ntime),oleft(ntime),oright(ntime),qsta(ntime)
54  . ,rcurrt(ntime),zcurrt(ntime),qout(ntime),olefs(ntime)
55  . ,orighs(ntime),otops(ntime),sibdry(ntime),areao(ntime)
56  . ,wplasm(ntime),elongm(ntime),qqmagx(ntime),terror(ntime)
57  . ,rmagx(ntime),zmagx(ntime),obott(ntime),obots(ntime)
58  . ,alpha(ntime),rttt(ntime),dbpli(ntime),delbp(ntime)
59  . ,rseps(2,ntime),zseps(2,ntime),sepexp(ntime),shearb(ntime)
60  . ,xtch(ntime),ytch(ntime),qpsib(ntime),vertn(ntime),aaq1(ntime)
61  . ,aaq2(ntime),aaq3(ntime),btaxp(ntime),btaxv(ntime)
62  . ,simagx(ntime),jerror(ntime),seplim(ntime)
63  . ,wbpol(ntime),taumhd(ntime),betapd(ntime),betatd(ntime)
64  . ,alid(ntime),wplasmd(ntime),taudia(ntime),wbpold(ntime)
65  . ,qmerci(ntime),slantu(ntime),slantl(ntime),zeff(ntime)
66  . ,zeffr(ntime),tave(ntime),civs(ntime),civst(ntime),
67  . cipmp2(ntime),frvst(ntime),fzvst(ntime),vsurfa(ntime),
68  . wpdot(ntime),wbdot(ntime),rvsin(ntime),zvsin(ntime),
69  . rvsout(ntime),zvsout(ntime),cjor95(ntime),pp95(ntime),
70  . ssep(ntime),yyy2(ntime),xnnc(ntime),cprof(ntime),qqmin(ntime)
71  . ,chigamt(ntime),cjor0(ntime),fexpan(ntime),ssi01(ntime),
72  . fexpvs(ntime),sepnose(ntime),ssi95(ntime),rqqmin(ntime)
73  . ,cjor99(ntime),cj1ave(ntime)
74  . ,rmidin(ntime),rmidout(ntime),psurfa(ntime)
75  real*8 :: zuperts(ntime),zlowerts,rmajts
76  real*8 :: xout(npoint),yout(npoint),dpsi,rymin,rymax,
77  . zxmin,zxmax,xmin,xmax,ymin,ymax,rmaxis,zmaxis,nfound,emaxis
78  real*8 :: psi(nwnh),psibry,simag,sidif,xpsi(nwnh),eouter
79  real*8 :: csilop(mxnsilop,ntime),crogow(nrogow,ntime),
80  . cmpr2(mxmagpri,ntime),cpasma(ntime),xndnt(ntime)
81  . ,cbetap,cli,cqqxis,cbetat,ci0
82  . ,ccbrsp(mxnfcoil,ntime)
83  real*8 :: pi,tmu,twopi,ibunmn,tmu2,errcut
84  integer :: kinput,jwake
85  real*8 :: cstabz
86  integer :: ivacum
87  real*8 :: rfila(npcurn),zfila(npcurn)
88  integer :: idfila
89  integer :: nin,nout,ntty,nrsppc,nrspfc,nttyo,neqdsk,nffile,nsave
90  real*8 :: brsp(nrsmat),tsaisq(ntime),cond
91  integer :: ishot,itime,nparam,nfnpcr
92  . ,kpcurn,kersil
93  real*8 :: bcentr(ntime),rcentr
94  real*8 :: serror,fwtsi(mxnsilop),fwtmp2(mxmagpri),
95  . fitwgt(nrogow),fwtcur,elomin,fwtbp,fwtdlc,fwtfc(mxnfcoil),
96  . rwtsi(mxnsilop),rwtmp2(mxmagpri)
97  real*8 :: silopt(ntime,mxnsilop),expmpi(ntime,mxmagpri),
98  . prexpt(ntime,nrogow),pasmat(ntime),xtime(ntime),
99  . ierpsi(mxnsilop),ierpr(nrogow),iermpi(mxmagpri),ierpla
100  . ,psibit(mxnsilop),prbit(nrogow),bitmpi(mxmagpri),bitip
101  . ,fccurt(ntime,mxnfcoil),vloopt(ntime),psiref(ntime)
102  . ,denvt(ntime,nco2v),denrt(ntime,nco2r),eccurt(ntime,mxnesum)
103  . ,bitfc(mxnfcoil),ierfc(mxnfcoil),diamag(ntime)
104  . ,sigdia(ntime),ierdia(3),pbinj(ntime)
105  integer :: ico2
106  real*8 :: saisil(mxnsilop),saimpi(mxmagpri),saipr(nrogow)
107  real*8 :: dfluxc(ntime),sigdlc,rspdlc(nffcur),cdflux(ntime)
108  real*8 :: mxiter,idone,error,errorm,nitera,nxiter,ixnn,errmin
109  real*8 :: rco2r(nco2r,ntime),rco2v(nco2v,ntime),chordv(nco2v)
110  . ,chordr(nco2r),zcentr,dco2r(ntime,nco2r)
111  . ,dco2v(ntime,nco2v)
112  real*8 :: sbpp
113  integer :: nvernum,lflag
114  real*8 :: kflag(30),ktimeo
115  real*8 :: darea,drgrid,dzgrid,qmaxis,cratio,dfsqe
116  real*8 :: rxray(nslit),zxray(nslit),xangle(nangle,nslit)
117  integer :: icondn,itek,kdata,itrace,ierchk,iconvr,ixray
118  . ,ichisq,modep,ibound,ibatch,idite,ilaser,islant
119  . ,chimin,cutip,lookfw,iplotvs,iplotmp,iplotsi
120  . ,mplotmp(3),mplotsi(3),ifitvs,idiamag,ipca,iheader,keqdsk
121  . ,negcur,itest_nc,kbound,kplot10
122  real*8 :: nqaxis,isumip,sumip,fbetap,fli,fbetat
123  real*8 :: rsi(mxnsilop),zsi(mxnsilop),wsi(mxnsilop)
124  . ,hsi(mxnsilop)
125  real*8 :: as(mxnsilop),as2(mxnsilop)
126  integer :: nslref
127  real*8 :: rf(mxnfcoil),zf(mxnfcoil),wf(mxnfcoil),hf(mxnfcoil),
128  . af(mxnfcoil),af2(mxnfcoil),rsisfc(mxnfcoil)
129  real*8 :: xmp2(mxmagpri),ymp2(mxmagpri),
130  . amp2(mxmagpri),smp2(mxmagpri),nsmp2,patmp2(mxmagpri)
131  real*8 :: scrape,nextra,ixstrt,iextra,iprobe,ifcoil,iecoil
132  . ,iexcal,iconsi
133  real*8 :: limitr,xlim(nlimit),ylim(nlimit),iplim,limfag
134  . ,limitr_180,xlim_180(nlimit),ylim_180(nlimit)
135  real*8 :: xlmin,xlmax,ylmin,ylmax,limid,limup,limbot
136  real*8 :: ipsi(ntime),irogw(ntime),imag2(ntime),iplasm(ntime)
137  . ,idlopc(ntime)
138  real*8 :: iopen,ifread,errbry,xncoil,itcoil,ifcurr
139  real*8 :: nbbbs,rbbbs(mbdry),zbbbs(mbdry)
140  real*8 :: cfcoil,fcsum(mxnfcoil),fczero(mxnfcoil),ifref
141  real*8 :: zero(nwnh)
142  real*8 :: xlimbd(nlimbd),ylimbd(nlimbd)
143  integer :: nsilop0,magpri0,nfcoil0,nesum0,turnfc(nfcoil),turnbc
144  dimension pcurrt(npcurn)
145  equivalence(pcurrt(1),brsp(mxnfcoil+1))
146  dimension :: mfvers(2)
147  character mfvers*5,terminal*100
148  dimension :: vsname(nvesel),mpnam2(mxmagpri),lpname(mxnsilop)
149  character*10 vsname,mpnam2,lpname
150  character*15 ifname(ntime)
151  character*4 cvax
152  character*3 limloc(ntime)
153  character*25 filimt
154  character cshot*6,mfitpop*12
155  integer erflag(ntime,30)
156  data nhist/37/,nslref/1/
157  data mfvers(1)/'07/19'/,mfvers(2)/'/99 '/
158  data turnfc/5*58,2*55,58,55,5*58,2*55,58,55/,turnbc/144/
159  end module mcomd1