Running Coupled Ocean: Difference between revisions
Line 1: | Line 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 | |||
==Compile== | |||
$ cd GEOSagcm/src | |||
$ 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 | 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. | 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.] | [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 | |||
==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 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: | Then run 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 | |||
Need to | Need to ensure the following: | ||
In AGCM.rc: | In AGCM.rc: | ||
OGCM_NX = NX = 8 | |||
OGCM_NY = NY = 10 | |||
CICE_NPROCS = 80 | |||
In input.nml: | In input.nml: | ||
layout = 8,10, | |||
In gcm_run.j: | In gcm_run.j: | ||
#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' , | |||
in geosgcm_surf.fields (model crashes with this option). | 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. | 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. | 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). | |||
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).