COSMOS v7.655  COSMOSv7655
(AirShowerMC)
mnsave.f
Go to the documentation of this file.
1 *
2 * $Id: mnsave.F,v 1.1.1.1 1996/03/07 14:31:31 mclareni Exp $
3 *
4 * $Log: mnsave.F,v $
5 * Revision 1.1.1.1 1996/03/07 14:31:31 mclareni
6 * Minuit
7 *
8 *
9  SUBROUTINE mnsave
10 *
11 * $Id: d506dp.inc,v 1.1.1.1 1996/03/07 14:31:32 mclareni Exp $
12 *
13 * $Log: d506dp.inc,v $
14 * Revision 1.1.1.1 1996/03/07 14:31:32 mclareni
15 * Minuit
16 *
17 *
18 *
19 *
20 * d506dp.inc
21 *
22 C ************ DOUBLE PRECISION VERSION *************
23  IMPLICIT DOUBLE PRECISION (a-h,o-z)
24 CC Writes current parameter values and step sizes onto file ISYSSA
25 CC in format which can be reread by Minuit for restarting.
26 CC The covariance matrix is also output if it exists.
27 CC
28 *
29 * $Id: d506cm.inc,v 1.1.1.1 1996/03/07 14:31:32 mclareni Exp $
30 *
31 * $Log: d506cm.inc,v $
32 * Revision 1.1.1.1 1996/03/07 14:31:32 mclareni
33 * Minuit
34 *
35 *
36 *
37 *
38 * d506cm.inc
39 *
40  parameter(mne=100 , mni=50)
41  parameter(mnihl=mni*(mni+1)/2)
42  CHARACTER*10 CPNAM
43  COMMON
44  1/mn7nam/ cpnam(mne)
45  2/mn7ext/ u(mne) ,alim(mne) ,blim(mne)
46  3/mn7err/ erp(mni) ,ern(mni) ,werr(mni) ,globcc(mni)
47  4/mn7inx/ nvarl(mne) ,niofex(mne),nexofi(mni)
48  5/mn7int/ x(mni) ,xt(mni) ,dirin(mni)
49  6/mn7fx2/ xs(mni) ,xts(mni) ,dirins(mni)
50  7/mn7der/ grd(mni) ,g2(mni) ,gstep(mni) ,gin(mne) ,dgrd(mni)
51  8/mn7fx3/ grds(mni) ,g2s(mni) ,gsteps(mni)
52  9/mn7fx1/ ipfix(mni) ,npfix
53  a/mn7var/ vhmat(mnihl)
54  b/mn7vat/ vthmat(mnihl)
55  c/mn7sim/ p(mni,mni+1),pstar(mni),pstst(mni) ,pbar(mni),prho(mni)
56 C
57  parameter(maxdbg=10, maxstk=10, maxcwd=20, maxp=30, maxcpt=101)
58  parameter(zero=0.0, one=1.0, half=0.5)
59  COMMON
60  d/mn7npr/ maxint ,npar ,maxext ,nu
61  e/mn7iou/ isysrd ,isyswr ,isyssa ,npagwd ,npagln ,newpag
62  e/mn7io2/ istkrd(maxstk) ,nstkrd ,istkwr(maxstk) ,nstkwr
63  f/mn7tit/ cfrom ,cstatu ,ctitl ,cword ,cundef ,cvrsn ,covmes
64  g/mn7flg/ isw(7) ,idbg(0:maxdbg) ,nblock ,icomnd
65  h/mn7min/ amin ,up ,edm ,fval3 ,epsi ,apsi ,dcovar
66  i/mn7cnv/ nfcn ,nfcnmx ,nfcnlc ,nfcnfr ,itaur,istrat,nwrmes(2)
67  j/mn7arg/ word7(maxp)
68  k/mn7log/ lwarn ,lrepor ,limset ,lnolim ,lnewmn ,lphead
69  l/mn7cns/ epsmac ,epsma2 ,vlimlo ,vlimhi ,undefi ,bigedm,updflt
70  m/mn7rpt/ xpt(maxcpt) ,ypt(maxcpt)
71  n/mn7cpt/ chpt(maxcpt)
72  o/mn7xcr/ xmidcr ,ymidcr ,xdircr ,ydircr ,ke1cr ,ke2cr
73  CHARACTER CTITL*50, CWORD*(maxcwd), CUNDEF*10, CFROM*8,
74  + cvrsn*6, covmes(0:3)*22, cstatu*10, chpt*1
75  LOGICAL LWARN, LREPOR, LIMSET, LNOLIM, LNEWMN, LPHEAD
76  LOGICAL LOPEN,LNAME
77  CHARACTER CGNAME*64, CFNAME*64, CANSWR*1
78 C
79  INQUIRE(unit=isyssa,opened=lopen,named=lname,name=cgname)
80  IF (lopen) THEN
81  IF (.NOT.lname) cgname='UNNAMED FILE'
82  WRITE (isyswr,32) isyssa,cgname
83  32 FORMAT (' CURRENT VALUES WILL BE SAVED ON UNIT',i3,': ',a/)
84  ELSE
85 C new file, open it
86  WRITE (isyswr,35) isyssa
87  35 FORMAT (' UNIT',i3,' IS NOT OPENED.')
88  IF (isw(6) .EQ. 1) THEN
89  WRITE (isyswr,'(A)') ' PLEASE GIVE FILE NAME:'
90  READ (isysrd,'(A)') cfname
91  OPEN (unit=isyssa,file=cfname,status='NEW',err=600)
92  cgname = cfname
93  ELSE
94  GO TO 650
95  ENDIF
96  ENDIF
97 C file is now correctly opened
98  IF (isw(6) .EQ. 1) THEN
99  WRITE (isyswr,37) isyssa
100  37 FORMAT (' SHOULD UNIT',i3,' BE REWOUND BEFORE WRITING TO IT?' )
101  READ (isysrd,'(A)') canswr
102  IF (canswr.EQ.'Y' .OR. canswr.EQ.'y') rewind isyssa
103  ENDIF
104 C and rewound if requested
105  WRITE (isyssa,'(10HSET TITLE )',err=700)
106  WRITE (isyssa,'(A)') ctitl
107  WRITE (isyssa,'(10HPARAMETERS)')
108  nlines = 3
109 C write out parameter values
110  DO 200 i= 1, nu
111  IF (nvarl(i) .LT. 0) GO TO 200
112  nlines = nlines + 1
113  iint = niofex(i)
114  IF (nvarl(i) .GT. 1) GO TO 100
115 C parameter without limits
116  WRITE (isyssa,1001) i,cpnam(i),u(i),werr(iint)
117  GO TO 200
118 C parameter with limits
119  100 CONTINUE
120  WRITE (isyssa,1001) i,cpnam(i),u(i),werr(iint),alim(i),blim(i)
121  1001 FORMAT (1x,i5,1h',A10,1H',4e13.5)
122  200 CONTINUE
123  WRITE (isyssa,'(A)') ' '
124  nlines = nlines + 1
125 C write out covariance matrix, if any
126  IF (isw(2) .LT. 1) GO TO 750
127  WRITE (isyssa,1003,err=700) npar
128  1003 FORMAT ('SET COVARIANCE',i6)
129  npar2 = npar*(npar+1)/2
130  WRITE (isyssa,1004) (vhmat(i),i=1,npar2)
131  1004 FORMAT (bn,7e11.4,3x)
132  ncovar = npar2/7 + 1
133  IF (mod(npar2,7) .GT. 0) ncovar = ncovar + 1
134  nlines = nlines + ncovar
135  WRITE (isyswr, 501) nlines,isyssa,cgname(1:45)
136  501 FORMAT (1x,i5,' RECORDS WRITTEN TO UNIT',i4,':',a)
137  IF (ncovar .GT. 0) WRITE (isyswr, 502) ncovar
138  502 FORMAT (' INCLUDING',i5,' RECORDS FOR THE COVARIANCE MATRIX.'/)
139  GO TO 900
140 C some error conditions
141  600 WRITE (isyswr,'(A,I4)') ' I/O ERROR: UNABLE TO OPEN UNIT',isyssa
142  GO TO 900
143  650 WRITE (isyswr,'(A,I4,A)') ' UNIT',isyssa,' IS NOT OPENED.'
144  GO TO 900
145  700 WRITE (isyswr,'(A,I4)') ' ERROR: UNABLE TO WRITE TO UNIT',isyssa
146  GO TO 900
147  750 WRITE (isyswr,'(A)') ' THERE IS NO COVARIANCE MATRIX TO SAVE.'
148 C
149  900 RETURN
150  END
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
nodes z
block data include Zlatfit h c fitting region data data data data data d0 data data d0 data data h g *is for param c g data up(2, 1)/7.0d0/
dE dx *! Nuc Int sampling table e
Definition: cblkMuInt.h:130
nodes i
! constants thru Cosmos real ! if multiplied to deg radian Torad ! light velocity m sec ! infinty ! kg m2 *Togpcm2 g cm2 ! g cm2 *Tokgpm2 kg m2 ! cm *Tom m ! m *Tocm cm ! g cm3 *Tokgpm3 kg m3 ! kg m3 *Togpcm3 g cm3 ! sec *Tonsec nsec ! Tesla m ! Avogadro *A2deninv ! mfp *n * xs
Definition: Zglobalc.h:18
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
Definition: cblkHeavy.h:7
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kiron data j
Definition: cblkHeavy.h:36
struct ob o[NpMax]
Definition: Zprivate.h:34
subroutine mnsave
Definition: mnsave.f:10
dE dx *! Nuc Int sampling table d
Definition: cblkMuInt.h:130
nodes a
dE dx *! Nuc Int sampling table b
Definition: cblkMuInt.h:130
block data include Zlatfit h c fitting region data data data data data d0 data data d0 data data m
Definition: ZlatfitBD.h:35
dE dx *! Nuc Int sampling table h
Definition: cblkMuInt.h:130
dE dx *! Nuc Int sampling table g
Definition: cblkMuInt.h:130
!onst int maxp
Definition: Zprivate.h:3
integer n
Definition: Zcinippxc.h:1
integer, parameter half
Definition: csoftenPiK.f:108
! structure defining a particle at production ! Basic idea of what is to be contained in ! the particle structue is that dynamical ones should be included those derivable from the particle code ! is not included ******************************************************type fmom momentum sequence union map real e endmap map real * x
Definition: Zptcl.h:21
dE dx *! Nuc Int sampling table f
Definition: cblkMuInt.h:130
dE dx *! Nuc Int sampling table c
Definition: cblkMuInt.h:130