Running Coupled Ocean: Difference between revisions

From GEOS-5
Jump to navigation Jump to search
Pchakrab (talk | contribs)
Pchakrab (talk | contribs)
Line 1: Line 1:
== Steps to run AOGCM ==
==Checkout==
 
1. Checkout


As of this writing the stable tag is 'yuri-coupled-Fortuna-2_5_obio' and module is 'Fortuna'. Check with Yury Vikhliaev for the latest stable tag and module.
As of this writing the stable tag is 'yuri-coupled-Fortuna-2_5_obio' and module is 'Fortuna'. Check with Yury Vikhliaev for the latest stable tag and module.


  $ cvs co -r yuri-coupled-Fortuna-2_5_obio Fortuna
$ cvs co -r yuri-coupled-Fortuna-2_5_obio Fortuna




2. Compile
==Compile==
    
    
  $ cd GEOSagcm/src
$ cd GEOSagcm/src
  $ source g5_modules
$ source g5_modules


'''Compile time specification of resolution/layout'''
'''Compile time specification of resolution/layout'''
Line 19: Line 17:
  src/GEOSgcs_GridComp/GEOSgcm_GridComp/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/GEOSCICEThermo_GridComp/cice/GNUmakefile
  src/GEOSgcs_GridComp/GEOSgcm_GridComp/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/GEOSCICEThermo_GridComp/cice/GNUmakefile


Inside this are lines like:
Inside this are lines:


  NXGLOB = 360
NXGLOB = 360
  NYGLOB = 200
NYGLOB = 200
  BLCKX = 45
BLCKX = 45
  BLCKY = 20   
BLCKY = 20   
  MXBLCKS = 1
MXBLCKS = 1


where (NXGLOB, NYGLOB) define the ocean resolution. It is the user's responsibility to ensure that BLCKX (BLCKY) is a divisor of NXGLOB (NYGLOB) and the quotient defines the number of processors OGCM_NX (OGCM_NY) in the X (Y) direction, i.e.
where (NXGLOB, NYGLOB) define the ocean resolution. It is the user's responsibility to ensure that BLCKX (BLCKY) is a divisor of NXGLOB (NYGLOB) and the quotient defines the number of processors OGCM_NX (OGCM_NY) in the X (Y) direction, i.e.


  OGCM_NX = NXGLOB/BLCKX (= 8  in our example)
OGCM_NX = NXGLOB/BLCKX (= 8  in our example)
  OGCM_NY = NYGLOB/BLCKY (= 10 in our example)
OGCM_NY = NYGLOB/BLCKY (= 10 in our example)


[I had tried with NXGLOB = 360, BLCKX = 40 => OGCM_NX = 9. It didn't work. Apparently, odd numbered processes don't.]
[I had tried with NXGLOB = 360, BLCKX = 40 => OGCM_NX = 9. It didn't work. Apparently, odd numbered processes don't.]
Line 38: Line 36:
Finally, compile:
Finally, compile:


  $ make install
$ make install




3. Setup experiment
==Setup experiment==


  $ cd Applications/GEOSgcm_App
$ cd Applications/GEOSgcm_App


Set correct values of OGCM_NX and OGCM_NY in gcm_setup (if they are not already set):
Set correct values of OGCM_NX and OGCM_NY in gcm_setup (if they are not already set):


  set OGCM_NX = 8
set OGCM_NX = 8
  set OGCM_NY = 10  
set OGCM_NY = 10  
 
Then run gcm_setup:
Then run gcm_setup:


  $ ./gcm_setup
$ ./gcm_setup
         Experiment ID:
         Experiment ID:
         Experiement Description:
         Experiement Description:
Line 66: Line 63:
         BUILD directory:
         BUILD directory:
         GROUP ID:
         GROUP ID:
  $ mv /path/to/exp/dir
$ mv /path/to/exp/dir


Need to do the following:
Need to ensure the following:


In AGCM.rc:   
In AGCM.rc:   
  OGCM_NX = NX = 8, OGCM_NY = NY = 10, CICE_NPROCS = 80
OGCM_NX = NX = 8
OGCM_NY = NY = 10
CICE_NPROCS = 80


In input.nml:
In input.nml:
  layout = 8,10,
layout = 8,10,


In gcm_run.j:
In gcm_run.j:
  #PBS -l select=7:ncpus=12:mpiprocs=12
#PBS -l select=7:ncpus=12:mpiprocs=12
(need 80 cpus, hence 7 nodes)
(need 80 cpus, hence 7 nodes)


In HISTORY.rc: comment out the line
In HISTORY.rc: comment out the line
  'RUNOFF'    , 'SURFACE'      ,
'RUNOFF'    , 'SURFACE'      ,
in geosgcm_surf.fields (model crashes with this option).
in geosgcm_surf.fields (model crashes with this option).


Edit CAP.rc and gcm_run.j (to run a 1-day simulation).
Next, we edit CAP.rc and gcm_run.j (to run a 1-day simulation).


