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):

    cppdefs.h

    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.

    param.h

    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 in
    croco_tools : by running make_grid.m
    or in croco_pytools : by running make_grid.py
    N is defined in crocotools_param.m or ibc.ini (IBC_Sigma_params)

    param.h also contains: Parallelisation settings,
    Tides, Wetting-Drying, Point sources, Floats, Stations specifications

    jobcomp

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

  2. Namelist

    CROCO namelist input file croco.in 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_grd.nc

    • CROCO surface forcing file: croco_frc.nc (or croco_blk.nc)

    • CROCO vertical boundary conditions: croco_bry.nc (or croco_clim.nc)

    • CROCO initial conditions: croco_ini.nc

    They can be created using the Preprocessing Tools (Matlab croco_tools or Python croco_pytools), see dedicated tutorials. 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_rst.nc

    • CROCO instantaneous output file: croco_his.nc

    • CROCO averaged output file: croco_avg.nc

    • 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 croco.in.