Rose suites

Rose suite illustrationAs described in the Rose documentation (e.g. here), and as I've tried to illustrate with my 'pink bubble' drawing here, a Rose suite is composed of apps. JULES Rose suites always have two apps that run sequentially: fcm_make (the compilation step) and jules (actually running the model).

If you prefer to understand this in a more UNIX way, see screenshot right: the JULES Rose suite is simply a directory on your file system (at location $RSUITE in my notes) that contains some files (including the textfiles rose-suite.conf and suite.rc) and two subdirectories app/fcm_make/ and app/jules/. Kerry Smout-Day also illustrated the same structure nicely in her JULES tutorial here.

  • How do I open/edit a Rose suite? If the path on UNIX to the top level directory of your suite is $RSUITE (i.e. if you do cd $RSUITE followed by ls then you'll see a file called "rose-suite.conf" and a directory called "app") then use a command like rose edit -C $RSUITE & . The only thing you can't do in Rose Edit is search easily for a particular parameter or switch (e.g. if you can't remember where to find l_triffid in the menus on the left) so I usually open the JULES config file in a text editor at the same time with a command like nedit $RSUITE/app/jules/rose-app.conf & and that allows me to search (be careful: best NOT to make changes to the JULES config file in that editor because if you do then Rose Edit will get confused).

  • How do I know which version of JULES a particular suite is designed for? Either on UNIX look at the end of the first line of $RSUITE/app/jules/rose-app.conf or in Rose Edit look at the end of the 'meta' entry in fcm_make.

  • How to compare two rose suites to see where they differ? On UNIX (usually from the ~/roses/ directory) use a command like xxdiff $RSUITE1/app/jules/rose-app.conf $RSUITE2/app/jules/rose-app.conf & (requires xxdiff to be installed on your system: if not, use diff instead but interface is not so nice). Or use xxdiff $RSUITE1 $RSUITE2 & if you want to see all differences including compiler options, etc.

  • For former UMUI users, suites and apps are what used to be called jobs and tasks. Every rose app performs one particular task and the details of that task are specified in the config file app/[APP NAME]/rose-app.conf .

  • The config file for the jules app contains all the namelist files described on the JULES manual pages (select your version of JULES and find section "The JULES namelist files").
  • Rose suites for running JULES are available either via the Rosie Go system or via the roses-u repository: see here for how to use those. Remember, though, that almost any suite you download will contain paths and compiler-specific options that are specific to the server/system the author was using it on and you will need to change these so that the suite can work on your server/system: I've gone through some of the changes I have to make for most suites to work on my system in STEP3 here and you'll need to do something similar (though most likely not exactly the same).
  • Note that Rose suites can be automatically upgraded using rose app-upgrade, e.g. if you find and download a suite on Rosie Go for an earlier version of JULES (must be at least vn4.6) then you can use a single command to upgrade it to any later version of JULES: see here.
  • Note that all Rose suites are set up with links to particular driving and ancillary data inside them, and those data do not come with the suite when you download it: you'll need to ask the author for copies of those files or change the suite to use alternative files.
  • The suite.rc textfile controls how the apps of the suite relate to each other and the order in which they are run. You can specify complex and repeating runs of JULES using this (see e.g. here for using it to loop through a set of JULES runs with changing parameter settings). If you want to know more about how to use this, see the Suite Design Guide and/or Kerry Smout-Day's tutorials on the JULES manual pages.