On Jan 5, 2009, at 10:11 AM, Malcolm J. Currie wrote: > > Mr CUPID might explain the various levels. Are there two CUPID > levels between NORM and VERB and only one between VERB and DEBUG? I > notice that FINDBACK only uses two levels 0 or 1. It's FINDCLUMPS > that has six levels. Does the list need to be in order of > verbosity? (I've not checked the new C code how it tests.) I'm > just wondering if we can retain the MERS 1 -> 4. Perhaps it doesn't > matter as it's parameterised, but applications would need rebuilding > with the new include file. > The C does what the fortran did. It checks for sanity (is the message level between 1 (QUIET) and 4 (DEBUG)) and then simply sees whether the current level is greater than or less than the requested level. So long as we do not mind a little recompilation, rebranding of QUIET as 0 and DEBUG as 6 should not be a problem. What we can't do is keep 1- >4 and then add a 5 as if it was between NORM and VERB. So the list does need to be in order of verbosity. > We might think of better names than say VERB- provided the order is > obvious from the name, > >> and change msgIfget so that it also understands integers (so in >> that sense ILEVEL could be passed directly to msgIfget). > > That's a plan. it might help David overcome his concerns. I don't really mind defining QUIET as 0 and DEBUG as 99 and only supporting a few named levels but many numbered ones. Although using bare integers in the code would seem like anathema and would prevent us from the flexibility of simply changing DEBUG back to 10 at some point in the future. Maybe we should simply say that message levels are percentages: QUIET = 0 NORM 33 VERB 66 DEBUG 99 but that doesn't really help the unadorned integers creeping into MSG_OUTIF calls. We could provide a function that converts a percentage to whatever the QUIET -> DEBUG range happens to be but it's still just an unadorned int. -- Tim Jenness Joint Astronomy Centre