Setting up to create an experiment page on GMAO Intranet

From GEOS-5
Jump to navigation Jump to search

On this page, the steps necessary to create an experiment on the GMAO Intranet will be detailed.

If you have any issues or questions, please email the GMAO SI Team at siteam_AT_gmao.gsfc.nasa.gov

Note: On this page I will refer only to polar for clarity, but nearly all steps also apply to train. If there are any differences, I will be sure to highlight them.

Get an account on polar

The first step in this process is to get an account on polar. To do so, contact GMAO Support for an account and tell them it's to put experiments on the GMAO Intranet Model Development Page. The main thing you need is to be part of the modeling group.

Once you get an account, make sure you can ssh from discover to polar using your password.

Set up passwordless SSH from discover

In order to easily move plots from discover to polar, we need to set up passwordless SSH access to polar from discover. It's assumed that you are able to run the model on discover, thus, you have already created an RSA or DSA key on discover. We need to transfer this key to polar; to do this, we will use the ssh-copy-id utility.

On discover, do an ls of your $HOME/.ssh directory to see what you have:

$ ls ~/.ssh/*pub
/home/mathomp4/.ssh/id_rsa.pub

We know you can ssh from discover to polar as tested above, now let's transfer the key to polar and see if you can do so passwordless. Run:

$ ssh-copy-id -i ~/.ssh/id_rsa.pub polar
\033[33m
\033[31m

##############################################################################

		WARNING!  This is a U.S. Government Computer

        This U.S. Government computer is for authorized use only.

	This U.S. Government computer is for authorized users only.  

	By accessing this system, you are consenting to complete 

		monitoring with no expectation of privacy.  

	Unauthorized access or use may subject you to disciplinary 

		action and criminal prosecution. 



 ##############################################################################

\033[32m

****************************************************************************
*                           Welcome to Polar                               *
****************************************************************************


\033[00m
mathomp4@polar's password: 
Now try logging into the machine, with "ssh 'polar'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

You should now be able to ssh to polar without using a password:

$ ssh polar
\033[33m
\033[31m

##############################################################################

		WARNING!  This is a U.S. Government Computer

        This U.S. Government computer is for authorized use only.

	This U.S. Government computer is for authorized users only.  

	By accessing this system, you are consenting to complete 

		monitoring with no expectation of privacy.  

	Unauthorized access or use may subject you to disciplinary 

		action and criminal prosecution. 



 ##############################################################################

\033[32m

****************************************************************************
*                           Welcome to Polar                               *
****************************************************************************


\033[00m
Last login: Mon Mar 10 09:14:35 2014 from anvil.gsfc.nasa.gov
[mathomp4@polar ~]$ 

Set up polar for CVSACL access

Now that you are on polar, you must now set up access to CVSACL which is done differently on polar than on discover or pleiades.

Upload SSH Key to NCCS

If you haven't done so, you'll need to generate an RSA key on polar and upload them (as mentioned at the NCCS QuickStart page) to https://progress.nccs.nasa.gov/keyupload/.

Edit .ssh/config

You'll need to edit ~/.ssh/config to get access to CVSACL, but we need something before then.

On the command line get your userid:

$ id -u
3456

It (probably) won't be 3456, but that's representative. Now we edit ~/.ssh/config in your favorite editor and add:

Host cvsacl
    HostName cvsacl.nccs.nasa.gov
    LocalForward 53456 localhost:22223
Host ctunnel
    HostName localhost
    Port 53456

where you substitute your id for 3456.

Longer uids

Note, in recent times, longer ids have been being issued:

$ id -u
31128555

If you see this, just use the last four digits. Ports should be in the 5xxxx range.


Add CVSROOT Environment variable

Next we need to add some environment variables. If your shell is bash, add to .bashrc:

export CVS_RSH=ssh
export CVSROOT=:ext:username@ctunnel:/cvsroot/esma

or to your .cshrc or .tcshrc:

setenv CVS_RSH ssh
setenv CVSROOT :ext:username@ctunnel:/cvsroot/esma

where username is your NASA AUID.

Create a tunnel to CVSACL

The next step is to create a tunnel to CVSACL. Unlike discover or pleiades which have an "always-on" port to CVSACL, polar does not. We must create this tunnel instead. To do so, we'll use screen. Start a screen with:

$ screen

You've now created a "terminal" session inside your main one. Now connect to CVSACL with:

$ ssh cvsacl
This U.S. Government resource is for authorized users only.  By accessing
this system you are consenting to complete monitoring with no expectation
of privacy.  Unauthorized access or use may subject you to disciplinary
action and criminal prosecution.

PASSCODE: 
Password: 
Authentication successful, but shell access here is restricted.
Please see the documentation for how to use this service.

If you do not know where that is, but are authorized to use this
service, please contact support.

This connection will terminate after 7 days if not restarted.

(Press Control-C if you wish to terminate authentication early.)

You'll notice that the screen session seems to "hang". This is expected as this is now holding a port open. You now want to "detach the screen" this is done by typing Ctrl-a d (i.e., Ctrl-a and then the d key). When you do this, you'll return to your original terminal session.

Problems with CVSACL Tunnel Creation

It's possible you will get an error when you try to ssh into CVSACL. If so, the most likely cause is that you do not have an account on the server. To check this, email NCCS Support and ask them if you have an account on CVSACL and, if not, can they create one for you.

Make an experiment

Next, you'll actually make the experiment. Navigate to the experiment directory. On polar this is:

$ cd /san_agcm/geos5

and on train you go to:

$ cd /gmao/intranet/research/modeling/agcm/geos5

In this directory you'll see many, many experiments, now it's time to make your own with the makexp script. This script requires access to CVSACL--which is why we set up the screen--because you actually "check out" an experiment. In the example session below, the experiment will b

$ ./makexp

First, you'll enter the experiment ID. This is normally the name of the experiment you made on discover.

Enter the Experiment ID: EXPID
mat-G40B11-c48

-------------------------------------------------------------------------------
                         NASA/GMAO GEOS GCM                                    
                           MAKEXP Utility                                      
-------------------------------------------------------------------------------

Enter the Resolution Code (xnn) for the New Experiment:
     where  x = 'b' for ~ 2.00-degree ( 144 x  91)
                'c' for ~ 1.00-degree ( 288 x 181)
                'd' for ~ 0.50-degree ( 540 x 361 or  576 x 361 )
                'e' for ~ 0.25-degree (1080 x 721 or 1152 x 721 )
     and   nn = the number of levels
b72

Enter the CONTROL expid:
mat-G40B11-c48

The CONTROL expid is used if you have done a series of experiments and you have one you wish to use as a baseline. If you have such an experiment, and you added it as a CMPEXP in plot.rc, an entry for this experiment will be created in the comparison dropdown menu on the GMAO Model Development page for your run. If you don't have a control, then you can enter anything, like the name of the experiment again.

Enter a Brief Description:
Ganymed-4_0_BETA11 run at C48

Enter any KEYWORD(s) associated with Experiment: 


Do you wish this experiment to be 'public' or 'private'? (Default: public)

The choice of 'public' versus 'private' is just that. If you set it to 'private', the experiment will not be visible on the main GMAO Model Development page, but will be accessible under your name.

Enter Experiment Type:  cli  for Climatology Run (Default)
                        rep  for DAS Replay          
                        ana  for Analysis/Verification          


Enter Experiment Year:  (eg: Y2001 (Default is CLIM))


Enter Month or Season for Experiment (3-character, Default = DJF):
(Options: JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC DJF JJA MAM SON ANN)

If you run a "stock" experiment with gcm_setup you'll usually use the defaults for these three items. However, if you are running an analysis or replay, the other options are there for you. Contact Larry Takacs for more information. Now the experiment will be checked out from CVS:

This U.S. Government resource is for authorized users only.  By accessing
this system you are consenting to complete monitoring with no expectation
of privacy.  Unauthorized access or use may subject you to disciplinary
action and criminal prosecution.

cvs checkout: Updating GEOS_Web
U GEOS_Web/archive
U GEOS_Web/archive_das_list
U GEOS_Web/archive_list
U GEOS_Web/chacc
U GEOS_Web/check.jpg
U GEOS_Web/current_das_list
U GEOS_Web/exp_item.template
...snip...
? expdesc
? RC
? CLIM
/cvsroot/esma/esma/src/Shared/GEOS_util/web/buttons/set_exps.php,v  <--  buttons/set_exps.php
new revision: 1.12.74.1; previous revision: 1.12
/cvsroot/esma/esma/src/Shared/GEOS_util/web/buttons/stats_exps.php,v  <--  buttons/stats_exps.php
new revision: 1.4.74.1; previous revision: 1.4
$

If you do an ls, you'll see your new experiment, though there are no images in it:

$ ls -ltr | tail
drwxr-xr-x. 19 dao_ops  users       4096 Apr 13 15:35 b5122_m2swp_jan00/
drwxr-sr-x. 12 dao_ops  modeling    4096 Apr 13 18:44 e5123_tst_01/
-rw-rw-rw-.  1 takacs   modeling  202652 Apr 14 13:21 intranet_ana_list
drwxr-sr-x. 12 takacs   modeling    4096 Apr 14 13:22 G40B10_DAS0_JAN09/
drwxr-sr-x. 12 takacs   modeling    4096 Apr 14 13:22 G40B10_DAS2_JAN09/
-rw-r--r--.  1 mathomp4 modeling   96028 Apr 15 08:19 AGCM_ChangeLog
drwxr-sr-x. 11 mathomp4 modeling    4096 Apr 15 08:19 mat-G40B11-c48/
-rw-rw-rw-.  1 takacs   modeling 1185868 Apr 15 08:19 intranet_list
-rw-rw-rw-.  1 takacs   modeling  889559 Apr 15 08:19 intranet_cli_list

Note, if you see this when you run makexp:

Enter Month or Season for Experiment (3-character, Default = DJF):
(Options: JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC DJF JJA MAM SON ANN)

ssh: connect to host localhost port 53456: Connection refused
cvs [checkout aborted]: end of file from server (consult above messages if any)
/bin/mv: cannot stat `GEOS_Web': No such file or directory
mat-G40B11-c48: No such file or directory.

that means you forgot to connect to CVSACL as shown above.

If you see:

cvs [checkout aborted]: cannot make directory GEOS_Web: Permission denied
/bin/mv: cannot stat ‘GEOS_Web’: No such file or directory

this means that you are not a member of the modeling group. Please see the first section of this page.

Move the plots to polar

To move the plots from discover to polar, we'll use the moveplot script. Move to the directory containing the plots. In this example, the plots created were of type "CLIM" and so are in the plots_CLIM directory:

$ cd /discover/nobackup/mathomp4/mat-G40B11-c48/plots_CLIM

Now, the first time you run moveplot it will ask for information about where your experiment plots live (polar or train), and your ID on that server (usually your NASA AUID). This is only done once. After this information is set up, the plots will move.

$ $ESMADIR/src/GMAO_Shared/GEOS_Util/plots/moveplot

Enter WEB Server to use:  train
                          polar
polar
 
Enter WEB ID to use on polar.gsfc.nasa.gov:
mathomp4
Hit -ENTER- to confirm: mathomp4

The authenticity of host 'polar.gsfc.nasa.gov (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'polar.gsfc.nasa.gov' (RSA) to the list of known hosts.
\033[33m
\033[31m

##############################################################################

		WARNING!  This is a U.S. Government Computer

        This U.S. Government computer is for authorized use only.

	This U.S. Government computer is for authorized users only.  

	By accessing this system, you are consenting to complete 

		monitoring with no expectation of privacy.  

	Unauthorized access or use may subject you to disciplinary 

		action and criminal prosecution. 



 ##############################################################################

\033[32m

****************************************************************************
*                           Welcome to Polar                               *
****************************************************************************


\033[00m
Warning: No xauth data; using fake authentication data for X11 forwarding.
sending incremental file list
AGCM.rc
CAP.rc
ExtData.rc
HISTORY.rc
fvcore_layout.rc

sent 60733 bytes  received 107 bytes  24336.00 bytes/sec
total size is 60385  speedup is 0.99
\033[33m

...snip...

hdiag_WESNSC.LANDICE_0.JJA.gif
hdiag_WET2.SURFACE_0.DJF.gif
hdiag_WET2.SURFACE_0.JJA.gif
hdiag_WET3.SURFACE_0.DJF.gif
hdiag_WET3.SURFACE_0.JJA.gif

sent 44871836 bytes  received 5180 bytes  5983602.13 bytes/sec
total size is 44848632  speedup is 1.00

If you have any issues or questions, please email the GMAO SI Team at siteam_AT_gmao.gsfc.nasa.gov