prmtrn - nicolob/pep-full GitHub Wiki
Type: subroutine
Defined in: prmtrn.f
Definition: subroutine PRMTRN
Author: macneil
Created: June 1976
subr. prmtrn - j.f.chandler - 1979 nov 2
process 'multpar' control cards saved on ibuf5.
convert parameter names to indices into the total parameter set
write output arrays back out onto ibuf5.
derived from: p. macneil june 1976 subr. analix
and april 1977 subr. pprctl
the purpose of the input controls is, in essence, to assemble
a set of parameter lists for the following tasks:
partial prereduction, parameter constraints, and multi-set runs.
for ppr and constraints the lists start empty, but multi-set
lists may be cumulative, i.e., start from a previous list.
1. the ppr list indicates which parameters are "uninteresting" and
should be reduced out of the normal equations. obviously, this
list must not be empty or all-inclusive.
2. the constraint lists indicate which parameters to tie
together. for any particular solution there may be zero or
more such lists.
3. each multi-set list contains the parameter set to be solved
for in an extra solve/adjust cycle at the end of processing.
ppr and multi-set lists are specified by successive additions
and deletions from the given starting point. each new
addition or deletion is applied in the input order and may
duplicate or counteract a previous addition or deletion.
the parameter constraints, however, are specified completely
in one list of parameters for each constraint.
input stream syntax
the following annotated skeleton stream shows all of the
possible items that may follow the '*multpar' card. the
meanings are context-dependent, so the order is important,
but any of the items may be omitted if so desired.
parameter name cards contain one name per card (one or two
words each). refer to subroutine namprm for a description
of the names. words with imbedded blanks should be enclosed
in single quotes. the names need not be aligned to any
particular column, but #-commands should be left-justified.
(first, ppr requests)
#include (or #delete)
(parameter)
(name)
(cards)
. . .
(next, multi-sets and constraints, if any.
note: 1st #-card other than #include or #delete
signals the end of ppr requests.)
#equate (optional - global parameter constraints)
(parameter)
(name)
(cards)
. . .
#sne (any #equate after this is applied after
saving the normal equations.)
. . .
#corrow (begin list of highly interesting parameters --
print entire row of correlation matrix for each)
(parameter)
(name)
(cards)
. . .
#ref (define first parameter set)
#name xxxx (establish name 'xxxx' for this run)
#insert (or #delete - introduce parameter names to be
inserted or deleted for this run)
(parameter)
(name)
(cards)
. . .
(any number of #insert or #delete groups may be used)
#equate (optional - constraints for just this run)
(parameter)
(name)
(cards)
. . .
#ref yyyyy ('yyyyy' may be the name of a previous run or
blank - the net result of #inserts and #deletes
for that run is used as the basis for this one,
or, if blank, then start with all parameters.)
. . .
after the usual parameter adjustment, extra solutions are
performed (one for each #ref) with various subsets of the
overall parameter set. in addition, each solution may be
constrained by tying groups of parameters rigidly together.
the equations are actually reduced by adding together rows
and columns, and the adjustment is copied out from the 1st
('master') parameter of each group. these operations are
performed in the input order, and so, groups may be tied
together by including their masters in a later group.
note: the total set of normal equations may be constrained
either before or after saving them (or both). any
constraints applied before saving will also hold for all
subsequent multi-set solutions.
special pseudo-names may be used in the lists for the
#equate, #insert, and #delete commands. these names may
be used in place of either of the usual two words of
a full parameter name.
all
represents any valid name. its use is logically equivalent to
a list of individual names as follows:
'aaaaa all' - all names of the form 'aaaaa zzzzz'
'all aaaaa' - all names of the form 'zzzzz aaaaa'
each
used only with #equate. if the master name of a list has
the form 'aaaaa each', the list is processed once for
each parameter 'aaaaa bbbbb' with 'bbbbb' substituted for the
2nd word of each item in the list.
the special command '#delete all' (or '#insert all') may be
used to delete (or insert) all parameters.
similarly, '#equate each' may be used to introduce a list
of parameter first names.
types of input cards processed for each value of next (other
types printed out, then ignored):
next=1 #ref cards only or #equate for overall soln.
or #corrow
next=2 #corrow, #name or #ref
next=3 #insert, #delete, #equate, #corrow or #ref
next=4 parameter name (for insertion), #insert,
#delete, #equate, #corrow or #ref
next=5 parameter name (for deletion), #insert,
#delete, #equate, #corrow or #ref
next=6 parameter name (for equation), #insert,
#delete, #equate, #corrow or #ref
next=7 parameter name (for correlation print) or #ref
* start=900
process parameter for #equate
jqf = -1: using 'each' option
0: first name card
1: ordinary names
aprtbf.inc
correl.inc
maxcrrdt.inc
fcntrl.inc
inodta.inc
- Not available.
- suicid
- ...
- ...