I hadn't seen this until Jim pointed it out to me after I has posted my comments on gtobssim. I took a look at this tool today and have the following commets.

Setup

The installer doesn't create a script for this tool (or ModelEditor.py) in the bin directory so I had to create one myself. This was done by copying the script for likeGui to one called ObsSim and changing the last line to be "python ${INST_DIR}/likeGui/v7r3p2/python/ObsSim/ObsSim.py $*". Once this was done it launched fine.

Interface

The GUI worked fine. It was obvious to me what each section of the display was for. How much of this comes from the fact that I am fairly familiar with gtobssim, I don't know. It would be good to get the reaction of someone who hasn't really used gtobssim before as well. I only had a few comments on the functionality of the interface.

  1. It might be useful to change the Open... button in the File menu to say Open Source Catalog. As gtobssim uses three different types of files (XML source catalogs, lists of XML catalogs to use, lists of sources to include), I wasn't sure what I was opening until it happened.
  2. The dialog box that comes up when you choose the Open... entry has a built-in filter to only select files that end in .xml. This is fine but there should be a way to display all files. It turns out that I was lazy and all the source model files I made didn't end in .xml. They loaded fine if I typed them in but there was no way to get them to show up in the dialog box so I could just click them. I suspect that this will not be an uncommon occurance.
  3. Make the mouse button functionality the same in the pane with the list of sources in the catalog and Model Sources pane. For example double clicking on a source in the source list pane adds it to the Model Sources pane. I would then expect that double clicking on a source in the Model Sources pane would remove it but instead it prints the XML to the console. This functionality is achieved by right clicking in the source list pane.

Functionality

This section is divided into two parts, comments on existing functionality and things I think should be added to make it more useful.

Current form

Everything that was there worked quite well. I was able to easily select a set of sources from the catalog and get the simulation started. A few of problems I noticed:

  1. If I loaded an additional source catalog file, and selected a source from it, when I ran gtobssim, it said it couldn't find the source definiton. The program doesn't seem to be actaully generating and using a list of XML files that contain the sources.
  2. Why copy the gtobsim.par file into the local directory, why not use the one in the PFILES directory. This was very minor, or at least would have been except...
  3. The GUI didn't remember the values I had entered into the paratmeter fields. Instead it always presented me with the same defaults. I had changed several of the parameters on the first run and wanted to use the same new values on the subsequent runs. It was irritating to have to reenter them every time, I would expect the GUI to remember them from run to run.
    I would suggest the following:
    1. Check for a gtobssim.par file in the local directory. If it is there, use that par file.
    2. If no gtobssim.par file in the local directory check the user path portion of the PFILES environment variable. If one is found in the path use that one.
    3. If no gtobssim.par file found in steps 1 or 2, install it into the directory found in the user portion of the PFILES variable and use that one for the run.
    4. Read in the parameters from the par file and update the xml_source_file and source_list parameters to point to the files to be created by the GUI.
    5. When the user clicks the OK button after entering parameters, save the parameter file so it can be read in again next time.
Functionality I'd like to see

As it stands the GUI is useful as an access to the already exisiting source definitions and the execution parameters. To really make it more useful than just the command line interface I think it needs the following features:

  1. As mentioned in item 1 above, it needs to recognize when a source has been added that is not in the default set and create a file to be entered in the xml_source_file parameter.
  2. The ability to save the xml_source_file and source_list file to user specified names for later use. This would allow the GUI to be used to generate models that could then be run by scripts with various parameter changes or preserve the models for use at a later time.
  3. The ability to load in previous saved models.
  4. A better interface to look at the source parameters. Right now you can get a print out of the XML in the console you launched the GUI from but unless you know exactly what the parameter list is for the the source and are familiar with the XML layout, this is of little use. Also, if this eventually runs on Windows, it is entirely possible that there will not be a console visible to the user. What I would like to see, rather than the XML, is a window that lists the names of the model parameters and their values.
  5. The ability to create new sources. The hardest part of using gtobssim is not selecting the models to use from the existing list but creating new models to try out. It would be nice to have an interface to create new source catalogs. Something along the lines of the ModelEditor.py GUI but which writes flux-style XML instead of likelihood style XML. Possibly this is a separate tool. If so which one and does it exist yet?
  6. The ability to modify a source for a particular run. This would combine the functionality of the last two items. The source parameters would be displayed in a window. The user could then modify them and save them as a new source which could then be added to the simulation model.
  • No labels

1 Comment

  1. Regarding comment 3 under Current form: All the GUI does is pass the parameters to the gtobssim application as a series of command line arguments, so hoops/PIL should have updated the parameter file. When I run it, that's what happens, and the previous set of values I used are there in the GUI when I rerun it. The problem no doubt is that the par file used by the gtobssim application is not the same as the one in the current directory which the GUI is looking at. I thought I had used the PFILES environment variable in the way Tom describes, i.e., to find the user's preferred par file, but apparently not...I never see a problem since I always set my PFILES var as '.'.