[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
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).