33 subroutine setprm(ixparm,ixsite,fval)
47 integer i,ixmax,jx,jx1,jx2
61 if (ixsite.gt.0 .and. ixsite.le.ixmax)
then
67 else if (ixsite.eq.0)
then
83 if (ixparm.eq.
ib0)
then
85 else if (ixparm.eq.
iphase)
then
87 else if (ixparm.eq.
ipsi)
then
89 else if (ixparm.eq.
ilb)
then
91 else if (ixparm.eq.
irange)
then
101 if (ixparm.eq.
ipsi)
then
112 fparm(abs(mod(ixparm,100)),jx)=fval
113 if (ixparm.ne.
igib0 .and. ixparm.ne.
igib2 .and. .not.
126 1000
format(
' *** Illegal index: ',i2,
' ***')
141 subroutine setipr(ixparm,ixsite,ival)
152 integer ixparm,ixsite,ival
154 integer i,ixmax,ixp,j,jx,jx1,jx2
157 logical spcpar,spcprm
158 external itrim,spcpar
160 ixp=abs(mod(ixparm,100))
161 spcprm=spcpar(ixparm)
171 if (ixsite.gt.0 .and. ixsite.le.
mxsite)
then
177 else if (ixsite.eq.0)
then
193 if (ixp.eq.
infld)
then
203 if (ival.gt.1)
sdb(jx)=
srng(jx)/float(ival-1)
207 if (
nft(jx).lt.
npts(jx))
go to 9
210 else if (ixparm.eq.
iiderv)
then
227 1000
format(
'*** Illegal index: ',i2,
' ***')
228 1001
format(
'*** Number of data points for file ',a,
229 #
' cannot be changed ***')
274 spcpar = (ityp.eq.0 .and.
278 # .or.(ityp.eq.1 .and.
330 function getprm(ixparm,ixsite)
341 integer ixparm,ixsite
342 double precision getprm
346 logical spcpar,spcprm
349 spcprm=spcpar(ixparm)
358 if (ixsite.le.0.or.ixsite.gt.ixmax)
then
364 if (ixparm.eq.
ib0)
then
366 else if (ixparm.eq.
iphase)
then
368 else if (ixparm.eq.
ipsi)
then
370 else if (ixparm.eq.
ilb)
then
372 else if (ixparm.eq.
irange)
then
377 getprm=
fparm(abs(mod(ixparm,100)),ixsite)
382 1000
format(
' *** Illegal index: ',i2,
' ***')
double precision, dimension(mxspc), save sbi
integer, parameter irange
integer function ixlim(ix)
double precision, dimension(mxspc), save sdb
integer, dimension(mxspc), save nft
subroutine setipr(ixparm, ixsite, ival)
Analogous routine to setprm for integer parameters There are only two user-settable integer spectrum ...
double precision, dimension(mxspc), save srng
integer, parameter iiwflg
integer, dimension(mxsite, mxspc), save modtd
character *30, dimension(mxspc), save dataid
double precision, dimension(mxspc), save spsi
double precision, dimension(nfprm, mxsite), target, save fparm
logical function spcpar(ix)
Returns .true. if the index argument corresponds to a floating point or integer parameter that cannot...
double precision, dimension(mxspc), save sphs
integer, dimension(niprm, mxsite), target, save iparm
integer, parameter mxsite
integer, parameter iphase
integer, dimension(mxspc), save idrv
integer, parameter iiderv
character *7 function ptype(ix)
integer, parameter luttyo
double precision, dimension(mxspc), save sb0
integer, dimension(mxspc), save npts
integer, parameter spherical
double precision function getprm(ixparm, ixsite)
Given a parameter index and a site/spectrum index, this function returns the value of the parameter f...
double precision, dimension(mxspc), save slb
subroutine setprm(ixparm, ixsite, fval)
This file contains two routines that set a given parameter, specified by an index into the fparm or i...