RadApp: Difference between revisions

From GEOS-5
Jump to navigation Jump to search
 
(3 intermediate revisions by the same user not shown)
Line 3: Line 3:
== How to Check Out and Build the Code ==
== How to Check Out and Build the Code ==


RadApp works with Ganymed and later versions of the GEOS-5 modeling system, and presumes access to an existing build of that system.  Please see instructions at (link to Ganymed build section) for how to check out and build your own version of GEOS-5.  You can also (see below) link to another existing build of GEOS-5 to set up the RadApp tool.
RadApp works with Ganymed-3_0 and later versions of the GEOS-5 modeling system, and presumes access to an existing build of that system. (I suggest Ganymed-4 or later because updates made to MAPL in Ganymed-3 mean not all versions of Ganymed-3 work.) Please see instructions at (link to Ganymed build section) for how to check out and build your own version of GEOS-5.  You can also (see below) link to another existing build of GEOS-5 to set up the RadApp tool.


In this example I will use a build of the GEOS-5 tag '''prc+Ganymed-4_0_BETA1'''.
In this example I will use a build of the GEOS-5 tag '''prc+Ganymed-4_0_BETA1'''.
Line 18: Line 18:
  % gmake install
  % gmake install


That's it, we've built the code!


=== What is Needed to Run the Module? ===


The GEOS-5 (AGCM) source code checks out at about 55 MB of space.  Once compiled, the complete package is about 1.3 GBYour home space on '''discover''' may not be sufficient for checking out and building the codeYou should consider either 1) requesting a larger quota in your home space (call the tag x6-9120 and ask, telling them you are doing GEOS-5 development work) or 2) building in your (larger) nobackup space (recommended)But consider, ''nobackup'' is not backed up.  So be careful...
The RadApp tool utilizes much of the underlying GEOS-5 infrastructure to function, and you can think about it much the same terms as running the overall GEOS-5 system..  For example, you use the usual HISTORY structure to generate output filesAdditionally, RadApp requires inputsThese inputs use EXTDATA.  So we need to provide certain resource files and input data in order to actually run the calculation.


One strategy I like is to check the code out to my ''nobackup'' space, but then make symlink from him home space back to that.  For example, if I have my code stored at $NOBACKUP/GEOSagcm, I would make a symlink in my home space to point to that like:
To get the resource files there is an example set saved on /discover/nobackup/pcolarco/demo_RadApp/run_RadApp.  Copy these:
  % ln -s $NOBACKUP/GEOSagcm GEOSagcm
AGCM.rc
CAP.rc
Chem_Registry.rc
Chem_MieRegistry.rc
ExtData.rc
HISTORY.rc
cap_restart
'''cap_restart''' is the usual starting YYYYMMDD HHMMSS start time for running the calculator.  '''CAP.rc''' is the usual resource file for cycling and setting the end date.  '''Chem_Registry.rc''' and '''Chem_MieRegistry.rc''' are the usual controls for the chemistry and assigning the Mie tables to the GOCART aerosols.
 
'''AGCM.rc''' is a simplified form of the main resource file from GEOS-5.  You can control the IM, JM, and KM for the model resolution you want to run the calculator on.  NX and NY are additionally specified to control how the global grid is tiled.  The product NX*NY should match the total number of CPUs the model is run on.  Note also the specification of the XX_OPTICS tables for the GOCART-like aerosol species that points to the band filesThe model can be run against the climatological aerosols (AERO_PROVIDER: PCHEM and uncomment the AEROCLIM lines) or against archived aerosol mixing ratios (e.g., inst3d_aer_v files; using AERO_PROVIDER: RADENV).
 
'''ExtData.rc''' points to the input files needed to drive the calculation.  These are the needed input fields from atmosphere, surface, and aerosols.  These should be generated from some earlier GEOS-5 run.  Fields will be interpolated to the current time step.  (Somewhere I should provide an example HISTORY.rc to generate the needed datasets.)
 
'''HISTORY.rc''' specifies the output fields.  This should be variables specified in the radiation module.
 
=== Run the Module ===
 
