External use of Crocus for other Land Surface Models

For users who want to couple Crocus with their own surface scheme, instead of downloading the whole project SURFEX-Crocus, you can download only Crocus and its dependencies. We recommend to get the up-to-date source code from the private github repository SURFEX_CEN, please ask for access by email to crocus at meteo dot fr.

To install only Crocus and its dependencies, use the following commands:

In the download directory:

git init
git config core.sparseCheckout true
git remote add -f origin git@github.com:UMR-CNRM/SURFEX_CEN.git

Save the attached file sparse-checkout in .git/info/

Then

git pull
cd src/EXT_CROCUS
make

CROCUS is ready to use. To test it, an executable “prog” is available after compilation just run it

./prog

For external import in a Fortran surface scheme, users should first compile externalized Crocus as mentioned above. Then in their surface scheme makefile, add option -I $SRC_SURFEX/EXT_CROCUS/obj with setting of SRC_SURFEX variable to the appropriate path.

This way, the Fortran source files of the user’s surface scheme can import Crocus by:

USE MODI_SNOWCRO

Warning

Be Careful: before performing any local update of the repository, you need to manually check for updates of the sparse-checkout file attached above. In case changes have occurred, update your local copy of in .git/info manually prior to running git pull

For SURFEX developers:

If during development we have to use others files from SURFEX-CROCUS project we add them in .git/info/sparse-checkout then tap

git read-tree -mu HEAD

Warning

Be Careful: the modi_* files are not generated automatically, you have to update them when their subroutine are updated in SURFEX source