[ET Trac] [Einstein Toolkit] #1651: Problems with expansions in parameter files

Einstein Toolkit trac-noreply at einsteintoolkit.org
Thu Sep 11 06:41:15 CDT 2014


#1651: Problems with expansions in parameter files
---------------------+------------------------------------------------------
  Reporter:  hinder  |       Owner:  sbrandt            
      Type:  defect  |      Status:  accepted           
  Priority:  major   |   Milestone:                     
 Component:  Cactus  |     Version:  development version
Resolution:          |    Keywords:                     
---------------------+------------------------------------------------------

Comment (by rhaas):

 I agree that complete order independence lets me use an editors 'find'
 function. My example was not a good one.

 I still don't like usage patterns like this though:
 {{{
 C = A
 ...lots of other stuff...
 A = B
 }}}
 Mostly for two reasons:
  1. Cactus parameters always have values, so C = A is valid even without A
 = B anywhere in the file. So, to me, having to read the whole file (rather
 than only the part above) to find out which of the two possible values of
 A is going to be used is unusual. Basically since all parameters in Cactus
 start out having values, parfiles always '''change''' parameters rather
 than '''set''' them. Order independence would seem to make more sense if
 all assignments are required.
  1. I am very commonly asked to review parameter files that are about to
 run (or to debug them). I start reading them from the bottom and continue
 to the end. If the order is completely free then for each assignment I
 have to search to the bottom of the file to find the possible value of the
 parameter. If parameters cannot be set after they have been read, I can
 rely on having seen any such change in the part of the file that I have
 just read.

 Ian's example also contains magic in the case of order independence. In
 that case both
 {{{
 C=A
 A=B
 }}}
 and
 {{{
 C=A
 }}}
 are valid and also C would change its value from 'B' in the first case to
 the default of 'A' in the second. It's possible to remove the magic by
 requiring and "read" variable to have been "set" before. On the technical
 side, this needs to be an option for the expression parser so that
 parameters can be used in expressions that are not in parfile line righ-
 hand-sides (eg for the Trigger thorn or in accumulators).

 However it seems to me that both Ian and I have stated out preferences,
 which differ and that it may be best to get some second opinion on the
 matter.

-- 
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1651#comment:17>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit


More information about the Trac mailing list