Create a run directory and copy the files noted above into that space.  Also copy the RadApp.x application from your build directory.  Back in /discover/nobackup/pcolarco/demo_RadApp/run_RadApp I additionally provide an example run script ('''RadApp_run.j''') that you can use to drive the calculation.  This is like the gcm_run.j you are used to from running GEOS-5.  Note that you need to check paths for GEOSBIN and specify the usual PBS queueing stuff up top. When this runs you get a scratch sub-directory where everything is copied or linked and the output is stashed there until the run segment is complete, at which point it is moved to the local holding directory.  If you additionally call the gcm_run.j script you can postprocess.  You can also provide an archive script and move data to dirac.

Latest revision as of 19:06, 21 October 2013

These instructions pertain to checking out, building, and using the RadApp tool, and offline instance of the GEOS-5 radiative transfer module written by Ben Auer.

How to Check Out and Build the Code

RadApp works with Ganymed-3_0 and later versions of the GEOS-5 modeling system, and presumes access to an existing build of that system. (I suggest Ganymed-4 or later because updates made to MAPL in Ganymed-3 mean not all versions of Ganymed-3 work.) Please see instructions at (link to Ganymed build section) for how to check out and build your own version of GEOS-5. You can also (see below) link to another existing build of GEOS-5 to set up the RadApp tool.

In this example I will use a build of the GEOS-5 tag prc+Ganymed-4_0_BETA1.

Check Out and Build the RadApp Code

Somewhere (probably your nobackup space on discover) you will check out the code:

% cvs co -d RadApp GEOSdiag_App

This will create a directory called RadApp and check out the module GEOSdiag_App into it. To build, set an environment variable ESMADIR to point to the existing build of GEOS-5. For example:

% setenv ESMADIR /discover/nobackup/pcolarco/Ganymed-4_0/GEOSagcm

and then:

% source $ESMADIR/Linux/bin/g5_modules

to set up the compiler and modules. And then in your RadApp directory just:

% gmake install

That's it, we've built the code!

What is Needed to Run the Module?

The RadApp tool utilizes much of the underlying GEOS-5 infrastructure to function, and you can think about it much the same terms as running the overall GEOS-5 system.. For example, you use the usual HISTORY structure to generate output files. Additionally, RadApp requires inputs. These inputs use EXTDATA. So we need to provide certain resource files and input data in order to actually run the calculation.

To get the resource files there is an example set saved on /discover/nobackup/pcolarco/demo_RadApp/run_RadApp. Copy these:

AGCM.rc
CAP.rc
Chem_Registry.rc
Chem_MieRegistry.rc
ExtData.rc
HISTORY.rc
cap_restart

cap_restart is the usual starting YYYYMMDD HHMMSS start time for running the calculator. CAP.rc is the usual resource file for cycling and setting the end date. Chem_Registry.rc and Chem_MieRegistry.rc are the usual controls for the chemistry and assigning the Mie tables to the GOCART aerosols.

AGCM.rc is a simplified form of the main resource file from GEOS-5. You can control the IM, JM, and KM for the model resolution you want to run the calculator on. NX and NY are additionally specified to control how the global grid is tiled. The product NX*NY should match the total number of CPUs the model is run on. Note also the specification of the XX_OPTICS tables for the GOCART-like aerosol species that points to the band files. The model can be run against the climatological aerosols (AERO_PROVIDER: PCHEM and uncomment the AEROCLIM lines) or against archived aerosol mixing ratios (e.g., inst3d_aer_v files; using AERO_PROVIDER: RADENV).

ExtData.rc points to the input files needed to drive the calculation. These are the needed input fields from atmosphere, surface, and aerosols. These should be generated from some earlier GEOS-5 run. Fields will be interpolated to the current time step. (Somewhere I should provide an example HISTORY.rc to generate the needed datasets.)

HISTORY.rc specifies the output fields. This should be variables specified in the radiation module.

Run the Module

Create a run directory and copy the files noted above into that space. Also copy the RadApp.x application from your build directory. Back in /discover/nobackup/pcolarco/demo_RadApp/run_RadApp I additionally provide an example run script (RadApp_run.j) that you can use to drive the calculation. This is like the gcm_run.j you are used to from running GEOS-5. Note that you need to check paths for GEOSBIN and specify the usual PBS queueing stuff up top. When this runs you get a scratch sub-directory where everything is copied or linked and the output is stashed there until the run segment is complete, at which point it is moved to the local holding directory. If you additionally call the gcm_run.j script you can postprocess. You can also provide an archive script and move data to dirac.