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.2 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.'''   
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.2]]'''
'''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 progress CVS code repository ===
=== 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 progress repository quick start pages at: https://progress.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:
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://progress.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:
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-3_2_p9 GEOSagcm
  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-3_2_p9/GEOSagcm/src
  /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-3_2_p9/GEOSagcm
  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) comp/intel-15.0.2.164
  1) other/comp/gcc-6.3
  2) mpi/sgi-mpt-2.14
  2) comp/intel-18.0.1.163
  3) lib/mkl-15.0.2.164
  3) mpi/sgi-mpt-2.17
  4) other/comp/gcc-4.6.3-sp1
  4) lib/mkl-18.0.1.163
  5) other/SIVO-PyD/spd_1.20.0_gcc-4.6.3-sp1_mkl-15.0.0.090
  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> .
<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 ==
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-3_2_p9):
  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.2]]'''
'''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