Copy restarts (example restarts can be found in ~yvikhlia/geos5/test180/expdir). Several new restarts are needed but these can be bootstrapped according to Yuri. The new ones are orad_import, seaice_import, and seaice_internal.
Copy restarts (example restarts can be found in ~yvikhlia/geos5/test180/expdir). Several new restarts are needed but these can be bootstrapped according to Yuri. The new ones are orad_import, seaice_import, and seaice_internal.
    $ cp ~yvikhlia/geos5/test180/expdir/*_rst .
 
    $ cp ~yvikhlia/geos5/test180/expdir/cap_restart .
$ cp ~yvikhlia/geos5/test180/expdir/*_rst .
$ cp ~yvikhlia/geos5/test180/expdir/cap_restart .
 
We may need to edit cap_restart to specify a particular year (no changes in month, day or time).


When the experiment directory is created (by gcm_setup) a new directory is now there called RESTART. Inside are restart files, the only one of which is required is ocean_temp_salt.res.nc. The rest can be bootstrapped.
When the experiment directory is created (by gcm_setup) a new directory is now there called RESTART. Inside are restart files, the only one of which is required is ocean_temp_salt.res.nc. The rest can be bootstrapped.
Line 94: Line 96:
     $ cp ~yvikhlia/geos5/test180/expdir/RESTART/* RESTART/
     $ cp ~yvikhlia/geos5/test180/expdir/RESTART/* RESTART/


 
We need ocean grid_spec, ice grid, KPAR data and river routing file during a run. They are all in directory pointed to by $GRIDDIR in the runscript (gcm_run.j).
Yury says: "You need ocean grid_spec, ice grid, KPAR data and river routing file. They are all in directory where $GRIDDIR points in the runscript." [$GRIDDIR points to /discover/nobackup/yvikhlia/coupled/Forcings/a${AGCM_IM}x${AGCM_JM}_o${OGCM_IM}x${OGCM_JM} in the run script.]

Revision as of 06:24, 3 January 2013

Checkout

As of this writing the stable tag is 'yuri-coupled-Fortuna-2_5_obio' and module is 'Fortuna'. Check with Yury Vikhliaev for the latest stable tag and module.

$ cvs co -r yuri-coupled-Fortuna-2_5_obio Fortuna


Compile

$ cd GEOSagcm/src
$ source g5_modules

Compile time specification of resolution/layout

The seaice component has the resolution and layout specified in the GNUmakefile in:

src/GEOSgcs_GridComp/GEOSgcm_GridComp/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/GEOSCICEThermo_GridComp/cice/GNUmakefile

Inside this are lines:

NXGLOB = 360
NYGLOB = 200
BLCKX = 45
BLCKY = 20   
MXBLCKS = 1

where (NXGLOB, NYGLOB) define the ocean resolution. It is the user's responsibility to ensure that BLCKX (BLCKY) is a divisor of NXGLOB (NYGLOB) and the quotient defines the number of processors OGCM_NX (OGCM_NY) in the X (Y) direction, i.e.

OGCM_NX = NXGLOB/BLCKX (= 8  in our example)
OGCM_NY = NYGLOB/BLCKY (= 10 in our example)

[I had tried with NXGLOB = 360, BLCKX = 40 => OGCM_NX = 9. It didn't work. Apparently, odd numbered processes don't.]

Since the resolution/layout are specified at compile time (really!), the model needs to be compiled for a new resolution/layout combination.

Finally, compile:

$ make install


Setup experiment

$ cd Applications/GEOSgcm_App

Set correct values of OGCM_NX and OGCM_NY in gcm_setup (if they are not already set):

set OGCM_NX = 8
set OGCM_NY = 10   

Then run gcm_setup:

$ ./gcm_setup
       Experiment ID:
       Experiement Description:
       Atmospheric Horizontal Resolution: 144 91
       Atmospheric Vertical Resolution: Default
       COUPLED Ocean/Sea-Ice Model: YES
       Ocean Lat/Lon Horizontal Resolution: Default
       Ocean Model Vertical Resolution: Default
       GOCART: Default
       HISTORY template: HISTORY_COUPLED.rc.tmpl
       HOME directory:
       EXPERIMENT directory: 
       BUILD directory:
       GROUP ID:
$ mv /path/to/exp/dir

Need to ensure the following:

In AGCM.rc:

OGCM_NX = NX = 8
OGCM_NY = NY = 10
CICE_NPROCS = 80

In input.nml:

layout = 8,10,

In gcm_run.j:

#PBS -l select=7:ncpus=12:mpiprocs=12

(need 80 cpus, hence 7 nodes)

In HISTORY.rc: comment out the line

'RUNOFF'    , 'SURFACE'       ,

in geosgcm_surf.fields (model crashes with this option).

Next, we edit CAP.rc and gcm_run.j (to run a 1-day simulation).

Copy restarts (example restarts can be found in ~yvikhlia/geos5/test180/expdir). Several new restarts are needed but these can be bootstrapped according to Yuri. The new ones are orad_import, seaice_import, and seaice_internal.

$ cp ~yvikhlia/geos5/test180/expdir/*_rst .
$ cp ~yvikhlia/geos5/test180/expdir/cap_restart .

We may need to edit cap_restart to specify a particular year (no changes in month, day or time).

When the experiment directory is created (by gcm_setup) a new directory is now there called RESTART. Inside are restart files, the only one of which is required is ocean_temp_salt.res.nc. The rest can be bootstrapped.

   $ cp ~yvikhlia/geos5/test180/expdir/RESTART/* RESTART/

We need ocean grid_spec, ice grid, KPAR data and river routing file during a run. They are all in directory pointed to by $GRIDDIR in the runscript (gcm_run.j).