GEOS-5 Checkout and Build Instructions (Fortuna): Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
These instructions presume checking out the PIESA group tag: ''' | These instructions presume checking out the PIESA group tag: '''AeroChem-Fortuna-2_4-b3'''. | ||
== How to Check Out and Build the Code == | == How to Check Out and Build the Code == | ||
Line 16: | Line 16: | ||
Here, $CVSROOT specifies the CVS repository we'll be getting the code from, DIRECTORY is the name of the directory you would like to create to hold the code, MODULENAME is the particular module (set of code) we'll be checking out, and TAGNAME is a particular version of that module. Let's fill in the blanks: | Here, $CVSROOT specifies the CVS repository we'll be getting the code from, DIRECTORY is the name of the directory you would like to create to hold the code, MODULENAME is the particular module (set of code) we'll be checking out, and TAGNAME is a particular version of that module. Let's fill in the blanks: | ||
% cvs -d :ext:pcolarco@progressdirect:/cvsroot/esma co -d GEOSagcm -r | % cvs -d :ext:pcolarco@progressdirect:/cvsroot/esma co -d GEOSagcm -r AeroChem-Fortuna-2_4-b3 Fortuna | ||
So our module is ''Fortuna'' and the tag is '' | So our module is ''Fortuna'' and the tag is ''AeroChem-Fortuna-2_4-b3''. The code will check-out to a newly created directory call ''GEOSagcm''. Note that I substituted the shortcut ''co'' for ''checkout'' in the above command. | ||
The above command is generally valid. You ought to be able to execute it and checkout some code. If you don't have your ''ssh keys'' setup on '''progress''' then you should be prompted for your '''progress''' password. The assumption here is that your username on '''progress''' is the same as on the machine you are checking the code out on. | The above command is generally valid. You ought to be able to execute it and checkout some code. If you don't have your ''ssh keys'' setup on '''progress''' then you should be prompted for your '''progress''' password. The assumption here is that your username on '''progress''' is the same as on the machine you are checking the code out on. | ||
Line 31: | Line 31: | ||
If you set that up, you should be able now to type in: | If you set that up, you should be able now to type in: | ||
% cvs co -d GEOSagcm -r | % cvs co -d GEOSagcm -r AeroChem-Fortuna-2_4-b3 Fortuna | ||
and the code will check out. | and the code will check out. | ||
Line 54: | Line 54: | ||
Now, assuming you're in the source directory, you can build the issuing the following command: | Now, assuming you're in the source directory, you can build the issuing the following command: | ||
% gmake | % gmake install | ||
If you do that, go away and take a coffee break. A long one. This may take an hour or more to build. There are a couple of ways to speed this process up. One way is to build the code without optimization: | If you do that, go away and take a coffee break. A long one. This may take an hour or more to build. There are a couple of ways to speed this process up. One way is to build the code without optimization: | ||
% gmake | % gmake install FOPT=-g | ||
The code builds faster in this instance, but be warned that without optimization any generated code will run very slowly. | The code builds faster in this instance, but be warned that without optimization any generated code will run very slowly. | ||
Line 73: | Line 71: | ||
Wait, what have we done here? We've started an interactive queue (interactive in the sense that you have a command line) where we've now go 8 cpus allocated to us (and us alone!) for the next 3 hours. We can use all those 8 cpus to speed up our build as follows: | Wait, what have we done here? We've started an interactive queue (interactive in the sense that you have a command line) where we've now go 8 cpus allocated to us (and us alone!) for the next 3 hours. We can use all those 8 cpus to speed up our build as follows: | ||
% gmake --jobs=8 | % gmake --jobs=8 pinstall | ||
The syntax here is that "--jobs=" specifies the number of cpus to use (up to the 8 we've requested in our queue) and "pinstall" means to do a parallel install. Don't worry, the result should be the same as "gmake install" above but take a fraction of the time. | The syntax here is that "--jobs=" specifies the number of cpus to use (up to the 8 we've requested in our queue) and "pinstall" means to do a parallel install. Don't worry, the result should be the same as "gmake install" above but take a fraction of the time. | ||
What if something goes wrong? Sometimes the build just doesn't go right. It's useful to save the output that scrolls by on the screen to a file so you can analyze it later. Modify any of the build examples above as follows to capture the text to a file called "make.log": | What if something goes wrong? Sometimes the build just doesn't go right. It's useful to save the output that scrolls by on the screen to a file so you can analyze it later. Modify any of the build examples above as follows to capture the text to a file called "make.log": | ||
% gmake --jobs=8 | % gmake --jobs=8 pinstall |& tee make.log | ||
and now you have a record of how the build progressed. When the build completes (successfully or otherwise) you can analyze the build results by issuing the following command: | and now you have a record of how the build progressed. When the build completes (successfully or otherwise) you can analyze the build results by issuing the following command: | ||
% Config/gmh.pl -v make.log | % Config/gmh.pl -v make.log | ||
Line 118: | Line 116: | ||
% ./gcm_setup | % ./gcm_setup | ||
Your will be prompted to answer some questions: | Your will be prompted to answer some questions. Here they are with some typical responses: | ||
Enter the Experiment ID: | |||
1-line | bR_control | ||
Enter a 1-line Experiment Description: | |||
bR_control,descriptive_text,no_spaces_allowed | |||
HOME | Enter the Lat/Lon Horizontal Resolution: IM JM | ||
EXP directory | or ..... the Cubed-Sphere Resolution: cNN | ||
group | 144 91 | ||
Enter the Model Vertical Resolution: LM (Default: 72) | |||
[Enter for default] | |||
Do you wish to run GOCART? (Default: NO or FALSE) | |||
YES | |||
Enter the GOCART Emission Files to use: "CMIP" (Default), "PIESA", or "OPS": | |||
PIESA [chooses AeroCom emissions] | |||
Enter the AERO_PROVIDER: GOCART (Default) or PCHEM: | |||
[Enter for default] | |||
Enter Desired Location for HOME Directory (to contain scripts and RC files) | |||
[Enter for default] | |||
Enter Desired Location for EXP Directory (to contain model output and restart files) | |||
[Enter for default] | |||
Enter Location for Build directory containing: src/ Linux/ etc... | |||
[Enter for default] | |||
Current GROUPS: [List of groups you belong to] | |||
[Choose group] | |||
Upon completion, you will have two directories, the HOMEDIR which is in your home space (something like ~/geos5/EXPID) and the EXPDIR which is in your nobackup space. | Upon completion, you will have two directories, the HOMEDIR which is in your home space (something like ~/geos5/EXPID) and the EXPDIR which is in your nobackup space. | ||