]>
Commit | Line | Data |
---|---|---|
0caf84a5 | 1 | ! -*- F90 -*- |
2 | ||
3 | ||
4 | subroutine numberPDF(noe) | |
5 | implicit none | |
6 | integer nset,noe | |
7 | nset = 1 | |
8 | call numberPDFM(nset,noe) | |
9 | return | |
10 | end subroutine numberPDF | |
11 | ||
12 | ||
13 | subroutine listPDF(nset, imem, parm) | |
14 | implicit none | |
15 | include 'parmsetup.inc' | |
16 | character*16 name(nmxset) | |
17 | integer nmem(nmxset),ndef(nmxset) | |
18 | common/NAME/name,nmem,ndef,mem | |
19 | character*16 s1 | |
20 | integer i,j,mem,imem,noe,nop,listN(nmxset),listP(nmxset),type | |
21 | double precision parmL(nmxset,0:noemax,nopmax),parm(nopmax) | |
22 | integer nset | |
23 | save listN,listP,parmL | |
24 | ||
25 | mem=imem | |
26 | if (mem.gt.listN(nset)) then | |
27 | write(*,*) 'Maximum number of PDFs in list exceeded: ', mem,' > ',listN | |
28 | write(*,*) 'Returning most likely PDF' | |
29 | mem=0 | |
30 | endif | |
31 | if (mem.lt.0) then | |
32 | write(*,*) 'Negative PDF member requested: ', mem | |
33 | write(*,*) 'Returning most likely PDF' | |
34 | mem=0 | |
35 | endif | |
36 | do i=1,listP(nset) | |
37 | parm(i)=parmL(nset,mem,i) | |
38 | enddo | |
39 | return | |
40 | ||
41 | entry nopPDF(nset,nop) | |
42 | nop=listP(nset) | |
43 | return | |
44 | ||
45 | entry numberPDFM(nset, noe) | |
46 | if ( NAME(nset).eq.'MRSTgrid' .or. NAME(nset).eq.'MRST98grid' & | |
47 | .or. NAME(nset).eq.'A02' .or. NAME(nset).eq.'A02M' & | |
48 | .or. NAME(nset).eq.'CTEQ5grid' .or. NAME(nset).eq.'CTEQ6grid' & | |
49 | .or. NAME(nset).eq.'CTEQ65grid' .or. NAME(nset).eq.'CTEQ66grid' & | |
50 | .or. NAME(nset).eq.'CTEQ65cgrid' .or. NAME(nset).eq.'CTEQ6ABgrid' & | |
51 | .or. NAME(nset).eq.'SASG' .or. NAME(nset).eq.'GRVG' & | |
52 | .or. NAME(nset).eq.'DOG' .or. NAME(nset).eq.'DGG' & | |
53 | .or. NAME(nset).eq.'LACG' .or. NAME(nset).eq.'GSG' & | |
54 | .or. NAME(nset).eq.'GSG96' .or. NAME(nset).eq.'ACFGP' & | |
55 | .or. NAME(nset).eq.'WHITG' .or. NAME(nset).eq.'OWP' & | |
56 | .or. NAME(nset).eq.'SMRSP' .or. NAME(nset).eq.'GRVP' & | |
57 | .or. NAME(nset).eq.'ABFKWP' & | |
58 | !.or. NAME.eq.'H12000' & | |
59 | !.or. NAME.eq.'GRV' & | |
60 | ) then | |
61 | noe = nmem(nset) | |
62 | else | |
63 | noe=listN(nset) | |
64 | endif | |
65 | return | |
66 | ||
67 | entry InitListPDF(nset) | |
68 | type=-1 | |
69 | read(1,*) s1,listN(nset),listP(nset) | |
70 | !print *,s1,listN,listP | |
71 | if (index(s1,'list').eq.1) then | |
72 | type=1 | |
73 | do i=0,listN(nset) | |
74 | read(1,*) (parmL(nset,i,j),j=1,listP(nset)) | |
75 | enddo | |
76 | ! print *,parmL(0,1) | |
77 | endif | |
78 | if (type.lt.0) then | |
79 | write(*,*) 'File description error:' | |
80 | write(*,*) 'Unknown parameter list type ',s1 | |
81 | stop | |
82 | endif | |
83 | return | |
84 | end subroutine listPDF |