[TOC]
This repository contains the source code necessary to run the coupled HYCOM-CICE model developed at NERSC. In the repository you will find the HYCOM and CICE source codes, utility routines, and a directory containing a simple model setup (Directory TP0a1.00). Below is a short description of how to set up and compile the code
NB: Throughout this documentation there will be references to $NHCROOT, Experiment directory, Region directory, etc etc. A Brief explanation of these concepts can be found in doc/Naming.md.
- Anew release is created from develop branch and merged with master on 15-11-2019*
The following tools are necessary
-
A working fortran compiler.
-
A working installation of the Eearth System Modelling Framework: https://github.com/esmf-org/esmf. Some info on installing ESMF can be found here
-
A working python 3.7 installation and several python modules, installation info can be found here
-
Input data for the model TODO
Clone code from main repository
git clone https://github.com/nansencenter/NERSC-HYCOM-CICE
If you get errors about server certificates, see here
The following structure is relative to the checked out code ($NHCROOT)
├── bin # Location of binaries and python routines
├── cice # Location of CICE code
├── doc # Documentation in markdown format
├── hycom # Location of hycom code and utilities
│ ├── hycom_ALL # Location of setup/diag routines
│ ├── MSCPROGS # Location of setup/diag routines developed at NERSC
│ └── RELO # Location of hycom source code
├── input # Location of some input files
├── TP0a1.00 # Location of "Reference experiment"
├── TP5a0.06 # Location of "Reference experiment for TOPAZ5 system"
└── NMOa0.08 # Location of "Reference experiment for nesting
# from NEMO for TOPAZ5 system"
-
Compile MSCPROGS routine, following the instructions given in ./hycom/MSCPROGS/
-
Compile HYCOM_ALL programs, following the instructions given in ./hycom/hycom_ALL/
Before you attempt this, make sure that the HYCOM-CICE support programs are compiled, that the MSCPROGS programs are compiled, and that you have the other prerequisites described above. The compilation is handled by the script compile_model.sh in NHCROOT/bin, and is described in ./doc/HYCOM-CICE-compilation.md
Relating to two HYCOM versions of 2.2.98 and 2.3, the settings in EPT.src and blkdat.input should be consistent with the version chosen. The relevant setting files for hycom2.3 implementation are shared under TP5a0.06/expt_02.3.
HYCOM model can be decoupled from the HYCOM-CICE model by setting the "iceflg", flag in the "blkdat.input", to zero. If "iceflg" is non-zero, the model compiles and links both HYCOM and CICE models to generate the hycom-cice executable. If "iceflg" is zero the hycom-cice executable is generated by compiling only the HYCOM model (not using ESMF and CICE through to compile/linkng. note that we have changed name of executable from hycom to hycom-cice).