# Changeset 7212

Ignore:
Timestamp:
Jun 18, 2009, 11:45:08 AM (14 years ago)
Message:

 r7190 This collection of tests is designed to speed up and automate acceptance testing of a 'cluster' of compute servers.  The tests are highly dependent on the installed software environment, so may have limited use outside Geoscience Australia. environment, so may have limited use outside Geoscience Australia, though the system design does lend itself to change. The suite of tests checks: The acceptance tests are designed to be run from the cluster 'master node', so you must \code{ssh} to that machine.  It is assumed the acceptance tests code suite is available on the master node. must \code{ssh} to that machine.  It is assumed the acceptance tests code suite itself has been installed on the node it is being run from and other required code has been installed on all nodes. Before running the acceptance tests you must prepare some environment variables: The first sub-test run dumps the testing environment to the screen as a check. So to run the acceptance tests, do all this: To run the acceptance tests, do the following: \begin{verbatim} The \code{cmpsww} program is used to compare two SWW files for some approximation of \emph{equality}.  The user must be able to define what to compare in the two files, as well as 'how close is close'. as well as set tolerances for 'how close is close'. \subsubsection{Using cmpsww} \code{event_selection} is a graphical program used to select earthquake events. It designed to run under both Windows and Linux. \subsubsection{Using event_selection} \label{subsubsec:event_selection_use} \end{figure} Before using the program, you need to set the \emph{output base directory} field.  The program needs to write Before using the program, you need to set the \emph{output base directory} field at the top of the window.  The program needs to write some data files and this field tells the program where to write them.  Just click in the box to select a directory somewhere in your filesystem. and the three fields below (\emph{Hazard index}, \emph{Minimum wave height} and \emph{Maximum wave height}) will be remembered and restored the next time you run the program. \pagebreak OK, now you need to enter data specific to a particular event you are going to model.  Fill in the \emph{Hazard index}, \emph{Minimum wave height} and \emph{Maximum wave height} values next time you run the program.  This data is stored in a file \code{event_selection.cfg} in the \code{event_selection} install directory. \pagebreak Now you need to enter data specific to a particular event you are going to model.  Fill in the \emph{Hazard index} (location in the database of the point where the hazard is measured), \emph{Minimum wave height} and \emph{Maximum wave height} values and click on the \emph{List} button: Now you can click on either the \emph{Multimux} or \emph{Grid} buttons. Clicking on the  \emph{Multimux} buttons gives us: Clicking on the  \emph{Multimux} button gives us: \begin{figure}[ht] \end{figure} If you now look in the \code{C:$\backslash$temp} directory you will see that two directories have been created: If you now look in the output directory \code{C:$\backslash$temp} you will see that two directories have been created: \begin{verbatim} \end{verbatim} The \code{Results_Australia_1009_0.50_1.00} directory contains the \code{fault.xy} and \code(quake_prob.txt} files used during the calculation of the multimux results.  The directory name contains the The \code{Results_Australia_1009_0.50_1.00} directory contains the \code{fault.xy} and \code{quake_prob.txt} files used during the calculation of the multimux results.  The \code{Results} directory name contains the region name, hazard index and minimum and maximum wave heights in an encoded form. \pagebreak The \emph{Grid} button was installed [for Herve].  Clicking on this button shows: The \emph{Grid} button was installed to allow the selection of seafloor deformation grid data. Clicking on this button shows: \begin{figure}[ht] There is an installer program used to install \code{event_selection} on a Windows machine (usually found at \code{georisk\downloads\event_selection}). \code{georisk$\backslash$downloads$\backslash$event_selection}). The installer is generated by  moving into the \code{installer} directory and right-clicking on the \code{EventSelection.nsi} file and selecting \code{Compile NSIS script}.  You must have \end{itemize} \subsubsection{Bugs} \label{subsubsec:event_selection_bugs} The look of \code{event_selection} under Linux is wrong -- it needs to be rewritten using sizers for GUI layout. \pagebreak \index{plotcsv.py} \code{plotcsv} is a GUI program to quickly plot selected columns of a CSV file onto a graph screen. Once the desired graph is plotted you may save the plot as a picture file. \code{plotcsv} is a GUI program to quickly plot selected columns of one or more CSV files onto a graph screen.  Once the desired graph is plotted you may save the plot as a picture file. The program is designed to run under both Windows and Linux. The CSV files used \emph{must} have column header information as the first line as the column header values are used during the plotting process. \subsubsection{Using plotcsv} plot are listed in the textbox at the top of the screen.  There is nothing there because this is the first time you have run \code{plotcsv}.  Note that \code{plotcsv} will remember the selected files, as well as other information, when you next start the program. as well as other information, when you next start the program.  This files is \code{plotcsv.cfg} and it is stored in the \code{plotcsv} install directory. \pagebreak Note that choosing a column to plot also sets the text in the \emph{X-Label} and \emph{Y-Label} textboxes.  You can change this text and, in this example, we want to change the stage axis text to \emph{Stage (meters)}.  We add some title text and turn on the graph legend: to \emph{Stage (meters)}.  We also add some title text and turn on the graph legend: \begin{figure}[ht] \label{subsubsec:plotcsv_install} Just execute the \code{plotcsv_X.X.exe} file in \code{N:$\backslash$georisk$\backslash$downloads$\backslash$plotcsv}. For Windows execute the \code{plotcsv_X.X.exe} file in \code{N:$\backslash$georisk$\backslash$downloads$\backslash$plotcsv}. This will install \code{plotcsv} into your \code{C:$\backslash$Program Files} directory and create a desktop icon. \subsubsection{Building plotcsv} Linux needs no installation, just run the program. \subsubsection{Building plotcsv for Windows} \label{subsubsec:plotcsv_build} The source directory for \code{plotcsv} contains an \code{installer} directory.  Just right-click on the \code{plotcsv.nsi} file and select "Compile NSIS Script".  You must the NSIS installer installed, of course. on the \code{plotcsv.nsi} file and select "Compile NSIS Script".  You must ihave the NSIS installer installed, of course. Get it from \url{http://nsis.sourceforge.net/Main_Page}. The mixture of matplotlib and wxpython isn't successful - you only get one plot and then you must close the application. Using the wx_mpl_bars.py example from \url{http://eli.thegreenplace.net/2008/08/01/matplotlib-with-wxpython-guis/}, close the application.  Using the \code{wx_mpl_bars.py} example from \url{http://eli.thegreenplace.net/2008/08/01/matplotlib-with-wxpython-guis/}, rewrite \code{plotcsv} to have the parameter changes (such as title text) show up immediately in the current plot. The look of \code{plotcsv} under Linux is wrong -- it needs to be rewritten using sizers for GUI layout. \pagebreak The \code{tar_file.py} program is used to tar and compress a file or directory into a *.tgz file. We have a python function to do this as we can't use a local \emph{tar} program, as this wouldn't work under Windows. The associated \code{untar_file.py} program reverses the above process. These two programs are used in the Patong Beach validation suite. \subsubsection{Using tar_file} \label{subsubsec:tar_file_install} No installation is required, just run the programs. No installation is required, just run the program. \pagebreak \code{update_DVD_images} is a program used to create the DVD image filesystems that were burnt to DVD for the ... for the 2009 East Coast Tsunami Inundation study. \subsubsection{Using update_DVD_images} \end{verbatim} Note that the case of the input jurisdiction doesn't matter. Note that the case of the jurisdiction name doesn't matter. The program will create a new sub-directory with the \emph{formal} jurisdiction name (see below) \end{verbatim} where \code{j_dict} would be a reference to the jurisdiction dictionary controling the where \code{j_dict} would be a reference to the jurisdiction dictionary controlling the process (\code{gold_coast_data} in this case). \pagebreak Next, we define which individual files we copy to a destination data directory: Next, we define which individual files we copy to the destination data directory: \begin{verbatim} variable to the path defined in the \code{arcgis_dst_path} variable. \subsubsection{extra_files} \label{subsubsec:update_DVD_images_extra_files} In the same directory as \code{update_DVD_images} there must be a directory \code{extra_files}. This directory contains 'scaffolding' files that must exist on the DVD as well as jurisdiction-specific files that may be modifications of project files that replace those files on the DVD. All files in the \code{extra_files} directory are copied to each jurisdiction DVD staging directory. All top-level directories that \emph{aren't} named for a jurisdiction are also copied to each staging directory. Each directory named for a jurisdiction will be copied to the staging directory if the directory has the same name as the jurisdiction staging directory we are creating. This jurisdiction directory would normally contain jurisdiction-specific scaffolding files, such as \code{index.html}, etc, as well as modified project files. \pagebreak a filesystem sub_tree. The \code{create_lic_file} program is used to create a licence file that controls one or more data files. \subsubsection{Using update_lic_checksum} \label{subsubsec:update_lic_checksum_use} where \emph{directory} is the path to the sub_directory containing licence files to update. Normally, \code{update_lic_checksum} would search for and update all \code{*.lic} files.  If you want to update licence files that have a general filename form of \code{*.txt} then use the want to update licence files that have a filename form of \code{*.txt} then use the \code{-m *.txt} option. README1387779554NYrwilsonGenerated by ANUGA development team \begin{verbatim} NYGenerated by ANUGA development team Geoscience Australia No installation is necessary, just execute the programs. \subsubsection{Bugs} \label{subsubsec:write_large_files_bugs} Instead of having three files, one to test each NetCDF model, just add an extra option to a single program: \begin{verbatim} -c    classic model (default) -l    large model -4    NetCDF4 model \end{verbatim} %begin{latexonly} %\renewcommand{\indexname}{Index}