123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251 |
- \section{Graphical user interface (GUI)}
- \begin{figure}
- \centering
- \includegraphics[width=14cm]{Pics/mostsnap}
- \caption[]{Screenshot of Model Starter (MoSt)}
- \label{mostsnap}
- \end{figure}
- {\bf PUMA} may be used in the traditional fashion,
- with shell scripts, batch jobs, and network queuing
- systems. This is useful for long running simulations
- on complex machines and number crunchers, such as vector
- computers, massive parallel computers and workstation clusters.
- However, there is now a more convenient method.
- A graphical user interface (GUI) has been provided, which
- can be used for parameter configuration during model setup, and
- for interaction between the user and the model.
- PUMA is setup and configured using the first
- GUI module named {\module MoSt} ({\bf Mo}del {\bf St}arter,
- screenshot in \ref{mostsnap}).
- {\module MoSt} is the fastest way to get the
- model running. It gives access to the most important parameters of
- the model which are preset to the frequently used values.
- The model can be started with a mouse click on the button
- labelled ``Save \& Run'' either with the standard parameter setting,
- or after editing the parameters in the MoSt window.
- Some parameters, like horizontal and vertical resolution
- or the number of processors, require that a new executable is built
- (compile, link and load). MoSt achieves
- this by generating and executing build scripts,
- that perform the necessary code changes and
- create the required executables.
- Other parameters defining startup and
- boundary conditions or other settings, can
- be edited with MoSt. After they have been checked for
- correct range and for consistency with other parameters, they
- are written to the model's namelist file.
- Using these settings
- MoSt generates a run script for the simulation.
- The user then has the choice of leaving MoSt and
- starting the simulation under the control of the GUI
- immediately, or of leaving MoSt with the scripts ready
- to run. This second alternative is useful for users who
- want to include setup modifications beyond the scope of MoSt,
- or who want to run the model without the GUI.
- There is also a simple graphical editor for the topography.
- Check the box Orography and then use the mouse to mark
- elliptic areas in the topographic display.
- Enter a value for raising (positive) or lowering (negative) the area
- and press the button labelled {\bf Preprocess}.
- The preprocessor will be built and executed, and a new
- topography will be computed and written to the start file.
- Another editor is the Mode Editor for spherical harmonics.
- Green modes are enabled, red modes are disabled.
- This feature can be used to specify runs with only certain
- modes of spherical harmonics being active.
- LMB, MMB and RMB refer to the left, middle, and right mouse
- buttons respectively. You may toggle individual modes (press LMB)
- or whole lines (press RMB) and columns (press MMB).
- Currently the Mode Editor can only be used
- for PUMA in the T21 resolution.
- \begin{figure}
- \centering
- \includegraphics[width=14cm]{Pics/guisnap}
- \caption[]{Screenshot of Graphical User Interface (GUI)}
- \label{guisnap}
- \end{figure}
- The GUI for running PUMA
- (Figure \ref{guisnap})
- has two main uses. The first is to display the
- model arrays in suitable representations.
- Current implementations are:
- \begin{itemize}
- \item{Zonal mean cross sections}
- \item{Horizontal global fields in cylinder or polar projection}
- \item{Horizontal particle tracer in cylinder or polar projection}
- \item{Longitude-time (Hovmoeller) diagrams}
- \item{Longitude-level diagrams}
- \item{Amplitudes of spherical harmonic coefficients}
- \item{Time series}
- \item{Numerical values}
- \end{itemize}
- In the case of horizontal global grids, pressing the MMB
- toggles between cylinder and polar projection. If the grid is
- a single level of a three dimensional field like u or v,
- the level being shown can be decreased with the LMB or increased with the RMB.
- For Hovmoeller and longitude height sections the LMB and RMB can
- be used to select the latitude.
- The second use of the GUI is to allow the user to change
- selected model variables during the model run.
- It is not necessary, though possible, to pause the
- model while changing variables. Changes to model variables
- are written to the output file after being checked
- by the GUI for the appropriate range of values and the
- maximum possible change per timestep, because
- a rapid parameter change or a choice of values beyond the normal
- range may cause the model to crash.
- All model variables, which are candidates for display
- or for interactive changes, have special code to communicate
- with PUMA. The experienced modeller
- can add new code for additional variables using the existing
- communication code as a template. Thus all model fields
- or even fields received via coupling with other models
- can be shown on the GUI display.
- Both, MoSt and the GUI are implemented using Xlib (X11R5),
- which is a library of routines for graphics and event communication.
- As this library is part of every UNIX/Linux operating system
- and is the base of all desktop environments, there is no need
- to install additional software for running MoSt and the GUI.
- Another important property of Xlib is full network transparency.
- The display of MoSt and the GUI is not confined to the machines
- running the programs or the model. In fact, the best
- performance is obtained by running the PUMA on
- two or four CPUs of remote servers while displaying
- the GUI on the user's workstation.
- In summary, MoSt and the GUI programs automate many tedious tasks,
- minimize the time to become familiar with the PUMA,
- and make debugging and parameter tuning much easier.
- More types of presentation, coordinate projections
- and interactivity are being developed.
- A graphical preprocessor with editor for boundary
- conditions and a graphical postprocessor are part of the planned
- future expansion
- to build an almost complete environment for modellers.
- \section{GUI configuration}
- On initialization, the GUI reads its configuration from a file called
- {\bf GUI.cfg} which must be present in the current directory.
- MoSt copies the file {\bf GUI.cfg} from the ../dat/ directory
- to the run directory while building PUMA.
- After reading {\bf GUI.cfg} an attempt is made to read the file
- {\bf GUI\_last\_used.cfg}. This file is always written at the end
- of a GUI controlled simulation. So one may rearrange and position
- GUI windows during a run and the new layout will be saved to the
- file {\bf GUI\_last\_used.cfg}. In order to make this user
- layout the default for te following runs, just copy this file:
- \begin{verbatim}
- Most15/puma/run$ cp ../dat/GUI.cfg ../dat/GUI.cfg.old
- Most15/puma/run$ cp GUI_last_used.cfg ../dat/GUI.cfg
- \end{verbatim}
- MoSt will then copy your new layout to the run directory at
- the next invocation.
- The {\bf GUI.cfg} is a text file that may also be edited manually.
- There is a section for each window (counting from 0 to 8) which
- looks like:
- \begin{verbatim}
- [Window 00] <- window number (0..8)
- Array:CSU <- array name
- Plot:ISOCS <- picture type
- Palette:U <- colour palette
- Title:Zonal Wind [m/s] <- window title
- Geometry: 529 299 2 3 <- width height left top
- [Window 01]
- Array:SPAN
- Plot:ISOSH
- Palette:AMPLI
- Title:Spherical Harmonics Ps
- Geometry: 529 299 535 3
- ...
- \end{verbatim}
- Possible values for these items are:
- \subsection{Array}
- \begin{tabular}{|l|l|}
- \hline
- Name & Description \\
- \hline
- CSU & Cross Section U - Zonal mean zonal wind \\
- CSV & Cross Section V - Zonal mean meridional wind \\
- CST & Cross Section T - Zonal mean temperature \\
- SPAN & Spherical harmonic coefficients of surface pressure \\
- GU & Three dimensional grid of zonal wind \\
- GV & Three dimensional grid of meridional wind \\
- GP & Grid of surface pressure \\
- SCALAR & Selected scalars for time series and tables \\
- \hline
- \end{tabular}
- \subsection{Plot}
- \begin{tabular}{|l|l|}
- \hline
- Name & Description \\
- \hline
- ISOHOR & Isolines and colouring of horizontal grids \\
- ISOCS & Isolines and colouring of cross sections \\
- ISOHOV & Colouring of Hovmoeller diagram \\
- ISOTS & Timeseries \\
- ISOTAB & Tables \\
- ISOSH & Coloured amplitudes \\
- ISOLON & Isolines and colouring of longitude height section \\
- ISOTRA & Show the horizontal wind components with moving particles \\
- \hline
- \end{tabular}
- \subsection{Palette}
- \begin{tabular}{|l|l|l|}
- \hline
- Name & Range & Description \\
- \hline
- AUTO & automatic & rainbow colours \\
- U & -10 .. 50 & rainbow colours \\
- V & -10 .. 10 & rainbow colours \\
- T & -50 .. 50 & blue - red \\
- P & 985 .. 1025 & blue - red \\
- Q & 0 .. 60 & rainbow colours \\
- MARST & -90 .. 0 & blue -red \\
- AMPLI & 0 .. 12 & blue - green -red \\
- VEG & 0 .. 100 & shades of green \\
- \hline
- \end{tabular}
- \subsection{Title}
- The title item may contain any text, but keep it short.
- The length of the window's title bar is limited.
- The words {\em Latitude} and {\em Level} have special
- features in conjunction with three-dimensional arrays,
- where the user may scroll the level or latitude.
- The GUI will insert the level number after the word
- {\em Level} or the latitude after the word {\em Latitude}.
- \subsection{Geometry}
- The four integers following the geometry item describe
- the size and screen position of the window.
- The first two parameters refer to width and height in
- screen pixels. These are the sizes of the inner window.
- The title bar, the border and any other decorations are not counted.
- The third and fourth parameter set the x and y coordinates of the
- upper left corner of the window, again without borders.
- If the geometry item is not defined, the GUI will
- initialize the window's geometry depending on the screen size.
|