1. Structure of SLOOP code

Overview

_images/sloop_code.png

Details of directories

  • Bin

    This directory contain python binaries that refer to SLOOP TASKS (see Available tasks for Croco)

    Each binary match with a function inside models.croco.cli

  • doc

    This is the Sphinx source code for this documentation

  • templates

    It contains various templates of config and ini files :

  • Ini files for the configuration on Datarmor

    • Environment for compilation

    • Environment for PBS

  • A full example of a config file for CROCO (croco_med.cfg) that allow to custom the differents sloop tasks

  • env

    This contains yml files to install directly conda environment dedicated to sloop

  • install

    A python routine named conda_install.py is provided to install everything automatically

  • sloop

    The core of the library containing all python routines. It will be described in the next part.

Detail of sloop library

This directory contain the following files:

Sloop source routines

Name of the file

Description

cf.py

file relative to CF conventions (https://cfconventions.org/) and functions to get names from dataset

env.py

Functions relative to environment (load sections from config, guess HPC env)

filters.py

Functions that allow to erode mask and coast on a Dataset

grid.py

Functions to select an geographical area from a dataset

interp.py

Functions that perform time interpolation (manage persistency) and spatial interpolation (based on xesmf)

io.py

Functions relative to reading and writing of netcdf files or config files

job.py

Functions that manage the commands to submit jobs on HPC

log.py

Managing logs files

phys.py

some functions to compute physical variables as wind stress or converting temperature to Kelvin

time.py

time utilities to convert time in various format

It also contain this two directories:

Sloop source core code

Name of the directory

Description

cli

All the routines that can be launched with sloop commands (ini,constants,compile,run)

models

Model specific routines. There is one directory per model (Croco and Hycom)

Detail of cli commands

Detail of Croco specific routines