2013-03-06

Comparing MAKEMAP configurations

You have two SCUBA-2 maps, created by makemap from the same observation at different times, and they look different. Not unnaturally you want to know why. The first thing you may suspect is that they were made with different configuration parameter values. You can do this by using the hislist command in kappa to look at the history information in each map, but it's a little painful. The good news is that the new configmeld command in smurf now makes this a lot easier. It will read the configuration parameter values from the History information of the two maps and use a visual comparison tool such as "meld" to display them side-by-side, sorted alphabetically, and with any differences highlighted. For instance

% configmeld map1.sdf map2.sdf

may produce a display similar to the one below...





















Instead of reading the configurations to be displayed from the history of an NDF, either (or both) configuration may instead be specified "as normal" - that is, as you would do when running makemap, so if you have a set of configuration parameter values in text file myconfig.lis, you could do something like:


% configmeld ^myconfig.lis map2.sdf

to compare the configuration specified by myconfig.lis with the configuration used to create the map in map2.sdf. As for all Starlink commands, you can use the findme command to see the full list of options provided by configmeld. Type:

% findme configmeld

which should open a web page, and click on the link for configmeld.


Notes:

  1. If your system does not have the meld command, the first available command in the following list will be used instead: opendiff, diffmerge, kdiff3, tkdiff, diffuse.
  2. Configuration values that have "no value" by default (usually shown as "") are not included in the history information stored in the map created by makemap, and so will not appear in the list shown by configmeld. The sharp ones among you may therefore notice a small lie above - the screenshot shown earlier was actually made by comparing a "normal" config file with the configuration from an NDF, not from two NDFs as suggested by the example command. Sorry! That's why one side (the normal config file) has "" values and the other side (read from an NDF) does not. 
  3. configmeld is in fact a Python script designed to run with python 2.7 or later. If you have problems using it, it may be because your Python installation is too old.
  4. The configmeld script just uses the configecho command from KAPPA to list the two sets of configuration parameters to two separate temporary text file and then uses meld (or your selected tool) to display the two files side-by-side.


No comments: