This chapter of the Rose user guide attempts to introduce you to some fundamental aspects of Rose. We use a relatively detailed example, but don't worry too much about the details.
This guide assumes that Rose, cylc and FCM are already installed and configured correctly on your system.
You should also have looked at the Getting Started page.
Rose gives powerful command line utilities, and can be entirely used within a terminal and text editor. Rose also contains graphical user interfaces (GUIs) for optional use. We'll give a brief tour of the command line interface, and then discuss the GUIs.
This section takes us through the command line and text editor interface to Rose.
We'll begin by creating a suite for you to work with.
To create an empty new suite, issue the command:
rosie create
This command will prompt you to edit the suite discovery information file. Put some meaningful values in for the project (e.g. project=rose-user-guide) and the title settings (e.g. title=Brief tour). Save the file and exit the editor.
A new suite will have been created in the version control system, with a local copy created (i.e. checked out) at $HOME/roses/$ID/ where $ID is a unique ID for the new suite.
Change directory to the local copy of the suite and populate it by running the following commands:
cd $HOME/roses/$ID # replace $ID with your suite ID rose rug-brief-tour # Rose command to set up the tour suite
The rose rug-brief-tour command should create some content for this guide within the current working directory.
You will find the following files and sub-directories:
fcm_make: a special Rose
                      application to build an executable from a
                      source file containing a hello world
                      programfred_hello_world,
                      my_hello_mars,
                      my_hello_world: Rose
                      applications that invoke the
                      hello world executable using
                      different configurations.locate_fred: a preparation
                      task run each time before
                      fred_hello_world.This is a cycling suite that repeats
                every 6 hours, with the first cycle starting at
                20130101T0000Z (00:00, 1 January 2013)
                and the last cycle starting 1 day later at
                20130102T0000Z (00:00, 2 January
                2013). Cycling suites typically need special start
                tasks to boot up - in our case,
                fcm_make is run at the beginning of
                the suite, in the first cycle only.
fcm make using the configuration
                      in
                      app/fcm_make/file/fcm-make.cfg.At this point, you may want to have a look at the files before moving on to the next section. You may also want to commit your suite - if so, change directory to the working copy of your suite ($HOME/roses/$ID). To add new files for version control, run:
fcm add -c
To commit your changes, run:
fcm commit
Install and run the suite by using the following command:
cd $HOME/roses/$ID # replace $ID with your suite ID rose suite-run
This will install your suite under
                $HOME/cylc-run/$ID/, start your suite
                with cylc and fire up cylc gui
                $ID.
Whilst the suite is running you can explore the
                cylc gui. Try experimenting with
                different viewing options using the toolbar.
The suite should run successfully to completion
                and shutdown (the status bar should indicate
                stopped with 'succeeded'). You can now
                quit the cylc gui.
Note: If you quit cylc gui by
                mistake, you can restart it by typing rose
                suite-gcontrol --name=$ID on the command
                line.
The output of your suite can be found at $HOME/cylc-run/$ID/.
The sub-directory log/ contains the log files produced by the suite. In particular, the log/job/ directory contains the STDOUT and STDERR from each task together with the script used to run the task.
You can type rose suite-log
                --name=$ID to launch a web browser and view
                the output of your suite via Rose Bush.
The share/ sub-directory is used by the tasks in the suite to share files over the lifetime of the suite. In this example suite, the build created by the fcm_make task can be found here.
The share/cycle/ sub-directory is to share files that are regularly generated, archived and removed by cycling tasks.
The work/ sub-directory contains the working directory for the tasks at their run times. It can be used by the tasks to create files that are only relevant to the tasks.
For help with Rose and Rosie commands, see the Command Reference.
This section explores working using the Rose system GUIs. You should complete the above command line tour before starting this one.
We'll use the discovery GUI to find and checkout our example suite. Open a Linux/Unix terminal and issue the command:
rosie go
You should see a list of your checked-out suites as rows in a table.
You could find other suites by using the toolbar search and searching for text strings, or using the advanced query panel (show it by clicking the rightmost toolbar button).
There are toolbar options to create and copy suites. Copying and other actions can be done by right clicking on a suite.
Look at the list to find the row that has the suite $ID, project, and title from the command line tour. If you double-click on it, your suite will be opened using the Rose configuration editor.
Go ahead and double click on your suite. The config editor GUI will now launch.
The config editor should have started up with a view of your suite.
You can see from the toolbar that you can perform actions like Undo, Redo and Find.
On the left hand side is a panel containing a tree with named nodes. If you expand these, you can see that this represents the suite and application configurations. Each section in a configuration is (normally) a node here. Navigate to the application section my_hello_saturn -> env and click on env.
A page should have launched in the right hand panel. This contains widgets for altering the env section of the application my_hello_saturn.
Try altering the value of some of the settings, either using the text box or the spin (numeric) buttons. When the settings are a different value to the saved ones, their names will change colour. You can Undo and Redo your actions. You can also Save your changes.
If you move the mouse over the setting names, you can see some descriptive text. You can access further help by clicking the little menu button next to the setting name and selecting Help or Web Help.
The config editor acts as a specialist text editor for Rose configuration files - pressing Save in the config editor is the same as pressing it in gvim or gedit.
Rose configuration files dumped through the
                config editor, rose macro, or
                rose config-dump will be
                pretty-printed for consistency (so diffs are
                possible), which may mean some extraneous
                whitespace is removed and some sorting is performed
                if anything is out of place.
You can commit your suite by launching a terminal then typing fcm commit in it, in the normal way. You can launch a terminal from inside the GUI with Ctrl-T or by using the menu: Tools -> Launch Terminal.
You can run your suite by clicking the Run
                Suite button on the toolbar or selecting
                Tools -> Run Suite -> Default from
                the top menu. This will invoke rose
                suite-run.
You have finished the brief tour. Why not try the Metadata Tutorial or read more about the GUIs at Config Editor Reference and Rosie Go Reference?