GEOS-5 Quick Start: Difference between revisions

No edit summary
No edit summary
Line 3: Line 3:
== Checking Out and Compiling GEOS-5 ==
== Checking Out and Compiling GEOS-5 ==


The following assumes that you know your way around Unix, have successfully logged into your NCCS account (presumably on the '''discover''' cluster) and have an account on '''sourcemotel'''.  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 following assumes that you know your way around Unix, have successfully logged into your NCCS account (presumably on the '''discover''' cluster) and have an account on '''sourcemotel'''.  Furthermore, to run jobs on the cluster you will need to set up passwordless <code>ssh</code> (which operates within the cluster).  To do so, run the following from your '''discover''' home directory:
 
cd .ssh
ssh-keygen -t dsa
cat d_dsa.pub authorized_keys >> tempFile
mv tempFile authorized_keys
 
 
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.


Set the following three environment variables:
Set the following three environment variables:
Line 64: Line 72:
where <code>.g5_modules</code> is simply a copy of the <code>g5_modules</code> that you ran earlier before compiling.  The <code>umask 022</code> is not strictly necessary, but it will make the various files readable to others, which will facilitate data sharing and user support.  Your home directory <code>~''USERID''</code> is also inaccessible to others by default; running <code>chmod 755 ~</code> is helpful.
where <code>.g5_modules</code> is simply a copy of the <code>g5_modules</code> that you ran earlier before compiling.  The <code>umask 022</code> is not strictly necessary, but it will make the various files readable to others, which will facilitate data sharing and user support.  Your home directory <code>~''USERID''</code> is also inaccessible to others by default; running <code>chmod 755 ~</code> is helpful.


Copy the restart (initial condition) files and associated <code>cap_restart</code> into ''EXPDIR''.  Keep the "originals" handy since if the job stumbles early in the run it might stop after having renamed them.  The model expects restarts to end in "rst" but produces them with the date at time appended to the filename, so you may have to rename them.  The <code>cap_restart</code> file is simply one line of text with the date of the restart files in the format YYYYMMDD<space>HHMMSS.  The boundary conditions/forcings are provided by symbolic links created by the run script.
Copy the restart (initial condition) files and associated <code>cap_restart</code> into ''EXPDIR''.  Keep the "originals" handy since if the job stumbles early in the run it might stop after having renamed them.  The model expects restart filenames to end in "rst" but produces them with the date and time appended, so you may have to rename them.  The <code>cap_restart</code> file is simply one line of text with the date of the restart files in the format YYYYMMDD<space>HHMMSS.  The boundary conditions/forcings are provided by symbolic links created by the run script.


The script you submit, <code>gcm_run.j</code>, is in ''HOMEDIR''.  It should be ready to go as is, though you may eventually want to tune JOB_SGMT (the number of days per segment, the internal between saving restarts) and NUM_SGMT (the number of segments attempted in a job) to maximize your run time.  END_DATE can be changed to your end date, or just left as is.  Commenting out the <code>qsub $HOMDIR/gcm_run.j</code> at the end of the script will prevent the script from being resubmitted, too.  Those and the PBS (batch system) parameters at the beginning are all that you will usually want to change in the script.
The script you submit, <code>gcm_run.j</code>, is in ''HOMEDIR''.  It should be ready to go as is, though you may eventually want to tune JOB_SGMT (the number of days per segment, the internal between saving restarts) and NUM_SGMT (the number of segments attempted in a job) to maximize your run time.  END_DATE can be changed to your end date, or just left as is.  Commenting out the <code>qsub $HOMDIR/gcm_run.j</code> at the end of the script will prevent the script from being resubmitted, too.  Those and the PBS (batch system) parameters at the beginning are all that you will usually want to change in the script.