| 23 | |
| 24 | |
| 25 | |
| 26 | |
| 27 | |
| 28 | |
| 29 | |
| 30 | |
| 31 | === How to get on IOFS job running on HECToR === |
| 32 | |
| 33 | There are a couple of preliminary administrative tasks which need to be taken care of first. |
| 34 | |
| 35 | * Your institution will need an OpenIFS license - check with Glenn Carver (ECMWF) |
| 36 | * You will need an account on HECToR |
| 37 | * You will need to be a member of the oifs package account on HECToR. Contact CMS to arrange to be added to this group. |
| 38 | * You will need to have access to the OpenIFS code repository on PUMA - contact CMS |
| 39 | |
| 40 | It will be helpful if you have some knowledge of the Flexible Configuration Management (FCM) system. We use FCM to manage the OpenIFS code and in addition to manage the OpenIFS build. Much of the work has been done which will enable you to get started on HECToR, but it will benefit you and make your work more efficient if you become familiar with some simple FCM operations, such as commit, check-out, add, revert, branch-create. FCM is described in depth in complete online documentation at http://metomi.github.io/fcm/doc/ and an FCM tutorial is available at http://cms.ncas.ac.uk/wiki/Fcm. |
| 41 | |
| 42 | |
| 43 | === Check out the OIFS code === |
| 44 | |
| 45 | You will need to set up the correct environment to build and run OIFS jobs. Since HECToR has different hardware on its compute and service nodes, there is an extra consideration when using some OIFS-related utilities on the service nodes (more later). Let's assume that you are interested in building and running the model only for now. At the HECToR command line, type |
| 46 | |
| 47 | {{{ |
| 48 | module use ~oifs/modules |
| 49 | module load openifs_cce/0.0.2 |
| 50 | }}} |
| 51 | |
| 52 | Loading the openifs module sets some paths required for the build and run and has some checking to ensure that there is no conflict with currently loaded modules. Typing |
| 53 | |
| 54 | {{{ |
| 55 | module show openifs_cce/0.0.2 |
| 56 | }}} |
| 57 | |
| 58 | gives details of what the module does, namely |
| 59 | |
| 60 | {{{ |
| 61 | module-whatis CCE versions of support libraires to build OpenIFS |
| 62 | conflict PrgEnv-gnu |
| 63 | conflict PrgEnv-pgi |
| 64 | prereq cce/8.1.8 |
| 65 | module load grib_api_cce/0.0.2 |
| 66 | module load fdb_cce/0.0.2 |
| 67 | prepend-path PATH /work/n02/n02/hum/fcm/bin |
| 68 | setenv OIFS_IFSDATA /work/y07/y07/oifs/data/ecmwf/ifsdata |
| 69 | setenv OIFS_ARCH x86_64 |
| 70 | setenv OIFS_COMP cce_fdb |
| 71 | setenv OIFS_BUILD opt |
| 72 | }}} |
| 73 | |
| 74 | If your normal module set up is with the gnu or pgi programming environments, then an attempt to load openifs_cce/0.0.2 will fail, and it will also fail unless you have the Cray cce1/8.1.8 compiler loaded. Use '''module swap''' to ensure an appropriate starting module configuration. |
| 75 | |
| 76 | |
| 77 | On HECToR create a suitably named directory in your /home space. We recommend building in /home which handles small files more efficiently than does /work for a quicker build. Now check out the OIFS code tree with '''fcm co'''. Here is an example |
| 78 | |
| 79 | {{{ |
| 80 | fcm co fcm:oifs/branches/dev/grenville/38r1v02_fdb_updates@16 |
| 81 | }}} |
| 82 | |
| 83 | This cumbersome command can be made simpler by use of FCM keywords and of course you can use aliasing to reduce the amount of typing required. However, it is instructive to see the command in its entirety (actually we have already defined the keyword oifs to save some typing). The text after fcm co is the URL for the code. In this case the code is in a '''branch''' owned by '''dev'''eloper '''grenville'''; the breanch is called '''38r1v02_fdb_updates''' and the code is at ('''@''') revision number '''16''' |
| 84 | |
| 85 | |
| 86 | |
| 87 | |
| 88 | |