Icarus 1.0 Quick Start: Difference between revisions
Copied from Heracles 5.4 Quick Start, revision 3771 |
m →Using the NCCS progress CVS code repository: Add some text about common CVS errors |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
This page describes the minimum steps required to build and run GEOS-5 | This page describes the minimum steps required to build and run GEOS-5 Icarus 1.0 on NCCS discover and NAS pleiades. '''You should successfully complete the steps in these instructions before doing anything more complicated. Also, it is helpful to read this page in its entirety before starting.''' | ||
'''Back to [[GEOS-5 Documentation for | '''Back to [[GEOS-5 Documentation for Icarus 1.0]]''' | ||
== How to Obtain GEOS-5 and Compile Source Code == | == How to Obtain GEOS-5 and Compile Source Code == | ||
Line 15: | Line 15: | ||
Port 22223 | Port 22223 | ||
That's it. Progress is not needed unless you specifically know you need it. It won't hurt to add it, but at present it isn't needed. Also, you'll need to generate RSA | That's it. Progress is not needed unless you specifically know you need it. It won't hurt to add it, but at present it isn't needed. Also, you'll need to generate RSA or ED25519 keys and upload them (this is mentioned in the quick start page above) to https://progress.nccs.nasa.gov/keyupload/. (NOTE: DSA keys are not recommended as some sites, e.g., NAS, have started disallowing them.) | ||
The commands below assume that your shell is <code>csh</code>. Since the scripts to build and run GEOS-5 tend to be written in the same, you shouldn't bother trying to import too much into an alternative shell. If you prefer a different shell, it is easiest just to open a <code>csh</code> process to build the model and your experiment. | The commands below assume that your shell is <code>csh</code>. Since the scripts to build and run GEOS-5 tend to be written in the same, you shouldn't bother trying to import too much into an alternative shell. If you prefer a different shell, it is easiest just to open a <code>csh</code> process to build the model and your experiment. | ||
Line 28: | Line 28: | ||
where ''USERID'' is, of course, your repository username, which should be the same as your NASA and NCCS username. Then, issue the command: | where ''USERID'' is, of course, your repository username, which should be the same as your NASA and NCCS username. Then, issue the command: | ||
cvs co -r | cvs co -r Icarus-1_0_p1 GEOSagcm | ||
This should check out the latest stable version of the model from the repository and create a directory called <code>GEOSagcm</code>. | This should check out the latest stable version of the model from the repository and create a directory called <code>GEOSagcm</code>. | ||
==== CVS Errors ==== | |||
If the CVS checkout doesn't work for you, there are many possibilities. If the error says something about "keyupload", then the key upload either hasn't taken hold yet (can take 5-10 minutes to work after uploading the key), or, perhaps, the wrong key was uploaded. | |||
If you see something like "access denied for this host", then your best bet is to contact NCCS. Per a response from NCCS to a user that had something similar happen, they need to add the CVS hosts to an LDAP entry. | |||
=== Compiling the Model === | === Compiling the Model === | ||
Line 36: | Line 42: | ||
First, you need to set <code>ESMADIR</code>. For example, if your <code>src/</code> directory is: | First, you need to set <code>ESMADIR</code>. For example, if your <code>src/</code> directory is: | ||
/discover/nobackup/mathomp4/Models/ | /discover/nobackup/mathomp4/Models/Icarus-1_0_p1/GEOSagcm/src | ||
then you should set: | then you should set: | ||
setenv ESMADIR /discover/nobackup/mathomp4/Models/ | setenv ESMADIR /discover/nobackup/mathomp4/Models/Icarus-1_0_p1/GEOSagcm | ||
Next, <code>cd</code> into <code>GEOSagcm/src</code> and <code>source</code> the file called <code>g5_modules</code>: | Next, <code>cd</code> into <code>GEOSagcm/src</code> and <code>source</code> the file called <code>g5_modules</code>: | ||
Line 54: | Line 60: | ||
Currently Loaded Modulefiles: | Currently Loaded Modulefiles: | ||
1) comp/intel-15.0.2.164 | 1) comp/intel-15.0.2.164 | ||
2) mpi/ | 2) mpi/sgi-mpt-2.14 | ||
3) lib/mkl-15.0.2.164 | 3) lib/mkl-15.0.2.164 | ||
4) other/comp/gcc-4.6.3-sp1 | 4) other/comp/gcc-4.6.3-sp1 | ||
5) other/SIVO-PyD/spd_1.20.0_gcc-4.6.3-sp1_mkl-15.0.0.090 | 5) other/SIVO-PyD/spd_1.20.0_gcc-4.6.3-sp1_mkl-15.0.0.090 | ||
If this all worked, then type: | If this all worked, then type: | ||
Line 65: | Line 70: | ||
This will build the model. It will take about 30 minutes. If this works, it should create a directory under <code>GEOSagcm</code> called <code>Linux/bin</code>. In here you should find the executable: <code>GEOSgcm.x</code> . | This will build the model. It will take about 30 minutes. If this works, it should create a directory under <code>GEOSagcm</code> called <code>Linux/bin</code>. In here you should find the executable: <code>GEOSgcm.x</code> . | ||
<span style="color:red">NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE</span> | |||
GEOS-5 has moved to using SGI MPT by default at NCCS. This means the model '''CANNOT be built on Dali'''. You can build the model on any Discover head node or any Haswell compute node. | |||
== Setting up a Run == | == Setting up a Run == | ||
=== Passwordless Logins === | |||
First of all, to run jobs on the cluster you will need to set up passwordless <code>ssh</code> (which operates within the cluster, between the nodes running the job). To do so, run the following from your '''discover''' home directory: | First of all, to run jobs on the cluster you will need to set up passwordless <code>ssh</code> (which operates within the cluster, between the nodes running the job). To do so, run the following from your '''discover''' home directory: | ||
cd .ssh | cd .ssh | ||
ssh-keygen -t | ssh-keygen -t rsa | ||
cat | cat id_rsa.pub >> authorized_keys | ||
Similarly, transferring the daily output files (in monthly tarballs) requires passwordless authentication from '''discover''' to '''dirac'''. While in <code>~/.ssh</code> on '''discover''', run | Similarly, transferring the daily output files (in monthly tarballs) requires passwordless authentication from '''discover''' to '''dirac'''. While in <code>~/.ssh</code> on '''discover''', run | ||
ssh-keygen -t | ssh-keygen -t rsa | ||
Then, log into '''dirac''' and cut and paste the contents of the <code>id_rsa.pub</code> file on '''discover''' into the <code>~/.ssh/authorized_keys</code> file on '''dirac'''. Problems with <code>ssh</code> should be referred to NCCS support. | |||
==== DSA Keys ==== | |||
Note: Due to evolution of security, it is recommended to not use DSA keys. NAS currently doesn't not allow them, and RSA and ED25519 keys are considered "better" anyway. | |||
=== Setting up a model run === | |||
To set the model up to run, cd to <code>GEOSagcm/src/Applications/GEOSgcm_App</code> and run: | To set the model up to run, cd to <code>GEOSagcm/src/Applications/GEOSgcm_App</code> and run: | ||
Line 94: | Line 111: | ||
Spaces are ok here. It will then ask for the source code version tag to associate with the model -- you should hit enter for the default: | Spaces are ok here. It will then ask for the source code version tag to associate with the model -- you should hit enter for the default: | ||
Enter an Experiment Source Tag for History (Default: | Enter an Experiment Source Tag for History (Default: Icarus-1_0_p1): | ||
Hit enter for the default to the next question: | Hit enter for the default to the next question: | ||
Line 212: | Line 229: | ||
---- | ---- | ||
'''Back to [[GEOS-5 Documentation for | '''Back to [[GEOS-5 Documentation for Icarus 1.0]]''' | ||
Contact Matthew Thompson at GMAO with questions and comments | Contact Matthew Thompson at GMAO with questions and comments |