Nemo

From SourceWiki
Jump to navigation Jump to search

Welcome to the Bristol Nemo Page!

Here are a few tips and comments based on Bristol's experiences compiling and running NEMO. Hopefully, you will find some useful.

Please take a look the official NEMO webpage before continuing with this page.

Model Compilation

In the steps below, I'm assuming that you are interested in the ORCA2_LIM version of the model.

If you follow the steps described on the official NEMO webpage, you will be able to download and compile the model, with one caveat. When using newer versions of the NetCDF libraries--such as v3.6.2 installed on the Quest cluster--you will need to add "-lnetcdff" to line 211 of the file modipsl/util/AA_make.gdef (starting "#-Q- linux NCDF_LIB = " ...)

Running the Model

The instructions for running the model are not so clear. You will need two things to run the model; (i) some forcing files; and (ii) a run script. Assuming you are running on the Quest cluster, you can obtain forcing files for an example job by copying the directory ~ggdagw/NEMO_forcing and it's contents to you home directory. If you adopt the same diretory name, you will be able this runscript. Place the runscript into the directory modipsl/config/ORCA2_LIM/EXP00. I named it Job_EXP.new. You will need to create the directory "$DUMP2HOLD/NEMO" to collect the output. You can submit the job by typing "qsub Job_EXP.new", check whether it is running using "showq", and obviously look in the output directory.

Projects using Nemo at Bristol

Mediterranean Sea

Amundsen Sea

Thinning of the Pine Island Glacier, West Antarctica, has been observed during the 1990s. It has been suggested that relatively warm water at the base of the ice shelf has triggered the thinning. The source of and mechanism driving this warm water is unknown.

We are constructing a regional model of the Amunsden Sea using Nemo to investigate ocean circulation close to Pine Island Bay. Input data at the sea surface and at the open boundaries are constructed using output data from the OCCAM global ocean model.

ORCA2_LIM test case

Nemo provides a test case, ORCA2_LIM, for a global ocean run coupled with the sea-ice model. The run simulates one year.

The configuration for ORCA2_LIM is downloaded through CVS when getting Nemo and the necessary forcing files are provided through a link on the Nemo website.

Region model

How to set up a regional model starting from the ORCA2_LIM test case:

  1. Create a new configuration for the regional model.
    • In directory modipsl/config/ create a new directory AMUNDSEN, for example, and copy the contents of the ORCA2_LIM directory into AMUNDSEN.
    • Edit file fait_config in modipsl/modeles/UTIL/. Add \n AMUNDSEN to LIST = and add the line set -A DIR_AMUNSDEN OPA_SRC C1D_SRC NST_SRC.
  2. Change CPP keys by editing BB_make.ldef in modipsl/config/AMUNDSEN/scripts/. Remove key_orca_r2 since you're not running a global model and add key_obc to invoke open boundary conditions instead.
  3. TIP: modify tradmp.F90 in modipsl/modeles/NEMO/OPA_SRC/TRA/. Replace the line if (cp_cfg=="orca" .AND. (ndmp > 0 .OR. ndmp==-1)) then with if (ndmp > 0 .OR. ndmp==-1) then. If you don't make the change you'll get the error message tra_dmp: You should not have seen this print error?. With this change you can apply tracer damping as in the ORCA configurations (i.e. global models for various resolutions) without special treatment for particular areas such as the Mediterranean or the Red Sea that are grid dependent.
  4. Set the new domain resolution in par_oce.F90 in modipsl/modeles/NEMO/OPA_SRC/. Parameters for the resolution are jpidta and jpjdta.
  5. Set parameters in obc_oce.F90 and obc_par.F90 in modipsl/modeles/NEMO/OPA_SRC/OBC/.
    • obc_oce.F90: nbobc is the number of open boundaries, i.e. set to 1, 2, 3 or 4.
    • obc_par.F90: set logical parameter lp_obc_east to .true. if open boundary conditions are to be applied to part or all of the eastern face of the domain. Alter jpjed and/or jpjef if the open boundary covers only part of the eastern face. Similarly for lp_obc_west, jpjwd, jpjwf, lp_obc_north, jpind, jpinf and lp_obc_south, jpisd, jpisf.
  6. In the input file namelist set n_cla to 0. Assuming you have no closed seas, i.e. Mediterranean and Red Sea in ORCA2.

Open boundary conditions

Wiki example

This text is very imprtant. This is less so.

Listen very carefully, I shall say this only once:

  1. put kettle on
  2. find mug
  3. add water to tea bag--in mug!
  • slurp
  • read
  • slurp

can be done in any order

An external link is a search engine

A link to another wiki page is the genie project