Summary of essential steps

4. Summary of essential steps#

  1. Compilation

    CROCO needs to be compiled for each configuration (grid, MPI decomposition, paramterizations…). The files that need to be edited are (available in croco/OCEAN directory):


    CPP-keys* allowing to select configuration, numerical schemes, parameterizations,
    forcing and boundary conditions
    * CROCO extensively uses the C preprocessor (cpp) during compilation to
    replace code statements, insert files into the code, and select relevant
    parts of the code depending on its directives.


    Grid settings: the values of the model grid size are:
    LLm0 points in the X direction
    MMm0 points in the Y direction
    N vertical levels
    For realistic regional cases, LLm0 and MMm0 are given by running make_grid.m,
    and N is defined in crocotools_param.m
    param.h also contains: Parallelisation settings
    Tides, Wetting-Drying, Point sources, Floats, Stations specifications


    the compilation script (including settings for paths, compilers, libraries, etc)

  2. Namelist

    CROCO namelist input file contains several configurations settings such as: the time stepping, the vertical coordinate settings, the I/O settings and paths, some parameters for the model, … It has to be edited before running. It is available in croco/OCEAN directory for regional configurations, and in croco/TEST_CASES directory for test cases.

  3. Input files

    CROCO needs the following input files to run:

    • CROCO grid file:

    • CROCO surface forcing file: (or

    • CROCO vertical boundary conditions: (or

    • CROCO initial conditions:

    They can be created using the Preprocessing croco_tools, see dedicated tutorial. These files are eventually not mandatory in test cases for which the useful settings are defined analytically within the CROCO code.

  4. Run

    CROCO can be run in serial or parallel mode. See the run tutorial.

  5. Outputs

    CROCO usual outputs are:

    • CROCO restart file:

    • CROCO instantaneous output file:

    • CROCO averaged output file:

    • CROCO log file: croco.log if you have defined the LOGFILE key in cppdefs.h : # define LOGFILE

    Other output files can be generated depending on the settings provided in