JWST Mission Simulator (JMS) -- Basic Instruction Manual John J. Boia, 30 Sep 2005 INTRODUCTION This document is intended to provide the reader with information on locating and running the JWST Mission Simulator (JMS). A user may run JMS in either of two ways: from web browser forms, or from a Unix shell command line. The browser interface is found at http://www.stsci.edu/jwst/science/jmstest/ (the Phase II DRM file compatible version, v1.5) and http://www.stsci.edu/jwst/science/jms/ (a version that provides all the JMS tools, v1.3). These JMS websites provide documentation on the JMS models, input data files, and reports. Running JMS from the command line is presented in a separate readme file, which is described in Section 1 below. This document also presents information regarding the source code and libraries for JMS that will be of use to developers. In order to apply this information, the reader is assumed to have a basic knowledge of Unix-based software development practices. This information is presented in Sections 3 and 4. If the documentation presented here, in the attached readme file, and on the JMS website are insufficient, the reader may consult several people who are familiar with the development and operation of JMS. They are identified Section 5. 1. How to Run JMS Detailed instructions for running JMS are located here: http://www.stsci.edu/jwst/science/jmstest/readme.txt There are also some basic sample scripts located in the top-level path of the build tree (see Section 3). The recently-added Monte Carlo feature is an option for the JMS Mission Elpased Time (MET) tool, described in detail in Section 4 of the readme file. The JMS subsetting tool is a configured part of the JMS build tree. It is described in Section 11 of the readme file. 2. Older versions Several older versions of JMS are available. JMS 1.3 is still active as a web application. It is here: URL-- http://www.stsci.edu/jwst/science/jms/ Disk-- /data/jaws1/webapps-tomcat/jms/ There is a convenient hyperlink from this page to the JMS 1.5 page and vice versa. All JMS versions are also available in their respective software build trees, located under /ess4/build/jms/. The user is cautioned that newer architecture, ISIM, and SODRM input files are not compatible with older versions of JMS. 3. Software Configuration The latest version is JMS 1.5. The software is located in a configuration-controlled build tree: /ess4/build/jms/b0105 The configuration management repository for JMS is a series of subdirectories that follows the build-tree structure and uses UVM and RCS to store file revisions. CM activities (checkin, checkout) are performed via the STScI-developed STUVM tool, which is a Python utility to provide a convenient front-end to UVM and an interface with the STScI PR System. Symbolic links have been created to point from each build-tree directory to the corresponding CM directory. NOTE: DO NOT MODIFY FILES IN THE CM AREA. USE STUVM (OR UVM OR RCS) TO CHECKOUT AND MODIFY SOURCE CODE. The JMS web application is designed to run with the Tomcat 3.3.1 servlet container. For this purpose, web pages and the JMS executable are copied here: /data/jaws1/webapps-tomcat/jmstest/ This directory corresponds to this URL: http://www.stsci.edu/jwst/science/jmstest/ Tomcat administration has been left to the folks at CPT (such as Dan Deighton). There is a small standalone server application that provides a pool of database connections for the web application to use. This "DatabaseManagerServer" program must be running in order for the web application to work. It keeps a log of operational usage and provides user accounts. This program runs on host yoda and can be started up by the command: /ess4/build/jms/b0105/rmi_run test & It can also be shutdown cleanly by issuing the command: /ess4/build/jms/b0105/rmi_kill test The DatabaseManagerServer program is intelligent enough to detect when the database server is unavailable. If so, it will attempt to establish a new pool of connections every 10 minutes until the server is again accessible. A Unix cron job is currently used to make sure that the DatabaseManagerServer is running by attempting to restart it every morning. This cron job can be refreshed by creating the following file jmscron.txt and feeding it to crontab: File: jmscron.txt ------ Cut here ------ 00 06 * * * /ess4/build/jms/b0103/rmi_run 00 05 1 * * /ess4/build/jms/b0103/logchop.csh 30 06 * * * /ess4/build/jms/b0105/rmi_run test ------ Cut here ------ % crontab jmscron.txt (The logchop script is intended to keep the debug log file from growing excessively large. It chops it into a new file once per month. It is not currently used for JMS 1.5.) 4. Development Environment To setup a development environment: a. Verify that your ~/.envrc file contains these lines: Package: GCC31 Package: SunCompilers6u2 Package: JDK14 Package: OSTDB Package: Sybase b. Issue the following command: source /ess4/build/jms/new_jms_setup.csh b0105 {dev_area} This will define all the necessary environment variables and add certain programs to the PATH. Note that step 2b requires the developer to login on a Unix host that is licensed to run the Lucent nmake Product Builder™, the commercial make utility that has been used to build the JMS software system. Currently, among these hosts are yoda, palpatine, dooku, et. al. 5. Expertise Several people are knowledgable of the development and use of JMS. Danny Jones, John Boia, Bill Rumpl, and Reiko Rager have developed portions of JMS. Rusty Whitman has provided systems engineering support for the Phase II observation specifications used in the DRM files. He has also supported the specification of the scientific instruments in the ISIM data file. Jeff Stys and Ernie Morse have tested JMS and used it to perform studies of the performance of JWST. Reiko Rager has carried out scheduling studies using Spike and data generated by JMS. Tony Roman, Tricia Royle, Wayne Kinzel, and Jeff Valenti are among recent users of JMS. [END]