2. Working with Suites

2.1. Suite Discovery and Management: rosie go

Rosie go is the suite manager GUI. It acts as a hub for all your suite work. From rosie go it is possible to search for suites, create, checkout, delete, edit, run suites and more. We will take a look at the main features here.

Launch rosie go by typing:

puma2$ rosie go

Searching for suites

By default, rosie go will show all the suites that you have checked out locally, so unless you have used Rose before you will have an empty results panel to begin with. You can search for suites by typing a word/phrase into the Search box and either click the Search button or press <Enter>. The search looks for the entered word/phrase in any of a suite’s properties.

  • Enter u-ag137 in the Search box and press <Enter>

You should now see a long list of suites. All these suites are listed as they reference u-ag137 in their suite information.

More advanced queries can be run by clicking the + button next to the Search button. Queries allow you to filter results based on the values of particular properties. You can combine filters to make complex queries.

  • Select idx in the property box and eq in the operator box and then enter the value u-ag137. Click Query.

This time you should only see one suite listed in the results pane.

  • Now run a query to list all suites owned by rosalynhatcher containing ARCHER2 in their title.

The searches you run within rosie go are recorded in your search history.

  • View your history by clicking History –> Show search history.

The Search History panel should now be displayed on the left-hand side of rosie go listing your past searches. You can order the results by type, parameters or whether you asked to see all revisions by clicking on the relevent column head. To re-run one of these searches simply click on it.

  • Try running your initial search for u-ag137 again.

Close the Search History Panel by clicking the close button (X) in the top-right of the panel.

Viewing suite information

To obtain more information about a suite listed in the search results you can do one of two things:

  1. Hold your mouse over the suite to display a tooltip containing more details

  2. Right click on the suite and select Info in the pop-up menu to display a dialog box containing further details

  • What project is suite u-ab878 associated with?

Suite search results can be ordered by property in either ascending or descending order. To do so, click on the column title for the property you wish to order by so an arrow is displayed next to it indicating the order in which the property is being sorted.

Checking out an existing suite

Right-clicking on a suite displays a pop-up menu from which you can perform many functions on the suite; e.g. checkout, copy, delete, run, etc. We will perform many of these actions in subsequent exercises but to begin with we will just checkout an existing suite to use in the Editing Suites: rose edit exercises. To view a suite it must be checked out first.

  • Right-click on suite u-ag137 and select Checkout Suite from the pop-up menu.

When you checkout a suite it is always placed in your ~/roses directory. In this state, the suite is simply a working copy - you can edit it and run it but any changes you make will only be held locally.

Note

You can also checkout a suite by highlighting it and then clicking the Checkout button on the toolbar or by running rosie checkout <suiteid> on the puma2 command-line.

Other useful features

To see what suites you have checked out click the Show local suites button to the left of the search box (represented by the house icon). You should have at least 1 suite listed.

  • What do you think the house icon in the local column indicates?

2.2. Editing Suites: rose edit

The rose config editor in combination with the metadata file, which describes UM inputs, is the GUI for editing UM suites. Building and running the UM under Rose requires, at least, two separate apps: an fcm_make app to build the model executable and a um app to configure the runtime namelists and environment variables. Coupled models may require additional fcm_make apps, one for each executable to be built.

Launch the config editor GUI

Right click on suite u-ag137 and select Edit Suite. The rose edit GUI will start up.

On the left hand side is a navigation panel containing a tree listing the apps in the suite. For this particular suite these are:

  • suite conf - General suite configuration options

  • fcm_make_pp - Extract and build the post-processing scripts

  • fcm_make_um - Extract and build the UM source code

  • housekeeping - Tidies up log files, old work and data directories

  • install_ancil - Install ancillary files

  • postproc - Post-processing settings

  • rose_ana - Rose built in app; used here for comparison of dump files

  • rose_arch - Rose built in app; used here for archiving of log files

  • um - The UM atmosphere and reconfiguration settings

Explore the GUI

Click on the triangle to the left of suite conf to expand that section. Click on Build and run switches. A panel will appear on the right-hand side containing options for controlling what tasks will be run for this suite. You can see that it will build the UM and reconfiguration executables, run the reconfiguration and then run the model.

Note

We generally use a common notation to help users navigate through the GUI and to help us help you with questions. Getting to “UM Science Settings” would be indicated like this: um –> namelist –> UM Science Settings. This notation will be used throughout the rest of this tutorial.

The input namelists for the UM are contained in the um –> namelist section. Let’s take a look at the science namelist for Microphysics (Large Scale Precipitation), run_precip under UM Science Settings.

For each UM namelist item there is a short description to help you understand what that variable is. Click on the cog next to a namelist variable and select Help to view more detailed information. The help information can give you some useful pointers but be aware that it has been written with Met Office setup in mind.

Range and type checking of variables is done as soon as the user enters a new value. Try changing the value of timestep_mp_in to 0. This will cause an error flag to appear, hover over the error for more information and click the undo button several times to revert to the original value.

Some larger science sections have been been divided into subsections; take a look at Section 05 - Convection for an example of this. To open a section in a new tab click with the middle mouse button, expand the section by clicking the page triangles. Rose edit has a search box which can be used to search item names. Try searching for the variable astart where the input dump is specified, you will be taken directly to the Dumping and Meaning panel.

Trigger ignored settings are hidden by default and only appear to the user when the appropriate options are selected. Open the Gravity Wave Drag panel, if you change i_gwd_vn from 5 to 4 the options available change. Click the save button to apply these changes to your app. Let’s take a look at what effect this has had to the rose-app.conf file, run fcm diff in the suite directory.

puma2$ cd ~/roses/u-ag137
puma2$ fcm diff -g

You should see that several namelist items have had !! added to the start of the line. This tells Rose to ignore these items when processing the app file into Fortran namelists. Should you wish to see all variables on a panel select View All Ignored Variables and View Latent Variables from the View menu.

Switch back to the Rose edit window and click the Undo button to revert the changes and then Save the suite again. To view all changes made to the suite in the current session go to Edit > Undo/Redo Viewer.

Error checking of UM inputs

In addition to the type and range checking of namelist items and environment variables, more thorough checks can be made using Rose macros and the fail-if/warn-if metadata.

First let’s check if the suite contains any options which trigger the fail-if and warn-if checks in the UM metadata. Select menu item Metadata > Check fail-if, warn-if. As this suite is setup correctly FailureRuleChecker: No problems found should appear at the bottom right of the window.

Now let’s try and introduce both a warning and a failure. We’re going to change the boundary layer option alpha_cd. Either navigate to Section 03 - Boundary Layer –> Implicit solver options or type alpha_cd into the search bar. Click on the + sign to add an array element to alpha_cd and type 1.5 into the new box. Next navigate to Reconfiguration and Ancillary Control –> Output dump grid sizes and levels and increase the number of ozone levels to 86. Now run the fail-if, warn-if checker again.

  • What is the error?

  • What is the warning?

Use the Undo button to put the settings back to how we found them and run the checker again. It is strongly recommended that whenever namelists and environment variables are modified that the fail-if, warn-if checker is applied before running the suite.