Icarus 3.3 Quick Start: Difference between revisions
Copied from Icarus 3.2 Quick Start, revision 4152 |
→CVS Errors: Add permission error section |
||
(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 Icarus 3. | This page describes the minimum steps required to build and run GEOS-5 Icarus 3.3 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 Icarus 3. | '''Back to [[GEOS-5 Documentation for Icarus 3.3]]''' | ||
== How to Obtain GEOS-5 and Compile Source Code == | == How to Obtain GEOS-5 and Compile Source Code == | ||
Line 7: | Line 7: | ||
There are two options for obtaining the model source code: from the CVS repository on the NCCS progress server, and from the SVN "public" repository on the trac server. Since the code on progress is more current, elgible users are strongly encouraged to obtain accounts from NCCS and use the progress repository. | There are two options for obtaining the model source code: from the CVS repository on the NCCS progress server, and from the SVN "public" repository on the trac server. Since the code on progress is more current, elgible users are strongly encouraged to obtain accounts from NCCS and use the progress repository. | ||
=== Using the NCCS | === Using the NCCS CVS code repository === | ||
The following assumes that you know your way around Unix, have successfully logged into your cluster account and have an account on the source code repository with the proper <code>ssh</code> configuration -- see the | The following assumes that you know your way around Unix, have successfully logged into your cluster account and have an account on the source code repository with the proper <code>ssh</code> configuration -- see the NCCS repository quick start pages at: https://www.nccs.nasa.gov/trac/admin/wiki/QuickStart. The link requires your NCCS username and password. The recommend SSH config setup for CVS on discover is: | ||
Host cvsacldirect | Host cvsacldirect | ||
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 or ED25519 keys and upload them (this is mentioned in the quick start page above) to https:// | 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://www.nccs.nasa.gov/keyupload/. (NOTE: DSA keys are not recommended as some sites, e.g., NAS, have started disallowing them.) The usual way of doing this is to go to your <tt>.ssh</tt> directory and run <tt>ssh-keygen</tt>, making a key with no password: | ||
$ cd $HOME/.ssh | $ cd $HOME/.ssh | ||
$ ssh-keygen -t rsa | $ ssh-keygen -o -a 100 -b 3072 -t rsa | ||
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 31: | Line 31: | ||
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 Icarus- | cvs co -r Icarus-3_3_p2 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>. | ||
Line 37: | Line 37: | ||
==== CVS Errors ==== | ==== 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 the CVS checkout doesn't work for you, there are many possibilities. | ||
===== Keyupload ===== | |||
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. | |||
===== Access denied for this host ===== | |||
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. | 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. | ||
===== Failed to create lock/permission denied ===== | |||
If you see something like: | |||
cvs checkout: failed to create lock directory for `/cvsroot/esma/CVSROOT' (/cvsroot/esma/CVSROOT/#cvs.history.lock): Permission denied | |||
cvs checkout: failed to obtain history lock in repository `/cvsroot/esma' | |||
cvs checkout: Updating src | |||
cvs checkout: failed to create lock directory for `/cvsroot/esma/esma/src/Applications/GEOSdas' (/cvsroot/esma/esma/src/Applications/GEOSdas/#cvs.lock): Permission denied | |||
cvs checkout: failed to obtain dir lock in repository `/cvsroot/esma/esma/src/Applications/GEOSdas' | |||
cvs [checkout aborted]: read lock failed - giving up | |||
this means you don't have a home directory on progress. Try doing: | |||
$ ssh progress.nccs.nasa.gov | |||
You'll enter your PASSCODE and password and then it'll seem like the terminal is "stuck". Just hit Ctrl-C. Now try the CVS command again. | |||
=== Compiling the Model === | === Compiling the Model === | ||
Line 45: | Line 68: | ||
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/Icarus- | /discover/nobackup/mathomp4/Models/Icarus-3_3_p2/GEOSagcm/src | ||
then you should set: | then you should set: | ||
setenv ESMADIR /discover/nobackup/mathomp4/Models/Icarus- | setenv ESMADIR /discover/nobackup/mathomp4/Models/Icarus-3_3_p2/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 62: | Line 85: | ||
Currently Loaded Modulefiles: | Currently Loaded Modulefiles: | ||
1) other/comp/gcc-6.3 | |||
2) comp/intel-18.0.1.163 | |||
3) mpi/sgi-mpt-2.17 | |||
4) lib/mkl-18.0.1.163 | |||
5) other/SIVO-PyD/spd_1.25.0_gcc-6.3_mkl-17.0.4.196 | |||
If this all worked, then type: | If this all worked, then type: | ||
Line 73: | Line 96: | ||
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> . | ||
== Setting up a Run == | == Setting up a Run == | ||
Line 112: | Line 131: | ||
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: Icarus- | Enter an Experiment Source Tag for History (Default: Icarus-3_3_p2): | ||
Hit enter for the default to the next question: | Hit enter for the default to the next question: | ||
Line 230: | Line 249: | ||
---- | ---- | ||
'''Back to [[GEOS-5 Documentation for Icarus 3. | '''Back to [[GEOS-5 Documentation for Icarus 3.3]]''' | ||
Contact Matthew Thompson at GMAO with questions and comments | Contact Matthew Thompson at GMAO with questions and comments |